Программное обеспечение с открытым исходным кодом — одна из самых влиятельных инициатив в истории информатики и программирования. Фраза «открытый исходный код» означает то, что открыто для использования людьми. Таким образом, программное обеспечение с открытым исходным кодом — это тип программного обеспечения, открытого для общественности, исходный код которого можно использовать, модифицировать и изучать.

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

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



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

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

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

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

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



№2: Публичная лицензия Mozilla (MPL)

Далее у нас есть еще одна лицензия с авторским левом, которая называется Общественная лицензия Mozilla. MPL имеет более слабые требования к авторскому левому, чем лицензии GPL. Разница между MPL и GPL заключается в том, что если вы модифицируете код, изначально распространяемый под лицензией MPL, вы можете выбрать любую желаемую лицензию при условии, что модификации хранятся в отдельных файлах из материалов, лицензированных MPL.

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

№3: Лицензия Apache

Переходя от лицензий с авторским левом к разрешающим, не требующим наследования исходной лицензии, мы начнем с Лицензии Apache. Лицензия Apache выпускается и модифицируется Apache Software Foundation (ASF); первая версия этой лицензии была выпущена в 1995 году.

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



№4: Лицензия MIT

Далее следует любимая многими разработчиками лицензия, в том числе и я, — лицензия MIT. Лицензия MIT — это разрешающая лицензия, первоначально выпущенная Массачусетским технологическим институтом в конце 80-х годов. Причина, по которой многие предпочитают эту лицензию, заключается в том, что она краткая, просто написана и четко указывает, что разрешено, а что нет.

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

№5: Лицензия ПО Boost (Boost)

Еще одна простая короткая лицензия — это Boost Software License (Boost), изначально написанная для библиотек C++ Boost. Была проделана большая работа, чтобы сделать лицензию Boost простой, и последняя версия этой лицензии соответствует следующим условиям:

  • Код, лицензированный с использованием Boost, должен быть простым для чтения и понимания.
  • Лицензионная работа может быть скопирована, использована, изменена без какой-либо платы.
  • Любая добавленная работа должна включать лицензию со всеми копиями, даже перераспределениями.

Лицензия Boost — это простая разрешающая лицензия, которая в большинстве случаев очень похожа на лицензию MIT и имеет только два основных отличия:

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

№6: Нелицензия

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

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



Выводы

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

  1. Контроль. Открытый исходный код дает вам полный контроль над программным обеспечением. Вы можете изучить его, изменить, исправить то, что сломано, и использовать его по своему усмотрению в соответствии с правилами лицензии.
  2. Безопасность и стабильность. Если вы сможете решить проблему, не дожидаясь разрешения автора, проблема будет устранена быстрее и эффективнее.
  3. Сообщество. Это, пожалуй, самый важный аспект для многих других программистов и для меня. Сообщество открытого исходного кода — одна из важных вещей; встречи с единомышленниками со всего мира и обучение у них делают открытый исходный код такой интригующей концепцией.

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

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