Если вы создаете программное обеспечение, которым хотите поделиться, или используете программный продукт, который хотите модифицировать, — важно понимать законность своих действий. Даже программы, которые имеют открытые лицензии, не являются полностью открытыми/бесплатными. Из-за недопонимания некоторых моментов лицензий, существует высокая вероятность попасть в неприятную ситуацию с законом. А знание полномочий и/или ограничений по лицензии даст вам большую уверенность при пользовании программным обеспечением.
Лицензия с открытым исходным кодом представляет собой юридически обязывающий договор между автором программного обеспечения и пользователем. Лицензии с открытым исходным кодом соответствуют следующему краткому определению: программное обеспечение или продукт (его проект, дизайн и/или исходный код) может использоваться, модифицироваться и/или распространяться по желанию пользователя. Грубо говоря, пользователь имеет право настроить продукт под свои нужды, а затем поделиться этим продуктом с другими людьми. Однако, даже лицензии с открытым исходным кодом налагают некоторые условия/ограничения при распространении ПО (продукта). Например, часто такими условиями являются сохранение имен авторов и повторное распространение производных продуктов под той же лицензией. Кроме того, если лицензия разрешает модификацию или распространение продукта только для некоммерческих целей, это уже не считается лицензией с открытым исходным кодом.
Программное обеспечение, опубликованное публично и доступное бесплатно, не будет автоматически считаться лицензированным под открытым исходным кодом. Для этого требуется соответствующая и официальная Лицензия. Многие программы с открытым исходным кодом бесплатны, но это не означает, что бесплатность является официальным требованием или гарантией.
Программист пишет исходный код. Это текстовый документ (или файл), написанный на языке, понятном для людей, и файл написанный на каком-то языке программирования. Однако машины (компьютеры) на самом деле не могут читать исходный код в том виде, в каком он написан. Чтобы сделать его машиночитаемым, компьютер должен скомпилировать исходный код в машиноисполняемый код, то есть в объектный код. Объектный код записывается в виде двоичных цифр (0 и 1), а процесс генерации двоичного кода называется «компиляцией». Исходный код может быть одинаковым в разных системах, но каждая машина может скомпилировать его в разный объектный код.
Копилефт и Вседозволяющая (или Разрешительная) — это две основные категории лицензий с открытым исходным кодом. Это не названия реальных лицензий, а категории, на которые подразделяются конкретные лицензии.
Существует множество различных типов лицензий с открытым исходным кодом, которые доступны авторам ПО и/или программных продуктов. Давайте рассмотрим наиболее популярные из них.
Лицензия Apache — это лицензия с открытым исходным кодом, выданная организацией Apache Software Foundation. Под данной лицензией вы можете использовать, изменять или распространять любой продукт, лицензированный Apache. Основные моменты: если для производной работы использованы рекламные материалы, для них не обязательно указывать ссылку на лицензию Apache, хотя указание авторства должно оставаться в документации. Лицензия также позволяет получить патентные права на ПО/продукт.
Существует два типа BSD лицензии:
Каждая BSD лицензия дает разрешение на изменение и распространение исходного или двоичного (объектного) кода программного обеспечения. Однако вы должны сохранять копию условий, уведомления об авторских правах и отказа от ответственности.
Лицензия CDDL — это лицензия с открытым исходным кодом, созданная компанией Sun Microsystems (Oracle). В рамках CDDL вы можете воспроизводить и распространять оригинальные или производные работы лицензионного программного обеспечения. Однако вы не можете вносить изменения или удалять какие-либо уведомления об авторских правах, патентах или товарных знаках. Кроме того, пользователь должен сохранять уведомления или текст со ссылкой на участников или разработчиков.
Если вы распространяете программное обеспечение в исполняемой форме, то есть в форме, которая не является исходным кодом, вы должны сделать исходный код доступным. Вы обязаны опубликовать исходный код своих материалов, если они соответствуют одному или обоим из следующих правил:
Когда вы делаете релиз исходного кода, вам необходимо включить копию CDDL лицензии. Более того, для каждого внесенного вами изменения вы должны включать в измененные файлы уведомление о том, что вы являетесь модификатором. Если вы внесли дополнения в отдельные, независимые файлы, не содержащие исходного кода, тогда вам не нужна лицензия CDDL.
Это лицензия с авторским левом (копилефт), выданная организацией Eclipse Foundation. Цель EPL — защитить авторов от юридических проблем, если компания использует их компонент в коммерческом продукте. Лицензия также предполагает выдачу патента.
Если вы модифицируете компонент EPL и распространяете его как исходный код, вы должны раскрывать измененный код. Если вы распространяете свой продукт в форме объектного кода, вам необходимо уточнить, что вы предоставите исходный код по запросу. Вам также необходимо уточнить, как запросить исходный код. Когда вы распространяете программу, включающую часть продукта под лицензией EPL, вам необходимо включить полный текст авторских прав и лицензии.
В EPL также говорится, что взаимодействие или сопряжение с модулем не делает его автоматически производным продуктом. Проще говоря, пока вы не вносите изменения в модуль, это не будет считаться производной работой.
Лицензия GPL — это самая популярная лицензия с открытым исходным кодом (к примеру, плагины и темы WordPress должны иметь эту лицензию). Это лицензия с копилефт (авторским левом), поэтому любое программное обеспечение, использующее какой-либо компонент под GPL, должно иметь открытый исходный код, даже если модифицированный код занимает лишь небольшой процент.
Программное обеспечение можно использовать и модифицировать где угодно, практически без каких-либо ограничений, независимо от того, используете ли вы его в личных или коммерческих целях. Однако существуют ограничения, если вы распространяете материалы за пределами своей организации. В этом случае вы должны распространять полный исходный код, а также те же условия лицензии, что и исходное программное обеспечение.
Если новый продукт содержит только часть программного обеспечения под лицензией GPL, нужно ли вам распространять полный исходный код? Возможно. Согласно GPL, все производные работы должны лицензироваться в соответствии с полными условиями лицензирования. Однако если вы распространяете программное обеспечение под лицензией GPL вместе с проприетарной (частной) системой, и это две отдельные работы — то есть они не используют общие структуры данных и выполняются в отдельных процессах — тогда вам, возможно, не придется публиковать исходный код для всего программного обеспечения.
В соответствии с LGPL — более слабой версией GPL — лицензируемые продукты могут быть привязаны к проприетарным приложениям (патентованным). Проприетарный код может по-прежнему оставаться проприетарным (частным), в зависимости от того, динамически или статически скомпонованы программы. Эта лицензия часто сопровождает свободное программное обеспечение, позволяя включать его в свободное или проприетарное программное обеспечение. Вам не требуется открывать исходный код ваших собственных (проприетарных) расширений.
Лицензия Ms-PL — это бесплатная лицензия на программное обеспечение с открытым исходным кодом от компании Microsoft, которая сопровождает собственные проекты Microsoft с открытым исходным кодом. Пользователи могут создавать и распространять оригинальные или производные программы, но вы не можете использовать имя, логотип или товарный знак автора. Ms-PL требует сохранения оригинальных уведомлений об авторстве, авторских правах, патентах и товарных знаках. Кроме того, если код не работает в производной работе, автор не несет ответственности — нет никаких гарантий или обязательств относительно работоспособности кода.
Когда вы распространяете продукт под лицензией Ms-PL, вы не обязаны распространять исходный код, хотя и можете. Если вы решите распространять исходный код (или даже часть исходного кода) — вам необходимо включить полную копию Ms-PL лицензии.
Лицензия MIT является одной из наиболее гибких лицензий с открытым исходным кодом и предоставляет все права конечному пользователю, которые ожидаются от лицензии с открытым исходным кодом: копирование, распространение, слияние, изменение, и т. д. В основном лицензия известна тем, что она не включает, — а именно пункт о рекламе. Кроме того, она позволяет использовать имя владельца авторских прав в рекламном контенте.
Вы можете делать с продуктом по этой лицензии все, что пожелаете. Однако в производном продукте вы должны указывать год авторских прав и информацию о владельце.
Публичная лицензия Mozilla 2.0 является лицензией с авторским левом. Участники могут делиться изменениями, внесенными в код. Они также могут комбинировать код с кодом под другими открытыми или проприетарными лицензиями. Если вы хотите использовать программное обеспечение MPL для каких-либо целей и распространять его внутри своей организации, вам не нужно делать ничего особенного. Если вы хотите изменить исходный код MPL и распространять производную работу за пределами вашей организации, вам необходимо:
Выбор лицензии с открытым исходным кодом для вашего продукта или программного обеспечения не так прост, как вам бы того хотелось. Если вас не волнует, кто и что делает с вашим продуктом, вы можете воспользоваться одной из «сверхгибких» лицензий, например MIT лицензией. В противном случае вам стоит поговорить с профессионалом, будь то опытный разработчик или юрист, чтобы обсудить ваши пожелания и подобрать наилучшую лицензию. А предварительное знание основ, полученных из нашего обзора, особенно терминологии общих лицензий, помогут вам начать этот сложный путь.
Выбор мастера для ремонта и перетяжки мебели — задача, которая требует вдумчивого подхода. Ведь от…
Выбор идеального хостинга под свой сайт может быть довольно запутанным делом, особенно когда существует так…
Чтобы избегать ошибок, нужно набираться опыта; чтобы набираться опыта, надо делать ошибки Лоуренс Питер
Краткое определение Черного SEO Черное СЕО (или Черная оптимизация) — это любая практика, целью которой…
Получение водительских прав категории C открывает двери к профессиональной деятельности, связанной с управлением грузовыми автомобилями.…