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

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

Докладчик
Иван Панченко.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:104   Comments:0