Каковы некоторые последствия превращения программного обеспечения с открытым исходным кодом в программное обеспечение с закрытым исходным кодом?


16

Если компания берет лицензированное приложение с открытым исходным кодом, а затем разрабатывает приложение с закрытым исходным кодом, переработав обширные части приложения, добавив новые функции и исправив ошибки ...

Игнорирование любых лицензионных требований ...

  • Как происходит переход и что можно сделать, чтобы предотвратить его, помимо выбора другой лицензии?
  • Каковы этические или социальные обязанности для компании? (Например: возвращение к проекту с открытым исходным кодом было бы этическим делом)
  • Если доступны версия с открытым исходным кодом и версия с закрытым исходным кодом, как конкуренция влияет на любой продукт?

Есть ли примеры компаний или продуктов, которые делали это (успешно или безуспешно) в прошлом? Каково было отношение сообщества к этим проектам?


2
Я думаю, что .NET отражатель может быть довольно хорошим примером этого.
l46kok

2
@ l46kok Я отменил свой комментарий для вашего комментария, потому что Reflector никогда не был открытым исходным кодом, просто как в пиве.
Марк Херд

Ответы:


14

Важно отметить, что этот сценарий может происходить как в легальной, так и в нелегальной форме.

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

С другой стороны монеты код может быть взят незаконно. New Corp, Inc. может не заботиться о юридических последствиях. Проект может быть слишком старым или заброшенным, или New Corp думает, что они выиграют в судебном процессе. Или New Corp. может быть зарегистрирована в области, где такого рода «приобретение» просто не определено как незаконное. Не все лицензии OSS подлежат принудительному исполнению, особенно те, которые были объединены неспециалистами в законодательстве. Не все владельцы проектов могут иметь возможность обеспечить соблюдение своих требований об авторском праве, и более крупные организации, такие как ФФС, могут не иметь полномочий в этой юрисдикции для такого требования. TL; DR - эта область может стать очень туманной и уродливой.

Переход и профилактика

Как происходит переход и что можно сделать, чтобы предотвратить его, помимо выбора другой лицензии?

Переход происходит, когда New Corp, Inc. приобретает кодовую базу и передает эту копию под свой контроль. Затем разработчики New Corp. начинают работать над своей версией кодовой базы, внося любые изменения, которые корпоративные повелители объявили необходимыми. Фактическая механика этой вилки будет варьироваться в зависимости от хранилища. И хотя это философски важно, на практике это действительно не в восторге. get allиз OpenRepos, а затем checkinв PrivateRepos.

Что можно сделать, чтобы не допустить распространения источника? Ничего. Сожалею.

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

Потенциально, у вас есть законный курс действий после факта. Но это все после того, как источник сбежал и был разветвлен, а не раньше. А в некоторых юрисдикциях у вас не будет никаких юридических средств правовой защиты. И все это предполагает, что вы даже знаете, что вилка произошла. Вы можете никогда не узнать.

Этика

Каковы этические или социальные обязанности для компании? (Например: возвращение к проекту с открытым исходным кодом было бы этическим делом)

Этика является локальной для культуры. Так умерить этот раздел с этим зерном соли. Полное обсуждение культурного рассмотрения этики выходит за рамки этого ответа и не по теме для программистов.

Я заметил, что сообщество программистов имеет тенденцию негативно реагировать на враждебную форк. Черт возьми, в некоторых случаях одно и то же сообщество все еще отрицательно реагирует на дружественную и легальную вилку. Это довольно сложное сообщество.

С точки зрения FOSS, ожидается, что New Corp собирается «погасить» сообщество за вклад, который оно раздвоило. Условия и срок такого погашения так же различны, как и количество существующих проектов OSS. Некоторые в сообществе (считают Ричард Столлман) никогда не будут довольны закрытым открытым проектом. Другие будут искать выгоду, предоставленную сообществу в целом, и будут судить на основании этого. А другим просто будет все равно, потому что они никогда не знали и не заботились о проекте происхождения.

Доступность источника

Если доступны версия с открытым исходным кодом и версия с закрытым исходным кодом, как конкуренция влияет на любой продукт?

Это действительно зависит от того, насколько сопоставимы две базы кода по функциональности, производительности и стабильности.

