В статье, которую я недавно прочитал, авторы продвигают свое программное обеспечение как открытый, потому что оно было выпущено на GitHub под лицензией Apache License 2.0. Однако программное обеспечение является надстройкой к проприетарному (с закрытым исходным кодом) и несвободному программному обеспечению. Кроме того, он был разработан с использованием C # и .NET Framework, что, по крайней мере, исторически, не считалось открытым исходным кодом или свободным программным обеспечением. Исходя из этого, действительно ли правильно маркировать эту надстройку программным обеспечением с открытым исходным кодом?
3 ответа
Судя по предоставленной вами информации, надстройка является абсолютно бесплатной и с открытым исходным кодом. "Свободная" часть - это то, что она лицензирована под лицензией Apache. И это с открытым исходным кодом, поскольку они предлагают исходный код.
Тот факт, что надстройка сделана для несвободных приложений с закрытым исходным кодом, не имеет значения. Это приложение является совершенно другой сущностью и не имеет никакого отношения к свободе надстроек или ее источнику. То же самое касается языка программирования. Вы можете взять надстройку и распространить ее в соответствии с условиями лицензии Apache и изменить предоставленный исходный код.
Ответ на этот вопрос является несколько горячо обсуждаемой темой ... возможно, в основном в рамках сообщества Open Source Hardware.
По сути - « Разрешено ли ссылаться на проект как на открытый исходный код, если инструменты, необходимые для редактирования / создания исходных текстов, сами по себе не бесплатны для использования?"
Примеры:
- Проекты с зависимостями времени сборки от инструментов, которые не являются бесплатными (например, аппаратные проекты, разработанные с использованием Altium)
- Проекты с зависимостями времени выполнения и операционными средами, которые не являются бесплатными (например, программные проекты, разработанные для использования в Windows)
На мой взгляд, если бы ответ был « Нет », то крайним примером будет то, что любое программное обеспечение, которое работает только на несвободных операциях, таких как Windows, не может называться « открытым исходным кодом » ... Даже если он может быть запущен в эмулируемой среде, такой как Wine, он не предназначен для этого использования.
Тем не менее, я считаю, что если источники открыты для ознакомления и рецензирования, то « Да » допустимо называть проектом как « Открытый исходный код ».
Имейте в виду, что « Источник » в « Open Source » относится к исходным файлам - исходным компонентам проекта, которые используются с различными инструментами для получения полезного конечного результата.
« Источники » охватывает:
- Исходный код приложения
- Построить инфраструктуру или скрипты (например, Makefiles)
- Файлы проекта (например: VCProj)
- Документация
- так далее...
opensource.com определяет « Открытый исходный код » как:
что-то, что люди могут изменять и делиться, потому что его дизайн общедоступен
Обратите внимание, что инструменты C # и .NET действительно "бесплатны", но они "закрыты":
https://visualstudio.microsoft.com/downloads
Visual Studio Community 2017
Бесплатная полнофункциональная среда разработки для студентов, разработчиков программного обеспечения с открытым исходным кодом и индивидуальных разработчиков.
Если кто-то говорит, что что-то является "открытым исходным кодом", вы должны спросить себя, можете ли вы посмотреть полный код, из которого состоит этот продукт. Если ответ "да", то он действительно "открытый". Конечно, OSI имеет четкое определение "с открытым исходным кодом", которое дает вам гораздо больше прав и снимает много ограничений. "Открытый исходный код" обычно рассматривается как менее строгий, чем "свободное программное обеспечение", основанное на определении Ричарда М. Столлмана и Фонда свободного программного обеспечения. Некоторые рассуждения с его точки зрения можно найти здесь.
Я бы сказал, что в вашем случае программное обеспечение кажется действительно открытым исходным кодом в смысле OSI, потому что лицензия дает вам все права. То, что программное обеспечение не сильно поможет без .NET Framework, это еще одна история - вы все равно можете использовать программное обеспечение без юридических ограничений .NET Framework. Вы можете посмотреть, может быть, сама надстройка на самом деле может работать с .NET Standard, кто знает - но это не меняет того факта, что это, скорее всего, "открытый исходный код". Я бы так далеко не описал его как свободное программное обеспечение, потому что я не знаю, как программа обращается со своими пользователями. Там я не обязательно согласен с @keltari.