Что такое дистрибутив Linux, основы gnu gpl

Обновлено: 04.07.2024

В предыдущем посте из нашей серии о популярных лицензиях на программное обеспечение с открытым исходным кодом (OSS) мы подробно рассмотрели лицензию GNU GPL v2, лицензию с авторским левом, первоначально опубликованную проектом GNU. Однако версия 2.0 не является самой последней — или обязательно самой популярной — версией GNU GPL (стандартной общественной лицензии). Это будет стандартная общественная лицензия GNU версии 3.0, или сокращенно GPL v3.

Несмотря на то, что GPL v3 была выпущена в 2007 году, через 16 лет после GPL v2, она имеет много общего со своей предшественницей. Оба требуют, чтобы пользователи включали копию полного текста лицензии и делали доступным оригинальный исходный код, когда вы распространяете любые двоичные файлы, основанные на лицензированной работе, помимо прочего. Ключевые отличия являются результатом попыток устранить и/или исправить то, что некоторые считают слабыми местами или лазейками в версии 2.0.

Итак, как сравнить эти две версии GNU GPL? И почему разработчик или компания, производящая программное обеспечение, могут предпочесть работать с кодом под лицензией GPL v3? Мы рассмотрим эти и другие вопросы в этом руководстве.

Спасибо, что предоставили подробности. Ваш адрес электронной почты добавлен в наш список подписки.

Лицензия GPL v3: основы

Как и GPL v2, GPL 3 является строгой лицензией с авторским левом, что означает, что любая копия или модификация исходного кода также должны быть выпущены под GPL v3. Другими словами, вы можете взять код под GPL 3, дополнить его или внести серьезные изменения, а затем распространить свою версию. Однако на вашу версию распространяются те же лицензионные требования, а это означает, что она также должна находиться под лицензией GPL v3 — любой может увидеть ваш измененный код и установить его для своих целей.

Требования GPL v3

Условия лицензии GPL v2 и GPL v3 аналогичны. Они требуют от пользователей кода:

  1. Включите копию полного текста лицензии.
  2. Укажите все существенные изменения, внесенные в исходное программное обеспечение.
  3. Предоставьте доступ к исходному коду при распространении любых двоичных файлов на основе лицензированной работы.
  4. Приложите копию исходного уведомления об авторских правах.

Кроме того, в GPL v3 указано, что любой, кто включает код как часть пользовательского устройства, должен включать всю информацию об установке, необходимую для обновления и переустановки программного обеспечения.

Использование лицензионного кода

Лицензия GPL v3 позволяет пользователям кода:

  • Использовать код в коммерческих целях. Как и GPL v2, GPL v3 не накладывает никаких условий на внутреннее использование программного обеспечения.
  • Изменить код: пользователи могут изменять или перерабатывать код, но если они распространяют эти изменения/модификации в двоичной форме, они также обязаны выпускать эти обновления в виде исходного кода под лицензией GPL v3.
  • Распространение копий или модификаций кода: если эти модификации также выпущены под лицензией GPL v3, их можно распространять среди других.
  • Размещение гарантии. Дистрибьюторы оригинального кода могут предложить собственную гарантию на лицензионное программное обеспечение.

Как и его предшественник, GPL v3 не позволяет пользователям сублицензировать код. Другими словами, вы не можете переработать, изменить или добавить код, а затем закрыть эти изменения для общественности. «Открытый исходный код» исходного кода следует за любым обновлением или дополнением.

GPL v3 и GPL v2

Мы рассмотрели несколько незначительных различий между GPL v2 и GPL v3. Теперь давайте обсудим более важные из них: предоставление патентных прав и совместимость с Apache License 2.0.

Предоставление патентных прав

Как и популярная разрешительная лицензия Apache License 2.0, GPL v3 включает явное предоставление патентных прав. Что именно это значит? Это означает, что создатель или участник оригинального лицензионного кода по сути «отдает» свои патентные права в отношении любого последующего повторного использования программного обеспечения. Обычно, если у вас есть патент на что-то, что вы создали, и кто-то производит, использует, продает или импортирует это, вы можете оспорить это в суде. Это не тот случай, если вы явным образом предоставили патентные права другим пользователям, как это делают все участники, лицензируя свой код под лицензией GPL v3.

