Якщо ви створюєте програмне забезпечення, яким хочете поділитися, або використовуєте програмний продукт, який хочете модифікувати, важливо розуміти законність своїх дій. Навіть програми, які мають відкриті ліцензії, не повністю відкриті/безкоштовні. Через нерозуміння деяких моментів ліцензій існує висока ймовірність потрапити в неприємну ситуацію із законом. А знання повноважень та/або обмежень за ліцензією дасть вам велику впевненість при користуванні програмним забезпеченням.
Ліцензія з відкритим вихідним кодом є юридично зобов’язуючим договором між автором програмного забезпечення та користувачем. Ліцензії з відкритим вихідним кодом відповідають наступному короткому визначенню: програмне забезпечення або продукт (його проект, дизайн та/або вихідний код) можуть використовуватися, модифікуватися та/або розповсюджуватися за бажанням користувача. Коротко кажучи, користувач має право налаштувати продукт під свої потреби, а потім поділитися цим продуктом з іншими людьми. Проте, навіть ліцензії з відкритим вихідним кодом накладають деякі умови/обмеження при поширенні ПЗ (продукту). Наприклад, часто такими умовами є збереження імен авторів та повторне розповсюдження похідних продуктів під тією самою ліцензією. Крім того, якщо ліцензія дозволяє модифікацію або розповсюдження продукту тільки для некомерційних цілей, це вже не вважається ліцензією з відкритим вихідним кодом.
Програмне забезпечення, опубліковане публічно та доступне безкоштовно, не буде автоматично вважатися ліцензованим під відкритим вихідним кодом. Для цього потрібна відповідна та офіційна Ліцензія. Багато програм з відкритим вихідним кодом безкоштовні, але це не означає, що безкоштовність є офіційною вимогою або гарантією.
Програміст пише вихідний код. Це текстовий документ (або файл), написаний мовою, зрозумілою для людей, та файл написаний якоюсь мовою програмування. Однак машини (комп’ютери) насправді не можуть читати вихідний код у тому вигляді, в якому він написаний. Щоб зробити його машиночитаним, комп’ютер повинен скомпілювати вихідний код в машиновиконуваний код, тобто в об’єктний код. Об’єктний код записується у вигляді двійкових цифр (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 ліцензією. В іншому випадку вам варто поговорити з професіоналом, будь то досвідченим розробником або юристом, щоб обговорити ваші побажання та підібрати найкращу ліцензію. А попереднє знання основ, отримані з нашого огляду, особливо термінології загальних ліцензій, допоможуть вам розпочати цей складний шлях.
Сьогоднішній огляд присвячений людям, для яких важливе питання конфіденційності в Інтернеті, та хто цінує свої…
Вперше про бренд Pro Plan почули у 1986 році, коли він став частиною американської компанії…
Страх покарання гірше самого покарання (Покарання — завжди щось конкретне, і воно все ж краще,…
Якщо ви плануєте розмістити веб-сайт в мережі Інтернет, дуже важливо знайти для нього швидкий і…
Навчання за кордоном вже давно асоціюється з якісною освітою, новими можливостями та безліччю перспектив. Але…
Вибір майстра для ремонту та перетяжки меблів – завдання, яке потребує вдумливого підходу. Адже від…