Как да изберем лиценз с отворен код за RAD framework на GitHub

В тази статия ще говорим малко за авторските права, но основно за избора на безплатен лиценз за RAD framework IONDV. рамка и за продукти с отворен код, базирани на него. Ще ви разкажем за разрешителния лиценз Apache 2.0, за това какво ни доведе до това и пред какви решения се изправихме в процеса.

Процесът на избор на лиценз е доста трудоемък и трябва да се подходи вече добре прочетен, а ако не сте щастлив собственик на юридическо образование, тогава пред вас се отваря необработено поле от информация за различни безплатни лицензи. Основното нещо, което трябва да направите, е да съставите редица ограничителни критерии. Чрез процеса на обсъждане и размисъл вие и вашият екип ще можете да разберете какво искате да позволите на потребителите на вашия продукт и какво да забраните. Когато вече имате определено описание в ръцете си, трябва да го наслагвате върху съществуващите лицензи и да изберете този, при който съвпада най-големият брой точки. Звучи просто, разбира се, но в действителност обикновено дори след обсъждане остават въпроси.

Как да изберем лиценз с отворен код за RAD framework на GitHub

Първо, връзка към selectalicense.com, полезен сайт, който използвахме широко. Обърнете специално внимание на сравнителна таблица лицензи по 13 основни критерия. Нека английският и търпението бъдат с вас.

Брашно по избор

Нека започнем с общите характеристики на лицензите за безплатен софтуер. Софтуерът с отворен код предполага изключително безплатен лиценз, който не ограничава комерсиалното и некомерсиалното разпространение според модела Отворете ядрото. Съответно, пускането на софтуер в мрежата под безплатен лиценз не може напълно да ограничи неговото прехвърляне, разпространение и продажба от трети страни и просто трябва да сте психически подготвени за това.

Безплатният лиценз дава на потребителя правото да участва в обратното инженерство на софтуера или да го променя по други налични начини. Повечето лицензи не ви позволяват да преименувате продукта или да извършвате манипулации с него, променяйки правата на автора и/или собственика на системата.

Основните въпроси, които ни интересуваха относно безплатните лицензи, бяха:

  1. Трябва ли промените, направени в софтуера, да се записват и да нямат връзка с притежателя на авторските права на системата?
  2. Не трябва ли името на производния софтуер да е същото като името на софтуера на притежателя на авторските права?
  3. Възможно ли е да промените лиценза за нови версии на друг, включително патентован?

След като внимателно разгледахме списъка с най-често срещаните лицензи, избрахме няколко, които разгледахме по-подробно. Потенциални лицензи за IONDV. рамка бяха: GNU GPLv3, Apache 2.0, MIT и MPL. MIT почти веднага изключен, това е разрешителен лиценз без копилефт, който позволява използването, модифицирането и разпространението на кода по почти всякакъв начин, но не бяхме доволни от тази опция, все пак искахме лицензът да регулира връзката между авторските права притежателят и потребителят. Повечето от по-малките проекти в GitHub се публикуват под лиценза на MIT или неговите различни варианти. Самият лиценз е много кратък и единствените забрани са да се посочи авторството на създателя на софтуера.

След това беше лицензът mpl 2.0. Разбира се, не стигнахме до него веднага, но след като го проучихме по-подробно, бързо го изключихме, тъй като основният недостатък е, че лицензът не важи за целия проект, а за отделни файлове. Освен това, ако потребителят промени файла, той не може да промени лиценза. Всъщност, колкото и усърдно да променяте проект с отворен код, никога няма да можете да го монетизирате поради такъв лиценз. Между другото, това не засяга носителя на авторските права.

Подобен проблем продължава и с лиценза GNU GPLv3. Изисква всеки файл да остане под него. GNU GPL е лиценз с копилефт, който изисква производните произведения да бъдат с отворен код и да останат под същия лиценз. Тоест: чрез пренаписване на два реда код ще бъдете принудени да извършите промените си и, по време на по-нататъшна употреба или разпространение, да запазите кода под GNU GPL. В случая това е ограничаващ фактор за потребителя на нашия проект, а не за нас. Но промяната на GPL с друг лиценз е забранена, дори в рамките на GPL версии. Например, ако промените LGPL (добавка към GPL) към GPL, тогава няма да има път обратно към LGPL. И тази точка беше решаваща за гласуването против.

