stringtranslate.com

Программное обеспечение с открытым исходным кодом

Скриншот Manjaro , работающего в среде рабочего стола Cinnamon , Firefox, открывающего Wikipedia , который использует MediaWiki , LibreOffice Writer , Vim , GNOME Calculator , VLC и файловый менеджер Nemo , все из которых являются программным обеспечением с открытым исходным кодом .

Программное обеспечение с открытым исходным кодом ( OSS ) — это компьютерное программное обеспечение , которое выпускается по лицензии , в которой владелец авторских прав предоставляет пользователям права использовать, изучать, изменять и распространять программное обеспечение и его исходный код кому угодно и для любых целей. [1] [2] Программное обеспечение с открытым исходным кодом может разрабатываться в совместной, публичной манере. Программное обеспечение с открытым исходным кодом является ярким примером открытого сотрудничества , что означает, что любой способный пользователь может участвовать в разработке онлайн , что делает число возможных участников неограниченным. Возможность изучать код способствует общественному доверию к программному обеспечению. [3]

Разработка программного обеспечения с открытым исходным кодом может привнести различные перспективы, выходящие за рамки одной компании. Оценка стоимости программного обеспечения с открытым исходным кодом для компаний на 2024 год составляет 8,8 триллиона долларов, поскольку компаниям необходимо будет потратить в 3,5 раза больше, чем они тратят в настоящее время без использования программного обеспечения с открытым исходным кодом. [4]

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

Определения

Логотип Open Source Initiative

Определение Open Source Initiative (OSI) признано несколькими правительствами на международном уровне [5] как стандартное или фактическое определение. OSI использует The Open Source Definition , чтобы определить, считает ли он лицензию программного обеспечения с открытым исходным кодом. Определение было основано на Debian Free Software Guidelines , написанном и адаптированном в первую очередь Перенсом . [6] [7] [8] Перенс не основывал свои труды на «четырех свободах» Free Software Foundation (FSF), которые стали широко доступны только позже. [9]

Согласно определению Перенса, открытый исходный код — это широкая лицензия на программное обеспечение, которая делает исходный код доступным для широкой общественности с ослабленными или отсутствующими ограничениями на использование и модификацию кода. Явной «особенностью» открытого исходного кода является то, что он накладывает очень мало ограничений на использование или распространение любой организацией или пользователем, чтобы обеспечить быструю эволюцию программного обеспечения. [10]

По мнению Феллера и др. (2005), термины «свободное программное обеспечение» и «программное обеспечение с открытым исходным кодом» следует применять к любым «программным продуктам, распространяемым на условиях, которые позволяют пользователям» использовать, изменять и распространять программное обеспечение «любым удобным для них способом, не требуя от них выплаты автору(ам) программного обеспечения роялти или гонорара за участие в перечисленных видах деятельности». [11]

Несмотря на первоначальное принятие этого, [12] Ричард Столлман из FSF теперь категорически выступает против того, чтобы термин «Open Source» применялся к тому, что они называют «свободным программным обеспечением». Хотя он согласен, что эти два термина описывают «почти одну и ту же категорию программного обеспечения», Столлман считает, что приравнивание терминов некорректно и вводит в заблуждение. [13] Столлман также выступает против заявленного прагматизма Open Source Initiative , поскольку он опасается, что идеалы свободного программного обеспечения, такие как свобода и сообщество, находятся под угрозой из-за компромисса с идеалистическими стандартами FSF в отношении свободы программного обеспечения. [14] FSF считает свободное программное обеспечение подмножеством программного обеспечения с открытым исходным кодом, и Ричард Столлман объяснил, что программное обеспечение DRM , например, может разрабатываться как программное обеспечение с открытым исходным кодом, несмотря на то, что оно не дает своим пользователям свободы (ограничивает их), и, таким образом, не может считаться свободным программным обеспечением. [13]

Разработка программного обеспечения с открытым исходным кодом

Модель развития

В своем эссе 1997 года «Собор и базар » влиятельный участник движения за открытый исходный код Эрик С. Рэймонд предлагает модель разработки программного обеспечения с открытым исходным кодом, известную как модель базара . [15] Рэймонд сравнивает разработку программного обеспечения традиционными методологиями со строительством собора, с тщательной изолированной работой отдельных лиц или небольших групп. [15] Он предлагает, чтобы все программное обеспечение разрабатывалось с использованием базарного стиля, с различными программами и подходами. [15]

В традиционной модели разработки, которую он назвал моделью собора , разработка происходит централизованно. [15] Роли четко определены. [15] Роли включают людей, занимающихся проектированием (архитекторов), людей, ответственных за управление проектом, и людей, ответственных за реализацию. [15] Традиционная разработка программного обеспечения следует модели собора. [15]

Однако модель «базар» отличается. [15] В этой модели роли четко не определены. [15] Некоторые предлагаемые характеристики программного обеспечения, разработанного с использованием модели «базар», должны демонстрировать следующие закономерности: [16]

Пользователи должны рассматриваться как соразработчики: пользователи рассматриваются как соразработчики, и поэтому они должны иметь доступ к исходному коду программного обеспечения. [16] Кроме того, пользователи поощряются к отправке дополнений к программному обеспечению, исправлений кода для программного обеспечения, отчетов об ошибках , документации и т. д. Наличие большего количества соразработчиков увеличивает скорость, с которой программное обеспечение развивается. [16] Закон Линуса гласит, что при достаточном количестве глаз все ошибки являются неглубокими. [16] Это означает, что если много пользователей просматривают исходный код, они в конечном итоге найдут все ошибки и предложат, как их исправить. [16] Некоторые пользователи обладают продвинутыми навыками программирования, и, кроме того, машина каждого пользователя обеспечивает дополнительную среду тестирования. [16] Эта новая среда тестирования дает возможность находить и исправлять новые ошибки. [16]

Ранние релизы : первая версия программного обеспечения должна быть выпущена как можно раньше, чтобы увеличить шансы найти соразработчиков на раннем этапе. [16]

Частая интеграция: Изменения кода должны интегрироваться (объединяться в общую кодовую базу) как можно чаще, чтобы избежать накладных расходов на исправление большого количества ошибок в конце жизненного цикла проекта. [16] [17] Некоторые проекты с открытым исходным кодом имеют ночные сборки, где интеграция выполняется автоматически . [16]

Несколько версий: должно быть не менее двух версий программного обеспечения. [16] Должна быть версия с ошибками и большим количеством функций и более стабильная версия с меньшим количеством функций. [16] Версия с ошибками (также называемая версией для разработки) предназначена для пользователей, которые хотят немедленно использовать новейшие функции и готовы принять риск использования кода, который еще не был тщательно протестирован. [16] Затем пользователи могут выступать в качестве соразработчиков, сообщая об ошибках и предоставляя исправления ошибок. [16] [18]

Высокая модульность: общая структура программного обеспечения должна быть модульной, что позволяет осуществлять параллельную разработку независимых компонентов. [16]

Динамическая структура принятия решений: существует потребность в структуре принятия решений, формальной или неформальной, которая принимает стратегические решения в зависимости от меняющихся требований пользователя и других факторов. [16] Сравните с экстремальным программированием . [16]

Процесс разработки ПО с открытым исходным кодом начинается с выявления требований , в ходе которых разработчики рассматривают, следует ли им добавлять новые функции или необходимо исправить ошибку в своем проекте. [18] Это устанавливается путем общения с сообществом OSS с помощью таких средств, как отчеты об ошибках и отслеживание или списки рассылки и страницы проекта. [18] Затем разработчики OSS выбирают или им назначается задача и определяют решение. Поскольку в OSS часто существует множество различных возможных путей для решений, лучшее решение должно быть выбрано с тщательным рассмотрением и иногда даже с учетом отзывов коллег . [18] Затем разработчик начинает разрабатывать и фиксировать код. [18] Затем код тестируется и проверяется коллегами. [18] Разработчики могут редактировать и развивать свой код с помощью отзывов от непрерывной интеграции . [18] Как только руководство и сообщество будут удовлетворены всем проектом, он может быть частично выпущен, а инструкции для пользователей могут быть задокументированы. [18] Если проект готов к выпуску, он замораживается, и выполняются только серьезные исправления ошибок или ремонт безопасности. [18] Наконец, проект полностью выпущен и изменен только путем исправления незначительных ошибок. [18]

