Официально «опен сорс» определяется десятью критериями, которые вы можете прочитать вот здесь. Вам интересно, кто автор этих критериев? Это Инициатива по открытому программному обеспечению (the Open Source Initiative). Организация появилась в 1998 году и тогда же ввела этот термин.
Вы знали о том, что у «опен сорса» есть официальное определение? Сильно сомневаюсь в этом.
Каждый пункт этого определения начинается с того, что «лицензия должна» или «лицензия не должна». Но лицензионные разрешения в современном мире не самый удобный способ, чтобы определять, что такое опен сорс. Лицензии имеют такое же значение, как и факт о том, что большинство стартапов зарегистрированы в штате Делавэр (в штате Делавэр можно получить наиболее льготные условия налогообложения). Вы не задумываясь прокликиваете чекбоксы «принимаю», оставляя выяснять смысл нердам и специалистам по праву.
Перевод: сегодня молодые разработчики озабочены созданием POSS: пост-открытое программное обеспечение. Какие лицензионные разрешения? Присоединяйся к Github.
Это больше, чем просто игра словами (poss на сленге означает «можно», игра слов – о том, что сейчас разработчикам всё можно). У современного термина «опен сорс» иной набор ценностей по сравнению с концом 90-х или началом нулевых.
- Идея «опен сорса» 90-х состояла в том, что код не имеет владельца и управляется лицензией. Что, в теории, приводит к более жизнеспособному программному обеспечению.
- Современное значение «опен сорса» состоит в 1) публичной разработке ПО и 2) публичной совместной работе.
Разговор сместился с защиты права пользователя на адаптацию программного обеспечения под свои нужды и желания (сейчас это норма) к защите прав автора или сообщества, которые управляют кодом (это ещё нужно сделать нормой).
Перевод: Открытое программное обеспечение – это коммьюнити и экосистема вокруг кода, а не только сам код.
Это изменение во многом спровоцировано GitHub. Как самая популярная платформа для разработки «опенсорс», она изменила нормы для целого поколения. Спросите, ради интереса, у нового поколения разработчиков первую ассоциацию на слово «fork». Вспоминается известная шутка про два синонима к слову «нежить», про которые молодежь скорее скажет «зомби» и «умертвие», нежели «холить» и «лелеять».
Строго говоря, большинство проектов GitHub даже не подходят под официальное определение «опен сорс» (около 80% не имеют прикрепленной к проекту лицензии). Таким образом, когда мы говорим, что GitHub – это там, где люди «открывают код» к своим работам, мы имеем в виду то, что написано в «Правилах использования GitHub».
Иметь разные версии определения термина – нормально. Но только если это не ограничивает наше понимание того, как люди на самом деле создают софт и сотрудничают сегодня. Например, мне пришлось вступить в спор по поводу «снесения кода» из проекта Node.js (ссылка на пост автора, кейс рассмотрели и на Хабрахабре).
Получается, чтобы защитить права авторов, которые разрабатывают публично, например, использующих Fair Source, нужно открыто говорить, что их труды – «это не опен сорс». Строго говоря, Майк Перхам из компании Sidekiq неправ, когда говорит, что «программное обеспечение с открытым исходным кодом != бесплатное программное обеспечение». Несмотря на то что он в точности повторяет то, что у многих на уме.
А потом мы имеем кучу людей, которые «открывают код» к каким-то вещам, которые не имеют никакого отношения к программному обеспечению или официальному пониманию открытого программного обеспечения. Все, что они имеют в виду – это то, что они сделали свою работу публично для других. Чтобы другие смотрели или пользовались.
Есть ощущение, что нам уже давно нужен новый термин. Когда-то словосочетание «открытое программное обеспечение» появилось из-за необходимости отделить более прагматичную философию от её политического предшественника – свободное программное обеспечение. Может быть, это время опять наступило?
И как нам тогда это называть?
Сейчас я тестирую термин «публичное программное обеспечение». Иными словами, есть закрытое программное обеспечение – с доступом для ограниченной группы людей, а есть публичное – доступ к нему открыт любому, у кого есть выход в интернет.
Программное обеспечение с открытым исходным кодом остается формой публичного программного обеспечения и включает широкий класс приложений и экспериментов. Чем мне ещё нравится термин «Публичное программное обеспечение», так это тем, что он также более понятный для не профессионала (я всегда ёжусь, когда вижу недоумевающие глаза людей, которые слышат слово «опен сорс»).
Очень хочу услышать ваши предложения. Можем ли мы найти лучшее определение, чтобы его использовать?
В данный момент я ищу разные способы поддержать инфраструктуру опен сорс. Если вы хотите приняться участие, вы можете подписаться на уведомления или следить за мной в Twitter.
Комментарии (30)
reroll
30.05.2016 12:42Бесплатная информация — это и есть смысл опенсорса
а вот использование информации — это дополнительная лицензия и/или фича
можно сколько угодно смотреть, но пересказать или показать другим — потребуется лицензия
Scratch
30.05.2016 12:42+11Недавно наткнулся на интересную статью по теме. Разработчики мессенджера Wire реализовали протокол мессенджера Signal с нуля, на Rust, используя публичное описание протокола и смотря в код сигнала на гитхаб и статьи на сайте. Просто потому, что описание там страдает очень сильно в деталях. Так вот, глава OpenWhisperSystems в ответ на просьбу поревьюить их реализацию предложил им заплатить 2.5м бакинских. А ведь сам на всех углах кричит о том, что давайте этот axolotl везде прикручивать, ведь он такой крутой, что его аж Сноуден советует. Ага, давайте. Не все такие богатые как вотсап.
Когда те возразили, начались суды. Вот тебе и опен сорс
wholeman
30.05.2016 14:08+4Ненавижу, когда говорят «опен сорс» не по делу — так правильнее. Open source всё же обозначает определённое OSI явление, и лучше оставить этот термин для него.
А для кода, который выложен на GitHub без лицензии, действительно стоит придумать новый термин, чтобы избежать путаницы, но «публичный код (или ПО)» здесь не подходит, т.к. возникнет путаница с «public domain».
Можно использовать что-то вроде недоопен сорс или гитхабен сорс, дабы подчеркнуть ограниченность такого подхода. Дело в том, что код хотя и доступен, но его использование, по крайней мере в России, незаконно, поскольку это просто нелицензионное использование, такое же, как и в случае пиратской Windows, если не хуже, т.к. упущенная выгода не ограничена обычной ценой лицензии и предоставляет широкий простор для правообладателей (пример чуть выше).robux
02.06.2016 12:35+1Меня тоже насторожило, что термин "общественная собственность" (public domain) пытаются замылить термином "общественный доступ" (public access).
Надюшка Эгхбол, похоже, отрабатывает заказ корпорастов на увод общественности от понятия «общественное достояние» и замену его в молодых мозгах на понятие, скрывающее истиную ценность СПО — достояние всего человечества, а не узкой группы лиц, владельцев корпораций.
Типа: вот было раньше ПО, которое разработчики передавали в общественное достояние, а теперь просто понимайте под этим «публичный доступ» и не смейте потом качать права в судах на право владения этим софтом.
p.s. И вобще я заметил, что понятие «общественной собственности» становится табу. Хотят чтобы кроме «частной собственности» ничего не знали.
Darthman
30.05.2016 14:28-3Перевод: Открытое программное обеспечение – это коммьюнити
Community — перевод коммьюните.
Извините, но на этом месте бросил читать.
Ahcai5oh
30.05.2016 14:33+4
Вам интересно, кто автор этих критериев?
брюс перенс и другие дебианщики. эти критерии почти целиком позаимствованы из debian free software guidelines
Klaster
30.05.2016 17:09+1До текущего момента читал абсолютно буквально: open source — открытые исходники.
Athari
31.05.2016 09:01+5Это какая-то особая форма издевательства над языком — брать два слова, которые представляют собой осмысленное словосочетание просто на основе их исходных значений, и давать этой паре какое-то особое определение, которое никак из этих слов не вытекает.
И правда, удивительно — почему при этом возникают разногласия?
gekt0r
30.05.2016 19:09+3Прочитав статью не понял ничего. Если ты не показываешь код другим — это закрытое ПО, если ты показываешь код другим — открытое.
Разве не так? И как можно запретить пользоваться опубликованным кодом? Это все равно что выложить все свои паспортные данные на страницу в ВК и написать ниже «только не берите кредиты на этот паспорт, я вам запрещаю».
Объясните, что имелось ввиду?ozkriff
30.05.2016 19:44+4О.о ээээ
И как можно запретить пользоваться опубликованным кодом?
Не разрешать просто.
https://ru.wikipedia.org/wiki/Лицензия
https://ru.wikipedia.org/wiki/Авторское_право
NivoRAZH
31.05.2016 07:59>процентов 90 — школьники
Пожалуйста, не нужно так говорить. Мы всe же не в 2010-м.
gekt0r
01.06.2016 18:25-1Ха. А если продукт с закрытым кодом, и нигде не указано, что автор украл чужой код, то никто ничего не запретит
ozkriff
02.06.2016 00:16+1Ха. А если зарезать и ограбить человека в темном переулке и спрятать труп, то никто ничего не запретит.
wholeman
02.06.2016 14:45Бывало, что об этом узнавали и нарушителям приходилось открывать весь свой код.
gekt0r
01.06.2016 18:29в любом случае, я теперь понимаю так: если кто-то открыл свой проект, то это для того чтобы кто-то просто мог проверить и протестировать его код. Но совсем не обязательно, что этот человек разрешит использовать его код.
Я правильно понял?ozkriff
02.06.2016 00:18В случае гитхаба — можно только читать и клонировать. Собирать/тестировать без разрешения, видимо, уже может быть незаконно) Использовать где-то без разрешения — тем более.
izzholtik
30.05.2016 22:32+6> Вы знали о том, что у «опен сорса» есть официальное определение? Сильно сомневаюсь в этом.
Пожалуйста, не нужно так говорить. Мы всё же не на vk.com, где процентов 90 аудитории — школьники.
interrupt
31.05.2016 12:34+2Вопрос на который я не могу найти однозначный ответ. Что происходит с лицензией при переписывании с одного языка на другой. Пример: вот есть код на C под GPLv3, я его переписал на С++, убрал все *ctx, сделал удобный для себя интерфейс, переписал обработку ошибок на исключения, умные указатели и т.д. Но собственно, исходный алгоритм остался тем же. Могу ли я теперь то что получилось открыть под несовместимой с GPL лицензией, например использовать в проекте под BSD лицензией или вообще закрыть?
i-cat
31.05.2016 12:47+3Это сильно зависит от законодательства стран и концепции «производное произведение». Если алгоритм не защищался патентом, то так можно сделать. После чего автор сможет подать в суд, и далее уже суд будет решать — вы незаконно присвоили его работу, внеся «незначительные» изменения, или же ваше произведение уникально. А еще есть патентные тролли, вот. Все сложно ;)
gekt0r
01.06.2016 18:33согласен с предыдущим высказыванием. Мне объясняли, что если нет патента, то чаще всего суд объявляет такой «копи паст» как нормальную штуку. А всё потому, что чаще всего в суде не могут нормально понять, чем отличается одна «портянка» кода от другой. А «сторонним экспертам» суд верит так как ему удобно.
Мне объяснили именно так лет 5 назад. Возможно что-то изменилось.
hedgeven
Впомнается старая шутка с bash.org.ru
bash.im/quote/405403