Помогите подобрать или создать лицензию для распостранения софта


Для распостранения новой версии своей программы шифрования дисков мне требуется лицензия отличная от GPL, разрешающая свободное использование и распостранение программы, но запрещающая распостранение модификаций и использование ее кода в других проектах.
Хочеться чтобы выполнялись следующие требования:
1) Распостранение оригинального исходного и банарного кода разрешено без ограничений.
2) Разрешена сборка программы под себя, и модификация программы для личного пользования.
3) Распостранение модификаций запрещено.
4) Использование моего кода в других программах запрещено.
5) Запрещено платное распостранение программы и включение ее, либо ее частей в состав любого коммерческого пакета.
Подскажите подходящую под эти требования лицензию, либо обьясните как самому создать нужную лицензию. Если создается своя лицензия, то нужно ли ее где-нибудь регистрировать? В каких случаях она имеет юридическую силу, а в каких нет?
И вот еще: в программе есть небольшое количество исходников написаное на основе GPL кода. Не мешает ли это мне распостранять программу на моих условиях? Должен ли я распостранять доработаный мной GPL код на условиях GPL, или я могу наложить на него ограничения?

Комментарии
— SATtva (06/12/2007 14:01)   
Ну, вот Вам текст лицензии:
1) Распостранение оригинального исходного и банарного кода разрешено без ограничений.
2) Разрешена сборка программы под себя, и модификация программы для личного пользования.
3) Распостранение модификаций запрещено.
4) Использование моего кода в других программах запрещено.
5) Запрещено платное распостранение программы и включение ее, либо ее частей в состав любого коммерческого пакета.

Лицензия — это форма договора, заключаемого между Вами как правообладателем и пользователем объекта Вашего авторского права (обычно в виде оферты, поскольку текст не идентифицирует обе стороны договора). Юридическую силу такой договор принимает путём его акцепта пользователем. Акцепт — это однозначно идентифицируемое действие. В случае компьютерных лицензий акцептом обычно принимается установка (предпочтительнее) или запуск программы. Регистрировать лицензию, конечно, нигде не надо. Необходимо, чтобы её текст поставлялся вместе с программой и отображался перед началом установки или использования, словом, на том этапе, с которого лицензия должна вступить в силу (и где у пользователя ещё будет шанс от неё отказаться, если он находит условия неприемлемыми).

Гражданский кодекс не определяет конкретной формы договора, он может быть составлен в произвольной форме. Касаемо конкретного содержания, можете посмотреть на лицензию PGP Corporation, которая практически соответствует Вашим требованиям. Только учтите, что сдирать чужую лицензию без разрешения нельзя — текст лицензии сам является объектом авторского права. Но принципы можно заимствовать.
— SATtva (06/12/2007 14:16)   
Вот в качестве аналогии можете посмотреть мою давешнюю лицензию[link1] на русификатор PGP. Не призываю, чтобы использовали её в исходном виде (нормы довольно жёсткие), но в качестве шаблона — на здоровье.
— ntldr (06/12/2007 14:34)   
Еще есть вопрос по части лицензионного статуса исходников. Допустим я взял код aes распостраняющийся по GPL, и весьма основательно его переделал. Фактически от оригинала остались только названия некоторых переменных и места зависящие от алгоритма (которые не напишешь иначе). Могу ли я под этим кодом ставить свой копирайт и распостранять его на своих условиях?
— SATtva (06/12/2007 14:43)   
Очень скользкий вопрос. Можно сказать, что раз Вы начинали писать на основе готовых исходников (а не с нуля по голому описанию алгоритма), то сделали производную работу, которую и распространять нужно под GPL с указанием предыдущих авторов и собственного копирайта. Но фактически ответ зависит от того, сколько осталось оригинального кода. В серьёзных случаях в похожих обстоятельствах проводят серьёзные экспертизы. Короче, однозначно я Вам ответить не смогу.
— ntldr (06/12/2007 14:55)   
Ну, таким макаром можно сказать что даже написав пузырьковую сортировку ее надо будет распостранять по чьей-либо лицензии, ведь обязательно найдется похожий код. GPL принимать я категорически не хочу, поэтому придется перебивать все что осталось от оригинального кода, хоть это и не имеет никакого практического смысла :(
— SATtva (06/12/2007 15:02)   
Я имел в виду, что юридические вопросы нельзя разрешить однозначно, кроме как в суде (и даже там бывают исключения). Просто если дело дойдёт до "поножовщины", Вам могут припомнить, что код всё-таки based upon, а не wrote from scratch, и изучать его будут под лупой. Можете сами заказать экспертизу. Но я не считаю себя достаточно компетентным, чтобы заниматься сравнительным анализом исходного кода и давать Вам какой-то однозначный ответ.
Гость (06/12/2007 15:49)   
Ну, таким макаром можно сказать что даже написав пузырьковую сортировку ее надо будет распостранять по чьей-либо лицензии, ведь обязательно найдется похожий код.

Не правда. если вы и ещё кто-то пишете программу с нуля, исходя исключительно из некоего общего известного вам обоим алгоритма, то програмым у вас получатся абсолютно разные даже при идентичной функциональности.... Ну это как речь на одну и ту же тему произнесённая разными людьми. Если вы стартуете с чьего-то кода, то в конечном счёте всё равно можно это потом будет показать :) Иначе, если вы настолкьо сильно всё переделаете что нельзя доказать, то вы проделаете большую работу, чем писали бы сами с нуля. В этом случае, прогноз неблагоприятный. Можете решиться на... но учитывать, что правовая основа в случае старта с чужих исходников будет хлипкой. На чисто человеческом уровне мне кажется что вы не совсем созрели, что требуете пунктов 3 и 4. Вам можно учесть, что есть довольно серьёзные проекты, по сравнению с вашим, и им куда больше ечть что терять.... но они пишут под GPLv3 – может быть, есть тому веские причины? Вы не задумывались над этим?
— ntldr (06/12/2007 16:03, исправлен 06/12/2007 16:05)   