Преимущества

Реализация стандарта с открытым исходным кодом может повысить уровень принятия этого стандарта. [19] Это создает лояльность разработчиков, поскольку разработчики чувствуют себя уполномоченными и имеют чувство собственности на конечный продукт. [20]

Более того, для OSS требуются более низкие затраты на маркетинг и логистические услуги. [21] OSS может быть инструментом для продвижения имиджа компании, включая ее коммерческие продукты. [22] Подход к разработке OSS помог производить надежное, высококачественное программное обеспечение быстро и недорого. [21]

Разработка ПО с открытым исходным кодом предлагает потенциал для ускорения инноваций и создания социальной ценности. [23] Например, во Франции политика, которая стимулировала правительство отдавать предпочтение бесплатному программному обеспечению с открытым исходным кодом, увеличила почти до 600 000 взносов в OSS в год, создавая социальную ценность за счет увеличения количества и качества программного обеспечения с открытым исходным кодом. [23] Эта политика также привела к предполагаемому увеличению до 18% технологических стартапов и 14% увеличению числа людей, занятых в секторе ИТ. [23]

OSS может быть очень надежным, когда тысячи независимых программистов тестируют и исправляют ошибки программного обеспечения. [16] Открытый исходный код не зависит от компании или автора, которые изначально его создали. [24] Даже если компания терпит неудачу, код продолжает существовать и разрабатываться его пользователями. [24]

OSS является гибким, поскольку модульные системы позволяют программистам создавать собственные интерфейсы или добавлять к ним новые возможности, и является инновационным, поскольку программы с открытым исходным кодом являются продуктом сотрудничества большого числа разных программистов. [16] Сочетание различных точек зрения, корпоративных целей и личных целей ускоряет инновации. [25]

Более того, свободное программное обеспечение может быть разработано в соответствии с чисто техническими требованиями. [26] Оно не требует размышлений о коммерческом давлении, которое часто снижает качество программного обеспечения. [26] Коммерческое давление заставляет традиционных разработчиков программного обеспечения уделять больше внимания требованиям клиентов, чем требованиям безопасности, поскольку такие функции несколько невидимы для клиента. [26]

Инструменты разработки

При разработке программного обеспечения с открытым исходным кодом инструменты используются для поддержки разработки продукта и самого процесса разработки. [18]

Системы контроля версий, такие как централизованная система контроля версий (CVCS) и распределенная система контроля версий (DVCS), являются примерами инструментов, часто с открытым исходным кодом, которые помогают управлять файлами исходного кода и изменениями в этих файлах для программного проекта с целью содействия совместной работе. [27] CVCS централизованы с центральным репозиторием, в то время как DVCS децентрализованы и имеют локальный репозиторий для каждого пользователя. [27] Система параллельных версий ( CVS) и более поздние Subversion (SVN) и Git являются примерами CVCS. [27] Репозитории размещаются и публикуются на хостингах исходного кода , таких как GitHub . [27]

Проекты с открытым исходным кодом используют утилиты, такие как трекеры проблем, для организации разработки программного обеспечения с открытым исходным кодом. Обычно используемые трекеры ошибок включают Bugzilla и Redmine . [18]

Такие инструменты, как списки рассылки и IRC, предоставляют средства координации и обсуждения ошибок среди разработчиков. [18] Веб-страницы проектов, вики-страницы, списки дорожных карт и группы новостей позволяют распространять информацию о проектах, ориентированную на конечных пользователей. [18]

Возможности участия

Внося вклад

Основные роли участников OSS могут попадать в несколько категорий, начиная с руководства в центре проекта, которые контролируют его выполнение. [28] Далее следуют основные участники с большим опытом и полномочиями в проекте, которые могут направлять других участников. [28] Неосновные участники имеют меньше опыта и полномочий, но регулярно вносят вклад и имеют жизненно важное значение для развития проекта. [28] Новые участники являются наименее опытными, но при наставничестве и руководстве могут стать постоянными участниками. [28]

Некоторые возможные способы участия в разработке программного обеспечения с открытым исходным кодом включают такие роли, как программирование , проектирование и тестирование пользовательского интерфейса , веб-дизайн , сортировка ошибок , проектирование и тестирование доступности, проектирование UX , тестирование кода, а также обзор и тестирование безопасности . [28] Однако существует несколько способов участия в проектах с открытым исходным кодом даже без навыков кодирования. [28] Например, некоторые менее технические способы участия включают написание и редактирование документации , перевод , управление проектами , организацию и координацию мероприятий, маркетинг, управление релизами, управление сообществом, а также связи с общественностью и информационно-пропагандистскую деятельность. [28]

Финансирование — это еще один замечательный способ, которым отдельные лица и организации выбирают вносить свой вклад в проекты с открытым исходным кодом. Такие группы, как Open Collective, предоставляют возможность отдельным лицам ежемесячно вносить свой вклад в поддержку своих любимых проектов. [29] Такие организации, как Sovereign Tech Fund, могут вносить миллионы на поддержку инструментов, используемых правительством Германии . [30] Национальный научный фонд создал программу Pathways to Enable Open-Source Ecosystems (POSE) для поддержки инноваций с открытым исходным кодом. [31]

Участие в промышленности

Принятие программного обеспечения с открытым исходным кодом в промышленности со временем увеличивается. [32] OSS популярен в нескольких отраслях, таких как телекоммуникации , аэрокосмическая промышленность , здравоохранение , а также средства массовой информации и развлечения, благодаря преимуществам, которые он предоставляет. [33] Принятие OSS более вероятно в крупных организациях и зависит от использования ИТ-ресурсов компании, эффективности работы и производительности труда сотрудников. [32]

Отрасли, скорее всего, будут использовать OSS из-за функциональности бэк-офиса, поддержки продаж, исследований и разработок, функций программного обеспечения, быстрого развертывания, переносимости между платформами и избежания управления коммерческими лицензиями. [32] Кроме того, важными преимуществами являются также более низкие затраты на оборудование и владение. [32]

Известные организации

Организации, которые вносят вклад в развитие и расширение свободного и открытого программного обеспечения, существуют по всему миру. [28] Эти организации посвящены таким целям, как обучение и распространение технологий. [28] Как перечислил бывший вице-президент Open Source Initiative , некоторые американские организации включают Free Software Foundation , Software Freedom Conservancy , Open Source Initiative и Software in the Public Interest . [28] В Европе некоторые известные организации — Free Software Foundation Europe , open-source projects EU (OSP) и OpenForum Europe (OFE). [28] Одна австралийская организация — Linux Australia , в то время как в Азии есть Open source Asia и FOSSAsia. [28] Free and open source software for Africa (FOSSFA) и OpenAfrica — это африканские организации, а в Центральной и Южной Азии есть такие организации, как FLISOL и GRUP de usuarios de software libre Peru. [28] За пределами этих организаций существует множество других организаций, занимающихся продвижением открытого программного обеспечения. [28]

Правовые и экономические вопросы

Лицензирование

