Що потрібно знати про ліцензії GitHub: як вибрати та додати

Программирование

GitHub ліцензії – про що мова? Для того, щоб створити програмне забезпечення, потрібно не тільки написати його, але й вирішити, що з ним мають право робити користувачі або розробники. Якщо хтось створює безкоштовну програму для всіх, він робить добру справу, однак той, хто її використовує, повинен буде обґрунтувати те, як він її використовує. Наприклад, якщо фірма у своїй діяльності працюватиме з будь-яким безкоштовним офісом (наприклад, LibreOffice), то для перевіряючих вона має вміти довести, що має право так робити. Для цього достатньо буде надати відповідну ліцензію. Якщо розробник забуде її сформулювати, фірма може бути у складному становищі.

Що потрібно знати про ліцензії GitHub: як вибрати та додати
Класифікація ліцензій та типи ліцензій
Створюючи програму, розробник повинен вирішити, які дії з його програмою будуть дозволені, а які ні. Наприклад, може бути не лише про використання, а й про вивчення текстів програм або внесення своїх коригувань у програмний продукт. GitHub представляє один із найбільших сервісів, що дають можливість вести спільну розробку проектів. При цьому тут можуть працювати не лише над безкоштовними, а й над комерційними проектами. Вказавши відповідну ліцензію, розробники усунуть неясності у тому, як використати створений продукт. Проблема полягає в тому, що існує інший тип ліцензій, і не завжди досить просто визначити, який саме варіант слід віддати перевагу в конкретному випадку. Також нерідкі ситуації, коли ліцензія у деяких проектів відсутня.Необхідно більше дізнатися про ліцензування, щоб зрозуміти, які права та обов’язки користувачів виникають у різних випадках.
Що потрібно знати про ліцензії GitHub: як вибрати та додати

Вказуючи необхідну ліцензію, розробник може передбачити у ній таке:

  1. Умови використання програми . Вони можуть передбачати внесення плати або в деяких або у всіх випадках дозволяти безкоштовне використання.
  2. Іноді програми створюються для того, щоб їх розвивала спільнота . У цьому випадку важливо, щоб з програмними текстами могли ознайомитись усі бажаючі.
  3. Коли тексти програми доступні, деякі могли б внести зміни , зробивши програму функціональною та якомога надійнішою. Іноді автор може дозволити це робити всім охочим, в інших випадках пропонує надсилати зміну йому, а вносить корективи до проекту самостійно.
  4. Потрібно вирішити, чи можуть треті особи вносити зміни до проекту та пропонувати від свого імені. При цьому необхідно вказати, з якою ліцензією має бути їхній продукт.

Вирішуючи ці та аналогічні питання автор програми практично багато в чому визначає подальшу долю створеного ним програмного продукту.

Які види ліцензій існують

Ліцензія є договір, у якому одна сторона (ліцензіар) встановлює правило використання іншою стороною (ліцензіатом) створеного ним продукту. На практиці йдеться не про підписання документа сторонами, а про автоматичну згоду з відповідними правами та обов’язками за фактом його використання. Для зазначення прав та обов’язків практично не існує обмежень. Єдиною умовою є те, що вони повинні відповідати законодавству. Створення власних ліцензій є складну роботу, оскільки у своїй необхідно передбачити її сумісність коїться з іншими нормативними актами. Оптимальним варіантом є вибір і застосування одного із стандартних різновидів таких документів. Насправді також прийнято застосовувати мультиліцензування. Найчастіше у таких випадках використовують одночасно дві ліцензії.Хоча автор програми має право самостійно сформулювати правила, яким повинні слідувати користувачі, проте на практиці склалося використання великої кількості видів ліцензій, з яких можна вибрати відповідну здебільшого. Далі наведені найбільш популярні варіанти, які використовуються на Git Hub у більшості випадків. Ліцензії, що використовуються на Git Hub найчастіше:
Що потрібно знати про ліцензії GitHub: як вибрати та додати Програмісту доведеться вибрати таку, яка відповідатиме його планам. Щоб це зробити правильно, потрібно розуміти, які особливості притаманні певним видам.

Якщо автор відмовляється сформулювати документ, то в цьому випадку діятимуть авторські права, передбачені за замовчуванням законодавством країни. Відсутність ліцензії таким чином не означає, що з програмою можна зробити все, що завгодно. Фактично таку ситуацію можна розглядати як один із видів ліцензії.

