2008-10-07 3 views
10

Я разрабатывал программное обеспечение GPL'd в течение многих лет, но теперь мне нужна более ограничительная лицензия.Лицензия с открытым исходным кодом, которая не позволяет пользователям компилировать приложение, если оно не приобрело его?

Это коммерческое приложение, и я хочу поделиться своим исходным кодом со всем миром, независимо от того, приобрели ли я приложение у меня или нет. Я также хочу позволить людям создавать производные работы, но я хочу запретить бинарное распространение как моей оригинальной работы, так и работы любого производного.

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

Кто-нибудь знает лицензию, которая соответствует моим потребностям, или мне нужно написать свое собственное?

Спасибо,

UPDATE:

Прежде всего, спасибо всем за ответы.

Позвольте мне прояснить несколько вещей:

  1. Это приложение еще не был выпущен. Поэтому я не принимаю новую лицензию, такую ​​как XFree86, я пытаюсь выбрать лицензию для нового приложения.

  2. Обычно я использую термин «бесплатное программное обеспечение» вместо открытого источника, поэтому я использовал термин open source здесь. Источник будет «открытым» действительно, просто не так, как определяет OSI.

  3. Я все для GPL, и почти все программное обеспечение, которое я написал ранее, было выпущено под GNU GPL v2. Но это должно быть исключением.

  4. Мне все равно, нарушают ли люди лицензию. Я бы не стал мечтать о том, чтобы кого-то подавать в суд на это, если они не продают мое программное обеспечение.

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

О, и, наконец, приложение написано на скомпилированном языке (Objective-C, если быть точным * cough * iPhone * cough *).

+0

Похоже, людям будет сложно каким-либо образом изменить код, если им запрещено его компилировать. –

+1

Стив, Чтение вопроса, компиляция и использование должны быть в порядке - просто распределение не будет разрешено. Таким образом, скомпилированная и модифицированная версия вполне может использоваться для личного или корпоративного внутреннего использования. – hangy

+4

Я голосую, чтобы закрыть этот вопрос как вне темы, потому что речь идет о лицензировании, а не о программировании или разработке программного обеспечения, как определено в справочном центре. –

ответ

19

это не OS, это похоже на общий источник. В частности, это очень похоже на Ms-RSL.

От WikiPedia:

Microsoft Reference Source License (Ms-RSL)

Это наиболее щадящим лицензий Microsoft Shared Source. Исходный код доступен для просмотра только для справочных целей. [14] Разработчики не могут распространять или изменять код для коммерческих или некоммерческих целей.

2

Это не будет лицензией с открытым исходным кодом. Тем не менее, вы, безусловно, можете получить лицензию на право собственности, которая точно соответствует вашим намерениям. Многие наряды, которые продают компоненты, делают именно то, о чем вы говорите, за исключением того, что они обычно не предоставляют источник, пока вы не заплатили.

Нет ничего, что мешает вам сделать это, но я считаю, что реальность ситуации заключается в том, что как только ваш источник будет доступен, кто-то скомпилирует его (возможно, много людей). Как легко будет предотвращать перераспределение двоичных файлов ... ???

+0

Не сомневаюсь, что его можно скомпилировать, но по юридическим причинам вы должны запретить это по лицензии. – Anheledir

+0

Определенно не с открытым исходным кодом, если вы можете прочитать его, но не использовать его открыто. Вам понадобится специальная лицензия. –

0

IANAL, но я бы предложил написать собственную лицензию для этого типа вещей. Я никогда не сталкивался с лицензией, специфичной для компиляции, такой как вы упоминаете. Посмотрите несколько лицензий в качестве отправной точки, которую вы можете использовать в качестве шаблона.Если вы действительно серьезно относитесь к тому, что есть что-то, что будет стоять в суде, вам нужно будет получить некоторые юридические рекомендации перед публикацией.

1

Я не думаю, что это квалифицировалось как лицензия «с открытым исходным кодом» под номером Open Source Definition.

В общем, вы должны быть в состоянии показать свой источник людям без их автоматического разрешения его скомпилировать. До тех пор, пока вы дадите понять, что вы все еще сохраняете все права, скомпилированная версия, вероятно, будет считаться «производной работой».

Если это отличная программа, люди, вероятно, украдут ее. Там вы мало что можете сделать, кроме как подать в суд на них позже (если вы его поймаете). В общем, показывая источник, не выпуская его, поскольку открытый источник не похож на хорошую идею.

0

Лицензия с открытым исходным кодом (по определению) не соответствует вашим требованиям.

Но вы можете посмотреть на Microsoft Reference Source License - это позволяет просматривать исходный код, но запретить распространение: http://www.microsoft.com/resources/sharedsource/referencesourcelicensing.mspx

0

Это хак, но я видел, как это делается: распространять свой код в виде серии скриншотов.

Это «опубликовано», но не подлежит компиляции.

Но для того, чтобы понять суть вашего вопроса, распространяя исходный код, не разрешая людям компилировать его, является явно NOT FLOSS-y.

+1

Я бы оспаривал такую ​​публикацию - отличное приложение для программного обеспечения OCR. ;) Но я считаю, что это неправильный способ сделать это «невозможным» для компиляции, но для того, чтобы ваше отношение было понятным с достаточной лицензией (по запросу). – Anheledir

1

