Что такое свободное по почему оно распространяется по лицензии
Статья:Свободное программное обеспечение. Вопросы и ответы
Содержание
Общие вопросы
Что такое свободное ПО?
Свободное ПО (Free Software) — программы для ЭВМ, которые распространяются на условиях, предоставляющих пользователям четыре ключевые свободы (права):
1. Свободное использование программного обеспечения в любые целях;
2. Свободное изучение и адаптация ПО к нуждам пользователя(ей) при условии открытого доступа к исходному коду программы;
3. Свободное распространение программного обеспечения (за деньги или безвозмездно);
4. Свободное усовершенствование и публикация ПО, включая распространение усовершенствованных версий, при условии открытого доступа к исходному коду программы.
Каждый пользователь свободной программы, в отличие от несвободной (проприетарной), является полноценным владельцем программы (обладает неисключительными авторскими имущественными правами на нее) и не зависит от воли разработчика программы или правообладателя.
Важнейшим следствием прав (2) и (4) является распространение свободной программы только при открытом доступе к её исходному коду.
Что такое copyleft?
Копилефт (copyleft) — система защиты прав пользователей свободных программ, разработанная в дополнение к действующему авторско-правовому законодательству (copyright). Основная идея копилефта заключается в обеспечении свободы программы, то есть однажды опубликованная на условиях копилефтной лицензии программа уже не может стать несвободной. При этом не все свободные программы являются копилефтными, многие распространенные свободные лицензии допускают превращение программы в проприетарную. Главным образом, это относится к лицензиям семейства BSD.
Почему существует так много свободных лицензий? Чем они друг от друга отличаются?
В первую очередь разнообразие свободных лицензий объясняется историческими причинами: ранние лицензии проще сформулированы, оговаривают меньше условий и не углубляются в юридические детали. По мере развития движения свободных программ разработчики свободных программ столкнулись с новыми проблемами — например, с необходимостью решения проблемы патентов на ПО или согласования текстов лицензий с авторско-правовым законодательством различных государств. Попытки решения этих проблем приводят к появлению новых лицензий и усложнению их содержания.
Таким образом, в зависимости от конкретной юридической ситуации и намерений автора в разных случаях оптимальными могут быть разные лицензии.
Несмотря на то что свободных лицензий насчитывается несколько десятков, их гораздо меньше, чем лицензий на несвободные программы. Каждый поставщик проприетарного ПО, как правило, имеет по одной или несколько различных лицензий для разных программ, в связи с чем попытки систематизации и сопоставления условий лицензий на проприетарное ПО крайне затруднительны. В то же время в среде свободного ПО наиболее распространены пять-шесть лицензий, под которыми выходит большинство программ.
Что такое GPL?
Лицензия GNU General Public License — самая популярная на сегодняшний день свободная лицензия, текущая версия которой (3.0) опубликована Фондом свободного программного обеспечения 29 июня 2007 г. Текст лицензии отличает достаточно свободная форма изложения и в то же время юридическая точность.
GPL — одна из официальных лицензий проекта GNU, стоящего у истоков движения свободного ПО. На условиях GPL и ее специальной версии LGPL, допускающей в отдельных случаях сочетание с программами, распространяемыми на условиях иных лицензий, опубликованы такие принципиально важные разработки, как ядро операционной системы Linux, среда разработки Emacs, набор компиляторов GCC и другие программы, которые входят в арсенал разработчиков ПО. Кроме того, GPL — первая лицензия, в которой оговорено условие копилефта (механизм сохранения свободы программы). Авторитет Фонда свободного программного обеспечения, последовательность позиций и продуманная юридическая техника принесли GPL заслуженную популярность среди разработчиков.
Что такое «лицензия, совместимая с GPL»?
Совместимость какой-либо лицензии с GPL предполагает, что в лицензии оговорена возможность объединения распространяемых на ее условиях программ в одно производное произведение с программами, распространяемыми на условиях GPL. Но GPL предъявляет здесь одно существенное требование: производное произведение обязательно должно распространяться на условиях GPL. Таким образом, свободная программа, условия распространения которой не допускают такого сочетания, несовместима с GPL.
Примерами совместимых с GPL лицензий является большинство лицензий семейства BSD, поскольку, с одной стороны, эти лицензии позволяют публиковать производное произведение на условиях GPL, а с другой — BSD-лицензии накладывают на пользователя минимум ограничений и допускают перелицензирование производных произведений на условиях, отличных от исходной лицензии.
Совместимость c GPL можно обеспечить внесением в текст лицензии специального разрешения на перелицензирование произведения на условиях GPL. Примером такой лицензии является CeCILL, созданная с учетом французского законодательства и специфических потребностей французского правительства. Если программа, опубликованная на условиях CeCILL, оказывается вне французской юрисдикции (где учет норм французского законодательства перестает быть необходимым), то изменение условий на GPL будет юридически возможно и разумно.
Существует ли русский перевод лицензии GPL?
В соответствии с официальной позицией Фонда свободного программного обеспечения переводы лицензии GPL могут носить только справочный характер. Это связано с тем, что каждый перевод потенциально может изменить юридический смысл лицензии, и создание перевода может де-факто оказаться созданием новой лицензии, в чем-то отличной и даже несовместимой с оригиналом. В связи с этим использование русских переводов лицензий возможно только в ознакомительных целях для лучшего понимания английского оригинала, но не как юридических документов.
Что произойдет, если авторы свободных программ решат закрыть исходные тексты?
У авторов нет такой юридической возможности. Свободные лицензии не могут быть отозваны, то есть юридическая возможность прекратить действие лицензии при соблюдении её условий пользователями у авторов отсутствует. Таким образом, однажды правомерно опубликованная свободная программа останется таковой навсегда, независимо от решения автора в дальнейшем.
Законны ли свободные лицензии в России?
Да, законны. В Российской Федерации успешно ведётся разработка и использование множества свободных программ.
В то же время в случаях, когда приходится иметь дело с документами, разработанными в расчете на американское законодательство, возникают некоторые нюансы, связанные с разницей в терминологии и в требованиях, предъявляемых к юридическим документам. Тем не менее, это не препятствует применению распространенных свободных лицензий (GPL, LGPL, Mozilla Public License и других). Однако следует отметить, что лаконичность текста BSD-лицензий может вызвать некоторые осложнения при использовании лицензий этого семейства в России, поскольку они содержат не все условия, которые действуют в российском законодательстве в отношении авторских договоров.
Есть ли аналоги свободных лицензий для литературных текстов, документации?
Фондом свободного программного обеспечения создана специальная лицензия для документации «Лицензия для свободной документации GNU» (GNU Free Documentation License), интересной особенностью которой является допущение наличия в тексте лицензируемых произведений «неизменяемых» фрагментов. Как показывает практика, зачастую при лицензировании документации к ПО программистов удовлетворяет и «обыкновенная» GNU GPL.
В 2000-е годы появился проект Creative Commons, в рамках которого предложено несколько лицензий, специально предназначенных для использования с текстами, аудио- и видеоматериалами. На веб-сайте Creative Commons можно быстро подобрать лицензию, наиболее соответствующую предпочтениям автора. Не все лицензии Creative Commons свободны, так как часть из них допускает лишь некоммерческое использование произведений.
Использование свободного ПО
Можно ли использовать свободное и несвободное ПО на одном и том же компьютере?
Да, можно. Свободные лицензии не содержат требований, которые запрещают одновременный запуск свободных и несвободных программ на одном компьютере.
Можно ли объединять свободное и несвободное ПО в одну программу?
Ответ на этот вопрос зависит от используемой лицензии. Часть свободных лицензий безразлична к этому вопросу (лицензии семейства BSD), и распространяемые на их условиях программы можно включать как фрагмент в несвободные лицензии практически без ограничений.
Некоторые свободные лицензии допускают сочетание свободных компонентов с несвободными лишь в виде так называемых библиотек. Таким образом, использовать фрагменты свободного кода в составе несвободной программы нельзя, но при этом свободная библиотека может быть использована как компонент составного произведения, включающего свободные и несвободные части. Самой известной из лицензий, предусматривающих такой порядок сочетания свободных и несвободных компонентов, является LGPL (Lesser GPL, или «смягченная» GPL).
Наконец, некоторые свободные лицензии прямо запрещают сочетание свободных и несвободных программ в составных произведениях. К их числу, в частности, относится лицензия GPL.
Может ли несвободная программа использовать свободные библиотеки?
Это зависит от условий распространения свободной библиотеки. Нужно убедиться, что они допускают связывание библиотеки с несвободными компонентами в составных произведениях. Например, лицензия LGPL такое связывание допускает, а лицензия GPL запрещает. Лицензии BSD-семейства безразличны к данному вопросу, поэтому при создании проприетарной программы разработчик может включить BSD-компоненты в состав несвободной программы непосредственно или в качестве отдельных модулей.
Может ли свободная программа использовать несвободные библиотеки или несвободные модули (plug-ins)?
Это зависит от используемой лицензии. Если лицензия BSD не содержит каких-либо условий по этому вопросу, предоставляя разработчику полную свободу действий, то GPL и LGPL такого совмещения в общем случае не допускают. Тем не менее, если у разработчика свободных программ возникает необходимость сочетания свободных программ с несвободными модулями, он вправе дополнить текст лицензии GPL так называемым специальным исключением, позволяющим пользователям связывать программу с конкретной библиотекой, которая распространяется на условиях, не совместимых с GPL.
В чём преимущество использования GPL?
GPL — самая популярная и привычная пользователям свободная лицензия, которая сохраняет свободу произведения при его распространении. Разработчику программы она дает гарантию, что его труд не будет использован в несвободных программах и, таким образом, всегда останется достоянием сообщества свободного ПО. Пользователю GPL предоставляет все преимущества свободных программ: копирование, изучение, модифицирование и распространение без каких-либо ограничений.
Является ли «распространением» использование ПО внутри семьи, группы друзей?
С точки зрения авторско-правового законодательства — да, является. «Лицензия» как договор может быть заключена как с физическим, так и с юридическим лицом. Если условия лицензии принимает юридическое лицо, то воспроизведение произведения в пределах этой организации для собственных нужд не является распространением. Поскольку семья и группа друзей юридическими лицами не являются, и они не могут коллективно принять условия лицензии, то передача экземпляра произведения члену семьи или другу считается распространением.
В случае, когда правомерного приобретения экземпляра программы, действующее законодательство по умолчанию допускает установку этой программы лишь на одном компьютере или для одного пользователя сети. Все случаи более свободного использования (установка на более чем один компьютер, внесение изменений в программу и т. п.) требуют специальных разрешений, явно указанных в лицензии программы. Свободные лицензии как раз и содержат необходимые условия для расширения свободы пользователей путём предоставления дополнительных прав, не предусмотренных авторско-правовым законодательством.
Если компания доработала программу, распространяемую на условиях GPL, означает ли это, что каждый сотрудник имеет право на публикацию доработок компании?
Нет. В соответствии с условиями GPL, установка программы на несколько компьютеров в пределах компании расценивается не как «распространение», а как «создание копий». Эти случаи нельзя расценивать как приобретение сотрудниками у работодателя экземпляров произведения и соответствующих авторских имущественных прав на эти произведения, поэтому сотрудники не вправе распространять, модифицировать или осуществлять какие-либо иные правомочия, выходящие за рамки эксплуатации программы.
Могу ли я использовать программы, распространяемые на условиях GPL, не соглашаясь с её условиями?
К сожалению, существует коренное отличие между бытовым понятием «использование» и юридическим термином «пользование» ПО. Закон подразумевает под «пользованием» непосредственный запуск программы, её применение по прямому назначению, тогда как «использование» связано с реализацией авторских имущественных прав на программу, то есть с тиражированием, модификацией, переводом и др.
Чтобы «пользоваться» программой, условия лицензии принимать не нужно — достаточно лишь правомерно приобрести экземпляр произведения. Но в тех случаях, когда требуется большее, чем «пользование экземпляром произведения», потребуется принятие условий GPL, поскольку именно лицензия предоставляет необходимые для этого авторские имущественные права. Исключением из этого правила является лишь закрепленный в авторско-правовом законодательстве набор правомочий свободного использования (fair use), в соответствии с которым пользователь программы имеет право на создание резервных копий, устранение ошибок в программе и декомпилирование в случаях, когда это необходимо для обеспечения взаимодействия с другими программами.
Если я использую свободное ПО, означает ли это, что я должен публиковать созданную с помощью этого ПО информацию?
Нет. Свободные лицензии накладывают ограничения лишь на использование самой программы, но не на использование тех произведений, которые создаются с помощью этой программы.
Если пользователь доработал распространяемую на условиях GPL программу для собственных нужд, означает ли это, что он должен опубликовать ее в свободном доступе?
GPL не содержит такого требования. В случае распространения программы в неизменном или модифицированном виде пользователь должен предоставить исходный текст этой программы, но если пользователь программу не распространяет, то и необходимость предоставления исходных текстов также отсутствует.
Можно ли продавать свободное ПО?
Да, можно. Программа не может считаться свободной, если её нельзя распространять на тех ценовых условиях, которые распространитель сочтет целесообразными. Тем не менее, следует понимать, что в мире свободного ПО существует активное конкурирующее предложение различных поставщиков, и практически все программы опубликованы в Интернете в свободном доступе вместе с исходными текстами. Таким образом, для того чтобы успешно продавать свободное ПО, необходимо обладать каким-либо конкурентным преимуществом — например, обеспечить более выгодную, чем у конкурентов, комплектацию ПО или сопроводить его оптимальным набором сопутствующих услуг. Приравнивание свободного ПО к «некоммерческому» или «бесплатному» ПО — это заблуждение, не имеющее под собой реальной основы.
Бесплатно и безопасно: главные мифы свободного ПО
Минкомсвязи в конце декабря опубликовало свои взгляды в отношении внедрения свободного программного обеспечения (СПО) в госорганах. В документе перечислены преимущества свободных продуктов, главными из которых названы бесплатность и безопасность. Но так ли это на самом деле?
Свободное — значит бесплатное?
Существует распространенное мнение о том, что свободный софт является одновременно и бесплатным. В документе Минкомсвязи использован именно этот тезис:
Во-первых, это дешевизна и антикоррупционность. СПО не требует лицензионных выплат за каждый установленный экземпляр программ.
Однако IТ-эксперты, в том числе основатель движения open source Ричард Столлман, с этим не согласны. Сам Столлман на каждом своем выступлении повторяет фразу:
Free — значит свободное, но не бесплатное. И все это не равно Open Source. Это три понятия, которые смешивать не стоит.
За примерами, которые подтверждают это мнение, далеко ходить не нужно. Из недавнего — компания Dell согласилась платить Microsoft лицензионные отчисления («роялти») за использование Android и Chrome OS на своих устройствах. Корпорация из Редмонда владеет целым рядом патентов на технологии, которые использованы в открытых проектах, созданных Google.
Тот же Столлман публиковал статью, в которой призывал поддержать кампанию за «оcвобождение Android», то есть за публикацию исходных кодов операционной системы (а ее создатель, Google, делать этого не собирается).
В конечном итоге открытый софт может быть бесплатным для конечного пользователя, но в случае корпоративных продуктов и массовых инсталляций все не так просто. Компания может участвовать в разработке нужного ей продукта и отправлять свои фиксы в общий репозиторий — или (если в процессе «допиливания» продукта, произошел выход за рамки лицензии GNU) нанимать собственную выделенную команду разработчиков для поддержки форка. Как несложно догадаться, с бесплатностью этот путь имеет мало общего.
Свободный софт более безопасен
Поскольку, как мы только что выяснили, свободное ПО, бесплатное и Open Source — это три совершенно разные вещи, то кажется, что одна из них и должна быть более безопасной, чем проприетарные продукты. На самом деле это не так.
В документе Минкомсвязи сказано, что закрытые продукты менее безопасны, поскольку в них встречаются недокументированные возможности:
Многие проприетарные приложения от известных производителей содержат недокументированные функции, что является потенциальной угрозой.
Но ведь и многие из открытых (свободных, бесплатных) приложений — тоже содержат недокументированные функции. Не всегда разработчики успевают (и не всегда хотят) надлежащим образом документировать возможности своего проекта. Более того, потенциальной угрозой является и целый ряд документированных функций (например, Userialize или Bash).
Отдельный вопрос, на который нужно дать ответ — что такое «недокументированные функции», подходит ли под это определение, скажем, не описанный в документации пункт меню? Если речь идет о «недекларированных возможностях», то должен существовать процесс их декларации. Если же подразумеваются уязвимости, то это совсем другая тема.
На самом деле, для того чтобы повысить уверенность в безопасности кода, достаточно следовать простому алгоритму:
В случае с бэкдором в RSA выяснилось, что компании заплатило АНБ — то есть виновника удалось найти. А вот откуда в пакете SSL взялась уязвимость Heartbleed — непонятно до сих пор.
С другой стороны, свободное ПО легче адаптировать к изменяющимся условиям. Конечно же, установка «закрытой и несвободной» Windows на HMI в системах АСУ ТП — это очевидная ошибка, которая привела к тому, что во многих системах до сих пор не закрыта уязвимость CVE-2010-2568, через которую в свое время распространялся червь Stuxnet. Использование «открытой» системы позволило бы разработать свой патч, но и для этого нужна команда разработчиков, которая стоит денег.
Должно ли государство развивать российский Open Source
Еще одна выдержка из документа Минкомсвязи, в которой звучит тезис о том, что свободный софт соответствует национальным интересам:
В-четвертых, использование СПО учитывает национальные интересы. Несмотря на то, что создание свободных программ неотделимо от мирового сообщества разработчиков, сервисные услуги по их адаптации, внедрению, поддержке и развитию, оказывают, как правило, национальные фирмы, что более выгодно государству и обществу.
Получается, что «перелицовка» Open Source (даже с нарушением GPL) — это правильно отвечает интересам страны, но создание с нуля собственной технологии, которая по каким-то причинам не является СПО — таким интересам не отвечает.
В России компаний вроде ALT Linux, которые делают все верно и по букве всех лицензий и законов открытого ПО, крайне мало. В целом же разработка «пакета свободного отечественного программного обеспечения» — задача, может быть, и светлая, но явно не первоочередная.
Здесь хотелось бы обратиться к еще одной популярной теме — к созданию «отечественной ОС».
Операционная система не нужна!
В деле импортозамещения куда логичнее обратить внимание не на создание собственных ОС и офисных пакетов, а на совсем другие направления. Начинать нужно с чего-то, что имеет конечную цель, и должна существовать возможность посчитать эффективность этого «чего-то». Операционная система — это явно не «оно».
Десктопы
Десктопы, несмотря на всю их архаичность, еще долго будут оставаться серьезным «пожирателем» IТ-бюджета в корпоративном секторе с циклом обновления в 3—5 лет. Учитывая, что существенной частью корпоративного сектора в России является госсектор и связанные с ним компании, перевод этой ниши на российские продукты вполне реален — нужно лишь волевое решение.
«Ну вот же, свой Windows!» — скажет читатель. Отнюдь нет! Начинать делать десктоп нужно с процессора. Более того, он у нас есть, и неплохой. Да, речь об «Эльбрусе».
Уже в процессе работы над собственным процессором попутно придется решать и вопросы с созданием операционных систем, языков программирования и прочих элементов экосистемы. Для того чтобы производители софта захотели писать под условный «Эльбрус», необходимо чтобы на подобные продукты был спрос, а МЦСТ мог производить достаточное количества железа.
Уже упомянутые госкомпании и их сателлиты могут составить костяк первых пользователей. Если производители ПО (тот же ALT Linux, или JetBrains) увидят перспективы и пользовательскую базу, то не откажутся создать версию под «Эльбрус» (кстати, и мы сейчас портируем PT Application Firewall на этот процессор) — заодно и совместимость с «просто Linux» и другими платформами появится.
Все в облако
Тренд на «переезд» многих привычных приложений в облако неоспорим: там уже и Excel, и Word, и «1C». Частное «офисное» облако закрыло бы нужды 90% пользователей десктопов в корпоративном секторе. В настоящий момент подобные продукты все больше и больше становятся обыкновенной подложкой под сам «интернет». Самым важным десктоп-приложением становится браузер, а создать его уже совсем не так сложно, как показывает пример Opera или Яндекс.Браузера.
Казалось бы, все переехали на Chromium — но в этом нет ничего плохого. Если взять за основу существующую платформу, навесить на нее дополнительные функции и обеспечить цикл поддержки, это позволит создать конкурентоспособный продукт. А уже параллельно можно будет заняться и созданием собственного Chromium, если это необходимо.
Железное небо
Конечно, для создания собственного облака необходимы и другие компоненты, и первая проблема здесь — отсутствие железа (особенно печальная ситуация сложилась с серверными платформами). Быстрого решения в этой области ждать не приходится, поэтому на первых этапах нет ничего зазорного в том, чтобы использовать уже имеющиеся решения.
С сетевыми «железяками» ситуация постепенно налаживается, в области NAS серьезные вещи делает RAIDIX, нельзя сбрасывать со счетов и «Т-Платформы». С софтом ситуация гораздо лучше — есть прекрасная платформа для виртуализации от Parallels и nginx, как надежная основа для серверов приложений.
Не все гладко и с СУБД (даже создатели «Эльбруса» из МЦСТ говорят об Oracle), хотя есть такие продукты, как «Линтер», Red «База данных». При этом необходимо понимать, что с MS SQL и Oracle съехать легко и просто не получится. Это, однако, не означает, что не нужно создавать собственные enterprise-СУБД: как минимум RDBMS и какое-то количество NoSQL-проектов (например, document и graph) — точно бы не помешало. Даже если брать за основу PostgreSQL, Hadoop или ElasticSearch — главное, чтобы эти продукты использовались и под них создавались приложения.
Итого
Конечно же, свободное ПО вполне можно и нужно использовать, адаптировать и развивать. Однако тезисы о его бесплатности, «лицензионной чистоте» и защищенности не выдерживают никакой критики. «Бесплатно» и «безопасно» — это просто сказки, и все знают, где бывает бесплатный сыр.
Нынешний период может стать золотым временим для IТ-отрасли в России. В деле импортозамещения стоит сделать ставку на «национальных чемпионов» в своей области, работающих в плотной кооперации, форсировать прорывные или просто необходимые проекты, предоставлять бизнесу «длинные деньги» и обеспечивать контроль и прозрачность — но это все как раз и в силах государства.
Автор: Сергей Гордейчик, по материалам личного блога (1, 2)