Як вибрати Github ліцензію

Перед тим, як розпочати пошук відповідного варіанту, необхідно, щоб програміст сформулював свої вимоги, з яких він збирається виходити при подальшому ліцензуванні. Далі варто ознайомитись з типовими варіантами, що відповідають запиту. Після цього потрібно уважно вивчити юридичні формулювання та прийняти остаточне рішення про те, якою має бути ліцензія. Щоб зробити обґрунтований вибір, потрібно зрозуміти, які права та обов’язки визначаються конкретним типом ліцензії. Щоб зробити вибір правильно, можна скористатись спеціальними сервісами, які називаються компараторами. Ось кілька таких прикладів:

  1. https://choosealicense.com/. На цьому сайті є питання, що наводять, для вибору відповідного варіанту і докладні консультації, що допомагають зрозуміти особливості використання.
  2. Сторінка https://opensource.org/licenses присвячена розгляду різноманітних вільних рішень для програмного забезпечення.
  3. Сайт https://tldrlegal.com/ можна розглядати як енциклопедію для різних варіантів ліцензій. Тут є як точні юридичні формулювання, і докладні коментарі.

Що потрібно знати про ліцензії GitHub: як вибрати та додати
Порівняння ліцензій на сайті https://choosealicense.com/
Проте, найбільш продуктивним способом вибору є уважне читання відповідних юридичних документів. Хоча йдеться про трудомістку діяльність, тим не менш, вивчення текстів дасть розробнику всі необхідні відповіді.

Як додати ліцензію на Github

Незважаючи на широкий вибір варіантів ліцензій, які на практиці підтвердили свою ефективність та надійність, у розробника можуть бути свої уявлення про те, якою має бути ліцензія для створеної ним програми. У цьому випадку на сервісі передбачена можливість додавання власного варіанта чи коригування існуючого. Щоб додати ліцензію на Github, потрібно виконати такі дії:

  1. Потрібно перейти на головну сторінку свого репозиторію. Що потрібно знати про ліцензії GitHub: як вибрати та додати
  2. Потрібно натиснути кнопку для додавання файлу, потім вибрати “Create new file”. Що потрібно знати про ліцензії GitHub: як вибрати та додати
  3. Далі слід ввести ім’я файлу. Для ліцензії це може бути один із двох варіантів: LICENSE або LICENCE.md. Тут застосування великих букв є обов’язковим.
  4. Праворуч від поля введення імені файлу натисніть для вибору шаблону ліцензії. Що потрібно знати про ліцензії GitHub: як вибрати та додати
  5. У меню в лівій частині сторінки вибирають рядок “Add a license to your project”. При цьому вибирають варіант із уже існуючих документів. Що потрібно знати про ліцензії GitHub: як вибрати та додати
  6. Потім клацають по рядку “Review and submit”. Після цього запроваджують свої деталі угоди.
  7. Після цього необхідно уточнити, у чому полягали зроблені доповнення чи зміни. Далі вказують, чи здійснювалося коригування вибраного документа чи йдеться про створення іншого варіанта ліцензії. Що потрібно знати про ліцензії GitHub: як вибрати та додати

Підтвердивши внесені зміни, розробник завершує процедуру внесення змін до списку ліцензій на сервісі Git Hub.

Choose a license Github – приклади популярних ліцензій на Git Hub

Далі будуть розглянуті варіанти, які є найпопулярнішими. Розібравшись у їхніх сильних та слабких сторонах, програміст зможе знайти потрібний варіант чи зрозуміти, як ефективно здійснювати пошук.

GPL

Цю ліцензію можна назвати однією з найпопулярніших. Вона є класичною для тих, хто виробляє вільне програмне забезпечення. Однією з основних вимог цього документа є те, що вона
дозволяє вільно змінювати програму третім особам , але при цьому поширювати результат вони мають право лише під такою самою ліцензією. Ця ліцензія може мати різні версії. Найпізнішою є третя. GPL була використана розробниками таких програм, як система управління веб-контентом Drupal, система управління базами даних MariaDB, векторний графічний редактор InkSkape та деякі інші. Цікаво відзначити, що SQL використовує як GPL, а й комерційну ліцензію.

LGPL

