Crash Course in Free Software Licenses
В современном мире исключительно важно уметь хорошо ориентироваться в быстроменяющемся потоке новых технологий. При этом не стоит забывать о лицензиях. Чтобы потом не было мучительно больно и стыдно. В принципе, многие догадываются, что включать купленные у метро программы в свои программные продукты нехорошо, и может случиться а-та-та. А вот с "свободным софтом" как-то непонятно. Вот, рассказываю.
Для начала определимся с популярными словами в мире free software:
Copyleft - ключевое понятие свободных лицензий, родившееся, как антоним copyright. Соответственно, строится как отрицание навязшего в зубах "This Software is protected by copyright. You may not copy, modify, sublicense, distribute, alter, transform or build upon, rent, lease, lend, reverse engineer, decompile, or disassemble the Software". В широком смысле copyleft даёт право:
1. использовать и изучать,
2. копировать и делиться с другими,
3. изменять объект лицензирования и распространять полученный в результате продукт.
Сopyleft является "запрещающей" лицензией, то есть запрещает лицензирование порождённых продуктов другими типами лицензий.
Free - аж два ключевых понятия. Как учит нас Ligvo, free может означать как "свободный", так и "бесплатный". Из-за этого часто возникает путаница. Мало кто спутает эти понятия по отношению к себе ("Я свободный человек, и поэтому меня можно использовать бесплатно"), а вот по отношению к результатам чужого труда - сплошь и рядом. Так вот, для уточнения используются понятия "Free as in beer" и "Free as in speech". И free licenses, разумеется, про свободу, а не халяву.
Существует множество свободных лицензий. Вот самые известные.
GNU General Public License (GPL)
Самая популярная лицензия. Является copyleft, в том смысле, что обязывает использовать GPL во всех изменённых или порождённых продуктах. На данный момент есть две версии: GPLv2 и GPLv3. Основные изменения в новой версии касаются патентов, определения понятия "Source Code" и совместимости с другими лицензиями. GPLv3 была выпущена 29 июня 2007 года, и сейчас идёт процесс перехода со второй версии на третью. Это непростой процесс. Например, Linux до сих пор использует GPLv2, поскольку GPLv3 Товардса не устраивает.
Интересным фактом является то, что не существует перевода GPL на другие языки, и это принципиальная позиция Free Software Foundation.
GNU Lesser General Public License (LGPL)
"Белая ворона" в семье GPL. Основное отличие - не содержит требования использовать указанную лицензию в порождённых продуктах. Использовалась преимущественно для библиотек, и раньше называлась GNU Library General Public License.
Проще говоря, можно использовать библиотеки под LGPL в продуктах под закрытой лицензией. Что, разумеется, не очень нравится Free Software Foundation, но вполне устраивает как разработчиков библиотек, так и заказчиков "закрытого" софта.
Apache License
Является свободной лицензией, но не является copyleft. То есть, с одной стороны, настаивает на сохранении авторских прав, а, с другой, позволяет использовать продукт как в открытом, так и в закрытом софте. Интересным фактом является то, что Apache License несовместима с GPLv2. Поэтому продукт, объединяющий компоненты под GPLv2 и Apache License просто не может существовать. Несовместимость была устранена в GPLv3.
BSD License
Это, на самом деле, целое семейство лицензий (X10 license, X11 license, FreeBSD license, две собственно Berkeley Software Distribution license, NetBSD license и т.д.), которое объединяет отсутствие ограничений на использование продукта. Единственное требование - это соблюдение авторства. То есть, продукты под BSD License можно использовать в закрытом софте, совместно с закрытым софтом, под собственной лицензией и т.д.
С первоначальной лицензией BSD связан курьёз. В её тексте присутствовал следующий абзац:
3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
This product includes software developed by the University of California, Berkeley and its contributors.
Казалось бы, ничего страшного. Делов то: упомянуть в рекламе продукта Berkeley. Однако, поскольку сам текст лицензии находится в Public Domain, а человек - существо тщеславное... В общем, велико искушение дописать туда Anton Terekhov. В результате, к 1997 году NetBSD содержал аж 75 имён и названий, которые необходимо упомянуть в рекламе.
Кроме того, это делало лицензию несовместимой с GPL. В результате, в 1999 году этот абзац был убран.
Public Domain Software
Это продукт, выпущенный во внешний мир безо всяких лицензионных ограничений. Поэтому с ним можно делать всё, что угодно, и вам за это ничего не будет.
И, по настоянию руководства, мораль: крошка сын к отцу пришёл и сказала кроха: Ты не мудри, ты пальцем покажи! Короче: всё, что под GPL, нельзя. Остальное - можно.