Продукты FOSS обычно лицензируются по двум типам лицензий: разрешительное лицензирование и лицензирование с копилефтом . [34] Оба эти типа лицензий отличаются от проприетарного лицензирования тем, что они могут разрешить большему количеству пользователей доступ к программному обеспечению и позволяют создавать производные работы , как указано в условиях конкретной лицензии, поскольку каждая лицензия имеет свои собственные правила. [34] Разрешительные лицензии позволяют получателям программного обеспечения реализовывать авторские права автора без необходимости использовать ту же лицензию для распространения. [34] Примерами этого типа лицензий являются лицензии BSD , MIT и Apache . [34] Лицензии с копилефтом отличаются тем, что они требуют от получателей использовать одну и ту же лицензию по крайней мере для некоторых частей распространения своих работ. [34] Лицензии со сильным копилефтом требуют, чтобы все производные работы использовали одну и ту же лицензию, в то время как лицензии со слабым копилефтом требуют использования одной и той же лицензии только при определенных условиях. [34] Примерами такого типа лицензий являются семейство лицензий GNU , а также лицензии MPL и EPL . [34] Сходства между этими двумя категориями лицензирования включают в себя то, что они предоставляют широкие права авторского права, требуют, чтобы получатели сохраняли уведомления об авторских правах, и что копия лицензии предоставляется получателям вместе с кодом. [34]

Один важный юридический прецедент для программного обеспечения с открытым исходным кодом был создан в 2008 году, когда дело Якобсона против Катцера обеспечило соблюдение условий лицензии Artistic , включая указание авторства и идентификацию модификаций. [34] Решение по этому делу закрепило соблюдение закона об авторском праве в случаях, когда условия лицензии не соблюдались. [34] Из-за схожести лицензии Artistic с другими лицензиями программного обеспечения с открытым исходным кодом решение создало прецедент, который применялся широко. [34]

Примерами лицензий на свободное программное обеспечение / лицензий с открытым исходным кодом являются лицензии Apache , лицензии BSD , GNU General Public Licenses , GNU Lesser General Public License , MIT License , Eclipse Public License и Mozilla Public License . [34]

Правовые вопросы

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

В юридической истории программного обеспечения в целом было много споров о том, защищать ли его как интеллектуальную собственность в соответствии с патентным правом , законом об авторском праве или устанавливать уникальное регулирование. [34] В конечном итоге, закон об авторском праве стал стандартом, а компьютерные программы стали считаться формой литературного произведения с некоторыми изменениями уникального регулирования. [34]

Программное обеспечение обычно считается исходным кодом и объектным кодом , и оба они подлежат защите, хотя в этом определении есть правовое разнообразие. [34] Некоторые юрисдикции пытаются расширить или сузить эту концептуализацию в своих собственных целях. [34] Например, Европейский суд определяет компьютерную программу как не включающую функциональность программы, язык программирования или формат файлов данных. [34] Ограничивая защиту различных аспектов программного обеспечения, закон благоприятствует подходу с открытым исходным кодом к использованию программного обеспечения. [34] В США особенно открытый подход к программному обеспечению, большинство лицензий с открытым исходным кодом происходят оттуда. [34] Однако это усилило внимание к патентным правам в этих лицензиях, что вызвало негативную реакцию со стороны сообщества OSS, которое предпочитает другие формы защиты интеллектуальной собственности . [34]

Другая проблема касается мер технологической защиты (TPM) и методов управления цифровыми правами (DRM), которые были признаны на международном уровне и защищены Договором Всемирной организации интеллектуальной собственности (ВОИС) 1996 года . [34] Сторонники программного обеспечения с открытым исходным кодом не одобряли эти технологии, поскольку они потенциально ограничивали конечных пользователей за пределами закона об авторском праве. [34] Европа отреагировала на такие жалобы, поставив TPM под юридический контроль, что стало победой сторонников OSS. [34]

Экономические/деловые последствия

В сообществах с открытым исходным кодом производитель владеет не самим создаваемым программным обеспечением, а разработкой развивающегося программного обеспечения. [35] Таким образом, будущее программного обеспечения открыто, что затрудняет владение или интеллектуальную собственность в рамках OSS. [35] Лицензирование и брендинг могут помешать другим украсть его, сохраняя его статус общественного блага . [35] Программное обеспечение с открытым исходным кодом можно считать общественным благом, поскольку оно доступно каждому и не теряет своей ценности для других при загрузке одним человеком. [35] Программное обеспечение с открытым исходным кодом уникально тем, что оно становится более ценным по мере использования и внесения вклада, а не уменьшения ресурса. Это объясняется такими концепциями, как инвестиции в репутацию и сетевые эффекты . [35]

Экономическую модель программного обеспечения с открытым исходным кодом можно объяснить тем, что разработчики вносят свой вклад в проекты, создавая общественные блага. [35] Разработчики выбирают проекты на основе предполагаемых выгод или затрат, таких как улучшение репутации или ценности проекта. [35] Мотивация разработчиков может исходить из многих разных мест и причин, но важный вывод заключается в том, что деньги — это не единственный и даже не самый важный стимул . [35]

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

Хотя OSS теоретически сложна в экономических моделях, ее можно объяснить как устойчивую социальную деятельность, требующую ресурсов. [35] Эти ресурсы включают время, деньги, технологии и взносы. [35] Многие разработчики использовали технологии, финансируемые такими организациями, как университеты и правительства, хотя эти же организации извлекают выгоду из работы, проделанной OSS. [35] По мере роста OSS гибридные системы, содержащие OSS и фирменные системы, становятся все более распространенными. [35]

В середине 2000-х годов все больше и больше технологических компаний начали использовать OSS. [24] Например, компания Dell начала продавать компьютеры с уже установленным GNU/Linux . [24] Сама компания Microsoft запустила операционную систему на базе Linux, несмотря на предыдущую враждебность к движению OSS. [24] Несмотря на эти разработки, эти компании, как правило, используют OSS только для определенных целей, что приводит к опасениям, что корпорации используют OSS в своих интересах, не получая ничего взамен. [24]

Правительство использует

В то время как многие правительства заинтересованы во внедрении и продвижении программного обеспечения с открытым исходным кодом из-за множества предоставляемых преимуществ, огромной проблемой, которую следует учитывать, является кибербезопасность . [36] Хотя случайные уязвимости возможны, возможны и атаки со стороны внешних агентов. [36] Из-за этих опасений правительственный интерес к содействию управлению программным обеспечением стал более заметным. [36] Однако это общие черты проблемы, поскольку каждая страна имеет свои собственные конкретные политизированные взаимодействия с программным обеспечением с открытым исходным кодом и свои цели по его внедрению. [36] Например, Соединенные Штаты сосредоточились на национальной безопасности в отношении внедрения программного обеспечения с открытым исходным кодом из-за предполагаемой угрозы увеличения активности программного обеспечения с открытым исходным кодом в таких странах, как Китай и Россия, при этом Министерство обороны рассматривает несколько критериев для использования программного обеспечения с открытым исходным кодом. [36] Эти критерии включают: исходит ли оно из надежных источников и поддерживается ли оно, будет ли оно продолжать поддерживаться, есть ли зависимости от подкомпонентов в программном обеспечении, безопасность и целостность компонентов и влияние иностранного правительства. [36]

Еще одной проблемой для правительств в отношении открытого исходного кода являются их инвестиции в такие технологии, как операционные системы , полупроводники , облако и искусственный интеллект . [36] Все эти технологии имеют последствия для глобального сотрудничества, снова открывая проблемы безопасности и политические последствия. [36] Многим странам приходится балансировать между технологическими инновациями и технологической зависимостью в этих партнерствах. [36] Например, после того, как китайской компании Huawei, зависящей от открытого исходного кода , запретили использовать систему Android от Google в 2019 году, они начали создавать свою собственную альтернативную операционную систему: Harmony OS . [36]

Недавно Германия создала Государственный технологический фонд для поддержки управления и обслуживания используемого программного обеспечения.

Движение за открытое программное обеспечение

История

На заре вычислительной техники , например, в 1950-х и в 1960-х годах, программисты и разработчики делились программным обеспечением, чтобы учиться друг у друга и развивать область вычислительной техники. [37] Например, Unix включал исходный код операционной системы для пользователей. [37] В конце концов, коммерциализация программного обеспечения в 1970–1980 годах начала предотвращать эту практику. [37] Однако ученые по-прежнему часто разрабатывали программное обеспечение совместно. [37]

