Модель развития PostgreSQL как международного свободного продукта и сообщества (Иван Панченко, OSSDEVCONF-2019) — различия между версиями

Материал из 0x1.tv

(Batch edit: replace PCRE (\n\n)+(\n) with \2)
 
(не показано 15 промежуточных версий этого же участника)
азвитие факторы, и поймём, почему
PostgreSQL именно такой. 
</blockquote>

{{VideoSection}}
{{vimeoembed|366002266|800|450}}
<!-- 
{{youtubelink|}} -->
|ywijmCwR-2M}}
{{SlidesSection}}
[[File:Модель развития PostgreSQL как международного свободного продукта и сообщества (Иван Панченко, OSSDEVCONF-2019).pdf|left|page=-|300px]]

{{----}}

== Thesis ==

Postgres возник в 1986 году как научная разработка профессора университета в Беркли М.Стоунбрейкера. В своей знаменитой статье [1] он закладывает основные концепции этой СУБД, в том числе расширяемость и версионный механизм обеспечения транзакционных свойств (ACID). Postgres того времени сильно отличается от современного. Например, в нём не было поддержки языка SQL, который в то время уже существовал [2], но только готовился к стандартизации [3].

В Open Source Postgres вышел в 1995 году под именем Postgres95, затем в 1996 году в связи с появлением поддержки языка SQL установилось название ''PostgreSQL'' [4,5]. Сформировалось сообщество разработчиков, членом которого мог быть любой желающий, и любой из них имел доступ в CVS-репозиторий. Рост объема кода, количества коммитов и необходимость эффективной работы с многочисленными ветвями кода привели к переходу на GIT в 2010 году [6,7]. Возможность коммита в репозиторий получило ограниченное количество наиболее авторитетных разработчиков  коммитеров [8]. Это выражает рост требований к качеству кода, обусловленный применением ''PostgreSQL'' во всё более ответственных задачах.

''PostgreSQL'' стал использоваться в крупном бизнесе примерно с 2000 года. Вначале это были интернет-компании (Rambler, Skype, и др).

Приблизительно в 2008 году начали говорить о том, что ''PostgreSQL'' повернулся лицом к промышленным заказчикам (Enterprise-сектору). Это связано с появлением потоковой репликации, дающей возможность организовывать отказоустойчивые кластеры, и с существенным улучшением поддержки Microsoft Windows.

В наше время ''PostgreSQL'' и его производные используются в крупнейших БД России и мира. Соответственно величине и серьезности пользователей ''PostgreSQL'', стало меняться и сообщество разработчиков. В 2004 году была создана первая компания, специализирующаяся на обслуживании и развитии ''PostgreSQL''  британская 2nd Quadrant. В последующем году была основана американская Enterprise DB. Сейчас в мире действует 4 основных центра разработки ''PostgreSQL'', которые способны реализовывать крупные проекты. Таким образом, от сообщества гиков-индивидуалов основной вес переместился к сообществу сотрудников компаний, получающих деньги за свою работу. Компании более эффективно представляют интересы крупных заказчиков, и это стимулирует разработку функций, нужных таким заказчикам, дающих высокую производительность, отказоустойчивость, простоту администрирования, и т. д.

Важную роль в развитии ''PostgreSQL'' играет его лицензия [9], разрешающая создание производных, в т.ч. коммерческих, закрытых продуктов. Парадоксально, но это не приводит к утечке идей из Open source. Наоборот, из-за того, коммерческие производные продукты (форки) нуждаются в постоянном, неизбежно трудоёмком мёрдже изменений из ванильного ''PostgreSQL'', их производители становятся заинтересованы и в обратном потоке изменений. Таким образом идеи и их реализации, апробированные компаниями в коммерческих форках, возвращаются в open source. Это формирует устойчивую ситуацию взаимовыгодного сотрудничества коммерческих компаний и open source сообщества. Эта ситуация может оказаться более долговечной, чем отдельные коммерческие компании или открытые продукты [10].