Хотя лицензия GPL v2 действительно обсуждает патентные права, она делает это в более общем плане и без явного предоставления авторами кода. GPL v3 решает эту проблему, четко указывая выдачу патента в полном тексте лицензии.

Совместимость с Apache 2.0

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

В отличие от GPL v2, GPL v3 совместима с часто используемой лицензией Apache License 2.0. Однако эта совместимость работает только в одну сторону. Код под лицензией Apache 2.0 может быть объединен с кодом под лицензией GPL 3, в результате чего работа будет лицензироваться под лицензией GPL 3. Обратное — включение кода GPL 3 в более крупную работу, которая затем лицензируется под Apache 2.0 — не разрешено.

Случаи использования GPL v3

И GPL v3, и GPL v2 все еще используются сегодня, при этом некоторые проекты OSS используют более раннюю версию, а другие используют самую последнюю. Ниже мы рассмотрим несколько причин, по которым разработчики и компании-разработчики программного обеспечения могут выбрать лицензию GPL v3 для своей работы с открытым исходным кодом.

Для разработчиков

Исследования показывают, что разработчиков ПО с открытым исходным кодом больше мотивирует желание учиться и быть частью сообщества OSS, чем финансовое вознаграждение. И многие разработчики OSS верят в философию, согласно которой программное обеспечение должно быть бесплатным и доступным для всех, что делает лицензии с авторским левом, такие как GPL v2 и GPL v3, особенно привлекательными.

GPL v3 может быть лучшим вариантом для разработчиков, которые либо базируются за границей, либо ориентируют свой проект на глобальную аудиторию, поскольку она включает улучшения в отношении интернационализации. А если разработчик планирует включить в свою работу компоненты Apache 2.0, он должен выбрать GPL v3 вместо GPL v2.

Если вы не можете решить, что выбрать, вы также можете использовать GPL v2 или любую более позднюю версию, которая в настоящее время включает GPL v2 или GPLv3.

Для компаний

Для организаций-разработчиков основным отличием двух GPL является прямое предоставление патентных прав. Судебные иски — это то, чего не хочет ни одна компания, а явная выдача патента, включенная в GPL v3, обеспечивает юридическую защиту и чувство безопасности.

Аспект совместимости GPL v3 является камнем преткновения как для компаний, так и для разработчиков. Поскольку лицензия Apache 2.0 является широко используемой лицензией, организация-разработчик программного обеспечения может захотеть сохранить возможность использования кода под лицензией Apache.

Однако многие компании избегают использования кода GPL версии 3 в IoT или встроенных системах из-за его требований к «информации об установке».

Хорошо известные случаи использования GPL v3

Ansible, компания по автоматизации ИТ, приобретенная корпоративным гигантом OSS Red Hat в 2015 году, предоставила свое программное обеспечение с открытым исходным кодом по лицензии GPL v3. Другие известные примеры включают редактор изображений GIMP и оболочку Unix Bash, которые были созданы как часть проекта GNU.

Будущее GPL v3

Недавние исследования показывают, что лицензии с авторским левом, хотя они и не так популярны, как разрешительные аналоги, по-прежнему используются в значительном проценте проектов OSS. А из семейства лицензий GPL GPL v3 является самой популярной.

Если у вас все еще есть вопросы о проекте GNU и/или различных лицензиях GPL, посетите их подробную страницу часто задаваемых вопросов.

Linux® — это операционная система (ОС) с открытым исходным кодом. Операционная система — это программное обеспечение, которое напрямую управляет аппаратным обеспечением и ресурсами системы, такими как ЦП, память и хранилище. ОС находится между приложениями и оборудованием и обеспечивает связь между всем вашим программным обеспечением и физическими ресурсами, выполняющими работу.

Как работает Linux?

Подумайте об операционной системе, как о двигателе автомобиля. Двигатель может работать сам по себе, но он становится функциональным автомобилем, когда он связан с трансмиссией, осями и колесами. Без нормально работающего двигателя остальная часть автомобиля работать не будет.

Linux был разработан, чтобы быть похожим на UNIX, но эволюционировал, чтобы работать на самых разных аппаратных средствах от телефонов до суперкомпьютеров. Каждая ОС на базе Linux включает в себя ядро ​​Linux, которое управляет аппаратными ресурсами, и набор программных пакетов, составляющих остальную часть операционной системы.

