Ненавижу, потому что «опен сорс» больше не отражает то, как люди создают софт. Термин «опен сорс» (программное обеспечение с открытым исходным кодом) стало настолько широким, что обессмыслилось. Кажется, что как минимум в половине всех моих разговоров возникает вопрос: «Подожди… а ЧТО ты имеешь в виду, говоря опен сорс?». Или вдруг оказывается, что мы уже десять минут говорим о совершенно разных вещах.


Официально «опен сорс» определяется десятью критериями, которые вы можете прочитать вот здесь. Вам интересно, кто автор этих критериев? Это Инициатива по открытому программному обеспечению (the Open Source Initiative). Организация появилась в 1998 году и тогда же ввела этот термин.


Вы знали о том, что у «опен сорса» есть официальное определение? Сильно сомневаюсь в этом.

Каждый пункт этого определения начинается с того, что «лицензия должна» или «лицензия не должна». Но лицензионные разрешения в современном мире не самый удобный способ, чтобы определять, что такое опен сорс. Лицензии имеют такое же значение, как и факт о том, что большинство стартапов зарегистрированы в штате Делавэр (в штате Делавэр можно получить наиболее льготные условия налогообложения). Вы не задумываясь прокликиваете чекбоксы «принимаю», оставляя выяснять смысл нердам и специалистам по праву.


Перевод: сегодня молодые разработчики озабочены созданием POSS: пост-открытое программное обеспечение. Какие лицензионные разрешения? Присоединяйся к Github.

Это больше, чем просто игра словами (poss на сленге означает «можно», игра слов – о том, что сейчас разработчикам всё можно). У современного термина «опен сорс» иной набор ценностей по сравнению с концом 90-х или началом нулевых.

  • Идея «опен сорса» 90-х состояла в том, что код не имеет владельца и управляется лицензией. Что, в теории, приводит к более жизнеспособному программному обеспечению.
  • Современное значение «опен сорса» состоит в 1) публичной разработке ПО и 2) публичной совместной работе.

Разговор сместился с защиты права пользователя на адаптацию программного обеспечения под свои нужды и желания (сейчас это норма) к защите прав автора или сообщества, которые управляют кодом (это ещё нужно сделать нормой).


Перевод: Открытое программное обеспечение – это коммьюнити и экосистема вокруг кода, а не только сам код.

Это изменение во многом спровоцировано GitHub. Как самая популярная платформа для разработки «опенсорс», она изменила нормы для целого поколения. Спросите, ради интереса, у нового поколения разработчиков первую ассоциацию на слово «fork». Вспоминается известная шутка про два синонима к слову «нежить», про которые молодежь скорее скажет «зомби» и «умертвие», нежели «холить» и «лелеять».

Строго говоря, большинство проектов GitHub даже не подходят под официальное определение «опен сорс» (около 80% не имеют прикрепленной к проекту лицензии). Таким образом, когда мы говорим, что GitHub – это там, где люди «открывают код» к своим работам, мы имеем в виду то, что написано в «Правилах использования GitHub».

Иметь разные версии определения термина – нормально. Но только если это не ограничивает наше понимание того, как люди на самом деле создают софт и сотрудничают сегодня. Например, мне пришлось вступить в спор по поводу «снесения кода» из проекта Node.js (ссылка на пост автора, кейс рассмотрели и на Хабрахабре).

Получается, чтобы защитить права авторов, которые разрабатывают публично, например, использующих Fair Source, нужно открыто говорить, что их труды – «это не опен сорс». Строго говоря, Майк Перхам из компании Sidekiq неправ, когда говорит, что «программное обеспечение с открытым исходным кодом != бесплатное программное обеспечение». Несмотря на то что он в точности повторяет то, что у многих на уме.

А потом мы имеем кучу людей, которые «открывают код» к каким-то вещам, которые не имеют никакого отношения к программному обеспечению или официальному пониманию открытого программного обеспечения. Все, что они имеют в виду – это то, что они сделали свою работу публично для других. Чтобы другие смотрели или пользовались.

Есть ощущение, что нам уже давно нужен новый термин. Когда-то словосочетание «открытое программное обеспечение» появилось из-за необходимости отделить более прагматичную философию от её политического предшественника – свободное программное обеспечение. Может быть, это время опять наступило?

И как нам тогда это называть?

Сейчас я тестирую термин «публичное программное обеспечение». Иными словами, есть закрытое программное обеспечение – с доступом для ограниченной группы людей, а есть публичное – доступ к нему открыт любому, у кого есть выход в интернет.

Программное обеспечение с открытым исходным кодом остается формой публичного программного обеспечения и включает широкий класс приложений и экспериментов. Чем мне ещё нравится термин «Публичное программное обеспечение», так это тем, что он также более понятный для не профессионала (я всегда ёжусь, когда вижу недоумевающие глаза людей, которые слышат слово «опен сорс»).

Очень хочу услышать ваши предложения. Можем ли мы найти лучшее определение, чтобы его использовать?

В данный момент я ищу разные способы поддержать инфраструктуру опен сорс. Если вы хотите приняться участие, вы можете подписаться на уведомления или следить за мной в Twitter.