Чи обмежує ліцензування коду з відкритим кодом мене пізніше?


29

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

Як я повинен публікувати програмне забезпечення таким чином, щоб я зберігав право власності і не забороняв себе використовувати бібліотеку в майбутньому?

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


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

Відповіді:


44

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

Речі стають трохи наліпшими, коли інші люди починають робити свій внесок. Тоді це їхня робота, а не ваша, і вам потрібно отримати їх дозвіл. Одне, що ви можете зробити, - це публікувати свою бібліотеку за подвійною ліцензією. Саме так робить Сем Лантінга, основний творець і підтримуючий SDL . Оскільки Apple не любить бібліотеки динамічних посилань для iOS, а дотримання LGPL у статично пов'язаному додатку становить більше проблем, ніж це варто, він публікує SDL як під LGPL, так і за комерційною ліцензією для статичних додатків iPhone. Коли хтось подає патч, він явно просить у них дозволу на розгортання свого патча в бібліотеці за обома ліцензіями, і якщо їм це не подобається, він не додає його до бази даних коду.

EDIT: Мій приклад вже не точний. Якийсь час назад Сем змінив модель (не впевнений, чому; можливо, він просто втомився від адміністративних клопотів) і тепер ліцензує SDL за ліцензійною ліцензією в стилі zlib. Але він робив це так.


1
+1 спеціально для показу, як поводитися з внесками інших авторів.
Френк Шірар

5

Я не юрист, і це не юридична порада. Якщо вам потрібна юридична гарантія, найміть адвоката.

Ви абсолютно можете подвійно ліцензувати своє програмне забезпечення - Trolltech робив це протягом багатьох років з Qt, а Linden Lab робила це з клієнтом SecondLife.

Ви можете використовувати будь-яку вподобану вам ліцензію. Деякі ліцензії сумісні із закритими комерційними середовищами, такими як ліцензії Mozilla MPL, MIT та BSD та (я вважаю) CDDL та ліцензії Apache Sun.

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

Зверніть увагу, що користувачам і особливо учасникам цього, мабуть, не сподобається, тому це вплине на спільноту навколо вашого проекту, ймовірно, негативно.

Знову проконсультуйтеся з адвокатом для отримання деталей.


MIT, він же ліцензія на "роби все, що чорт ти хочеш".
Еван Плейс

2

Я теж не юрист, але ...

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


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

2
Що я мав на увазі під обмеженням, GPL змушує користувачів вашої бібліотеки випускати своє програмне забезпечення за ліцензією, сумісною з GPL, тоді як ліцензії на зразок L-GPL, Apache, ... (BSD?) Не мають. Тепер я не впевнений, що якщо ви GPL-редагуєте свій код і хтось вносить зміни до нього, ви можете просто просто відпустити його комерційно, як ніби нічого не сталося. Я думаю, що вам потрібно спочатку позбутися доповнень ... Але якщо бібліотека / фреймворк має ліцензію L-GPL, ви можете використовувати його в комерційних додатках так само, як і будь-хто інший, це точно. Сподіваюся, це має сенс.
Paweł Dyda

Це саме те, що я роблю, коли пишу бібліотеку. Випускати комерційну бібліотеку не має великого сенсу, зазвичай це кінцевий користувач, який випускається таким чином, і якщо це ліцензія, що не обмежує обмеження, я можу використовувати бібліотеку у своєму проекті. І навіть не має значення, написав я це чи хтось інший.
Горан Йович

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