В ответ на это движение за открытый исходный код родилось из работы опытных энтузиастов-программистов, которых широко называли хакерами или хакерской культурой . [38] Один из этих энтузиастов, Ричард Столлман , был движущей силой движения за свободное программное обеспечение , которое позже позволило движению за открытый исходный код . [17] В 1984 году он ушел из MIT, чтобы создать свободную операционную систему GNU , после того как культура программистов в его лаборатории была подавлена ​​проприетарным программным обеспечением, препятствовавшим распространению и улучшению исходного кода. [17] GNU была совместима с UNIX, что означало, что энтузиасты-программисты все равно будут знакомы с тем, как она работает. [17] Однако быстро стало очевидно, что существует некоторая путаница с ярлыком, который Столлман выбрал для свободного программного обеспечения , которое он описал как свободное как в свободном слове, а не как бесплатное пиво, имея в виду значение слова «свобода» как свободы, а не цены. [17] Позже он расширил эту концепцию свободы до четырех основных свобод. [17] Благодаря GNU появились нормы открытого исходного кода по включению чужого исходного кода, исправления ошибок сообществом и предложения кода для новых функций. [17] В 1985 году Столлман основал Free Software Foundation (FSF) для содействия изменениям в программном обеспечении и помощи в написании GNU. [17] Чтобы предотвратить использование своей работы в проприетарном программном обеспечении, Столлман создал концепцию copyleft , которая позволяла использовать его работу кому угодно, но на определенных условиях. [17] Для этого в 1989 году он создал GNU General Public License (GNU GPL), которая была обновлена ​​в 1991 году . [17] В 1991 году GNU была объединена с ядром Linux , написанным Линусом Торвальдсом , поскольку ядро ​​отсутствовало в GNU. [39] Теперь операционная система обычно называется Linux . [17] На протяжении всего этого периода существовало много других проектов и лицензий свободного программного обеспечения, все с разными идеями о том, какой была и должна быть концепция свободного программного обеспечения, а также о морали проприетарного программного обеспечения, например, Berkeley Software Distribution , TeX и X Window System . [40]

По мере развития свободного программного обеспечения Фонд свободного программного обеспечения начал искать способы привнести идеи свободного программного обеспечения и предполагаемые выгоды в индустрию коммерческого программного обеспечения . [40] Был сделан вывод, что социальная активность FSF не привлекательна для компаний, и им нужен был способ ребрендинга движения за свободное программное обеспечение, чтобы подчеркнуть деловой потенциал обмена и сотрудничества в области исходного кода программного обеспечения. [40] Термин «открытый исходный код» был предложен Кристиной Петерсон в 1998 году на встрече сторонников свободного программного обеспечения. [17] Многие в группе посчитали, что название «свободное программное обеспечение» сбивает с толку новичков и сдерживает интерес отрасли, и они с готовностью приняли новое обозначение «открытый исходный код», создав Инициативу с открытым исходным кодом (OSI) и определение OSI того, что такое программное обеспечение с открытым исходным кодом. [17] Определение Инициативы с открытым исходным кодом (OSI) в настоящее время признано несколькими правительствами на международном уровне как стандартное или фактическое определение. [39] Определение было основано на Руководящих принципах свободного программного обеспечения Debian , написанных и адаптированных в первую очередь Брюсом Перенсом. [41] Определение OSI отличалось от определения свободного программного обеспечения тем, что оно допускает включение проприетарного программного обеспечения и допускает больше свобод в его лицензировании. [17] Некоторые, такие как Столлман, в результате больше согласны с первоначальной концепцией свободного программного обеспечения, поскольку она занимает сильную моральную позицию против проприетарного программного обеспечения, хотя между двумя движениями есть много общего с точки зрения работы программного обеспечения. [17]

В то время как Open Source Initiative стремилась поощрять использование нового термина и пропагандировать принципы, которых она придерживалась, поставщики коммерческого программного обеспечения все больше подвергались угрозам со стороны концепции свободно распространяемого программного обеспечения и всеобщего доступа к исходному коду приложения , а один из руководителей Microsoft в 2001 году назвал открытый исходный код разрушителем интеллектуальной собственности . [42] Однако, хотя свободное и открытое программное обеспечение (FOSS) исторически играло роль за пределами основной частной разработки программного обеспечения, такие крупные компании, как Microsoft, начали развивать официальное присутствие открытого исходного кода в Интернете. [42] IBM, Oracle и State Farm — это лишь некоторые из компаний, имеющих серьезную публичную долю на сегодняшнем конкурентном рынке открытого исходного кода, что знаменует собой значительный сдвиг в корпоративной философии относительно разработки FOSS. [42]

Будущее

Будущее сообщества разработчиков программного обеспечения с открытым исходным кодом и сообщества свободного программного обеспечения в целом стало успешным, если не путаться в том, что оно собой представляет. [24] Например, Android и Ubuntu являются примерами вех успеха в развитии программного обеспечения с открытым исходным кодом, которое стало заметным со стороны технологических инноваций, существовавших в начале 2000-х годов. [24] Однако некоторые в сообществе считают их неудачами в представлении OSS из-за таких проблем, как преуменьшение роли центра OSS в Android со стороны Google и ее партнеров, использование лицензии Apache , которая допускала разветвление и приводила к потере возможностей для сотрудничества в Android, приоритет удобства над свободой в Ubuntu и функции в Ubuntu, которые отслеживают пользователей в маркетинговых целях. [24]

Использование OSS стало более распространенным в бизнесе, и 78% компаний сообщили, что они используют FOSS для всех или части своих операций. [24] Популярность OSS возросла до такой степени, что Microsoft , некогда критикующая OSS, включила его использование в свои системы. [24] Однако этот успех вызвал опасения, которые определят будущее OSS, поскольку сообщество должно ответить на такие вопросы, как что такое OSS, каким оно должно быть и что следует сделать для его защиты, если оно вообще нуждается в защите. [24] В целом, хотя революция свободного и открытого исходного кода замедлилась до воспринимаемого равновесия на рынке, это не означает, что она закончилась, поскольку должно состояться множество теоретических дискуссий, чтобы определить его будущее. [24]

Сравнение с другими моделями лицензирования/разработки программного обеспечения

Закрытое исходное кодовое/фирменное программное обеспечение

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

В рамках фирменного программного обеспечения исправления ошибок могут быть предоставлены только поставщиком, перемещение платформ требует повторной покупки, а существование продукта зависит от поставщика, который может прекратить его выпуск в любой момент. [38] Кроме того, фирменное программное обеспечение не предоставляет свой исходный код и не может быть изменено пользователями. [17] Для предприятий это может представлять риск для безопасности и источник разочарования, поскольку они не могут специализировать продукт в соответствии со своими потребностями, и в программном обеспечении могут быть скрытые угрозы или утечки информации, к которым они не могут получить доступ или изменить их. [17]

Бесплатное программное обеспечение

Согласно определению OSI, открытый исходный код — это широкая лицензия на программное обеспечение, которая делает исходный код доступным для широкой публики с ослабленными или отсутствующими ограничениями на использование и модификацию кода. [44] Явной особенностью открытого исходного кода является то, что он накладывает очень мало ограничений на использование или распространение любой организацией или пользователем, чтобы обеспечить быструю эволюцию программного обеспечения. [44]