В первой версии программы я использовал часть исходников TrueCrypt, в результате чего на меня наехали авторы и потребовали убрать исходники, либо поменять лицензию на ихнюю. Это при том, что в составе TrueCrypt GPL код есть! После этого я был вынужден переписать весь ихний код, и не хочу чтобы мои наработки тащили к себе авторы трукрипта, либо других конкурирующих опенсорс или коммерческих программ. Нет уж, пускай они тоже помучаются с переписыванием, и постараются чтобы это получилось непохожим на мой код. Принцип – если не дают мне, то и я никому не дам. К тому же я хочу избежать создания коммерческих продуктов базирующихся на моем коде.
Если кому-нибудь действительно нужно использовать мой код, пусть он спросит на это моего разрешения. Я хочу решать сам, кому давать код а кому нет. Например авторам трукрипт не дам в жизни ни строчки, но если попросит кто-нибудь другой, то скорее всего разрешу.
Гость (06/12/2007 16:12)   
В первой версии программы я использовал часть исходников TrueCrypt, в результате чего на меня наехали авторы и потребовали убрать исходники, либо поменять лицензию на ихнюю. Это при том, что в составе TrueCrypt GPL код есть!

А они как-нибудь отаргументировали тот факт что нарушают GPL?
Если последовательно продолжать их точку зрения, то надо было ответить: "Я забываю, что вы нарушаете GPL, а вы – что я нарушаю вашу лицензию". Если им не нравится можно пригрозить иском по поводу GPL либо потребовать сначала переписать тот кусок. Это всё при условии что сказанное – правда, конечно...
— ntldr (06/12/2007 16:17)   

Фиг знает, у них лицензия какая-то особо хитрожопая. По ней они могут брать GPL код, а у них код брать нельзя. Короче переписал, и фиг с ним. Мой код получился меньше и быстрее.

http://freed0m.org/license.txt
Вот мой вариант лицензии основаный на лицензии SATtva. Пожалуйста прочитайте и найдите неточности.
Также прошу помочь в переводе лицензии на английский язык, так как я сомневаюсь, что смогу сделать юридически грамотный перевод.
— unknown (06/12/2007 16:29)   
Debian GNU/Linux не посчитал нужным связываться с Truecrypt именно из-за их лицензии, которую называли юридически безграмотной (Lawyer timebomb license или как-то так), и отказал им во включении в дистрибутив, примерно по тем же мотивам, что и вы ntldr. Вот никому с truecrypt пример брать не стоит, включая Ваши 3 и 4 пункты IMHO, хотя дело Ваше.
— SATtva (06/12/2007 16:30)   
TrueCrypt распространяется под составной лицензией. Та часть программы, которая написана в TrueCrypt Foundation, идёт под их фирменной лицензией. Фрагменты заимствованного кода и модули, такие как оптимизированные шифры, идут под лицензиями своих авторов, включая и GPL. Никаких нарушений.
— ntldr (06/12/2007 16:36)   
А разве лицензия GPL не требует, чтобы продукт использующий GPL код распостранялся целиком под этой лицензией?
— unknown (06/12/2007 16:54)   
Требует (кроме LGPL для либ).
Гость (06/12/2007 16:55)   
А разве лицензия GPL не требует, чтобы продукт использующий GPL код распостранялся целиком под этой лицензией?