{{----}}
[[File:{{#setmainimage:Модель развития PostgreSQL как международного свободного продукта и сообщества (Иван Панченко, OSSDEVCONF-2019)!.jpg}}|center|640px]]
{{LinksSection}}
<!-- <blockquote>[©]</blockquote> -->
* [1]  Stonebraker, M.; Rowe, L. A. (1986). The design of POSTGRES. ACM SIGMOD Record. 15 (2): 340. doi: https://en.wikipedia.org/wiki/Digital_object_identifier https://doi.org/10.1145/16856.16888.
* [2]  Chamberlin, Donald (2012). Early History of SQL http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6359709. IEEE Annals of the History of Computing. 34 (4): 78–82. doi:https://doi.org/10.1109/MAHC.2012.61
* [3]  Database Language SQL/ANSI X3 135 (1986)
* [4]  История ''PostgreSQL''. https://postgrespro.ru/docs/postgresql/11/history
* [5]  История ''PostgreSQL''. https://www.2ndquadrant.com/en/postgresql/postgresql-story/
* [6]  Postgres: Hello GIT, goodbye CVS. https://www.endpoint.com/blog/2010/01/28/postgres-hello-git-goodbye-cvs
* [7]  Hagander, M. ''PostgreSQL''  now on git. https://blog.hagander.net/postgresql-now-on-git-175/
* [8]  Список коммитеров ''PostgreSQL'' https://wiki.postgresql.org/wiki/Committers
* [9]  Лицензия ''PostgreSQL''. https://www.postgresql.org/about/licence/
* [10] Momjian, B. Will ''PostgreSQL'' live forever? http://momjian.us/main/writings/pgsql/forever.pdf
{{fblink|2412471435672530}}                                          
{{vklink|1436}}                                          

<references/>

[[Категория:OSSDEVCONF-2019]]
[[Категория:DraftPostgreSQL]]
[[Категория:Тренды Open-source]]
{{stats|disqus_comments=0|refresh_time=2021-08-31T17:30:53.357659|vimeo_plays=16|youtube_comments=0|youtube_plays=106}}

Текущая версия на 12:21, 4 сентября 2021

Докладчик
Иван Панченко.jpg
Иван Панченко

PostgreSQL является одним из наиболее успешных свободных проектов мирового масштаба. Он прошел путь от академической разработки до промышленной СУБД. Соответственно менялось и сообщество. Может ли PostgreSQL быть образцом для других? Как на развитие PostgreSQL влияет его лицензия? Мы проанализируем основные этапы истории развития PostgreSQL, как сообщества, так и продукта, и выделим положительно и отрицательно влияющие на их развитие факторы, и поймём, почему PostgreSQL именно такой.

Видео

on youtube

Презентация

Модель развития PostgreSQL как международного свободного продукта и сообщества (Иван Панченко, OSSDEVCONF-2019).pdf Модель развития PostgreSQL как международного свободного продукта и сообщества (Иван Панченко, OSSDEVCONF-2019).pdf Модель развития PostgreSQL как международного свободного продукта и сообщества (Иван Панченко, OSSDEVCONF-2019).pdf Модель развития PostgreSQL как международного свободного продукта и сообщества (Иван Панченко, OSSDEVCONF-2019).pdf Модель развития PostgreSQL как международного свободного продукта и сообщества (Иван Панченко, OSSDEVCONF-2019).pdf Модель развития PostgreSQL как международного свободного продукта и сообщества (Иван Панченко, OSSDEVCONF-2019).pdf Модель развития PostgreSQL как международного свободного продукта и сообщества (Иван Панченко, OSSDEVCONF-2019).pdf Модель развития PostgreSQL как международного свободного продукта и сообщества (Иван Панченко, OSSDEVCONF-2019).pdf Модель развития PostgreSQL как международного свободного продукта и сообщества (Иван Панченко, OSSDEVCONF-2019).pdf

Thesis

Postgres возник в 1986 году как научная разработка профессора университета в Беркли М.Стоунбрейкера. В своей знаменитой статье [1] он закладывает основные концепции этой СУБД, в том числе расширяемость и версионный механизм обеспечения транзакционных свойств (ACID). Postgres того времени сильно отличается от современного. Например, в нём не было поддержки языка SQL, который в то время уже существовал [2], но только готовился к стандартизации [3].

В Open Source Postgres вышел в 1995 году под именем Postgres95, затем в 1996 году в связи с появлением поддержки языка SQL установилось название PostgreSQL [4,5]. Сформировалось сообщество разработчиков, членом которого мог быть любой желающий, и любой из них имел доступ в CVS-репозиторий. Рост объема кода, количества коммитов и необходимость эффективной работы с многочисленными ветвями кода привели к переходу на GIT в 2010 году [6,7]. Возможность коммита в репозиторий получило ограниченное количество наиболее авторитетных разработчиков — коммитеров [8]. Это выражает рост требований к качеству кода, обусловленный применением PostgreSQL во всё более ответственных задачах.

PostgreSQL стал использоваться в крупном бизнесе примерно с 2000 года. Вначале это были интернет-компании (Rambler, Skype, и др).

Приблизительно в 2008 году начали говорить о том, что PostgreSQL повернулся лицом к промышленным заказчикам (Enterprise-сектору). Это связано с появлением потоковой репликации, дающей возможность организовывать отказоустойчивые кластеры, и с существенным улучшением поддержки Microsoft Windows.

В наше время PostgreSQL и его производные используются в крупнейших БД России и мира. Соответственно величине и серьезности пользователей PostgreSQL, стало меняться и сообщество разработчиков. В 2004 году была создана первая компания, специализирующаяся на обслуживании и развитии PostgreSQL — британская 2nd Quadrant. В последующем году была основана американская Enterprise DB. Сейчас в мире действует 4 основных центра разработки PostgreSQL, которые способны реализовывать крупные проекты. Таким образом, от сообщества гиков-индивидуалов основной вес переместился к сообществу сотрудников компаний, получающих деньги за свою работу. Компании более эффективно представляют интересы крупных заказчиков, и это стимулирует разработку функций, нужных таким заказчикам, дающих высокую производительность, отказоустойчивость, простоту администрирования, и т. д.

Важную роль в развитии PostgreSQL играет его лицензия [9], разрешающая создание производных, в т.ч. коммерческих, закрытых продуктов. Парадоксально, но это не приводит к утечке идей из Open source. Наоборот, из-за того, коммерческие производные продукты (форки) нуждаются в постоянном, неизбежно трудоёмком мёрдже изменений из ванильного PostgreSQL, их производители становятся заинтересованы и в обратном потоке изменений. Таким образом идеи и их реализации, апробированные компаниями в коммерческих форках, возвращаются в open source. Это формирует устойчивую ситуацию взаимовыгодного сотрудничества коммерческих компаний и open source сообщества. Эта ситуация может оказаться более долговечной, чем отдельные коммерческие компании или открытые продукты [10].

Модель развития PostgreSQL как международного свободного продукта и сообщества (Иван Панченко, OSSDEVCONF-2019)!.jpg

Примечания и ссылки

Plays:122   Comments:0