Ричард Столлман , лидер движения за свободное программное обеспечение и член фонда свободного программного обеспечения, выступает против применения термина «открытый исходный код» к тому, что они называют свободным программным обеспечением. [13] Хотя он согласен с тем, что эти два термина описывают почти одну и ту же категорию программного обеспечения, Столлман считает, что приравнивать эти термины неправильно и вводит в заблуждение. [13] Он считает, что главное различие заключается в том, что выбор одного термина вместо другого позволяет другим узнать о своих целях: разработка (открытый исходный код) или социальная позиция (свободное программное обеспечение). [45] Тем не менее, существует значительное совпадение между программным обеспечением с открытым исходным кодом и свободным программным обеспечением. [13] Столлман также выступает против заявленного прагматизма Инициативы открытого исходного кода , поскольку он опасается, что идеалы свободного программного обеспечения, такие как свобода и сообщество, находятся под угрозой из-за компромисса с идеалистическими стандартами FSF в отношении свободы программного обеспечения. [45] FSF рассматривает свободное программное обеспечение как подмножество программного обеспечения с открытым исходным кодом, и Ричард Столлман объяснил, что программное обеспечение DRM , например, может разрабатываться как программное обеспечение с открытым исходным кодом, несмотря на то, как оно ограничивает своих пользователей, и, таким образом, не может считаться свободным программным обеспечением. [13]

FSF заявил, что термин «открытый исходный код» порождает двусмысленность иного рода, так как он путает простую доступность исходного кода со свободой его использования, изменения и распространения. [13] С другой стороны, термин «свободное программное обеспечение» критиковался за двусмысленность слова «свободный», которое рассматривалось как препятствующее принятию его в бизнесе, а также за историческую двусмысленность использования этого термина. [45]

Разработчики использовали альтернативные термины Свободное и открытое программное обеспечение ( FOSS ) или Свободное/свободное и открытое программное обеспечение (FLOSS), соответственно, для описания программного обеспечения с открытым исходным кодом, которое также является свободным программным обеспечением . [28]

Исходный код программного обеспечения

Программное обеспечение может распространяться с исходным кодом , который является кодом, который можно прочитать. [46] Программное обеспечение является исходным кодом, когда этот исходный код доступен для просмотра. [46] Однако, чтобы быть исходным кодом или FOSS , исходный код не обязательно должен быть доступен всем, а только пользователям этого программного обеспечения. [46] Хотя все программное обеспечение FOSS является исходным кодом, поскольку это требование установлено Определением открытого исходного кода , не все исходное программное обеспечение является FOSS. [46] Например, если программное обеспечение не соответствует другим аспектам Определения открытого исходного кода, таким как разрешенная модификация или повторное распространение, даже если исходный код доступен, программное обеспечение не является FOSS. [46]

Открытый исходный код

Недавняя тенденция в компаниях-разработчиках программного обеспечения — это открытый исходный код или перевод своего предыдущего проприетарного программного обеспечения в программное обеспечение с открытым исходным кодом путем выпуска его по лицензии с открытым исходным кодом . [47] [48] Примерами компаний, которые сделали это, являются Google, Microsoft и Apple. [47] Кроме того, открытый исходный код может относиться к программированию программного обеспечения с открытым исходным кодом или установке программного обеспечения с открытым исходным кодом. [48] Открытый исходный код может быть полезен несколькими способами, такими как привлечение большего количества внешних участников, которые привносят новые перспективы и возможности решения проблем. [47] К недостаткам открытого исходного кода относится работа, которую необходимо проделать для поддержания нового сообщества, например, сделать базовый код легко понятным, настроить каналы связи для новых разработчиков и создать документацию, чтобы новые разработчики могли легко присоединиться. [47] Однако обзор нескольких проектов с открытым исходным кодом показал, что, хотя новый проект с открытым исходным кодом привлекает много новичков, большое количество, скорее всего, вскоре покинет проект, а их ответвления также, скорее всего, не окажут влияния. [47]

Другой

Другие концепции, которые могут иметь некоторое сходство с открытым исходным кодом, — это условно-бесплатное программное обеспечение , общедоступное программное обеспечение , бесплатное программное обеспечение и программы просмотра/чтения, которые находятся в свободном доступе, но не предоставляют исходный код. [17] Однако они отличаются от программного обеспечения с открытым исходным кодом доступом к исходному коду , лицензированием, авторскими правами и сборами. [17]

Общество и культура

Демография

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

В 2021 году странами с наибольшим вкладом в программное обеспечение с открытым исходным кодом стали США, Китай, Германия, Индия и Великобритания (именно в таком порядке). [49] В число стран с наибольшим числом разработчиков программного обеспечения с открытым исходным кодом на душу населения по результатам исследования 2021 года вошли Исландия, Швейцария, Норвегия, Швеция и Финляндия (по порядку), в то время как в 2008 году странами с наибольшим количеством предполагаемых участников в SourceForge были США, Германия, Великобритания, Канада и Франция. [49] [51] Хотя было проведено несколько исследований распределения и вклада разработчиков программного обеспечения с открытым исходным кодом, это все еще открытая область, которую можно измерить несколькими различными способами. [51] Например, было показано, что участие в информационно-коммуникационных технологиях, население, благосостояние и доля доступа к Интернету коррелируют с вкладом в сферу разработки программного обеспечения с открытым исходным кодом. [51]

Хотя было установлено, что гендерное разнообразие повышает производительность команды, женщины по-прежнему сталкиваются с предвзятостью при участии в проектах с открытым исходным кодом, когда их пол можно определить. [52] В 2002 году только 1,5% международных разработчиков программного обеспечения с открытым исходным кодом были женщинами, в то время как женщины занимали 28% должностей в технологической отрасли, что демонстрирует их низкую представленность в области программного обеспечения. [53] Несмотря на то, что вклад в разработку программного обеспечения без каких-либо предпосылок, эта гендерная предвзятость может продолжать существовать из-за распространенного убеждения участников в том, что пол не должен иметь значения, а качество кода должно быть единственным соображением при принятии кода, что не позволяет сообществу решать системные различия в женском представительстве. [38] Однако более поздний показатель участия женщин в разработке программного обеспечения без открытия кода на международном уровне, рассчитанный за период с 2005 по 2021 год, составляет 9,8%, причем большинство из них являются недавними участниками, что указывает на то, что участие женщин может расти. [54]

Мотивации

Существует множество мотиваций для участия в сообществе OSS. [28] Во-первых, это возможность изучить и отработать множество навыков, таких как кодирование и другие способности, связанные с технологиями, а также фундаментальные навыки, такие как коммуникация и сотрудничество, а также практические навыки, необходимые для достижения успеха в областях, связанных с технологиями, таких как отслеживание проблем или контроль версий . [28] Вместо обучения в классе или на работе, обучение посредством участия в OSS позволяет участникам учиться в своем собственном темпе и следовать тому, что им интересно. [28] При участии в OSS вы можете изучить лучшие практики, технологии и тенденции отрасли и даже получить возможность внести свой вклад в следующее крупное новшество, поскольку OSS становится все более популярным в технической сфере. [28] Участие в OSS без оплаты означает, что вам не грозит увольнение, хотя репутация может пострадать. [28] С другой стороны, огромной мотивацией для участия в OSS является репутация, приобретенная по мере того, как вы расширяете свое публичное портфолио. [28]

Различия

Несмотря на то, что программирование изначально считалось женской профессией, в сфере вычислительной техники по-прежнему существует большой разрыв. [55] Социальная идентичность , как правило, вызывает большую озабоченность, поскольку женщины в технологической отрасли сталкиваются с неуверенностью в себе из-за привлечения нежелательного мужского внимания и преследований или из-за того, что они неженственны в своих технических знаниях, что оказывает большое влияние на уверенность в себе. [38] Некоторые мужчины-участники из сферы технологий ясно дают понять, что считают, что женщинам невозможно вписаться в культуру, что еще больше усиливает неуверенность женщин и их места в технологической отрасли. [52] Кроме того, даже в среде добровольного вклада, такой как программное обеспечение с открытым исходным кодом, женщины, как правило, в конечном итоге выполняют менее технические аспекты проектов, такие как ручное тестирование или документирование, несмотря на то, что женщины и мужчины демонстрируют одинаковую производительность в вкладах в OSS. [52] Явные предубеждения включают более длительное время обратной связи, более тщательную проверку кода и более низкий уровень принятия кода. [52] В частности, в сообществе разработчиков программного обеспечения с открытым исходным кодом женщины сообщают, что оскорбительная сексуальная лексика является распространенной, а идентичности женщин как женщин уделяется больше внимания, чем как участникам открытого программного обеспечения [38]. С предвзятостью трудно бороться из-за убеждения, что пол не должен иметь значения, поскольку большинство участников считают, что особое отношение к женщинам несправедливо, а успех должен зависеть от навыков, что препятствует любым изменениям, которые могли бы быть более инклюзивными. [38]