Ця назва перекладається як “Менша стандартна громадська ліцензія GNU GPL”. Деяким розробникам GPL не підходить, оскільки створює їм обов’язок поширювати модифіковані продукти під тією самою ліцензією. Особливості застосування цього варіанта можна проілюструвати тим, як відбувається процес ліцензування застосування бібліотек, створених програмістом. При цьому прийнято розглядати такі три варіанти:

  1. Коли бібліотека забезпечує виконання нових функцій, причому ніякі комерційні бібліотеки що неспроможні виконати аналогічне завдання, то цьому випадку оптимальним є застосування GPL.
  2. Розробник у вільній бібліотеці вже реалізував існуючий стандарт. У цій сфері є комерційні варіанти із аналогічними функціями. Для цього випадку буде зручно вибрати LGPL.
  3. Коли йдеться про новий стандарт, який фактично перебуває у конкуренції з комерційним, тут підійде застосування ліцензії Apache.

У цьому стандарті
допускається комерційне використання бібліотек . Якщо використовуються модифікації, необхідно для поширення використовувати такі ж умови. Однак, просте використання коду допускає зміну умов.

Eclipse Public License

Цей документ
дозволяє розповсюдження під іншими ліцензіями, у тому числі комерційними . Основною умовою є те, що в модифікованих роботах нововведення буде винесено в окремий модуль. Ця ліцензія набула популярності при розробці продуктів на Java. Як приклад можна навести мову програмування Clojure, фреймворк для тестування програм на java.
Що потрібно знати про ліцензії GitHub: як вибрати та додати

Mozilla Public License

Деякі розглядають цей документ як компроміс між GPL та комерційними ліцензіями. Вимогою MPL є
наявність відкритого доступу до певних файлів . У програмному продукті можуть бути одні файли під цією ліцензією, інші — без неї. Після модифікації дозволяється поставити ту ліцензію, яка потрібна (наприклад, може йтися про комерційну), однак це можливо лише за умови, що доступ до файлів, випущених під MPL, як і раніше, буде відкритим. При цьому кінцевому користувачеві має бути надана інформація про авторів початкового програмного забезпечення. Відповідно до цього документа було випущено офіс LibreOffice, браузер Mozilla та інші програмні продукти.

Apache License Github

AL прийнято називати ліберальною вільною ліцензією. Ця особливість пов’язана з тим, що тут
відсутня вимога випускати похідний продукт під тими самими умовами, що й раніше . Цим документом активно користується компанія Apache Software Foundation. При її застосуванні дозволено таке:

  1. Програмний продукт можна далі використовувати в комерційних цілях.
  2. Дозволяється проведення модифікації програм.
  3. Потрібно, щоб при подальшому поширенні згадувалося ім’я автора первісного варіанта.

Створюючи новий варіант, ліцензіати не мають обов’язку з надання коду початкового продукту. Така ліцензія набула значної популярності. Це можна продемонструвати, перерахувавши відомі програмні продукти, що випускаються під цим видом ліцензії: операційна система Android, фреймворк, за допомогою якого створюються корпоративні програми на Java, веб-сервер Apache. https://youtu.be/wyZq-EazOmU

MIT Licence

Деякі вважають, що цей варіант ліцензій для вільного програмного забезпечення має найбільшу популярність. Її основною перевагою деякі вважають хорошу поєднання з різними видами вільних або комерційних ліцензій. Найважливішими особливостями є
можливість модифікації коду, а також дозвіл поширювати під іншими ліцензіями на вибір того, хто вніс зміни . Програмними продуктами, які використовують цей документ, є: бібліотека JavaScript під назвою JQuiery, текстовий редактор Atom, AngularJS – фреймворк для розробки на JavaSсript.

Що потрібно знати про ліцензії GitHub: як вибрати та додати
Порівняння ліцензій на Git Hub

Підводні камені

Іноді автор спочатку вибирає один варіант ліцензії, а згодом хоче її змінити. Якщо він створював програму на самоті, то така зміна не представлятиме складнощів. Однак у тих випадках, коли було багато учасників розробки, то без їхньої згоди цього зробити не вдасться. Наприклад, творець Linux, хоча він фактично зробив основу операційної системи, не зможе поміняти ліцензію без згоди всіх програмістів, які брали участь у подальшій розробці. При поширенні під MPL ті, хто вносив зміни до коду, не можуть пропонувати файли під MPL під іншою ліцензією. Використання нового документа буде належати до інших програмних модулів.

info
Оцініть автора
Додати коментар