Другие уже сказали вам, что то, что вы описываете, не является «открытым исходным кодом», как его обычно понимают. Нет ничего, что запрещало бы распространять источник с коммерческой лицензией.

Фактически (и в качестве другого примера) atlassian, создатели джиры, конфлюэнса и других драгоценных камней, предоставляют исходный код, как только вы купили лицензию на их коммерческие продукты. Вам разрешено изменять, исправлять и использовать это, но не перераспределять.

(я не связан с Atlassian кроме как пользователь некоторых из своих продуктов)

12

Кстати, это будет совершенно невозможно, чтобы остановить людей от сохранения последней версии GPL вы выпустили. Если есть достаточно людей, которые хотят использовать ваше программное обеспечение, вы должны пойти на это предприятие с ожиданием того, что сообщество построится за версией GPL, его новые сопровождающие будут соответствовать вам особенностью, и вы будете считаться парией в этих кругах.

Я не имею в виду это как угрозу, но поскольку образец, который я видел, развивает вокруг этих действий в прошлом. XFree86 принял более ограничительную лицензию, многие участники разветвили ее на X.org и XFree86 теперь немного больше, чем тень его старого «я». cdrecord begat cdrtools. SSH родил OpenSSH. В основном, послужной список для free software switching to a restrictive license завален мертвыми коммерческими проектами. Вы уверены, что это то, что вы хотите?

Альтернативы: позволяют пользователям покупать запрашиваемые функции и выпускать их под GPL. Обеспечьте установку и настройку. Продать контракты на поддержку. Продать обучение. Любые из них намного более успешны, чем то, что вы предлагаете.

+0

Очень хороший анализ! –

+2

Я думаю, что это не главное. Он запускает новое приложение и хочет получить ограниченную лицензию, потому что это коммерческий проект. Так что в принципе нет источника для разветвления, потому что нет существующего кода, у которого есть другая лицензия. – Tigraine

0

Обратите внимание, что исполняемая версия вашего исходного кода может рассматриваться как производная работа.

Различия между исходным кодом и исполняемой версии даже исчезают, если вы пишете приложение на языке, как Perl, Ruby, Python и т.д.

Тем не менее, лицензия Вы ищете не лицензия с открытым исходным кодом и мне кажется, что вы хотите поделиться алгоритмами и подсказками внедрения вместо полного исходного кода продукта. В этом случае просто сделайте это и опубликуйте алгоритмы вместе с примерным исходным кодом.

Таким образом, никто не может перекомпилировать ваш продукт без вашего разрешения (что означает: копия полного источника), и заинтересованные разработчики все еще могут использовать ваши алгоритмы и основываться на нем.

2

Вы не можете отправить код с лицензией, а затем сообщить людям, что вы не будете применять лицензию. Это требует от них принятия неприемлемого юридического риска. Что мешает вам передумать? Вы должны быть в курсе условий, под которыми вы лицензируете код.

Проблема в том, что как только вы позволяете исходному коду выйти из строя, очень сложно отслеживать, где он приземляется. Независимо от того, как вы ее лицензируете, недобросовестные люди могут не делать с этим то, что вы предпочитаете.

Один из подходов заключается в обеспечении наиболее, но не все из кода под подходящей лицензией OSI-совместимой (см opensource.org для списка текущего OSI одобрил лицензию). Некоторая низкоуровневая библиотека или ядро, которое вы передаете в форме объектного кода, и продаете его или что-то еще. Без скомпилированного ядра код не будет работать. Пользователи могут по-прежнему просматривать интересные части кода, они могут изменить его, если захотят. Они могли даже перераспределить его, но это не сработало бы без скомпилированного ядра низкого уровня. Риск заключается в том, что кто-то может перепроектировать ваше ядро, но с небольшим умом вы можете это сделать. Вы также можете доставить ядро ​​с EULA, которое запрещает обратное проектирование. Таким образом, вы можете подать иск против кого-то, кто это делает. Я думаю, что это дает вам то, что вы ищете - способность делиться кодом, но не разрешайте другим превращать его в продукт для продажи.

FYI: IANAL, это только мои личные мысли по этому вопросу.

0

Вы можете реализовать некоторый процесс сборки приличий, следовательно, даже если у них есть источник, он не может быть скомпилирован без приукрашивания «строитель».

0

Теперь я не утверждаю, что я написал очень специальный кусок программного обеспечения, но я просто не хочу, чтобы люди зарабатывать деньги украв мой код. Но я также хочу технически подкованных пользователей, чтобы иметь возможность изменить программное обеспечение в любом случае, они видят подходят.

Таким образом, вы хотите разрешить изменения, но вы не хотите разрешать коммерческое использование?

Возможно, вы ищете что-то вроде Creative Commons NonCommercial и, возможно, лицензии NoDerivs?

+0

Чтобы быть ясным, CC-NC (ограничение свободы на продажу работы) и CC-ND (ограничение свободы на вывод новые работы из существующих) - это статьи, которые приводят к работе, которая не является * бесплатной. – bignose

0

В последующем редактировании, Вы писали:

Я действительно не волнует, если люди нарушают лицензию. Я бы не стал мечтать о том, чтобы кого-то подавать в суд на это, если они не продают мое программное обеспечение.

Если вам все равно, нарушают ли люди лицензии в лицензии, это означает, что ваше новое ограничение не имеет значения; немодифицированный GNU GPL должен быть столь же хорош для ваших целей, как и раньше.