Операционная система включает в себя некоторые общие основные компоненты, такие как инструменты GNU и другие. Эти инструменты дают пользователю возможность управлять ресурсами, предоставляемыми ядром, устанавливать дополнительное программное обеспечение, настраивать параметры производительности и безопасности и многое другое. Все эти инструменты вместе составляют функциональную операционную систему. Поскольку Linux — это операционная система с открытым исходным кодом, комбинации программного обеспечения могут различаться в разных дистрибутивах Linux.

Что такое командная строка?

Командная строка — это ваш прямой доступ к компьютеру. Это когда вы просите программное обеспечение выполнять аппаратные действия, которые просто не могут выполнять графические пользовательские интерфейсы (GUI) типа «укажи и щелкни».

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

Наш последний выпуск Red Hat® Enterprise Linux содержит еще больше встроенных возможностей командной строки, чем когда-либо прежде, и включает консоли, объединяющие эти возможности в простые в использовании модули, которые существуют вне командной строки.

В этом посте мы рассмотрим некоторые часто задаваемые вопросы (FAQ) о Linux и Стандартной общественной лицензии GNU (GPL). Мы будем обновлять эту информацию время от времени по мере поступления новых вопросов.

В: В чем разница между «бесплатным» или «бесплатным» программным обеспечением и программным обеспечением с открытым исходным кодом? Разве это не одно и то же?

О: Бесплатное программное обеспечение и программное обеспечение с открытым исходным кодом во многом пересекаются, но есть и различия, которые стоит обсудить. Термин свободное программное обеспечение используется для описания программного обеспечения, уважающего свободы пользователей. Это философия, которая глубоко волнует многих людей.

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

В: Что такое дистрибутив Linux?

О: Дистрибутив — это полный набор программного обеспечения, из которого состоит операционная система, включая ядро ​​Linux, пользовательские утилиты и приложения, программу установки, документацию и другие компоненты.

Red Hat Enterprise Linux (RHEL), Fedora, CentOS, Debian и Slackware Linux — все это примеры популярных и долго работающих дистрибутивов Linux.

В: Все ли программное обеспечение в дистрибутиве Linux находится под лицензией GPL/одной и той же лицензией?

О: Нет. Если вы посмотрите на дистрибутивы Linux, такие как Fedora или RHEL, вы найдете программное обеспечение под GPLv2, GPLv3, а также более либеральные лицензии, такие как BSD/MIT, Apache License 2.0 и многие другие. .

В: Как «открытое ядро» относится к таким вещам, как GPLv2? А как насчет Linux?

О: Открытое ядро ​​обычно относится к бизнес-модели, в которой «ядро» продукта доступно по лицензии с открытым исходным кодом, а другие компоненты — нет. Например, базовые функции могут быть доступны в виде проекта с открытым исходным кодом, но корпоративные функции, такие как высокая доступность или управление несколькими узлами, могут быть доступны только по проприетарной лицензии.

Компаниям легко применять модель "открытого ядра" к проектам с разрешительными лицензиями. Если лицензия не требует совместного использования изменений при распространении программного обеспечения, компания может создать проект с разрешительной лицензией, а затем распространять его по проприетарной лицензии.

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

В: Помимо ядра Linux, есть ли другие примеры успешных проектов GPLv2?

О: Ряд успешных проектов используют GPLv2, включая Pulp, Git, медиаплеер VLC, Audacity, GTK и многие другие.

В: GPLv3 была выпущена в 2007 году — чем GPLv3 отличается от GPLv2?

A: Как и GPLv2, GPLv3 является лицензией с "строгим авторским левом", согласно которой модифицированные версии, если они распространяются, должны лицензироваться по GPL, а двоичные файлы должны сопровождаться соответствующим исходным кодом. GPLv3 специально рассматривает такие вопросы, как патенты, блокировка устройств, закон о борьбе с обходом, толкование лицензии в нескольких юрисдикциях и совместимость лицензий, а также вводит положения об исправлении (которые можно распространить на GPLv2 посредством использования Обязательства о сотрудничестве GPL).< /p>

В: Используется ли GPLv2 для новых проектов?

О: Да. Несмотря на то, что GPLv3 была выпущена некоторое время назад, некоторые разработчики и проекты предпочитают GPLv2 и выбирают эту лицензию для новых проектов.

