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


Официально «опен сорс» определяется десятью критериями, которые вы можете прочитать вот здесь. Вам интересно, кто автор этих критериев? Это Инициатива по открытому программному обеспечению (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)


  1. hedgeven
    30.05.2016 12:41
    +21

    Впомнается старая шутка с bash.org.ru
    bash.im/quote/405403


  1. reroll
    30.05.2016 12:42

    Бесплатная информация — это и есть смысл опенсорса
    а вот использование информации — это дополнительная лицензия и/или фича
    можно сколько угодно смотреть, но пересказать или показать другим — потребуется лицензия


  1. Scratch
    30.05.2016 12:42
    +11

    Недавно наткнулся на интересную статью по теме. Разработчики мессенджера Wire реализовали протокол мессенджера Signal с нуля, на Rust, используя публичное описание протокола и смотря в код сигнала на гитхаб и статьи на сайте. Просто потому, что описание там страдает очень сильно в деталях. Так вот, глава OpenWhisperSystems в ответ на просьбу поревьюить их реализацию предложил им заплатить 2.5м бакинских. А ведь сам на всех углах кричит о том, что давайте этот axolotl везде прикручивать, ведь он такой крутой, что его аж Сноуден советует. Ага, давайте. Не все такие богатые как вотсап.
    Когда те возразили, начались суды. Вот тебе и опен сорс


  1. greynix
    30.05.2016 13:46
    +5

    «программное обеспечение с открытым исходным кодом != бесплатное программное обеспечение».

    В оригинале сказано что Open Source != Free Software, т.е. оно не свободное. Хотя запросто может быть бесплатным.


    1. EmmGold
      03.06.2016 23:48

      Свободное != Бесплатное, Free != Free…


  1. wholeman
    30.05.2016 14:08
    +4

    Ненавижу, когда говорят «опен сорс» не по делу — так правильнее. Open source всё же обозначает определённое OSI явление, и лучше оставить этот термин для него.
    А для кода, который выложен на GitHub без лицензии, действительно стоит придумать новый термин, чтобы избежать путаницы, но «публичный код (или ПО)» здесь не подходит, т.к. возникнет путаница с «public domain».
    Можно использовать что-то вроде недоопен сорс или гитхабен сорс, дабы подчеркнуть ограниченность такого подхода. Дело в том, что код хотя и доступен, но его использование, по крайней мере в России, незаконно, поскольку это просто нелицензионное использование, такое же, как и в случае пиратской Windows, если не хуже, т.к. упущенная выгода не ограничена обычной ценой лицензии и предоставляет широкий простор для правообладателей (пример чуть выше).


    1. robux
      02.06.2016 12:35
      +1

      Меня тоже насторожило, что термин "общественная собственность" (public domain) пытаются замылить термином "общественный доступ" (public access).

      Надюшка Эгхбол, похоже, отрабатывает заказ корпорастов на увод общественности от понятия «общественное достояние» и замену его в молодых мозгах на понятие, скрывающее истиную ценность СПО — достояние всего человечества, а не узкой группы лиц, владельцев корпораций.

      Типа: вот было раньше ПО, которое разработчики передавали в общественное достояние, а теперь просто понимайте под этим «публичный доступ» и не смейте потом качать права в судах на право владения этим софтом.

      p.s. И вобще я заметил, что понятие «общественной собственности» становится табу. Хотят чтобы кроме «частной собственности» ничего не знали.


  1. NLO
    00.00.0000 00:00

    НЛО прилетело и опубликовало эту надпись здесь


    1. wholeman
      30.05.2016 16:25
      +8

      GitHub — всего лишь сервис, то, что он позволяет кого-то блокировать, никак не влияет на опенсорсность размещённых там проектов.


  1. Darthman
    30.05.2016 14:28
    -3

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

    Извините, но на этом месте бросил читать.


  1. Ahcai5oh
    30.05.2016 14:33
    +4

    столлман предупреждал


    Вам интересно, кто автор этих критериев?

    брюс перенс и другие дебианщики. эти критерии почти целиком позаимствованы из debian free software guidelines


  1. Klaster
    30.05.2016 17:09
    +1

    До текущего момента читал абсолютно буквально: open source — открытые исходники.


    1. Shultc
      30.05.2016 17:53
      +4

      Я и до сих пор так читаю…


    1. Athari
      31.05.2016 09:01
      +5

      Это какая-то особая форма издевательства над языком — брать два слова, которые представляют собой осмысленное словосочетание просто на основе их исходных значений, и давать этой паре какое-то особое определение, которое никак из этих слов не вытекает.


      И правда, удивительно — почему при этом возникают разногласия?


  1. gekt0r
    30.05.2016 19:09
    +3

    Прочитав статью не понял ничего. Если ты не показываешь код другим — это закрытое ПО, если ты показываешь код другим — открытое.
    Разве не так? И как можно запретить пользоваться опубликованным кодом? Это все равно что выложить все свои паспортные данные на страницу в ВК и написать ниже «только не берите кредиты на этот паспорт, я вам запрещаю».
    Объясните, что имелось ввиду?


    1. ozkriff
      30.05.2016 19:44
      +4

      О.о ээээ


      И как можно запретить пользоваться опубликованным кодом?

      Не разрешать просто.


      https://ru.wikipedia.org/wiki/Лицензия


      https://ru.wikipedia.org/wiki/Авторское_право


      http://stackoverflow.com/questions/5521080/can-i-use-the-code-in-a-github-project-which-does-not-have-a-license-specified


      1. NivoRAZH
        31.05.2016 07:59

        >процентов 90 — школьники

        Пожалуйста, не нужно так говорить. Мы всe же не в 2010-м.


      1. NivoRAZH
        31.05.2016 08:00
        +2

        А я меткий по утрам!


      1. gekt0r
        01.06.2016 18:25
        -1

        Ха. А если продукт с закрытым кодом, и нигде не указано, что автор украл чужой код, то никто ничего не запретит


        1. ozkriff
          02.06.2016 00:16
          +1

          Ха. А если зарезать и ограбить человека в темном переулке и спрятать труп, то никто ничего не запретит.


        1. wholeman
          02.06.2016 14:45

          Бывало, что об этом узнавали и нарушителям приходилось открывать весь свой код.


      1. gekt0r
        01.06.2016 18:29

        в любом случае, я теперь понимаю так: если кто-то открыл свой проект, то это для того чтобы кто-то просто мог проверить и протестировать его код. Но совсем не обязательно, что этот человек разрешит использовать его код.
        Я правильно понял?


        1. ozkriff
          02.06.2016 00:18

          В случае гитхаба — можно только читать и клонировать. Собирать/тестировать без разрешения, видимо, уже может быть незаконно) Использовать где-то без разрешения — тем более.


  1. izzholtik
    30.05.2016 22:32
    +6

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

    Пожалуйста, не нужно так говорить. Мы всё же не на vk.com, где процентов 90 аудитории — школьники.


  1. variable
    31.05.2016 03:28
    +1

    Какие лицензионные разрешения? Присоединяйся к Github.

    вы гугл-транслейтом переводили?


    1. i-cat
      31.05.2016 11:39

      Авторский перевод :) В оригинале-то, вообще, мат О_О


      1. TrolomenJirnota
        31.05.2016 12:30

        Мы с вами учили разные английские, видимо


  1. interrupt
    31.05.2016 12:34
    +2

    Вопрос на который я не могу найти однозначный ответ. Что происходит с лицензией при переписывании с одного языка на другой. Пример: вот есть код на C под GPLv3, я его переписал на С++, убрал все *ctx, сделал удобный для себя интерфейс, переписал обработку ошибок на исключения, умные указатели и т.д. Но собственно, исходный алгоритм остался тем же. Могу ли я теперь то что получилось открыть под несовместимой с GPL лицензией, например использовать в проекте под BSD лицензией или вообще закрыть?


    1. i-cat
      31.05.2016 12:47
      +3

      Это сильно зависит от законодательства стран и концепции «производное произведение». Если алгоритм не защищался патентом, то так можно сделать. После чего автор сможет подать в суд, и далее уже суд будет решать — вы незаконно присвоили его работу, внеся «незначительные» изменения, или же ваше произведение уникально. А еще есть патентные тролли, вот. Все сложно ;)


    1. gekt0r
      01.06.2016 18:33

      согласен с предыдущим высказыванием. Мне объясняли, что если нет патента, то чаще всего суд объявляет такой «копи паст» как нормальную штуку. А всё потому, что чаще всего в суде не могут нормально понять, чем отличается одна «портянка» кода от другой. А «сторонним экспертам» суд верит так как ему удобно.
      Мне объяснили именно так лет 5 назад. Возможно что-то изменилось.