Нет ессно.
Например, можно установить какой-нить коммерческий Матлаб на компутер под линуксом. Ясно, что он будет опираться на кучу GPL-вещей, библиотек и т.д... он всё это будет использовать, ничему не противоречит. Видимо, важно чтоб продукт не включал в себя GPL-код под другим копирайтом... Если продукт распространяется как A+B, где A – GPL-кусок с открыдым кодом а B – что-то другое под другой лицензией, то не вижу проблемы... Смысл в том только, что всё основанное на GPL после доработки должно идти под GPL.... но если они могут весь GPL-код выделить как отдельный модули или билиотеку, не перемежая его со своим кодом другой лицензии, то почему бы и нет...
— SATtva (06/12/2007 16:59, исправлен 06/12/2007 16:59)   
Lawyer timebomb license

Это называется "исковой бомбой замедленного действия". Один раз (в случае ядра E4M, на котором основывалась первая версия TC) они на эти грабли уже наступали.

GPL в их составной лицензии[link2] я не вижу. Если в программе присутствует GPL-код, то одно неупоминание лицензии есть нарушение. При условии, что код там есть. Сама GPL (вернее, LGPL) допускает, чтобы логически независимые модули распространялись под разными лицензиями.
— ntldr (06/12/2007 17:14)   

К примеру TrueCrypt\Common\GfMul.c. Этот код написан на основе кода Dr Brian Gladman. Хоть автор и разрешает его использовать под другими лицензиями кроме GPL, непонятно под какую лицензию попадает модификация сделаная TrueCrypt Foundation.
Я нашел еще несколько подобных кусков. Правда нигде не указано что они распостраняются только по GPL. Короче как-то все мутно.
— SATtva (06/12/2007 17:31)   
Короче как-то все мутно.
<=>
Lawyer timebomb license
— ntldr (06/12/2007 21:19)   
Чтобы не иметь гимора с хитрым переписыванием GPL кода я подумываю о возможности распостранения программы под лицензией GPL v3 с наложением дополнительных ограничений.
В GPL v3 есть такой пункт:

Несмотря на любые другие положения Данной Лицензии, на материал, добавленный Вами к лицензированному произведению, Вы можете (если разрешено держателями авторских прав на материал) дополнить условия Данной Лицензии следующими условиями:

а) Отказ от гарантий или ограничения ответственности иначе, чем установлено в главах 15 и 16 данной лицензии; либо
б) Требование сохранения определённых действительных юридических уведомлений или авторства в материале, или в Соответствующих Правовых Уведомлениях, отображаемых произведением, их содержащим; либо
в) Запрет на искажение оригинального материала, либо требование к модифицированным версиям такого материала содержать пометку в надлежащей форме о том, что материал отличается от оригинальной версии; либо
г) Ограничение на использование, в целях публикации, имён лизензоров либо авторов материала; либо
д) Отказ предоставлять права согласно закону о торговых марках на использование некоторых торговых имён, торговых марок, сервисных марок; либо
е) Требование компенсации лизензорам и авторам материала кем либо, кто передаёт материал (или модифицированные версии материала) с договорным принятием ответственности получателем, для любой ответственности, которую данное договорное принятие непосредственно налагает на правообладателей и авторов.

Под пункт Б я могу подвести требование о сохранении копирайта, под пункт B – запрет распостранения модификаций. Разьясните суть пункта Г, могу ли я подвести под него запрет на использование в составе коммерческого продукта?
Если это возможно, подскажите как правильно вписать эти ограничения в лицензию.
Гость (07/12/2007 01:41)   
Например, можно установить какой-нить коммерческий Матлаб на компутер под линуксом.
Вот только распространять такую систему без нарушения по крайней мере одной из лицензий не получится.
Гость (07/12/2007 11:19)   
Вот только распространять такую систему без нарушения по крайней мере одной из лицензий не получится.

Хорошо. Скажу, что "для установки этого скачайте 'этот' архив и 'вот этот'" :)
— ntldr (07/12/2007 11:33)   
А по поводу GPL v3 комментарии будут? А то у меня скоро релиз, и надо определяться с лицензией.

Ссылки
[link1] http://www.pgpru.com/forum/offtopik/pomogitepodobratjilisozdatjlicenzijudljaraspostranenijasofta/files?get=license.txt

[link2] http://www.truecrypt.org/license.php