Принятие и применение

Ключевые проекты

Проекты программного обеспечения с открытым исходным кодом создаются и поддерживаются сетью программистов, которые часто могут быть добровольцами, и широко используются как в бесплатных, так и в коммерческих продуктах. [56]

Unix : Unix — операционная система , созданная AT&T, которая начиналась как предшественница программного обеспечения с открытым исходным кодом, поскольку революция свободного и открытого программного обеспечения началась, когда разработчики начали пытаться создавать операционные системы без кода Unix. [24] Unix был создан в 1960-х годах, до коммерциализации программного обеспечения и до того, как возникла необходимость в концепции открытого программного обеспечения, поэтому он не считался настоящим проектом программного обеспечения с открытым исходным кодом. [24] Он начинался как исследовательский проект, прежде чем был коммерциализирован в середине 1980-х годов. [24] До своей коммерциализации он представлял многие идеалы, которых придерживалась революция свободного и открытого программного обеспечения, включая децентрализованное сотрудничество глобальных пользователей, непрерывные релизы и культуру неприязни к проприетарному программному обеспечению в обществе . [24]

BSD: Berkely Software Distribution (BSD) — операционная система , которая появилась как вариант Unix в 1978 году и смешивала код Unix с кодом из лабораторий Беркли для повышения функциональности. [24] Поскольку BSD была сосредоточена на повышении функциональности, она публично делилась своими величайшими инновациями с основной операционной системой Unix. [24] Это пример свободного публичного обмена кодом, который является центральной характеристикой FOSS сегодня. [24] Поскольку Unix стал коммерциализированным в 1980-х годах, разработчики или члены сообщества, которые не поддерживали проприетарное программное обеспечение, начали сосредотачиваться на BSD и превращать ее в операционную систему, которая не включала никакого кода Unix. [24] Окончательная версия BSD была выпущена в 1995 году. [24]

GNU : GNU — это свободная операционная система, созданная Ричардом Столлманом в 1984 году, ее название означает GNU — не Unix. [24] Идея заключалась в создании альтернативной операционной системы Unix , которая была бы доступна для использования любым пользователем и позволяла бы программистам свободно обмениваться кодом между собой. [24] Однако целью GNU была не только замена Unix, но и создание более совершенной версии с большими технологическими возможностями. [24] Она была выпущена до того, как философские убеждения революции свободного и открытого программного обеспечения были по-настоящему определены. [24] Благодаря своему созданию выдающимся программистом FOSS Ричардом Столлманом, GNU была активно вовлечена в активизм FOSS, и одним из величайших достижений GNU стало создание GNU General Public License или GPL, которая позволяла разработчикам выпускать программное обеспечение, которое можно было бы легально распространять и изменять. [24]

Linux : Linux — это ядро ​​операционной системы , представленное в 1991 году Линусом Торвальдсом . [24] Linux был вдохновлен созданием улучшенной версии коммерческой операционной службы Minux . [24] Он радикально отличался от того, что создавали другие хакеры в то время, поскольку был полностью бесплатным и децентрализованным. [24] Позже Linux был помещен под лицензию GPL , что позволило людям зарабатывать деньги с помощью Linux и привело Linux в сообщество FOSS. [24]

Apache: Apache появился в 1995 году как совместная работа группы разработчиков, выпустивших свой собственный веб-сервер из-за разочарования в кодовой базе NCSA HTTPd . [24] Название Apache было использовано из-за нескольких исправлений, которые они применили к этой кодовой базе. [24] В течение года после выпуска он стал ведущим веб-сервером в мире . [24] Вскоре Apache выпустил собственную лицензию , что вызвало разногласия в сообществе FOSS, хотя в конечном итоге оказалось успешным. [24] Лицензия Apache позволяла членам сообщества получать прямой доступ к исходному коду, что является заметным отличием от подходов GNU и Linux. [24]

Расширения для непрограммного использования

Хотя термин «открытый исходный код» изначально применялся только к исходному коду программного обеспечения, теперь он применяется ко многим другим областям, таким как экология с открытым исходным кодом , движение за децентрализацию технологий, чтобы любой человек мог их использовать. [13] [57] Однако его часто неправильно применяют к другим областям, которые имеют другие и конкурирующие принципы, которые пересекаются лишь частично. [38]

Те же принципы, которые лежат в основе программного обеспечения с открытым исходным кодом, можно найти во многих других проектах, таких как открытый исходный код, открытый контент и открытое сотрудничество . [58] [3]

Эта «культура» или идеология исходит из того, что принципы применяются в более общем плане для облегчения одновременного ввода различных программ, подходов и приоритетов, в отличие от более централизованных моделей развития, которые обычно используются в коммерческих компаниях. [15]

Ценить

Более 90 процентов компаний используют программное обеспечение с открытым исходным кодом в качестве компонента своего фирменного программного обеспечения. [59] Решение использовать программное обеспечение с открытым исходным кодом или даже участвовать в проектах с открытым исходным кодом для улучшения существующего программного обеспечения с открытым исходным кодом, как правило, является прагматичным деловым решением. [60] [61] Когда фирменное программное обеспечение находится в прямой конкуренции с альтернативой с открытым исходным кодом, исследования показали противоречивые результаты о влиянии конкуренции на цену и качество фирменного продукта. [62]

В течение десятилетий некоторые компании делали обслуживание программного продукта с открытым исходным кодом для корпоративных пользователей своей бизнес-моделью. Эти компании контролируют программный продукт с открытым исходным кодом и вместо того, чтобы взимать плату за лицензирование или использование, взимают плату за улучшения, интеграцию и другое обслуживание. [63] Продукты программного обеспечения как услуги (SaaS), основанные на компонентах с открытым исходным кодом, становятся все более распространенными. [64]

Программное обеспечение с открытым исходным кодом предпочтительнее для научных приложений, поскольку оно повышает прозрачность и способствует проверке и принятию научных результатов. [65]

Смотрите также