В: Как я могу получить дополнительную информацию, которая поможет мне понять различные положения GPL?

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

Стандартная общественная лицензия (GPL) называется строгой лицензией, поскольку она полностью несовместима с проприетарным программным обеспечением. Основная причина в том, что GPL обязывает пользователя предоставлять исходный код при распространении любых копий программного обеспечения, и что все модификации исходного кода также лицензируются по GPL. Кроме того, если какой-либо исходный код под лицензией GPL включается в другой проект (известный как «производная работа»), весь проект также должен быть выпущен под лицензией GPL. По этой причине программное обеспечение под лицензией GPL нельзя смешивать с проприетарными предложениями, потому что это, по своей сути, также делает проприетарные исходные коды лицензированными под лицензией GPL. Пользователи могут свободно делать копии и изменения, распространять и взимать плату за производные работы, если доступен исходный код и прилагается уведомление об авторских правах. В настоящее время GPL претерпела противоречивые изменения с версии 2 на версию 3, которая была выпущена только после более чем года публичных запросов на комментарии.

Что такое открытый исходный код?

Свобода для всех

GPL начинается с утверждения, что термин «бесплатный» относится к «свободе», а не к цене:

Лицензии на большинство программ и других практических работ предназначены для того, чтобы лишить вас свободы делиться и изменять работы. Стандартная общественная лицензия GNU, напротив, предназначена для того, чтобы гарантировать вашу свободу делиться и изменять все версии программы, чтобы убедиться, что она остается свободной для всех пользователей. Мы, Фонд свободного программного обеспечения, используем Стандартную общественную лицензию GNU для большей части нашего программного обеспечения; это относится также к любой другой работе, выпущенной таким образом ее авторами. Вы также можете применить его к своим программам.

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

Определение бесплатного программного обеспечения

Свободное программное обеспечение — это свобода пользователей запускать, копировать, распространять, изучать, изменять и улучшать программное обеспечение. Точнее, это означает, что пользователи программы имеют четыре основные свободы: ■

Свобода запускать программу для любых целей (свобода 0).

Свобода изучать, как работает программа, и изменять ее, чтобы заставить ее делать то, что вы хотите (свобода 1). Предварительным условием для этого является доступ к исходному коду.

Свобода распространять копии, чтобы помочь ближнему (свобода 2).

Свобода улучшать программу и публиковать свои улучшения (и измененные версии в целом) для всеобщего блага (свобода 3). Предварительным условием для этого является доступ к исходному коду.

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

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

Введение

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

1. Бесплатное распространение

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

2. Исходный код

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

3. Производные работы

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

4. Целостность исходного кода автора

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

5. Никакой дискриминации в отношении лиц или групп

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

6. Никакой дискриминации в отношении областей деятельности

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

Представляем Ethereal: анализатор сетевых протоколов

История эфирного

Стандартная общественная лицензия GNU

Проект GNU изначально был разработан в 1984 году для создания бесплатной Unix-подобной операционной системы. Эта операционная система известна как система «GNU/Linux», поскольку она использует утилиты GNU и ядро ​​Linux. Проект GNU управляется и спонсируется Фондом свободного программного обеспечения (FSF). Ричард Столмен написал Стандартную общественную лицензию GNU (GPL) в 1989 году с целью распространения программ, выпущенных как часть проекта GNU. Это лицензия свободного программного обеспечения с авторским левом и основана на аналогичных лицензиях, используемых для ранних версий GNU Emacs.Она стала одной из наиболее широко используемых лицензий свободного программного обеспечения из-за ее цели предоставить публике больше свободы, а не меньше.

Авторское лево произошло от фразы «Авторское лево — все права отменены». Это применение закона об авторском праве для обеспечения общественной свободы манипулировать, улучшать и распространять авторское произведение и все производные произведения. Это означает, что владелец авторских прав предоставляет безотзывную лицензию всем получателям копии, разрешая повторное распространение и продажу возможно измененных копий при условии, что все эти копии имеют одну и ту же лицензию и доступны в форме, которая также облегчает модификацию. . Это ключевая функция бесплатного программного обеспечения с открытым исходным кодом, позволяющая сохранять работу свободной и открытой. Существуют юридические последствия, если лицензиат не распространяет произведение по той же лицензии. Если лицензиат распространяет копии произведения, исходный код и модификации должны быть доступны. Конечно, вы можете вносить частные изменения в программное обеспечение GPL, но никому его не распространяйте!

