Як я можу створити власну ліцензію на програмне забезпечення? [зачинено]


17

Я бачив численні ліцензії на будь-яке програмне забезпечення, наприклад, GNU GPL, BSD License, MIT License та LGPL. Який процес створення нової ліцензії на програмне забезпечення, наприклад "генерична ліцензія Джона Доу"?


8
@Nick. Ви можете написати своє. Але ймовірність того, що ви отримаєте те, що ви насправді хотіли, зазначене в ліцензії, є невеликою і не існує (якщо ви не юрист). Юридична мова є нетривіальною і складною, і юристи також мають досвід розривів (пробачте, конкретні умови), які раніше затримувались / провалювалися в суді. Усі згадані вами ліцензії були ретельно складені командами досвідчених юристів (навіть якщо перших версій не було).
Мартін Йорк

4
Тільки поради, які я можу дати, - не приймати юридичних порад від програмістів .....
mattnz

2
Це чудове питання. Сором, це вважається поза темою.
Jeroen

1
@MartinYork Юридична мова - це не якась особлива мова. Англійською мовою вони використовують англійську для контрактів. Чи є слова, які не часто вживаються, коли ви переходите до зіркових ставок, які фігурують у контрактах? Звичайно, але це справедливо для АЗС "жаргон". Тим не менш, ти можеш зайти до зіркових ставок і попросити їх заповнити великий кишеньковий резервуар простим чорним енергетичним паливом до 3,5 доларів (якщо припустити, що це ціна на велику каву), і ти це зрозумієш, не використовуючи "кавовий жаргон"
Андрій

1
@Andrei Я б не погодився. Юридична мова - це підмножина англійської мови. Англійська може бути дуже неточною. Тож юридична мова в контрактах, як правило, використовує слова з дуже конкретним значенням, щоб переконатися у відсутності двозначності. Таким чином, хороша ідея отримати експерта з написання у правильному стилі.
Мартін Йорк

Відповіді:


29
  1. Відкрийте редактор.
  2. Напишіть умови ліцензії.
  3. Зберегти файл.
  4. Включити до проекту.

Взагалі кажучи, це все є. Серйозно.

Не вірите мені? Ознайомтеся з ліцензією Phil Bell's Don't Be A Dick (як і WTFPL, яка її надихнула).

При цьому сказано, що вражати чи пропускати, чи ліцензії на програмне забезпечення підлягають законодавству , навіть якщо адвокат їх написав (принаймні, в США, і це майже повністю залежить від примхи судді чи постанови щодо авторських прав). У більш загальному плані , хоча, як автор програмного забезпечення, ви вже охоплені законами про авторське право вашої країни (мається на увазі , що ви зробили кроки для роботи повинні бути захищеною авторським правом, в США, що це просто на насправді робить роботу).

Це зводиться до того, що ви хочете виконати за допомогою своєї ліцензії, вище та за межами (або замість) законів про авторське право. Що стосується таких ліцензій, як ліцензія Phil's DBaD, це багато в чому полягає в принципі честі та взаємоповазі один до одного.

Якщо ви хочете, щоб це було законодавчо законним (або, принаймні, маєте шанс на це), наприклад, випускати товар із закритим джерелом, то, швидше за все, ви захочете поговорити з юристом. Таким чином, ви можете переконатися, що немає жодних яскравих лазів, і це може бути написано таким чином, що суддя / правляча партія, швидше за все, винесе рішення на вашу користь у випадку, якщо хтось їх порушить.

EllisLab (компанія, що стоїть за CodeIgniter) має велике пояснення ліцензування програмного забезпечення (і цілий тиждень блогів з цього приводу), як з юридичної точки зору, так і з позицій розробника FLOSS та принципу честі, про який я згадував вище.