Ссылки

  1. ^ Сент-Лоран, Эндрю М. (2008). Понимание открытого исходного кода и лицензирования свободного программного обеспечения. O'Reilly Media. стр. 4. ISBN 978-0-596-55395-1. Архивировано из оригинала 22 апреля 2023 г. . Получено 21 марта 2023 г. .
  2. ^ Corbly, James Edward (25 сентября 2014 г.). «Альтернатива бесплатному программному обеспечению: бесплатное программное обеспечение, программное обеспечение с открытым исходным кодом и библиотеки». Information Technology and Libraries . 33 (3): 65. doi : 10.6017/ital.v33i3.5105 . ISSN  2163-5226. Архивировано из оригинала 1 мая 2021 г. Получено 28 апреля 2021 г.
  3. ^ ab Левин, Шин С.; Приетула, Майкл Дж. (30 декабря 2013 г.). «Открытое сотрудничество для инноваций: принципы и эффективность». Organization Science . 25 (5): 1414–1433. arXiv : 1406.7541 . doi :10.1287/orsc.2013.0872. ISSN  1047-7039. S2CID  6583883.
  4. ^ Хоффманн, Мануэль; Нагл, Фрэнк; Чжоу, Яньо (2024). «Ценность программного обеспечения с открытым исходным кодом». SSRN Electronic Journal . doi :10.2139/ssrn.4693148. ISSN  1556-5068.
  5. ^ "Международный авторитет и признание". Opensource.org. 21 апреля 2015 г. Архивировано из оригинала 23 июля 2019 г. Получено 7 декабря 2017 г.
  6. ^ Перенс, Брюс. Открытые источники: голоса революции открытого исходного кода. Архивировано 15 сентября 2014 г. на Wayback Machine . O'Reilly Media . 1999.
  7. ^ Дибона, Крис; Окман, Сэм (январь 1999). Определение открытого исходного кода Брюса Перенса. O'Reilly. ISBN 978-1-56592-582-3.
  8. ^ "The Open Source Definition". 7 июля 2006 г. Архивировано из оригинала 15 октября 2013 г. Получено 24 августа 2008 г., Определение открытого исходного кода согласно Open Source Initiative
  9. ^ «Сколько лицензий с открытым исходным кодом вам нужно? – Slashdot». News.slashdot.org . 16 февраля 2009 г. Архивировано из оригинала 17 июля 2013 г. Получено 25 марта 2012 г.
  10. ^ Open Source Initiative (24 июля 2006 г.). «Определение открытого исходного кода (аннотированное)». opensource.org . Архивировано из оригинала 5 мая 2021 г. . Получено 22 июля 2016 г. .
  11. ^ Феллер, Джозеф; Фицджеральд, Брайан; Хиссам, Скотт; Лакхани, Карим Р. (2005). "Введение". Перспективы свободного и открытого программного обеспечения . Кембридж, Массачусетс: The MIT Press. стр. xvii. ISBN 0-262-06246-1.
  12. ^ Тиманн, Майкл. "История OSI". Open Source Initiative. Архивировано из оригинала 24 сентября 2006 года . Получено 13 мая 2014 года .
  13. ^ abcdefgh Столлман, Ричард (2007). «Почему открытый исходный код не соответствует сути свободного программного обеспечения».
  14. ^ Столлман, Ричард (19 июня 2007 г.). «Почему «Свободное ПО» лучше, чем «Открытое ПО»». Философия проекта GNU . Free Software Foundation. Архивировано из оригинала 27 марта 2021 г. Получено 23 июля 2007 г.
  15. ^ abcdefghij Рэймонд, Эрик (2005). «Собор и базар» (первоначально опубликовано в выпуске 3, номере 3, март 1998 г.)». Первый понедельник . doi : 10.5210/fm.v0i0.1472 . ISSN  1396-0466.
  16. ^ abcdefghijklmnopqrs Роблес, Грегорио (2006). «Эмпирические исследования в области программной инженерии свободного/свободного/открытого программного обеспечения». 2006 22-я Международная конференция IEEE по обслуживанию программного обеспечения. стр. 347–350. doi :10.1109/icsm.2006.25. ISBN 0-7695-2354-4. S2CID  6589566 . Получено 21 ноября 2023 г. .
  17. ^ abcdefghijklmnopqrs Napoleao, Bianca M.; Petrillo, Fabio; Halle, Sylvain (2020). «Процесс разработки программного обеспечения с открытым исходным кодом: систематический обзор». 2020 IEEE 24-я Международная конференция по корпоративным распределенным объектным вычислениям (EDOC) . IEEE. стр. 135–144. arXiv : 2008.05015 . doi : 10.1109/EDOC49727.2020.00025. ISBN 978-1-7281-6473-1.
  18. ^ abcdefghijklmn Napoleao, Bianca M.; Petrillo, Fabio; Halle, Sylvain (2020). «Процесс разработки программного обеспечения с открытым исходным кодом: систематический обзор». 2020 IEEE 24-я Международная конференция по распределенным корпоративным объектным вычислениям (EDOC) . IEEE. стр. 135–144. arXiv : 2008.05015 . doi : 10.1109/EDOC49727.2020.00025. ISBN 978-1-7281-6473-1.
  19. ^ Министерство обороны США. "Часто задаваемые вопросы по программному обеспечению с открытым исходным кодом". Директор по информационным технологиям . Архивировано из оригинала 28 августа 2016 года . Получено 22 июля 2016 года .
  20. ^ Шарма, Шринараян; Виджаян Сугумаран; Баладжи Раджагопалан (2002). "Структура для создания сообществ гибридного программного обеспечения с открытым исходным кодом" (PDF) . Information Systems Journal . 12 : 7–25. doi :10.1046/j.1365-2575.2002.00116.x. S2CID  5815589. Архивировано (PDF) из оригинала 30 октября 2008 г. . Получено 8 сентября 2008 г. .
  21. ^ ab Рейнольдс, Карл; Джереми Уайетт (февраль 2011 г.). «Открытый исходный код, открытые стандарты и информационные системы здравоохранения». Журнал медицинских интернет-исследований . 13 (1): e24. doi : 10.2196/jmir.1521 . PMC 3221346. PMID  21447469 . 
  22. ^ Лэндри, Джон; Раджив Гупта (сентябрь 2000 г.). «Извлечение прибыли из открытого исходного кода». Harvard Business Review . doi :10.1225/F00503 (неактивен 12 сентября 2024 г.).{{cite journal}}: CS1 maint: DOI неактивен по состоянию на сентябрь 2024 г. ( ссылка )
  23. ^ abc Nagle, Frank (3 марта 2019 г.). «Правительственная технологическая политика, социальная ценность и национальная конкурентоспособность» (PDF) . Information Systems Journal . 12 . doi :10.2139/ssrn.3355486. S2CID  85509685. SSRN  3355486.
  24. ^ abcdefghijklmnopqrstu vwxyz aa ab ac ad ae af ag ah ai aj Тоцци, Кристофер (2017). Для развлечения и прибыли: История революции свободного и открытого программного обеспечения . Соединенные Штаты: MIT Press. ISBN 978-0-262-34118-9.
  25. ^ Плоткин, Хэл (декабрь 1998 г.). «Что (и почему) вы должны знать о программном обеспечении с открытым исходным кодом». Harvard Management Update : 8–9.
  26. ^ abc Payne, Christian (февраль 2002 г.). «О безопасности программного обеспечения с открытым исходным кодом». Information Systems Journal . 12 (1): 61–78. doi :10.1046/j.1365-2575.2002.00118.x. S2CID  8123076.
  27. ^ abcd Золкифли, Назатул Нурлиса; Нга, Амир; Дераман, Азиз (2018). «Система контроля версий: обзор». Procedia Информатика . 135 : 408–415. дои : 10.1016/j.procs.2018.08.191 .
  28. ^ abcdefghijklmnopqrstu Brasseur, VM (2018). Создай свое будущее с открытым исходным кодом: развивай свои навыки, создавай свою сеть, создавай будущее технологий . Прагматичные программисты. Роли, Северная Каролина: The Pragmatic Bookshelf. ISBN 978-1-68050-301-2.
  29. ^ "Open Source". Open Collective . 20 октября 2022 г. Получено 28 мая 2024 г.
  30. ^ "Технологии". Sovereign Tech Fund . Получено 28 мая 2024 г.
  31. ^ "NSF инвестирует более 26 миллионов долларов в проекты с открытым исходным кодом | NSF - Национальный научный фонд". new.nsf.gov . 25 октября 2023 г. . Получено 28 мая 2024 г. .
  32. ^ abcd Спинеллис, Диомидис; Янникас, Ваггелис (2012). «Организационное внедрение программного обеспечения с открытым исходным кодом». Журнал систем и программного обеспечения . 85 (3): 666–682. doi :10.1016/j.jss.2011.09.037.
  33. ^ Чжан, Имин; Малхотра, Балджит; Чен, Ченг (2018). «Общеотраслевой анализ безопасности открытого исходного кода». 16-я ежегодная конференция по конфиденциальности, безопасности и доверию (PST) 2018 г. IEEE. стр. 1–10. doi :10.1109/PST.2018.8514185. ISBN 978-1-5386-7493-2. S2CID  53234981.
  34. ^ abcdefghijklmnopqrstu vwxyz Брок, Аманда (2023). Законодательство, политика и практика открытого исходного кода (2-е изд.). Великобритания: Oxford University Press. ISBN 978-0-19-886234-5.
  35. ^ abcdefghijklmnop Wynants, M., & Cornelis, J. (ред.). (2005). Насколько открыто будущее? : экономические, социальные и культурные сценарии, вдохновленные свободным и открытым программным обеспечением . ASP.
  36. ^ abcdefghij Панье, Элис (2022). Мощь программного обеспечения: экономические и геополитические последствия программного обеспечения с открытым исходным кодом . Études de l'Ifri. ISBN 979-10-373-0641-8.
  37. ^ abcd Марак, Катарина (2019). «Свободное и открытое программное обеспечение и патентные лицензии на основе FRAND: как стать посредником между стандартным основным патентом и свободным и открытым программным обеспечением». Журнал мировой интеллектуальной собственности . 22 (3–4): 78–102. doi : 10.1111/jwip.12114 . ISSN  1422-2213.
  38. ^ abcdefg Бреттауэр, Дэвид (2001). "Программное обеспечение с открытым исходным кодом: История". Информационные технологии и библиотеки . 21 (1).
  39. ^ ab "Международный авторитет и признание". Open Source Initiative . 21 апреля 2015 г. Получено 18 декабря 2023 г.
  40. ^ abc Фогель, Карл (2006). Производство программного обеспечения с открытым исходным кодом: как запустить успешный проект свободного программного обеспечения (1. Aufl., [Nachdr.] ed.). Пекин Кёльн: O'Reilly. ISBN 978-0-596-00759-1.
  41. ^ Келти, Кристофер (2008). Два бита: Культурное значение свободного программного обеспечения . Duke University Press. ISBN 978-0-8223-8900-2.
  42. ^ abc Miller, Keith W.; Voas, Jeffrey; Costello, Tom (2010). «Свободное и открытое программное обеспечение». IT Professional . 12 (6): 14–16. doi :10.1109/mitp.2010.147. ISSN  1520-9202. S2CID  265508713.
  43. ^ abcd Чжу, Кевин Сяогуо; Чжоу, Зак Чжичжун (2012). «Исследовательская записка — стратегия блокировки в конкуренции программного обеспечения: программное обеспечение с открытым исходным кодом против проприетарного программного обеспечения». Information Systems Research . 23 (2): 536–545. doi :10.1287/isre.1110.0358. ISSN  1047-7047.
  44. ^ ab "The Open Source Definition (Annotated)". Open Source Initiative . 24 июля 2006 г. Получено 18 декабря 2023 г.
  45. ^ abc Столлман, Ричард М.; Гей, Джошуа (2002). Свободное программное обеспечение, свободное общество . Бостон (Массачусетс): Фонд свободного программного обеспечения. ISBN 978-1-882114-98-6.
  46. ^ abcde Фортунато, Лаура; Галасси, Марк (17 мая 2021 г.). «Дело в пользу свободного и открытого программного обеспечения в исследованиях и науке». Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences . 379 (2197). Bibcode : 2021RSPTA.37900079F. doi : 10.1098/rsta.2020.0079. ISSN  1364-503X. PMID  33775148. S2CID  232387092.
  47. ^ abcde Пинто, Густаво; Штайнмахер, Игорь; Диас, Луис Фелипе; Джероса, Марко (2018). «О проблемах проектов с открытым исходным кодом для проприетарного программного обеспечения». Empirical Software Engineering . 23 (6): 3221–3247. doi :10.1007/s10664-018-9609-6. ISSN  1382-3256. S2CID  254467440.
  48. ^ ab Ågerfalk; Fitzgerald (2008). «Аутсорсинг для неизвестной рабочей силы: исследование открытого сорсинга как глобальной стратегии снабжения». MIS Quarterly . 32 (2): 385. doi :10.2307/25148845. ISSN  0276-7783. JSTOR  25148845.
  49. ^ abcd Вакс, Йоханнес; Нитецкий, Мариуш; Шуэллер, Уильям; Поллерес, Аксель (март 2002 г.). «География программного обеспечения с открытым исходным кодом: данные GitHub». Технологическое прогнозирование и социальные изменения . 176 : 121478. arXiv : 2107.03200 . doi : 10.1016/j.techfore.2022.121478.
  50. ^ Rastogi, Ayushi; Nagappan, Nachiappan; Gousios, Georgios; van der Hoek, André (11 октября 2018 г.). «Связь между географическим положением и оценкой вклада разработчиков в github». Труды 12-го Международного симпозиума ACM/IEEE по эмпирической программной инженерии и измерению. ACM. стр. 1–8. doi :10.1145/3239235.3240504. ISBN 978-1-4503-5823-1. S2CID  215822439.
  51. ^ abcde Гонсалес-Бараона, Хесус М.; Роблес, Грегорио; Андрадас-Искьердо, Роберто; Гош, Ришаб Айер (август 2008 г.). «Географическое происхождение разработчиков свободного программного обеспечения». Информационная экономика и политика . 20 (4): 356–363. doi :10.1016/j.infoecopol.2008.07.001.
  52. ^ abcd Bosu, Amiangshu; Sultana, Kazi Zakia (2019). «Разнообразие и инклюзивность в проектах с открытым исходным кодом (OSS): где мы находимся?». Международный симпозиум ACM/IEEE по эмпирической программной инженерии и измерению (ESEM) 2019 года . IEEE. стр. 1–11. doi :10.1109/ESEM.2019.8870179. ISBN 978-1-7281-2968-6. S2CID  197640269.
  53. ^ Нафус, Дон (июнь 2012 г.). «У патчей нет пола»: что не является открытым в программном обеспечении с открытым исходным кодом». Новые медиа и общество . 14 (4): 669–683. doi :10.1177/1461444811422887. ISSN  1461-4448. S2CID  206727320.
  54. ^ Тринкенрайх, Бьянка; Визе, Игорь; Сарма, Анита; Джероса, Марко; Штайнмахер, Игорь (31 октября 2022 г.). «Участие женщин в разработке программного обеспечения с открытым исходным кодом: обзор литературы». Труды ACM по программной инженерии и методологии . 31 (4): 1–37. arXiv : 2105.08777 . doi : 10.1145/3510460. ISSN  1049-331X. S2CID  234778104.
  55. ^ Albusays, Khaled; Bjorn, Pernille; Dabbish, Laura; Ford, Denae; Murphy-Hill, Emerson; Serebrenik, Alexander; Storey, Margaret-Anne (апрель 2021 г.). «Кризис разнообразия в разработке программного обеспечения». IEEE Software . 38 (2): 19–25. doi :10.1109/MS.2020.3045817. ISSN  0740-7459.
  56. ^ Попп, Карл Михаэль, ред. (2020). Лучшие практики коммерческого использования программного обеспечения с открытым исходным кодом: бизнес-модели, процессы и инструменты для управления программным обеспечением с открытым исходным кодом . Академия Synnomic. Нордерштедт: BoD – Книги по запросу. ISBN 978-3-7386-1909-6.
  57. ^ Пауэрс, Стивен М.; Хэмптон, Стефани Э. (2019). «Открытая наука, воспроизводимость и прозрачность в экологии». Экологические приложения . 29 (1): e01822. Bibcode : 2019EcoAp..29E1822P. doi : 10.1002/eap.1822 . ISSN  1051-0761. PMID  30362295.
  58. ^ Cheliotis, Giorgos (2009). «От открытого исходного кода к открытому контенту: организация, лицензирование и процессы принятия решений в открытом культурном производстве». Системы поддержки принятия решений . 47 (3): 229–244. doi :10.1016/j.dss.2009.02.006. ISSN  0167-9236.
  59. ^ Батлер и др. 2022, стр. 1.
  60. ^ Батлер и др. 2022, с. 11152.
  61. ^ Давила 2015, стр. 7.
  62. ^ Чжоу и Чоудхари 2022, стр. 731.
  63. ^ Август и др. 2021, стр. 1–2.
  64. ^ Август и др. 2021, стр. 1.
  65. ^ Морин и др. 2012, Совместимость, распространение, фрагментация и направленность.

Дальнейшее чтение

Внешние ссылки