Като цяло нашият избор първоначално клонеше към gpl3 именно поради разпространението на модифицирания код под същия лиценз. Мислехме, че по този начин можем да защитим нашия продукт, но видяхме по-малко рискове в Apache 2.0. Според Free Software Foundation GPLv3 е съвместим с Apache License v2.0, което означава, че винаги е възможно да промените лиценза от Apache License v2.0 на GPL v3.0.

Apache 2.0

Apache 2.0 — балансиран разрешаващ лиценз с акцент върху авторското право. Ето какви отговори тя даде на въпросите, които ни интересуваха. Трябва ли промените, направени в софтуера, да се записват и да нямат връзка с притежателя на авторските права на системата? Да, всички промени трябва да бъдат документирани и ние не носим отговорност за оригиналния код или модифицирания. Файлът с промените трябва да бъде прикачен към кода, в който сте направили тези промени. Името на производния софтуер не трябва ли да е същото като името на софтуера на притежателя на авторските права? Да, производният софтуер трябва да бъде пуснат под друго име и под различна търговска марка, но с посочване на притежателя на авторските права. Възможно ли е да смените лиценза за нови версии на друг, включително патентован? Да, може да бъде пуснат под различни лицензи, Apache 2.0 не ограничава използването на нетърговски и търговски лицензи.

Също така, когато пускате нови продукти, базирани на отворен код за Apache 2.0 или продукти с допълнителна функционалност, не е необходимо да използвате същия лиценз. По-долу можете да видите изображение с условията и ограниченията на лиценза Apache 2.0.

Как да изберем лиценз с отворен код за RAD framework на GitHub

Лицензът налага изискване за запазване и споменаване на авторските права и лиценза, под който е пуснат софтуерът. Задължителна наличност известие за авторски права с името на притежателя на авторските права и лицензът защитава правата на оригиналния автор на софтуера, тъй като дори ако бъде преименуван, подарен или продаден под различен лиценз, марката на автора ще остане. Можете също да използвате файла за това ВНИМАНИЕ и го прикачете към изходния код или към документацията на проекта.

Пускаме всички наши продукти публично достъпни в GitHub под лиценза Apache 2.0, с изключение на IONDV. Военен архив, чийто изходен код беше публикуван под лиценз GPLv3 в GitHub през април тази година от Далекоизточния център за социални технологии. В момента, в допълнение към рамка и модули публикувани приложения направени върху рамката. На хъба, за който вече говорихме Система за управление на проекти и за Регистър на съобщенията.

Тези. подробности за рамката

IONDV. Framework е рамка с отворен код, базирана на node.js за създаване на уеб приложения от високо ниво, базирани на метаданни, което не изисква сериозни програмни умения.

Основата на функционалността на приложението е регистърът на данните - модул Регистър. Това е ключов модул, предназначен директно за работа с данни, базирани на структури от метаданни - включително за управление на проекти, програми, събития и т.н. Проектът също така използва портален модул за показване на произволни шаблони на данни - той имплементира предния регистър на архива.

MongoDb се използва за СУБД - съхранява настройките на приложението, метаданните и самите данни.

Как да приложите лиценз към вашия проект?

Добавяне на файл РАЗРЕШИТЕЛНО с текста на лиценза в хранилището на вашия проект и voilà, проект, защитен от Apache 2.0. Трябва да посочите носителя на авторските права, това е всичко бележка за авторски права. Това може да стане в изходния код или във файл ВНИМАНИЕ (текстов файл, изброяващ всички библиотеки, лицензирани под лиценза на Apache, заедно с имената на техните създатели). Поставете самия файл или в изходния код, или в документацията, разпространена заедно с работата. За нас това изглежда така:

Авторско право © 2018 ION DV LLC.
Лицензирано под лиценза на Apache, версия 2.0

Лицензионен текст на Apache 2.0

Лиценз на Apache
Версия 2.0, януари 2004 г.
http://www.apache.org/licenses/