Если базы кода остаются схожими и New Corp дружелюбен к сообществу OSS, они могут вносить свои обновления обратно в базовый проект. В этом случае всем выгодно. В данном случае это не «соревнование», а скорее взаимовыгодное сотрудничество.

Если кодовые базы сильно расходятся, а New Corp не дружелюбен к сообществу OSS, конкуренция по-прежнему отсутствует. Выживающий продукт с большим количеством функций выживает и менее богатый продукт имеет тенденцию отмирать. Обратите внимание, что это может пойти в любом случае - закрытая версия может умереть, если версия с открытым исходным кодом продолжает вводить новшества или лучше удовлетворять потребности сообщества.

Реальность будет где-то между этими двумя концами спектра.

пример

Red Hat имеет два основных дистрибутива - Enterprise Linux и Fedora. EL - это их «закрытая» лицензионная версия, а Fedora - их версия для сообщества. Из-за GPL большая часть, если не все, издания EL выпускаются в виде исходного кода. Другой проект, не связанный с Red Hat под названием CentOS, собирает изменения в EL и распространяет этот проект после небольшого ребрендинга.

Были некоторые недовольства, когда Red Hat разделилась на две отдельные редакции, но в целом это было довольно выполнимое соглашение. Сообщество Fedora хотело, чтобы функции распространялись в дистрибутиве быстрее, чем было удобно корпоративным клиентам Red Hat. Усовершенствования кодовых баз происходят в обоих направлениях.


1
@GlenH7 Хороший ответ, охватывающий технические и юридические аспекты :)
hagubear

1
не забывайте, что можно взять на себя кодовую базу и не знать о ссылке на какую-то библиотеку с открытым исходным кодом, которая скрыта глубоко в нескольких миллионах строк кода, сотнях poms, файлах ant, make-файлах и т. д. и т. д., особенно если это косвенная ссылка. У нас это было, и мы чертовски долго вырезали уязвимый код и заменяли его тем, что мы могли бы распространять.
июня

4

Предполагая, что все законно и не имеет значения, и что мы говорим о продукте, который имеет кошерную лицензию с открытым исходным кодом до начала процесса:

Как происходит переход ...

По сути, компания выпускает новую версию программного обеспечения с лицензией без открытого исходного кода.

и что можно сделать, чтобы предотвратить это помимо выбора другой лицензии?

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

Попытка применить «моральное давление» до факта вряд ли сработает. Компания, скорее всего, сделает подобные вещи без предварительного уведомления.

Сказав это, есть примеры, когда попытки «свернуть» открытый исходный код оказали обратное воздействие на компанию, делающую это. Рассмотрим случаи OpenOffice, Hudson и MySQL, когда действия Oracle привели к развилке, массовому исходу сообщества разработчиков и (для OO и MySQL) дистрибутивов, которые все чаще выбрасывают оригинальный продукт в пользу развилки (LibreOffice и MariaDB). ).

Каковы этические или социальные обязанности для компании?

Чтобы быть откровенным (и несколько циничным), не имеет значения, какими должны быть вы и я, этические и социальные обязанности компании.

С юридической точки зрения, единственной обязанностью директоров и руководителей компании является: 1) максимизировать ценность для акционеров / владельцев и 2) обеспечить соблюдение закона. Вы могли бы утверждать, что как люди, эти люди имеют социальные и этические обязанности, но ... к сожалению ... многие из них не согласятся.

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

Если доступны версия с открытым исходным кодом и версия с закрытым исходным кодом, как конкуренция влияет на любой продукт?

Я не думаю, что есть ответ на это. Это зависит от обстоятельств.


Есть ли примеры компаний или продуктов, которые делали это (успешно или безуспешно) в прошлом? Каково было отношение сообщества к этим проектам?

Да, есть примеры. Просто Google для фразы «идет с закрытым исходным кодом» и применить фильтр bogosity. Прочитав (не поддельные) хиты, вы почувствуете отношение сообщества, и если вы продолжите изучение продуктов / компаний, вы сможете решить, были ли они успешными или нет. (Я не собираюсь делать это для вас, потому что «успех» - это ценностное суждение.)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.