Сама лицензия на программное обеспечение GPL не может быть изменена. Вы можете копировать и распространять ее сколько хотите, но не изменяйте текст GPL. Другие лицензии, созданные в рамках проекта GNU, включают Стандартную общественную лицензию ограниченного применения GNU и Лицензию свободной документации GNU.

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

Почему открытый исходный код?

Модель с открытым исходным кодом

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

Тест прозрачности…

Лицензии с открытым исходным кодом

Стандартная общественная лицензия (GPL) на сегодняшний день является самой популярной, широко используемой и иногда противоречивой лицензией в области открытого исходного кода. тем не менее, это не единственный ни в коем случае. Когда большинство людей говорят о лицензии, совместимой с открытым исходным кодом, они обычно имеют в виду лицензию, которая была проверена и сертифицирована Open Source Initiative (OSI), некоммерческой организацией, единственной целью которой является продвижение идеи Free/Libre/ Программное обеспечение с открытым исходным кодом (FLOSS). Здесь мы кратко рассмотрим три примера сертифицированных лицензий OSI и их различия.

Стандартная общественная лицензия GNU (GPL)

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

Меньшая общедоступная лицензия GNU (LPGL)

LPGL по сути такая же, как GPL, за одним заметным исключением. В отличие от GPL, которая требует, чтобы исходный код для «производной работы» был лицензирован в соответствии с GPL, а исходный код был доступен, LPGL позволяет только бинарное связывание приложений, обычно библиотек, с любым другим приложением, включая проприетарное программное обеспечение. Таким образом, согласно условиям LPGL, исходный код и любые внесенные в него изменения должны быть доступны вместе с уведомлением об авторских правах; однако, если его двоичная версия используется несвободным приложением, исходный код этого приложения не требуется выпускать под LPGL.

Лицензия BSD/модифицированная BSD

Напротив, исходная лицензия Berkeley Software Distribution (BSD) и ее более поздняя измененная версия являются наиболее либеральными по своей природе. В основном они говорят, что пользователи могут делать с программным обеспечением все, что им нравится, в том числе изменять исходный код или включать его в другой проект. Пользователи могут свободно распространять свои производные работы без каких-либо требований к доступу к исходному коду или любым из своих модификаций. Единственное требование состоит в том, чтобы первоначальные авторы были указаны в лицензии, сопровождающей выпущенное приложение, каким бы оно ни было. Единственная разница между Модифицированной лицензией BSD и Исходной лицензией BSD заключается в том, что пункт о рекламе был удален.

Линукс

II.Е. Расцвет дистрибутивов Linux

К 1993 году все основные элементы UNIX-подобной операционной системы под лицензией GPL были на месте — ядро, утилиты GNU и серверное программное обеспечение, — но Linux пользовался популярностью только среди компьютерных хакеров, программистов, студентов, и факультет информатики. Причина кроется в чрезмерной сложности модификации всех этих компонентов, чтобы они работали без сбоев.

Linux мог бы так и остаться диковинкой, если бы не появление дистрибутивов Linux, которые представляют собой полные, плавно интегрированные пакеты, отражающие достижения экспертов в области системной интеграции. Дистрибутивы Linux обычно распространяются с помощью компакт-дисков или через FTP-соединения в Интернете. Дистрибутив обычно включает в себя скомпилированное и настроенное ядро, утилиту установки, документацию, онлайн-поддержку и поддержку по телефону, ряд приложений (включая демонстрационные версии коммерческих приложений) и механизм упаковки (программное обеспечение для простой установки двоичных версий программ). Первый такой дистрибутив выпущен компьютерным центром Манчестерского университета в 1992 году; вскоре последовала система Softlanding Linux (SLS), первый дистрибутив, включающий систему X Window. Один из старейших дистрибутивов Linux, который все еще поддерживается, Slackware, основан на вариации темы SLS 1992 года, как и SuSE Linux, основанный в конце 1992 года. Ведущий на сегодняшний день дистрибутив Linux, коммерческое предприятие под названием Red Hat, было основано в 1993 году. Частично для противодействия растущей тенденции к коммерческим дистрибутивам Linux группа добровольцев основала Debian GNU/Linux в 1993 году; этот уважаемый дистрибутив все еще находится в стадии активной разработки и полностью укомплектован добровольцами.

