Лицензии открытого кода: краткое руководство

Открытый исходный код распространяется на основе свободной лицензии (free license). Изображение с сайта pexels.com (СС0)
Открытый исходный код распространяется на основе свободной лицензии (free license). Изображение с сайта pexels.com (СС0)

Все лицен­зии на про­грамм­ное обес­пе­че­ние делят­ся на две боль­ших груп­пы: несво­бод­ные (про­при­е­тар­ные) и сво­бод­ные. У этих кате­го­рий есть суще­ствен­ные раз­ли­чия, кото­рые опре­де­ля­ют пра­ва исполь­зо­ва­ния. Откры­тый исход­ный код рас­про­стра­ня­ет­ся на осно­ве откры­той лицен­зии. В этой ста­тье мы раз­бе­рем, какие суще­ству­ют виды откры­тых лицен­зий и что они озна­ча­ют.

Откры­тая лицен­зия поз­во­ля­ет сво­бод­но и сов­мест­но исполь­зо­вать, моди­фи­ци­ро­вать про­грамм­ное обес­пе­че­ние.

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

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

На схеме показана детализация категорий программ. Изображение с сайта www.gnu.org
На схе­ме пока­за­на дета­ли­за­ция кате­го­рий про­грамм. Изоб­ра­же­ние с сай­та www.gnu.org

Список одобренных лицензий для открытого ПО

Такой спи­сок соста­ви­ла орга­ни­за­ция по про­дви­же­нию откры­то­го ПО Open Source Initiative. В него вошли несколь­ко попу­ляр­ных под­твер­жден­ных лицен­зий.