(Відмова: Я не юрист, це не є юридично обов'язковими порадами, бла, бла, бла. Я просто розробник, якому довелося перекочуватися навколо правового мінного поля, що є розробкою та ліцензуванням програмного забезпечення. Коли виникає сумнів , поговоріть з тим, хто насправді є юристом, в ідеалі з авторським правом, патентом та / або ліцензуванням.)


1
+1 для відповіді на актуальне запитання, а потім надання правильного курсу дій
Девід Пітерман

1
Мені подобається ліцензія "Не будь Діком". Це навіть краще, ніж WTFPL.
Роберт Харві

Варто зазначити, що "Не будь ліцензією Діка" аж ніяк не є безкоштовною / вільною / "відкритим кодом".
Дмитро Олександров

16

Відповідайте на такі запитання для користувача свого програмного забезпечення:

  1. Чи ваш продукт із відкритим кодом, тобто чи можу я отримати копію вихідного коду?

    • Як я можу використовувати ваш вихідний код? Чи можу я вільно скопіювати це у свої власні програми чи потрібно посилатися на ваш бінарний файл? Якщо я використовую ваш код у власній програмі, чи існує обмеження на те, яку частину вашого коду я можу використовувати? Чи потрібно включати заголовок вашої ліцензії чи атрибуції у верхній частині будь-яких вихідних файлів, які я перерозподіляю, які містять ваш код, або у поле Довідка / Про моє двійкове середовище?
  2. Що я можу зробити з вашим продуктом? Чи можу я використовувати його одним комп'ютером? Чи можу я використовувати його на декількох комп'ютерах? Чи можу я її перерозподілити чи перепродати?

  3. Якщо я використовую ваш продукт як частину іншої програми, яку я пишу, чи повинен я також бути з відкритим кодом?

  4. Як ви гарантуєте свій товар? Чи несете ви юридичну відповідальність, якщо у мене є проблеми?

  5. Які ваші умови перерозподілу? Чи можу я розповсюджувати ваш продукт як частину написаного вами продукту? Якщо ви надаєте джерело, чи можу я змінити вашу бібліотеку та перерозподілити її, і якщо так, то які умови я повинен відповідати?

Вивчіть інші ліцензії та подивіться, як вони відповіли на ці запитання.


6

Це насправді дивно схоже на те, що роблять розробники:

Ви надаєте адвокату (або юридичному департаменту у великому корпусі) перелік вимог щодо того, що дозволяє ліцензія, а що не дозволяє (наприклад, ліцензія призначена лише для одного користувача, вона тимчасова, ви не можете використовувати програмне забезпечення для деяких цілей і т. д.), і вони "перекладають" це на юрист-розмову, майже так, як ми перекладаємо вимоги в код.

Наприклад, "ліцензія призначена лише для одного користувача", як правило, перекладається на щось подібне до цього: "FooCorp Inc. надає вам єдину неексклюзивну непередавальну ліцензію на встановлення та використання FooSoftware для ...".

Ви можете подумати, що це не стосується ліцензій на F / OSS, але воно більш-менш однакове, за винятком інших вимог: найпростішу версію цих вимог можна знайти на веб-сайті http://opensource.org/docs/OSD .

Але адвокатська частина є важливою, і немає сенсу намагатися написати ліцензію самостійно (якщо ви не юрист з великим досвідом роботи в галузі ІС та міжнародного права). Хтось просто знайде зручну лазівку, яка дозволить йому використовувати ваш продукт так, як йому подобається (я б пішов далеко порівняти це з подвигами).

Звичайно, я не вважаю, що це пояснення є повним або навіть правильним, але це груба ескіз процесу, що стосується розробників програмного забезпечення (тому я порівнюю його з роботою програміста).


Так це в основному робота, орієнтована на юристів?
Rrjrjtlokrthjji

1
@Nick Безумовно, програмісти взагалі не повинні ходити там.
К.Штефф

4

Щоб відповісти на ваше запитання, кожен може написати ліцензію - і це показує!

Ті з нас, хто використовує програмне забезпечення для побудови речей і насправді намагається поважати кожну ліцензію, готовий витягнути власні очні яблука гарячим покером кожен раз, коли хтось заговорить про створення нового. У світі вже існує незліченна кількість ліцензій на програмне забезпечення. 99% з них - це майже копії існуючих, більш популярних ліцензій, за винятком не настільки продуманих.

Один веб-сайт, до якого я беру участь, має ліцензію на некомерційну авторську атрибуцію в домашніх умовах, за винятком того, що він нічого не говорить про похідні твори. Вони дозволені? Чи можна їх поширювати за тією ж ліцензією? Бий мене!

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

Написати хорошу ліцензію дуже важко. Навіть найкращі ліцензії на програмне забезпечення мають повні діри. Періодично з’являються нові версії ліцензій Apache та GPL. Будь ласка, подивіться, чи можете ви знайти ліцензію, яка відповідає 90% ваших потреб, і якою ви користуєтесь. Виняток GPL Linking або «Classpath Exception» є хорошим прикладом цього. Мене трохи хвилює висловлювання людей, що перебувають у сплячому режимі на своєму сайті за кілька років, в основному публічно неправильно трактуючи GPLv2, щоб це звучало так, що воно включає виняток Classpath. Це виняток класного шляху? Ми не будемо знати, якщо хтось не подасть їх до суду.

Мені здається, що подання позову - найболючіший спосіб налагодження ліцензії. Якщо ви користуєтесь ліцензією, яку люди вже подали до суду, є певна впевненість, що вона працює, а також відчуття того, як вона працює. А ще краще, виберіть ліцензію, яка судилася в різних країнах. Чи замислювались ви про те, як трактувати вашу ліцензію в інших частинах світу?

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

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

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


3

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

Однак одне питання - чому ти хочеш цього робити? Не навряд чи будь-які умови, які ви хочете додати, вже є в іншій ліцензії, що часто використовується.

Це додає попереднього кроку - перевірте, чи потрібно насправді створювати ліцензію.

Цілком ймовірно, що деякі умови, які ви хочете виконати, якимось чином помиляються; додавши ще один попередній крок - ознайомтеся з "унікальними" умовами, які ви хочете застосувати. Хтось інший, ймовірно, спробував такі терміни, і визнав їх непридатними або певним чином контрпродуктивними.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.