Компании, распространяющие Linux на коммерческой основе, могут взимать плату за свои услуги по интеграции и за любое проприетарное программное обеспечение, которое они включают в дистрибутив; ничто в языке GPL не запрещает программистам или компаниям взимать плату за свои услуги или продукты. Однако эти компании должны передавать своим клиентам права, предусмотренные лицензией GPL. Как компаниям удавалось зарабатывать деньги на продукте, который после покупки можно свободно копировать и бесплатно раздавать другим? Ответ на этот вопрос заключается в том, что услуги системной интеграции дистрибутива чего-то стоят сами по себе. Кроме того, типичный дистрибутив Linux огромен; текущий дистрибутив Red Hat требует кода на два компакт-диска. Даже при относительно быстром интернет-соединении загрузка такого большого объема данных заняла бы много часов; в таких обстоятельствах иногда проще и дешевле приобрести пакет, включающий компакт-диски, техническую поддержку и хорошо написанное руководство. Компании также надеются зарабатывать деньги, предоставляя техническую поддержку и системную интеграцию на месте.

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

Спасибо, что предоставили подробности. Ваш адрес электронной почты добавлен в наш список подписки.

Лицензия GPL v2: основы

Лицензии на программное обеспечение с открытым исходным кодом с авторским левом бывают двух видов: сильные и слабые. GPL v2 относится к первой категории. Лицензия с авторским левом требует, чтобы все модификации кода лицензионного программного обеспечения выпускались под одной и той же лицензией. Различие между слабым и сильным зависит от того, сколько кода должно быть выпущено. Сильные лицензии с авторским левом, такие как GPL v2, распространяются на целые программы. Слабые лицензии с авторским левом, с другой стороны, позволяют вам добавлять библиотеки или плагины к исходной программе и сохранять свои дополнения закрытыми (с закрытым исходным кодом).

Другими словами, любые изменения, которые вы вносите в код под лицензией GPL v2, также подпадают под действие GPL v2. «Открытый исходный код» оригинальной работы сохраняется в вашей новой/обновленной работе.

Требования GPL v2

GPL v2 имеет несколько общих требований с популярными разрешающими лицензиями. Например, как MIT и Apache 2.0, любая копия или модификация кода под лицензией GPL 2 должны включать:

  1. Полный текст лицензии
  2. Оригинальное уведомление об авторских правах

Но как лицензия с авторским левом, GPL v2 также требует от пользователей:

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

Использование лицензионного кода

Несмотря на эти требования, вы можете многое делать с кодом под лицензией GPL v2, например:

    : организации могут включать лицензионный код в свое программное обеспечение, а затем продавать это программное обеспечение клиентам. Однако компаниям следует учитывать, что другие пользователи могут заплатить эту плату, а затем сами выпустить код без платы, поскольку весь код под лицензией GPL v2 распространяется бесплатно по GPL.
  • Изменять код: пользователи могут вносить изменения или переделывать код, но если они распространяют эти изменения/модификации в двоичной форме, они также должны выпускать эти обновления в виде исходного кода под лицензией GPL v2.
  • Распространение копий или модификаций кода: если эти модификации также выпущены под лицензией GPL v2, они могут распространяться публично.
  • Размещение гарантии. Дистрибьюторы оригинального кода могут предложить собственную гарантию на лицензионное программное обеспечение.
  • Используйте и изменяйте код в частном порядке. Если вы не планируете делать измененное программное обеспечение доступным для других, вы можете переработать код, не делясь своими изменениями, и использовать его по своему усмотрению.

Являясь лицензией с авторским левом, GPL v2 имеет одну ключевую оговорку: пользователи не могут сублицензировать код на каких-либо других условиях. Все общедоступные модификации должны находиться под лицензией GPL v2.

Варианты GPL v2

GPL v2 — это не единственная и даже не самая последняя версия лицензии GPL. Последней версией является GPL v3, которую мы подробно рассмотрим в следующем посте. Также есть:

  • GNU LGPL v3.0 (GNU Lesser General Public License версии 3.0): слабая версия GNU GPL v3.0 с авторским левом.
  • GNU AGPL v3.0 (Стандартная общественная лицензия GNU Affero, версия 3.0): очень строгая лицензия с авторским левом, созданная специально для сетевого программного обеспечения. Эта лицензия имеет дополнительные требования для обмена изменениями исходного кода, если вы предоставляете программное обеспечение другим в качестве услуги.