УСЛОВИЯ ЗА УПОТРЕБА, РАЗПРОСТРАНЕНИЕ И РАЗПРОСТРАНЕНИЕ

  1. Дефиниции.

    „Лиценз“ означава правилата и условията за използване, възпроизвеждане,
    и разпространение, както е определено в раздели от 1 до 9 на този документ.

    „Лицензодател“ означава собственикът на авторските права или субект, упълномощен от
    собственикът на авторските права, който предоставя лиценза.

    „Юридическо лице“ означава обединението на действащото лице и всички
    други субекти, които контролират, контролират се или са общи
    контрол с това лице. За целите на това определение:
    „контрол“ означава (i) властта, пряка или непряка, да предизвика
    ръководство или управление на такъв субект, независимо дали по договор или
    в противен случай, или (ii) собственост на петдесет процента (50%) или повече от
    неизплатени акции или (iii) действителна собственост на такова предприятие.

    „Вие“ (или „Ваш“) означава физическо или юридическо лице
    упражняване на разрешения, предоставени от този лиценз.

    „Изходна“ форма означава предпочитаната форма за извършване на модификации,
    включително, но не само, софтуерен изходен код, документация
    източник и конфигурационни файлове.

    „Обектна“ форма означава всяка форма, получена от механични
    трансформация или превод на изходна форма, включително но
    не се ограничава до компилиран обектен код, генерирана документация,
    и конверсии към други типове медии.

    „Произведение“ означава авторското произведение, независимо дали е в Източника или
    Обектна форма, предоставена под лиценза, както е посочено от a
    известие за авторски права, което е включено или прикрепено към произведението
    (примерът е даден в Приложението по-долу).

    „Производни произведения“ означава всяко произведение, независимо дали е източник или обект
    форма, която се основава на (или произтича от) Работата и за която
    редакционни редакции, анотации, разработки или други модификации
    представляват като цяло оригинално авторско произведение. За целите
    от настоящия лиценз, производни произведения не включват произведения, които остават
    отделими или просто свързващи (или свързващи по име) към интерфейсите на,
    произведението и производни произведения от него.

    „Принос“ означава всяко авторско произведение, вкл
    оригиналната версия на произведението и всички модификации или допълнения
    към това произведение или производни произведения от него, което е умишлено
    представено на Лицензодателя за включване в Произведението от собственика на авторските права
    или от физическо или юридическо лице, упълномощено да подава от името на
    собственикът на авторските права. За целите на това определение „предаден“
    означава всяка форма на изпратена електронна, устна или писмена комуникация
    на Лицензодателя или неговите представители, включително, но не само
    комуникация по електронни пощенски списъци, системи за контрол на изходния код,
    и издават системи за проследяване, които се управляват от или от името на
    Лицензодател с цел обсъждане и подобряване на Творбата, но
    с изключение на комуникацията, която е забележимо маркирана или по друг начин
    обозначено писмено от собственика на авторските права като „Не е принос“.

    „Сътрудник“ означава Лицензодател и всяко физическо или юридическо лице
    от името на които е получено дарение от Лицензодателя и
    впоследствие включени в произведението.

  2. Предоставяне на лиценз за авторско право. При спазване на правилата и условията на
    този Лиценз, всеки Сътрудник Ви предоставя постоянно,
    в световен мащаб, неизключителен, без такси, без възнаграждения, неотменим
    авторски лиценз за възпроизвеждане, изготвяне на производни произведения на,
    публично показва, публично изпълнява, сублицензира и разпространява
    Работа и такива производни произведения под формата на източник или обект.

  3. Предоставяне на патентен лиценз. При спазване на условията на
    този Лиценз, всеки Сътрудник Ви предоставя постоянно,
    в световен мащаб, неизключителен, без такси, без възнаграждения, неотменим
    (с изключение на посоченото в този раздел) патент лиценз за изработка, са направили,
    използване, предлагане за продажба, продажба, внос и по друг начин прехвърляне на Произведението,
    когато такъв лиценз се прилага само за тези заявки за патент, които могат да бъдат лицензирани
    от такъв сътрудник, който непременно е нарушен от техния
    Принос (и) самостоятелно или чрез комбинация от техния принос (и)
    с Произведението, за което е подаден такъв Принос / и. Ако ти
    да заведе съдебно дело за патент срещу всяко лице (включително a
    кръстосан иск или насрещен иск в съдебен процес), твърдящ, че Творбата
    или Принос, включен в Произведението, представлява пряк
    или нарушение на патент, което допринася, след това всички лицензи за патент
    предоставен Ви по силата на настоящия Лиценз за тази Работа се прекратява
    считано от датата, на която е заведено такова съдебно дело.

  4. Преразпределение. Можете да възпроизвеждате и разпространявате копия на
    Работа или производни произведения от нея във всякакъв носител, със или без
    модификации и във форма Източник или Обект, при условие че Вие
    отговарят на следните условия:

    (а) Трябва да дадете на всички други получатели на Произведението или
    Производното работи копие на този лиценз; и

    (b) Трябва да накарате всички модифицирани файлове да носят забележими бележки
    заявявайки, че сте променили файловете; и

    © Трябва да запазите, във формата на източника на всички производни произведения
    че разпространявате всички авторски права, патенти, търговски марки и
    известия за приписване от формуляра Източник на произведението,
    с изключение на известията, които не се отнасят до никоя част от
    производните произведения; и

    (d) Ако Произведението включва текстов файл „ИЗВЕСТИЕ“ като част от него
    разпространение, след това всички производни произведения, които разпространявате, трябва
    включват читаво копие на съдържащите се известия за приписване
    в рамките на такъв файл NOTICE, с изключение на тези известия, които не го правят
    се отнасят до която и да е част от производни произведения, в поне една
    на следните места: в текстов файл с ИЗВЕСТИЕ, разпространен
    като част от производни произведения; в рамките на формуляра Източник или
    документация, ако е предоставена заедно с производни произведения; или,
    в рамките на дисплей, генериран от производни произведения, ако и
    навсякъде, където обикновено се появяват такива известия на трети страни. Съдържанието
    на файла NOTICE са само за информационни цели и
    не променяйте лиценза. Можете да добавите Ваше собствено приписване
    известия в рамките на производни произведения, които разпространявате заедно
    или като допълнение към предоставения текст на БЕЛЕЖКА от Работата
    че такива допълнителни известия за приписване не могат да се тълкуват
    като промяна на лиценза.

    Можете да добавите собствена декларация за авторски права към Вашите модификации и
    може да предостави допълнителни или различни лицензионни условия
    за използване, възпроизвеждане или разпространение на Вашите модификации, или
    за всички производни произведения като цяло, при условие че използвате,
    възпроизвеждането и разпространението на произведението е в съответствие с друго
    условията, посочени в този лиценз.

  5. Подаване на приноси. Освен ако изрично не посочите друго,
    всеки Принос, умишлено подаден за включване в Произведението
    от Вас до Лицензодателя ще бъде при условията на
    настоящия лиценз, без никакви допълнителни условия или условия.
    Независимо от горното, нищо тук не може да замени или модифицира
    условията на всяко отделно лицензионно споразумение, което може да сте сключили
    с Лицензодателя по отношение на такива вноски.

  6. Търговски марки. Този лиценз не дава разрешение за използване на търговията
    имена, търговски марки, сервизни марки или имена на продукти на Лицензодателя,
    освен ако не се изисква за разумна и обичайна употреба при описанието на
    произход на произведението и възпроизвеждане на съдържанието на файла NOTICE.

  7. Отказ от гаранция. Освен ако не се изисква от приложимото законодателство или
    съгласие в писмена форма, Лицензодателят предоставя произведението (и всяко
    Сътрудникът предоставя своите приноси) на БАЗА „КАКТО Е“,
    БЕЗ ГАРАНЦИИ ИЛИ УСЛОВИЯ ОТ ВСЯКАКЪВ ВИД, било то изрично или
    подразбиращи се, включително, без ограничение, всякакви гаранции или условия
    на ЗАГЛАВИЕ, НЕЗАБАВЯВАНЕ, ПРОДЪЛЖИТЕЛНОСТ или ФИТНЕС ЗА
    КОНКРЕТНА ЦЕЛ. Вие сте единствено отговорни за определянето на
    целесъобразността на използването или преразпределението на произведението и да приемем каквото и да било
    рискове, свързани с упражняването на разрешения по този лиценз.

  8. Ограничаване на отговорността. В никакъв случай и при никаква правна теория,
    независимо дали е непозволено увреждане (включително небрежност), договор или друго,
    освен ако не се изисква от приложимото законодателство (като умишлено и грубо
    небрежни действия) или писмено съгласие, който и да е участник
    да Ви носи отговорност за вреди, включително всякакви преки, косвени, специални,
    случайни или последващи щети от какъвто и да е характер, възникващи като a
    резултат от този лиценз или от употреба или невъзможност за използване на
    Работа (включително, но не само вреди от загуба на репутация,
    спиране на работата, неизправност или неизправност на компютъра или каквото и да било
    други търговски щети или загуби), дори ако този Доставчик
    е уведомен за възможността за такива щети.

  9. Приемане на гаранция или допълнителна отговорност. Докато преразпределя
    произведението или производни произведения от тях, Вие можете да изберете да предложите,
    и да начислите такса за приемане на поддръжка, гаранция, обезщетение,
    или други задължения и / или права за отговорност, съответстващи на това
    Разрешително. Въпреки това, приемайки такива задължения, Вие можете да действате само
    от ваше име и от ваша единствена отговорност, а не от ваше име
    на който и да е друг участник и само ако сте съгласни да обезщетите,
    защитават и държат всеки участник безвреден за каквато и да е отговорност
    възникнали или претендирани срещу такъв Участник по причина
    от приемането на такава гаранция или допълнителна отговорност.

    КРАЙ НА УСЛОВИЯТА

    ПРИЛОЖЕНИЕ: Как да приложите лиценза Apache към вашата работа.

    За да приложите лиценза Apache към вашата работа, приложете следното
    шаблонно известие, като полетата са оградени със скоби "[]"
    заменени със собствена идентификационна информация. (Не включвайте
    скобите!) Текстът трябва да бъде приложен в съответния
    синтаксис на коментар за файловия формат. Също така препоръчваме a
    име на файл или клас и описание на целта да бъдат включени в
    същата „отпечатана страница“ като известието за авторски права за по-лесно
    идентификация в архиви на трети страни.

    Авторско право [гггг] [име на притежателя на авторските права]

    Лицензирано съгласно лиценза на Apache, версия 2.0 („Лиценз“);
    нямате право да използвате този файл, освен в съответствие с Лиценза.
    Можете да получите копие от Лиценза на адрес

    http://www.apache.org/licenses/LICENSE-2.0

    Освен ако не се изисква приложимото законодателство или не е писмено договорено, софтуер
    разпространяван съгласно Лиценза се разпространява на БАЗА „КАКТО Е“,
    БЕЗ ГАРАНЦИИ ИЛИ УСЛОВИЯ НА ВСЕКИ ВИД, изрични или подразбиращи се.
    Вижте Лиценза за конкретния език, регулиращ разрешенията и
    ограничения по Лиценза.

Лиценз = договор

Безплатният лиценз, въпреки че е безплатен, не позволява всепозволеност и ние вече дадохме примери за ограничения. Изберете лиценз, като вземете предвид както вашите интереси, така и тези на потребителя, защото софтуерът с отворен код е създаден специално за него. Потребителят на проекта трябва да възприема лиценза като вид споразумение между него и притежателя на авторските права, така че преди да извършите каквито и да било действия върху изходния код, внимателно проучете ограниченията, наложени ви от лиценза на проекта.

Надяваме се, че сме хвърлили малко светлина по темата за лицензите и въпреки сложността на проблема, той не би трябвало да се превърне в пречка по пътя ви към Open Source. Развивайте своя проект и не забравяйте за правата, вашите и другите.

Полезни връзки

И накрая, някои полезни ресурси, които ни помогнаха, когато търсихме информация за съществуващи лицензи и избирахме най-подходящия за нашите цели:

Източник: www.habr.com

Добавяне на нов коментар