Я бачив численні ліцензії на будь-яке програмне забезпечення, наприклад, GNU GPL, BSD License, MIT License та LGPL. Який процес створення нової ліцензії на програмне забезпечення, наприклад "генерична ліцензія Джона Доу"?
Я бачив численні ліцензії на будь-яке програмне забезпечення, наприклад, GNU GPL, BSD License, MIT License та LGPL. Який процес створення нової ліцензії на програмне забезпечення, наприклад "генерична ліцензія Джона Доу"?
Відповіді:
Взагалі кажучи, це все є. Серйозно.
Не вірите мені? Ознайомтеся з ліцензією Phil Bell's Don't Be A Dick (як і WTFPL, яка її надихнула).
При цьому сказано, що вражати чи пропускати, чи ліцензії на програмне забезпечення підлягають законодавству , навіть якщо адвокат їх написав (принаймні, в США, і це майже повністю залежить від примхи судді чи постанови щодо авторських прав). У більш загальному плані , хоча, як автор програмного забезпечення, ви вже охоплені законами про авторське право вашої країни (мається на увазі , що ви зробили кроки для роботи повинні бути захищеною авторським правом, в США, що це просто на насправді робить роботу).
Це зводиться до того, що ви хочете виконати за допомогою своєї ліцензії, вище та за межами (або замість) законів про авторське право. Що стосується таких ліцензій, як ліцензія Phil's DBaD, це багато в чому полягає в принципі честі та взаємоповазі один до одного.
Якщо ви хочете, щоб це було законодавчо законним (або, принаймні, маєте шанс на це), наприклад, випускати товар із закритим джерелом, то, швидше за все, ви захочете поговорити з юристом. Таким чином, ви можете переконатися, що немає жодних яскравих лазів, і це може бути написано таким чином, що суддя / правляча партія, швидше за все, винесе рішення на вашу користь у випадку, якщо хтось їх порушить.
EllisLab (компанія, що стоїть за CodeIgniter) має велике пояснення ліцензування програмного забезпечення (і цілий тиждень блогів з цього приводу), як з юридичної точки зору, так і з позицій розробника FLOSS та принципу честі, про який я згадував вище.
(Відмова: Я не юрист, це не є юридично обов'язковими порадами, бла, бла, бла. Я просто розробник, якому довелося перекочуватися навколо правового мінного поля, що є розробкою та ліцензуванням програмного забезпечення. Коли виникає сумнів , поговоріть з тим, хто насправді є юристом, в ідеалі з авторським правом, патентом та / або ліцензуванням.)
Відповідайте на такі запитання для користувача свого програмного забезпечення:
Чи ваш продукт із відкритим кодом, тобто чи можу я отримати копію вихідного коду?
Що я можу зробити з вашим продуктом? Чи можу я використовувати його одним комп'ютером? Чи можу я використовувати його на декількох комп'ютерах? Чи можу я її перерозподілити чи перепродати?
Якщо я використовую ваш продукт як частину іншої програми, яку я пишу, чи повинен я також бути з відкритим кодом?
Як ви гарантуєте свій товар? Чи несете ви юридичну відповідальність, якщо у мене є проблеми?
Які ваші умови перерозподілу? Чи можу я розповсюджувати ваш продукт як частину написаного вами продукту? Якщо ви надаєте джерело, чи можу я змінити вашу бібліотеку та перерозподілити її, і якщо так, то які умови я повинен відповідати?
Вивчіть інші ліцензії та подивіться, як вони відповіли на ці запитання.
Це насправді дивно схоже на те, що роблять розробники:
Ви надаєте адвокату (або юридичному департаменту у великому корпусі) перелік вимог щодо того, що дозволяє ліцензія, а що не дозволяє (наприклад, ліцензія призначена лише для одного користувача, вона тимчасова, ви не можете використовувати програмне забезпечення для деяких цілей і т. д.), і вони "перекладають" це на юрист-розмову, майже так, як ми перекладаємо вимоги в код.
Наприклад, "ліцензія призначена лише для одного користувача", як правило, перекладається на щось подібне до цього: "FooCorp Inc. надає вам єдину неексклюзивну непередавальну ліцензію на встановлення та використання FooSoftware для ...".
Ви можете подумати, що це не стосується ліцензій на F / OSS, але воно більш-менш однакове, за винятком інших вимог: найпростішу версію цих вимог можна знайти на веб-сайті http://opensource.org/docs/OSD .
Але адвокатська частина є важливою, і немає сенсу намагатися написати ліцензію самостійно (якщо ви не юрист з великим досвідом роботи в галузі ІС та міжнародного права). Хтось просто знайде зручну лазівку, яка дозволить йому використовувати ваш продукт так, як йому подобається (я б пішов далеко порівняти це з подвигами).
Звичайно, я не вважаю, що це пояснення є повним або навіть правильним, але це груба ескіз процесу, що стосується розробників програмного забезпечення (тому я порівнюю його з роботою програміста).
Щоб відповісти на ваше запитання, кожен може написати ліцензію - і це показує!
Ті з нас, хто використовує програмне забезпечення для побудови речей і насправді намагається поважати кожну ліцензію, готовий витягнути власні очні яблука гарячим покером кожен раз, коли хтось заговорить про створення нового. У світі вже існує незліченна кількість ліцензій на програмне забезпечення. 99% з них - це майже копії існуючих, більш популярних ліцензій, за винятком не настільки продуманих.
Один веб-сайт, до якого я беру участь, має ліцензію на некомерційну авторську атрибуцію в домашніх умовах, за винятком того, що він нічого не говорить про похідні твори. Вони дозволені? Чи можна їх поширювати за тією ж ліцензією? Бий мене!
Якщо інші люди беруть участь у проекті, і ви коли-небудь захочете або вам потрібно буде змінити ліцензію, вам потрібно змусити їх усіх погодитися змінити ліцензію, або ви більше-менш дотримуєтеся цього. Деякі з них можуть стати недосяжними або навіть загинути. Я не юрист, але якщо у вас немає укладеної угоди з усіх учасників, яка дозволяє приймати рішення щодо вашої ліцензії, я вважаю, що ви SOL.
Написати хорошу ліцензію дуже важко. Навіть найкращі ліцензії на програмне забезпечення мають повні діри. Періодично з’являються нові версії ліцензій Apache та GPL. Будь ласка, подивіться, чи можете ви знайти ліцензію, яка відповідає 90% ваших потреб, і якою ви користуєтесь. Виняток GPL Linking або «Classpath Exception» є хорошим прикладом цього. Мене трохи хвилює висловлювання людей, що перебувають у сплячому режимі на своєму сайті за кілька років, в основному публічно неправильно трактуючи GPLv2, щоб це звучало так, що воно включає виняток Classpath. Це виняток класного шляху? Ми не будемо знати, якщо хтось не подасть їх до суду.
Мені здається, що подання позову - найболючіший спосіб налагодження ліцензії. Якщо ви користуєтесь ліцензією, яку люди вже подали до суду, є певна впевненість, що вона працює, а також відчуття того, як вона працює. А ще краще, виберіть ліцензію, яка судилася в різних країнах. Чи замислювались ви про те, як трактувати вашу ліцензію в інших частинах світу?
Якщо ви базуєте свою ліцензію на існуючій, то людям, які піклуються про виконання вашої ліцензії, можливо, не доведеться її вивчати роками, щоб зрозуміти, що це означає.
Якщо це можливо, я б закликав вас приділяти свої сили та таланти вдосконаленню існуючої ліцензії, а не писати нову.
Вибачте за таке вбивство-радість. Якщо я гірко, це тому, що я справді читаю і намагаюся поважати ліцензії людей, перш ніж використовувати їх твори.
Запишіть умови, опублікуйте їх за допомогою свого програмного забезпечення. Це воно.
Однак одне питання - чому ти хочеш цього робити? Не навряд чи будь-які умови, які ви хочете додати, вже є в іншій ліцензії, що часто використовується.
Це додає попереднього кроку - перевірте, чи потрібно насправді створювати ліцензію.
Цілком ймовірно, що деякі умови, які ви хочете виконати, якимось чином помиляються; додавши ще один попередній крок - ознайомтеся з "унікальними" умовами, які ви хочете застосувати. Хтось інший, ймовірно, спробував такі терміни, і визнав їх непридатними або певним чином контрпродуктивними.