GPL v2 и другие лицензии с авторским левом

К семейству GPL среди наиболее часто используемых лицензий с авторским левом относятся такие лицензии, как Mozilla Public License 2.0 и Eclipse Public License.

GPL v2 и общедоступная лицензия Mozilla 2.0

GPL v2 относится к категории «сильное авторское лево», а Mozilla Public License 2.0 относится к так называемому «слабому авторскому левому» или «авторскому левому на основе файлов». Пользователи могут добавлять дополнения к первоначально лицензированному коду для создания сводной работы, а затем сублицензировать эти дополнения. В принципе, более крупная работа, включающая лицензионный код, может распространяться без раскрытия исходного кода дополнений. Однако модификации любых существующих файлов должны быть выпущены под лицензией GPL 2.

GPL v2 и публичная лицензия Eclipse (EPL)

Как и Mozilla Public License 2.0, EPL является слабой лицензией с авторским левом. Но к ней также предъявляются некоторые требования, выходящие за рамки требований GPL v2. Например, в EPL указано, что если вы используете код в коммерческом программном обеспечении и это программное обеспечение становится предметом судебного разбирательства или возмещения убытков, вы обязаны защищать и/или компенсировать участникам EPL.

Случаи использования GPL v2

Почему разработчики OSS и компании могут решить внести свой вклад или работать с кодом под лицензией GPL v2? Давайте рассмотрим несколько причин.

Для разработчиков

Согласно недавнему отчету об опросе участников FOSS, проведенному Linux Foundation, участники OSS, как правило, мотивированы на участие в проектах с открытым исходным кодом внутренними факторами, такими как желание участвовать в творческой работе, а не финансовыми. В мире открытого исходного кода особенно ценятся сотрудничество, совместное использование и «демократизация» программного обеспечения. Если вы верите в этот принцип, ориентированный на сообщество, и хотите, чтобы «свободные программы распространялись», GPL версии 2 является привлекательным вариантом.

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

Для компаний

Одна из причин, по которой компания может решить включить код под лицензией GPL v2, как уже упоминалось, заключается в том, что многие разработчики-новаторы (и проекты с открытым исходным кодом) находят лицензию привлекательной.Код, полученный в результате сотрудничества и обмена знаниями, может быть более ценным и эффективным, чем проект, созданный в более закрытой экосистеме разработчиков. И разработчики, скорее всего, оценят, что вы отдаете должное сообществу OSS.

Но разве компании не хотят зарабатывать деньги на своем программном обеспечении и оставлять свои изменения кода (и связанные с ними преимущества) при себе? Фонд свободного программного обеспечения (FSF), который поддерживает проект GNU, обратился к этому в заставляющем задуматься эссе. Разрешающие лицензии позволяют вашим конкурентам брать ваш открытый исходный код, изменять его и исправлять ошибки, а затем закрывать его. Другими словами, ваша организация, по сути, выполняет первоначальную работу для своих конкурентов без какой-либо финансовой выгоды. Однако благодаря использованию лицензии с авторским левом, такой как GPL v2, компании вступают в своего рода симбиотические отношения, и каждая из них вносит свой вклад в улучшение кода.

Общеизвестные случаи использования GPL v2

Безусловно, наиболее заметным использованием этой лицензии является ядро ​​Linux, основа операционной системы Linux. В то время как iOS и Microsoft являются предпочтительными операционными системами для большинства персональных компьютеров, мир разработчиков работает на Linux. На самом деле только 2 из 25 самых популярных веб-сайтов в мире не используют Linux, а 90 % всей облачной инфраструктуры основано на Linux.

Будущее GPL v2

Хотя лицензии с авторским левом, такие как GPL v2, менее популярны, чем некоторые их разрешающие аналоги, они определенно все еще используются. И хотя GPL v2 не является последней версией лицензии GNU GPL, ряд проектов с открытым исходным кодом продолжают ее использовать.

Чтобы узнать больше о проекте GNU, Стандартных общественных лицензиях GNU и Фонде свободного программного обеспечения, посетите обширную и подробную страницу часто задаваемых вопросов GNU.

Читайте также: