Бесплатное и открытое программное обеспечение ( FOSS ) — это программное обеспечение, которое доступно по лицензии, которая предоставляет право использовать, изменять и распространять программное обеспечение, измененное или нет, всем бесплатно. Публичная доступность исходного кода является, таким образом, необходимым, но не достаточным условием. FOSS — это всеобъемлющий обобщающий термин для свободного программного обеспечения и программного обеспечения с открытым исходным кодом . [a] FOSS отличается от проприетарного программного обеспечения , когда программное обеспечение находится под ограничительным авторским правом или лицензированием , а исходный код скрыт от пользователей.
FOSS поддерживает гражданские права пользователей программного обеспечения через «Четыре основные свободы» свободного программного обеспечения. Другие преимущества использования FOSS включают снижение стоимости программного обеспечения, повышенную защиту от вредоносных программ , стабильность, конфиденциальность , возможности для образовательного использования и предоставление пользователям большего контроля над собственным оборудованием. Свободные и открытые операционные системы, такие как дистрибутивы Linux и потомки BSD , широко используются сегодня, обеспечивая работу миллионов серверов , настольных компьютеров , смартфонов и других устройств. [3] [4] Лицензии свободного программного обеспечения и лицензии с открытым исходным кодом используются многими программными пакетами сегодня. Движение за свободное программное обеспечение и движение за программное обеспечение с открытым исходным кодом являются сетевыми социальными движениями, стоящими за широкомасштабным производством, принятием и продвижением FOSS, причем первое предпочитает использовать термины FLOSS , free или libre.
«Свободное программное обеспечение с открытым исходным кодом» (FOSS) — это общий термин для программного обеспечения, которое одновременно считается как свободным программным обеспечением , так и программным обеспечением с открытым исходным кодом . [5] Точное определение терминов «свободное программное обеспечение» и «программное обеспечение с открытым исходным кодом» применяет их к любому программному обеспечению, распространяемому на условиях, которые позволяют пользователям использовать, изменять и распространять указанное программное обеспечение любым удобным для них способом, без необходимости выплачивать автору(ам) программного обеспечения роялти или гонорар за участие в перечисленных видах деятельности. [6]
Хотя существует почти полное совпадение между лицензиями свободного ПО и лицензиями ПО с открытым исходным кодом, между сторонниками этих двух позиций существуют серьезные философские разногласия. Терминология FOSS была создана, чтобы быть нейтральной в отношении этих философских разногласий между Free Software Foundation (FSF) и Open Source Initiative (OSI) и иметь единый унифицированный термин, который мог бы относиться к обеим концепциям, хотя Ричард Столлман утверждает, что он не может быть нейтральным в отличие от похожего термина: «Free/Libre and Open Source Software» (FLOSS). [7]
Определение свободного программного обеспечения Ричарда Столлмана , принятое FSF, определяет свободное программное обеспечение как вопрос свободы, а не цены, [8] [9] и как то, что поддерживает Четыре основные свободы. Самая ранняя известная публикация этого определения свободного программного обеспечения была в выпуске от февраля 1986 года [10] ныне прекращенной публикации GNU's Bulletin FSF. Канонический источник документа находится в разделе философии веб-сайта проекта GNU . По состоянию на август 2017 года [обновлять]он опубликован на 40 языках. [11]
Чтобы соответствовать определению «свободного программного обеспечения», FSF требует, чтобы лицензирование программного обеспечения уважало гражданские свободы/права человека, которые FSF называет « Четырьмя основными свободами » пользователя программного обеспечения. [5]
Определение открытого исходного кода используется организацией Open Source Initiative (OSI) для определения того, соответствует ли лицензия на программное обеспечение знаку отличия организации для программного обеспечения с открытым исходным кодом . Определение было основано на Debian Free Software Guidelines , написанном и адаптированном в первую очередь Брюсом Перенсом . [12] [13] Перенс не основывал свое письмо на Четырех основных свободах свободного программного обеспечения от Free Software Foundation , которые только позже стали доступны в Интернете. [14] Впоследствии Перенс заявил, что, по его мнению, продвижение Эриком Рэймондом открытого исходного кода несправедливо затмило усилия Free Software Foundation, и подтвердил свою поддержку свободного программного обеспечения. [15] В следующих 2000-х годах он снова заговорил об открытом исходном коде. [16] [17]
С 1950-х и вплоть до 1980-х годов пользователи компьютеров обычно имели исходный код для всех используемых ими программ, а также разрешение и возможность изменять его для собственного использования. Программное обеспечение , включая исходный код, обычно распространялось отдельными лицами, которые использовали компьютеры, часто как программное обеспечение, находящееся в общественном достоянии [18] (FOSS — это не то же самое, что и программное обеспечение, находящееся в общественном достоянии, поскольку программное обеспечение, находящееся в общественном достоянии, не содержит авторских прав [19] ). Большинство компаний имели бизнес-модель, основанную на продаже оборудования , и предоставляли или связывали программное обеспечение с оборудованием бесплатно. [20]
К концу 1960-х годов преобладающая бизнес-модель вокруг программного обеспечения изменилась. Растущая и развивающаяся индустрия программного обеспечения конкурировала с пакетными программными продуктами производителей оборудования; вместо того, чтобы финансировать разработку программного обеспечения из доходов от оборудования, эти новые компании продавали программное обеспечение напрямую. Арендованные машины требовали поддержки программного обеспечения, не принося при этом никакого дохода за программное обеспечение, и некоторые клиенты, которые могли лучше удовлетворять свои собственные потребности, не хотели расходов на программное обеспечение, связанных со стоимостью аппаратного продукта. В деле Соединенные Штаты против IBM , поданном 17 января 1969 года, правительство заявило, что пакетное программное обеспечение является антиконкурентным. [21] Хотя некоторое программное обеспечение все еще предоставлялось без денежных затрат и лицензионных ограничений, росло количество программного обеспечения, которое имело только денежную стоимость с ограниченным лицензированием. В 1970-х и начале 1980-х годов некоторые части индустрии программного обеспечения начали использовать технические меры (такие как распространение только двоичных копий компьютерных программ ), чтобы помешать пользователям компьютеров использовать методы обратного проектирования для изучения и настройки программного обеспечения, за которое они заплатили. В 1980 году закон об авторском праве был распространен на компьютерные программы в Соединенных Штатах [22] — ранее компьютерные программы могли считаться идеями, процедурами, методами, системами и процессами, которые не подлежали авторскому праву. [23] [24]
Первоначально программное обеспечение с закрытым исходным кодом было редкостью до середины 1970-х и до 1980-х годов, пока в 1983 году IBM не внедрила политику «только объектный код», прекратив распространение исходного кода. [25] [26] [27]
В 1983 году Ричард Столлман , давний член хакерского сообщества в Лаборатории искусственного интеллекта Массачусетского технологического института , объявил о проекте GNU , заявив, что он был разочарован последствиями изменения культуры компьютерной индустрии и ее пользователей. [28] Разработка программного обеспечения для операционной системы GNU началась в январе 1984 года, а Фонд свободного программного обеспечения (FSF) был основан в октябре 1985 года. Статья, описывающая проект и его цели, была опубликована в марте 1985 года под названием « Манифест GNU» . Манифест включал в себя значительное объяснение философии GNU, определения свободного программного обеспечения и идей « копилефта ». FSF занимает позицию, что фундаментальная проблема, которую решает свободное программное обеспечение , является этической — гарантировать, что пользователи программного обеспечения могут осуществлять то, что он называет « Четырьмя основными свободами ». [5]
Ядро Linux , созданное Линусом Торвальдсом , было выпущено в виде свободно модифицируемого исходного кода в 1991 году. Первоначально Linux не выпускался ни под лицензией свободного программного обеспечения, ни под лицензией программного обеспечения с открытым исходным кодом. Однако в версии 0.12 в феврале 1992 года он перелицензировал проект под лицензией GNU General Public License . [29]
FreeBSD и NetBSD (обе произошли от 386BSD ) были выпущены как свободное программное обеспечение, когда в 1993 году судебный процесс USL против BSDi был урегулирован во внесудебном порядке . OpenBSD отделилась от NetBSD в 1995 году. Также в 1995 году Apache HTTP Server , обычно называемый Apache, был выпущен под лицензией Apache License 1.0 .
В 1997 году Эрик Рэймонд опубликовал «Собор и базар» — рефлексивный анализ хакерского сообщества и принципов свободного программного обеспечения. Статья привлекла значительное внимание в начале 1998 года и стала одним из факторов, побудивших Netscape Communications Corporation выпустить свой популярный интернет-пакет Netscape Communicator в качестве свободного программного обеспечения . Сегодня этот код более известен как Mozilla Firefox и Thunderbird .
Действия Netscape побудили Рэймонда и других задуматься о том, как донести идеи FSF о свободном программном обеспечении и предполагаемые выгоды до индустрии коммерческого программного обеспечения. Они пришли к выводу, что социальная активность FSF не привлекательна для таких компаний, как Netscape, и искали способ переименовать движение за свободное программное обеспечение, чтобы подчеркнуть деловой потенциал обмена и сотрудничества в области исходного кода программного обеспечения. Новое название, которое они выбрали, было «Open-source», и Брюс Перенс , издатель Тим О'Рейли , Линус Торвальдс и другие быстро подписались под ребрендингом. Инициатива Open Source была основана в феврале 1998 года для поощрения использования нового термина и проповедования принципов открытого исходного кода. [30]
В то время как Open Source Initiative стремилась поощрять использование нового термина и пропагандировать принципы, которых она придерживалась, поставщики коммерческого программного обеспечения все больше подвергались угрозам со стороны концепции свободно распространяемого программного обеспечения и всеобщего доступа к исходному коду приложения . Один из руководителей Microsoft публично заявил в 2001 году, что «Открытый исходный код является разрушителем интеллектуальной собственности. Я не могу представить себе ничего, что могло бы быть хуже этого для бизнеса программного обеспечения и бизнеса интеллектуальной собственности». [31] Компании действительно сталкивались с проблемами нарушения авторских прав при принятии FOSS. [32] В течение многих лет FOSS играло нишевую роль за пределами основного направления частной разработки программного обеспечения. Однако успех операционных систем FOSS, таких как Linux, BSD и компаний, основанных на FOSS, таких как Red Hat , изменил отношение индустрии программного обеспечения, и произошел резкий сдвиг в корпоративной философии относительно ее разработки. [33]
Пользователи FOSS получают выгоду от Четырех основных свобод , чтобы неограниченно использовать и изучать, копировать, изменять и распространять такое программное обеспечение с модификациями или без них. Если они хотят изменить функциональность программного обеспечения, они могут вносить изменения в код и, если они хотят, распространять такие измененные версии программного обеспечения или часто — в зависимости от модели принятия решений программного обеспечения и его других пользователей — даже продвигать или запрашивать внесение таких изменений посредством обновлений исходного программного обеспечения. [34] [35] [36] [37] [38]
Производители закрытого программного обеспечения иногда оказываются под давлением, чтобы встроить в свое программное обеспечение бэкдоры или другие скрытые нежелательные функции. [39] [40] [41] [42] Вместо того, чтобы доверять поставщикам программного обеспечения, пользователи FOSS могут самостоятельно проверять и проверять исходный код и могут довериться сообществу добровольцев и пользователей. [38] Поскольку закрытый код обычно скрыт от общественности, только сами поставщики и хакеры могут знать о любых уязвимостях в нем . [38] в то время как FOSS вовлекает как можно больше людей для быстрого выявления ошибок. [43] [44]
FOSS часто бесплатен, хотя пожертвования часто приветствуются. Это также позволяет пользователям лучше тестировать и сравнивать программное обеспечение. [38]
FOSS позволяет улучшить сотрудничество между различными сторонами и отдельными лицами с целью разработки наиболее эффективного программного обеспечения для своих пользователей или вариантов использования, в то время как проприетарное программное обеспечение, как правило, предназначено для получения прибыли . Более того, во многих случаях в такие проекты вносят вклад больше организаций и отдельных лиц, чем в проприетарное программное обеспечение. [38] Было показано, что техническое превосходство обычно является основной причиной, по которой компании выбирают программное обеспечение с открытым исходным кодом. [38]
Согласно закону Линуса, чем больше людей могут видеть и тестировать набор кода, тем больше вероятность того, что любые недостатки будут быстро обнаружены и исправлены. Однако это не гарантирует высокого уровня участия. Наличие группы штатных профессионалов за коммерческим продуктом в некоторых случаях может быть лучше FOSS. [38] [43] [45]
Кроме того, обнародованный исходный код может облегчить хакерам поиск уязвимостей и написание эксплойтов. Однако это предполагает, что такие злонамеренные хакеры более эффективны, чем хакеры в белой шляпе , которые ответственно раскрывают или помогают устранять уязвимости, что не происходит утечек кода или эксфильтрации и что обратная разработка проприетарного кода является значительным препятствием для злонамеренных хакеров. [43]
Иногда FOSS несовместим с фирменным оборудованием или определенным программным обеспечением. Это часто происходит из-за того, что производители препятствуют FOSS, например, не раскрывая интерфейсы или другие спецификации, необходимые членам движения FOSS для написания драйверов для своего оборудования — например, поскольку они хотят, чтобы клиенты запускали только их фирменное программное обеспечение или поскольку они могут получить выгоду от партнерских отношений. [46] [47] [48] [49] [50] [51] [52]
Хотя FOSS может превосходить проприетарные эквиваленты с точки зрения функций и стабильности программного обеспечения, во многих случаях у него больше неисправленных ошибок и отсутствующих функций по сравнению с аналогичным коммерческим программным обеспечением. [53] [ необходимы дополнительные ссылки ] Это зависит от случая и обычно от уровня интереса к конкретному проекту. Однако, в отличие от программного обеспечения с закрытым исходным кодом, улучшения может вносить любой, у кого есть мотивация, время и навыки для этого. [45] [ необходимы дополнительные ссылки ]
Распространенным препятствием в развитии FOSS является отсутствие доступа к некоторым общим официальным стандартам из-за дорогостоящих лицензионных отчислений или требуемых соглашений о неразглашении (например, для формата DVD-Video ). [54]
Часто существует меньшая уверенность в том, что проекты FOSS получат необходимые ресурсы и участие для продолжения разработки, чем коммерческое программное обеспечение, поддерживаемое компаниями. [55] [ необходимы дополнительные ссылки ] Однако компании также часто отменяют проекты из-за их нерентабельности, хотя крупные компании могут полагаться на программное обеспечение с открытым исходным кодом и, следовательно, совместно разрабатывать его. [44] С другой стороны, если поставщик проприетарного программного обеспечения прекращает разработку, альтернатив нет; тогда как в случае с FOSS любой пользователь, которому оно нужно, по-прежнему имеет право и исходный код, чтобы продолжить его разработку самостоятельно или заплатить третьей стороне за это.
Поскольку дистрибутивы операционной системы Linux FOSS имеют меньшую долю рынка конечных пользователей, доступно также меньше приложений. [56] [57]
«Мы перенесли ключевые функции из Windows в Linux, потому что нам нужна была стабильная и надежная операционная система, которая дала бы нам внутренний контроль. Поэтому, если бы нам нужно было что-то исправить, настроить или адаптировать, мы могли бы это сделать».
Официальное заявление United Space Alliance , управляющего компьютерными системами Международной космической станции (МКС), относительно того, почему они решили перейти с Windows на Linux на МКС. [87] [88]
В 2017 году Европейская комиссия заявила, что «институты ЕС должны сами стать пользователями программного обеспечения с открытым исходным кодом, даже больше, чем они уже являются», и назвала программное обеспечение с открытым исходным кодом одним из девяти ключевых драйверов инноваций, наряду с большими данными , мобильностью, облачными вычислениями и Интернетом вещей . [89]
В 2020 году Европейская комиссия приняла свою Стратегию открытого исходного кода 2020-2023 , [90] включая поощрение совместного использования и повторного использования программного обеспечения и публикацию исходного кода Комиссии в качестве ключевых целей. Среди конкретных действий также есть создание Офиса программы открытого исходного кода в 2020 году [91] , а в 2022 году он запустил свой собственный репозиторий FOSS https://code.europa.eu/. [92]
В 2021 году было принято Решение Комиссии о лицензировании открытого исходного кода и повторном использовании программного обеспечения Комиссии (2021/C 495 I/01) [93] , в соответствии с которым, как общий принцип, Европейская комиссия может выпускать программное обеспечение под лицензией EUPL или другой лицензией FOSS, если это более целесообразно. Однако есть исключения.
В мае 2022 года [94] Группа экспертов по вопросам взаимодействия европейских государственных служб опубликовала 27 рекомендаций по укреплению взаимодействия государственных администраций по всему ЕС. Эти рекомендации должны быть учтены позднее в том же году в предложении Комиссии «Закона об интероперабельной Европе» .
Хотя авторское право является основным правовым механизмом, который авторы FOSS используют для обеспечения соответствия лицензии на свое программное обеспечение, другие механизмы, такие как законодательство, патенты и товарные знаки, также имеют последствия. В ответ на правовые проблемы с патентами и Законом об авторском праве в цифровую эпоху (DMCA) Фонд свободного программного обеспечения выпустил версию 3 своей GNU General Public License (GNU GPLv3) в 2007 году, которая явно касалась DMCA и патентных прав.
После разработки GNU GPLv3 в 2007 году FSF (как владелец авторских прав на многие части системы GNU) обновил многие [ требуется ссылка ] лицензии программ GNU с GPLv2 на GPLv3. С другой стороны, принятие новой версии GPL активно обсуждалось в экосистеме FOSS, [95] несколько проектов решили не обновляться до GPLv3. Например, ядро Linux , [96] [97] проект BusyBox [98] [99] , AdvFS , [100] Blender , [101] и медиаплеер VLC решили не принимать GPLv3. [102 ]
Apple , пользователь GCC и активный пользователь как DRM , так и патентов, переключила компилятор в своей среде разработки Xcode с GCC на Clang , который является другим компилятором FOSS [103], но находится под разрешительной лицензией . [104] LWN предположил, что Apple отчасти мотивировалось желанием избежать GPLv3. [103] Проект Samba также перешел на GPLv3, поэтому Apple заменила Samba в своем программном пакете на альтернативное программное обеспечение с закрытым исходным кодом, защищенное патентом. [105]
Лимхейс критикует приоритетность квалифицированных разработчиков, которые вместо того, чтобы исправлять проблемы в уже популярных приложениях с открытым исходным кодом и средах рабочего стола, создают новое, в основном избыточное программное обеспечение, чтобы снискать славу и богатство. [106]
Он также критикует производителей ноутбуков за то, что они оптимизируют свои продукты только в частном порядке или создают обходные пути вместо того, чтобы помочь устранить реальные причины многих проблем с Linux на ноутбуках, таких как излишнее энергопотребление. [106]
Слияния затронули основные компании с открытым исходным кодом. Sun Microsystems (Sun) приобрела MySQL AB , владельца популярной базы данных MySQL с открытым исходным кодом , в 2008 году. [107]
Oracle, в свою очередь, купила Sun в январе 2010 года, получив их авторские права, патенты и товарные знаки. Таким образом, Oracle стала владельцем как самой популярной фирменной базы данных, так и самой популярной базы данных с открытым исходным кодом. Попытки Oracle коммерциализировать базу данных MySQL с открытым исходным кодом вызвали обеспокоенность в сообществе FOSS. [108] Частично в ответ на неопределенность относительно будущего MySQL, сообщество FOSS разделило проект на новые системы баз данных, находящиеся вне контроля Oracle. К ним относятся MariaDB , Percona и Drizzle . [109] Все они имеют разные названия; они являются разными проектами и не могут использовать торговое название MySQL. [110]
В августе 2010 года Oracle подала в суд на Google , заявив, что использование Java в Android нарушает авторские права и патенты Oracle. В мае 2012 года судья первой инстанции определил, что Google не нарушала патенты Oracle, и постановил, что структура API Java, используемая Google, не подлежит авторскому праву. Жюри присяжных установило, что Google нарушила небольшое количество скопированных файлов, но стороны оговорили , что Google не будет возмещать ущерб. [111] Oracle подала апелляцию в Федеральный округ , а Google подала встречную апелляцию по иску о буквальном копировании. [112]
Бросая вызов правилам собственности при создании и использовании информации — ключевой области современного роста — движение за свободное/открытое программное обеспечение (FOSS) противостоит неолиберализму и приватизации в целом. [113] [114]
Осознавая исторический потенциал «экономики изобилия » для нового цифрового мира , FOSS может разработать план политического сопротивления или указать путь к потенциальной трансформации капитализма . [ 114 ]
По словам Йохая Бенклера , профессора предпринимательского права Джека Н. и Лилиан Р. Беркман в Гарвардской школе права , свободное программное обеспечение является наиболее заметной частью новой экономики коллективного производства информации, знаний и культуры. В качестве примеров он приводит различные проекты FOSS, включая как свободное программное обеспечение, так и программное обеспечение с открытым исходным кодом. [115]
Хотя политика IBM по утаиванию исходного кода для отдельных программных продуктов уже отметила свою вторую годовщину, пользователи только сейчас начинают справляться с последствиями этого решения. Но независимо от того, повлияло ли появление продуктов только с объектным кодом на их повседневные операции DP или нет, некоторые пользователи по-прежнему недовольны решением IBM. Объявленная в феврале 1983 года политика IBM только с объектным кодом была применена к растущему списку системных программных продуктов Big Blue
В настоящее время решение о переходе с GPL v2 на GPL v3 горячо обсуждается многими проектами с открытым исходным кодом. По данным Palamida, поставщика программного обеспечения для обеспечения соответствия требованиям интеллектуальной собственности, было около 2489 проектов с открытым исходным кодом, которые перешли с GPL v2 на более поздние версии.
Также обратите внимание, что единственной действительной версией GPL в отношении ядра является _эта_ конкретная версия лицензии (т. е. v2, а не v2.2 или v3.x или какая-либо другая), если явно не указано иное.
"В некотором смысле, Linux был проектом, который действительно ясно показал раскол между тем, что продвигает FSF, что сильно отличается от того, чем всегда были открытый исходный код и Linux, что является скорее техническим превосходством, а не религиозной верой в свободу", - сказал Торвальдс Земле. "Так что GPL версии 3 отражает цели FSF, а GPL версии 2 довольно близко соответствует тому, что, по моему мнению, должна делать лицензия, и поэтому сейчас версия 2 - это то, где находится ядро".
Поскольку BusyBox можно найти во многих встроенных системах, он оказался в центре дебатов против DRM GPLv3. [...] Однако реальный результат таков: BusyBox будет иметь лицензию GPLv2 только со следующего релиза. Общепринято, что удаление "или любой более поздней версии" юридически оправдано, и что слияние другого кода, распространяемого только под GPLv2, в любом случае приведет к решению этой проблемы
Пожалуйста, не придумывайте нелепый аргумент. Я считаю лицензирование BusyBox по GPLv3 бесполезным, ненужным, чрезмерно сложным и запутанным, и вдобавок к этому у него есть реальные недостатки. 1) Бесполезно: мы никогда не откажемся от GPLv2.
[Тони Розендал из Blender:] «Blender также по-прежнему имеет лицензию „GPLv2 или более позднюю версию“. На данный момент мы придерживаемся этого, переход на GPL 3 не имеет очевидных преимуществ, о которых я знаю».
В 2001 году VLC был выпущен под одобренной OSI лицензией GNU General Public версии 2 с обычно предлагаемой возможностью использовать "любую более позднюю версию" (хотя в то время такой более поздней версии не было). После выпуска Free Software Foundation (FSF) новой версии 3 своей GNU General Public License (GPL) 29 июня 2007 года участники VLC media player и других программных проектов, размещенных на videolan.org, обсуждали возможность обновления условий лицензирования для будущей версии VLC media player и других размещенных проектов до версии 3 GPL. [...] Существует серьезная обеспокоенность тем, что эти новые дополнительные требования могут не соответствовать промышленным и экономическим реалиям нашего времени, особенно на рынке потребительской электроники. Мы считаем, что изменение наших условий лицензирования на GPL версии 3 в настоящее время не будет отвечать наилучшим интересам нашего сообщества в целом. Следовательно, мы планируем продолжать распространять будущие версии VLC media player на условиях GPL версии 2.