1. GNU, General Public License (GPL). В сооб­ще­стве про­грам­ми­стов это одна из клю­че­вых лицен­зий, кото­рая исполь­зу­ет­ся при напи­са­нии откры­то­го ПО. Ее создал про­грам­мист, осно­ва­тель дви­же­ния откры­то­го ПО и про­ек­та по раз­ра­бот­ке сво­бод­но­го ПО GNU (The GNU ProjectРичард Столл­ман.

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

Напри­мер, под этой лицен­зи­ей рас­про­стра­ня­ет­ся ядро Linux, MySQL, Asterisk и мно­гие CMS-систе­мы (систе­мы управ­ле­ния содер­жи­мым): MovableType, MODx, WordPress, Joomla, Drupal, osCommerce.

2. Apache License 2.0. Гиб­кая лицен­зия, кото­рая име­ет чет­кие пра­ва. Плюс в том, что они могут при­ме­нять­ся к копи­рай­там и патен­там. Неко­то­рые из доступ­ных прав: пра­ва без­воз­мезд­ны, веч­ны, не экс­клю­зив­ны и гло­баль­ны. Если вы рас­про­стра­ня­е­те код, вы долж­ны ука­зать имя раз­ра­бот­чи­ка.

3. BSD (Berkeley Software Distribution). В этой лицен­зии не такие стро­гие пра­ви­ла, как в GPL. Раз­ра­бот­чи­ки долж­ны выпол­нить неслож­ные усло­вия: ука­зы­вать в доку­мен­та­ции, что в про­дук­те исполь­зу­ют­ся раз­ра­бот­ки созда­те­лей ори­ги­наль­но­го про­грамм­но­го обес­пе­че­ния и не исполь­зо­вать име­на (или назва­ния) созда­те­лей это­го ПО в реклам­ных целях без пись­мен­но­го согла­сия.

BSD-лицен­зий суще­ству­ет несколь­ко видов. Наи­бо­лее исполь­зу­е­мые New BSD/Modified BSD и Simplified BSD/FreeBSD. Лицен­зия New BSD раз­ре­ша­ет рас­про­стра­нять ПО с любой целью, не дает гаран­тий и не несет ответ­ствен­но­сти за послед­ствия исполь­зо­ва­ния. Есть пункт в виде спе­ци­аль­но­го раз­ре­ше­ния: нель­зя исполь­зо­вать име­на участ­ни­ков ваше­го про­ек­та. Меж­ду эти­ми лицен­зи­я­ми един­ствен­ное отли­чие: в Simplified BSD не огра­ни­че­но исполь­зо­ва­ние имен.

Напри­мер, ком­па­ния Apple исполь­зу­ет пре­иму­ще­ствен­но лицен­зии BSD.

4. GNU Lesser General Public License (LGPL). Появи­лась в рам­ках про­ек­та GNU. Дает боль­ше прав, чем GPL. Глав­ное отли­чие в том, что она поз­во­ля­ет исполь­зо­вать про­дук­ты LGPL в про­ек­тах, кото­рые рас­про­стра­ня­ют­ся под дру­ги­ми лицен­зи­я­ми.

Один из извест­ных про­дук­тов, выпус­ка­е­мый под этой лицен­зи­ей, – офис­ный пакет OpenOffice.org.

Еще по теме: Что такое откры­тый код

5. MIT license (Massachusetts Institute of Technology). Очень корот­кая и доста­точ­но сво­бод­ная лицен­зия. Она раз­ре­ша­ет исполь­зо­вать, копи­ро­вать и моди­фи­ци­ро­вать про­грамм­ное обес­пе­че­ние на ваше усмот­ре­ние. ПО мож­но предо­став­лять бес­плат­но или даже про­да­вать. Огра­ни­че­ний нет. Но есть огра­ни­че­ние в том, что ваше ПО долж­но сопро­вож­дать­ся лицен­зи­он­ным согла­ше­ни­ем.

Про­грамм­ное обес­пе­че­ние, кото­рое лицен­зи­ро­ва­но MIT, мож­но исполь­зо­вать в закры­тых про­дук­тах. Лицен­зия схо­жа с BSD. Но в MIT мож­но исполь­зо­вать назва­ние про­дук­та и име­на созда­те­лей в реклам­ных целях. Под MIT рас­про­стра­ня­ют­ся X Window System (X11) и Ruby on Rails.

6. Mozilla Public License 2.0. Содер­жит в себе чер­ты BSD и GPL. Исход­ный код, ско­пи­ро­ван­ный или изме­нен­ный под лицен­зи­ей MPL, дол­жен быть лицен­зи­ро­ван по пра­ви­лам MPL. Лицен­зия поз­во­ля­ет объ­еди­нить его в одной про­грам­ме с про­при­е­тар­ны­ми (несво­бод­ны­ми) фай­ла­ми.

7. Common Development and Distribution LicenseЭта лицен­зия поз­во­ля­ет сов­ме­щать откры­тый и закры­тый код, защи­щен­ный автор­ски­ми пра­ва­ми. Фай­лы мож­но сов­ме­щать с фай­ла­ми, кото­рые нахо­дят­ся под дру­ги­ми откры­ты­ми или про­при­е­тар­ны­ми (несво­бод­ны­ми) лицен­зи­я­ми.

8. Eclipse Public License. Лицен­зия наи­бо­лее под­хо­дит для биз­нес-ори­ен­ти­ро­ван­но­го сво­бод­но­го ПО и бази­ру­ет­ся на лицен­зии CPL. У нее более гиб­кие пра­ви­ла отка­за на автор­ские пра­ва.

По мне­нию раз­ра­бот­чи­ка сво­бод­но­го про­грамм­но­го обес­пе­че­ния Сер­гея Мат­ве­е­ва сто­ит исполь­зо­вать лицен­зии семей­ства GNU GPL. «Мне важ­но, что­бы мой труд был сво­бод­ным ПО, что­бы он при­нес поль­зу обще­ству, что­бы никто не смог сде­лать мое ПО не сво­бод­ным или исполь­зо­вать его в помощь несво­бод­но­му, так как это обес­це­ни­ло мой вклад, – объ­яс­ня­ет экс­перт. – Мно­гие гово­рят, что не хотят исполь­зо­вать GPL, пото­му-что хотят сво­бод­ны, абсо­лют­но­го отсут­ствия огра­ни­че­ний. В таком слу­чае под­хо­дит толь­ко public domain: обще­ствен­ное досто­я­ние, где ПО дей­стви­тель­но пере­ста­ет что-то тре­бо­вать или огра­ни­чи­вать».

С пол­ным спис­ком одоб­рен­ных лицен­зий мож­но озна­ко­мить­ся на сай­те Open Source Initiative.