Багато розробники та дизайнери хочуть випускати свою продукцію в світ як проекти з відкритим кодом. Вони хочуть, щоб інші могли брати їх коди за основу для своєї роботи і ділилися ними, тому спільнота в підтримку відкритих кодів таке енергійне. Практично для будь-яких цілей, які ви тільки назвете, існує ПО з відкритим кодом. Більшість дизайнерів постійно використовує програми з відкритим кодом (WordPress, Drupal та багато інших CMS - все це ПЗ з відкритим кодом).
Але багато розробників і дизайнерів не зовсім чітко уявляють собі, що, власне, означають різні типи ліцензій для ПЗ з відкритим кодом. Від яких прав вони відмовляються, коли вибирають ліцензію з відкритим кодом (Open-Source license)? Без чіткого розуміння того, що саме означає той чи інший вид ліцензії і як її правильно застосовувати, розробник не може прийняти зважене рішення щодо того, яку з ліцензій застосувати для своєї роботи.
Що таке ліцензування?
GNU, General Public License - Стандартна громадська ліцензія
GNU, General Public License (GPL). Стандартна громадська ліцензія, напевно, використовується для проектів з відкритим кодом найчастіше. GPL гарантує і надає розробникам, які працюють над проектами з відкритим кодом, найбільш широкий спектр прав. В основному, вона дозволяє користувачам легально копіювати, поширювати і модифікувати ПЗ. Це означає, що ви можете:
* Копіювати ПО
Копіювати його на ваш власний сервер, сервера ваших клієнтів, ваш особистий комп'ютер, в общем-то, куди вам завгодно. Кількість копій, які ви можете зробити, не обмежена.
* Поширювати ПО, як ви хочете
Надавати посилання на завантаження ПЗ на своєму сайті. Розмістити ПО на безлічі USB-хранителів і роздати їх. Роздрукувати вихідний код програми і викидати його з дахів будинків (хоча, не робіть цього, будь ласка, тому що це буде безглуздою тратою паперу і створить купу сміття).
* Поширювати ПО за плату
Якщо ви хочете отримувати гроші за надання цього ПО, розмістити його на чиємусь сайті або зробити ще що-небудь подібне, ви можете це зробити. Але ви повинні дати їм копію GNU GPL, в якій, взагалі-то, зазначено, що вони можуть отримати цю ж копію в іншому місці безкоштовно. Найкраще бути спочатку чесним щодо цього і мати вагомі аргументи, щоб привести їх у відповідь на питання, чому ви просите грошей за цей продукт.
* Робити будь-які модифікації з цим ПО
Якщо ви хочете додати або видалити якусь частину функціоналу програми, вперед. Якщо ви хочете використовувати частину коду в іншому проекті, ви можете зробити і це. Єдиний підступ полягає в тому, що в такому випадку той, інший проект повинен бути також випущений під GPL ліцензією.
Майте на увазі, дуже важливо розуміти, що поширення вихідного і довічного кодів - це різні речі. У деяких ліцензіях є питання і обмеження, якщо ліцензія використовується з додатками, які випускаються з іншими ліцензійними угодами. Дізнатися подробиці ви можете, прочитавши статтю «Практичний посібник з відповідності GPL». Щоб скористатися GPL, вам слід включити певну інформацію в код програми, а також додати копію ліцензії.
GNU - Стандартна громадська ліцензія з меншими правами (Lesser General Public Licence)
Ви також повинні знати про інший ліцензії GNU: Стандартної громадської ліцензії з меншими правами (Lesser General Public Licence (LGPL). Вона дає менше прав на роботу, ніж стандартна GPL. Загалом, LGPL підходить для бібліотек, які хочуть дозволити розміщення посилань на ПО , що поширюється не по GPL, а також пО із закритим ісходником. через те, що GPL вимагає, щоб інші програми, в яких використовувалися частини коду, що поширює за цією ліцензією, також поширювалися за ліцензією GPL, розробники не можуть користуватися GPL-ліцензованим кодом для пла них і патентованих програм. LGPL заперечує цю умову, не вимагаючи, щоб інші проекти, що використовують частини цього коду, були ліцензовані такий же ліцензією.
Ліцензія BSD дає дозвіл на надання ряду безкоштовних ліцензій на ПЗ, в яких обумовлено менше обмежень щодо поширення, в порівнянні з іншими безкоштовними ліцензіями, такими як GNU (General Public License - Стандартна громадська ліцензія). Серед кількох різних версій ліцензії, особливо важливі два з них: Нова ліцензія BSD / Модифікована BSD ліцензія, і спрощена BSD ліцензія / ліцензія FreeBSD. Обидві були заявлені як GPL-сумісні ліцензії на безкоштовне ПО і прийняті організацією Open Source Initiative, як ліцензії з відкритим кодом.
Ліцензія MIT - це найкоротша і, можливо, сама толерантна з усіх популярних ліцензій на ПЗ з відкритим кодом. Її умови дуже вільні і дають більше дозволів, ніж більшість інших ліцензій. Основні умови цієї ліцензії (не рахуючи інформації, що вона надається без гарантій, що входить в останній її параграф), такі:
Це означає, що:
* Ви можете використовувати, копіювати і модифікувати ПЗ, як захочете. Ніхто не може заборонити використовувати його в будь-якому з ваших проектів, копіювати його стільки разів, скільки ви захочете і в будь-якому форматі, в якому ви захочете, або змінювати його, як ви захочете.
* Ви можете віддавати ці програми безкоштовно або продавати. У вас немає ніяких обмежень на спосіб поширення ПО, захищеного такою ліцензією.
* Єдине обмеження полягає в тому, що ПО має поставлятися в комплекті з ліцензійною угодою.
Ліцензія MIT - найменш сувора з усіх ліцензій. У ній, в загальному, то кажуть, що кожен може робити все, що він хоче з ліцензованим матеріалом, за умови, що продукт буде супроводжуватися ліцензією.
Ось кілька подробиць щодо того, що дозволяє робити ліцензія Apache:
* Права вічні
Як тільки ви їх отримали, ви можете користуватися ними завжди.
* Права поширюються по всьому світу
Якщо ви отримали права в одній країні, вони працюють у всіх країнах. Наприклад, якщо ви живете в США, а оригінальна ліцензія була отримана в Індії, згідно з цією ліцензії, вам не можуть заборонити використовувати програмний код.
* Права даються абсолютно безкоштовно і без будь-яких комісійних виплат
Вас не тільки не попросять заплатити авансом за використання ПЗ, але у вас теж не попросять ніякої плати, ні під час використання ПЗ, ні коли-небудь ще.
* Ці права не обходиться без цієї
Ви можете користуватися цією ліцензованої роботою, але також може і хто завгодно.
* Ці права є остаточними (безповоротні)
Ніхто не може забрати у вас права, як тільки ви їх отримали. Іншими словами, вам не потрібно хвилюватися, що в подальшому, коли ви створите на основі ліцензованого коду якийсь приголомшливий продукт, хтось забере його і скаже: «Вибачте, ви не можете більше користуватися цим кодом». (Пункт в ліцензійній угоді стверджує, що якщо ви подасте на кого-то в суд за порушення патенту по кому-небудь продукту, розповсюджуваному за цією ліцензією, ваша ліцензія буде анульована. Але це стосується тільки патентованих робіт, і, якщо ви не збираєтеся подавати на кого-то в суд через цієї роботи, вам не потрібно переживати про це.)
При перерозподілі коду також діють особливі вимоги, здебільшого щодо створення гарного іміджу і репутації людям, які працювали над створенням коду і підтримку тієї ж ліцензії.
Ліцензії Creative Commons (CC) - це не зовсім ліцензії на відкритий код, але вони зазвичай використовуються для дизайнерських проектів. Серед СС - велика різноманітність ліцензій, кожна і яких надає певні права. Ліцензія CC має чотири основні частини, кожна з яких може бути встановлена індивідуально або в комбінації з іншими. Ось короткий огляд цих частин:
* No Derivative Works - Без похідною роботи
Це означає, що ви можете копіювати і поширювати ліцензовану роботу, але ви не можете її жодним чином змінювати або створювати роботу на основі оригіналу.
Ліцензії CC використовуються найчастіше для дизайнерської роботи, ніж для розробки ПО, але ніщо не заважає вам скористатися нею для розробки ПО в майбутньому. Просто уважно вивчіть що захищає кожна її частина.