2008-10-07 7 views
10

Ich habe GPL-Software seit Jahren entwickelt, aber jetzt brauche ich eine restriktivere Lizenz.Eine Open-Source-Lizenz, bei der Benutzer die Anwendung erst kompilieren können, wenn sie sie gekauft haben?

Dies ist für eine kommerzielle Anwendung, und ich möchte meinen Quellcode mit der ganzen Welt teilen, unabhängig davon, ob sie die Anwendung von mir gekauft haben oder nicht. Ich möchte auch Menschen erlauben, abgeleitete Werke zu produzieren, aber ich möchte die binäre Verbreitung sowohl meiner ursprünglichen Arbeit als auch der daraus abgeleiteten Arbeiten verbieten.

Wenn jemand das Originalwerk bereits erworben hat, kann er/sie den ursprünglichen Quellcode oder abgeleitete Werke zusammenstellen und verwenden. Ansonsten können sie nur meinen Quellcode oder den eines abgeleiteten Werkes studieren.

Kennt jemand eine Lizenz, die meinen Bedürfnissen entspricht, oder muss ich meine eigene schreiben?

Danke,

UPDATE:

Vor allem dankt allen für die Antworten.

Lassen Sie mich ein paar Dinge klären:

  1. Diese Anwendung ist noch nicht veröffentlicht worden. Also nehme ich keine neue Lizenz wie XFree86 an, ich versuche eine Lizenz für eine neue Anwendung auszuwählen.

  2. Ich verwende normalerweise den Begriff "freie Software" anstelle von Open Source, deshalb habe ich hier den Begriff Open Source verwendet. Die Quelle wird in der Tat "offen" sein, nur nicht wie der OSI es definiert.

  3. Ich bin alles für GPL, und fast alle Software, die ich zuvor geschrieben habe, wurde unter der GNU GPL v2 veröffentlicht. Aber dieser muss eine Ausnahme sein.

  4. Mir ist es egal, wenn Leute die Lizenz verletzen. Ich würde nicht im Traum daran denken, irgendjemand dafür zu verurteilen, es sei denn, sie verkaufen meine Software.

Jetzt bin ich nicht darauf hindeutet, ich ein ganz besonderes Stück Software geschrieben habe, aber ich will einfach nicht Geld Menschen, die durch meinen Code zu stehlen. Aber ich möchte auch, dass die technisch versierten Benutzer in der Lage sind, die Software so zu modifizieren, wie sie es für richtig halten.

Oh, und schließlich ist die Anwendung in einer kompilierten Sprache geschrieben (Objective-C, um genau zu sein * hust * iPhone * hust *).

+0

Scheint, es wäre schwierig für Menschen, den Code in irgendeiner Weise zu ändern, wenn es ihnen verboten ist, sie zu kompilieren. –

+1

Steve, Lesen der Frage, Kompilieren und Verwenden sollte in Ordnung sein - nur die Verteilung wäre nicht erlaubt. Somit könnte die kompilierte und modifizierte Version gut für den persönlichen oder firmeninternen Gebrauch verwendet werden. – hangy

+4

Ich stimme ab, diese Frage als off-topic zu schließen, weil es um Lizenzierung geht, nicht um Programmierung oder Softwareentwicklung, wie in der Hilfe definiert. –

Antwort

19

das ist nicht OS, es klingt wie geteilte Quelle. Genauer gesagt, es ist sehr ähnlich wie Ms-RSL.

Von WikiPedia:

Microsoft Reference Source License (Ms-RSL)

Dies ist die restriktivste der Microsoft Shared Source-Lizenzen. Der Quellcode wird nur zu Referenzzwecken zur Verfügung gestellt. [14] Entwickler dürfen den Code nicht für kommerzielle oder nichtkommerzielle Zwecke verbreiten oder modifizieren.

2

Das wäre keine Open-Source-Lizenz. Sie können jedoch sicher eine proprietäre Lizenz haben, die genau das sagt, was Sie beabsichtigen. Viele Outfits, die Komponenten verkaufen, tun genau das, wovon du sprichst, mit der Ausnahme, dass sie normalerweise keine Quelle bereitstellen, bis du bezahlt hast.

Es gibt nichts, was Sie davon abhält, aber ich denke, dass die Realität der Situation ist, dass, sobald Ihre Quelle verfügbar ist, wird jemand es kompilieren (wahrscheinlich viele Leute). Wie einfach wird es sein, Umverteilung von Binärdateien zu verhindern ... ???

+0

Es ist keine Frage, dass es möglich ist, es zu kompilieren - aber aus rechtlichen Gründen müssen Sie dies durch eine Lizenz verbieten. – Anheledir

+0

Definitiv nicht Open-Source, wenn Sie es lesen können, aber nicht offen verwenden. Sie benötigen eine benutzerdefinierte Lizenz. –

0

IANAL, aber ich würde vorschlagen, Ihre eigene Lizenz für diese Art von Sache zu schreiben. Ich habe noch nie eine kompilierungsspezifische Lizenz gefunden. Sehen Sie sich einige Lizenzen als Ausgangspunkt an, die Sie als Vorlage verwenden können.Wenn Sie es wirklich ernst meinen mit etwas, das vor Gericht steht, benötigen Sie vor der Veröffentlichung einige rechtliche Hinweise.

1

Ich denke nicht, dass dies als eine "Open-Source" -Lizenz unter der Open Source Definition qualifizieren würde.

Im Allgemeinen sollten Sie in der Lage sein, Ihre Quelle Leuten zu zeigen, ohne dass sie automatisch kompiliert werden dürfen. Solange Sie klarstellen, dass Sie noch alle Rechte behalten, würde die kompilierte Version wahrscheinlich als "abgeleitete Arbeit" betrachtet werden.

Wenn es ein großartiges Programm ist, werden die Leute es wahrscheinlich stehlen. Es gibt wenig, was Sie dagegen tun können, außer sie später zu verklagen (wenn Sie es fangen). Im Allgemeinen klingt es nicht gut, wenn man die Quelle ausschaltet, ohne sie als Open Source zu veröffentlichen.

0

Es ist hackish, aber ich habe es getan gesehen: Ihr Code als eine Reihe verteilen von Screenshots.

Es ist "veröffentlicht", aber nicht kompilierbar.

Aber um das Herz Ihrer Frage zu bekommen, die Quelle zu verteilen, ohne zu erlauben, dass Leute es kompilieren, ist eindeutig NICHT FLOSS-y.

+1

Ich würde mich durch eine solche Veröffentlichung herausgefordert fühlen - perfekte Anwendung für eine OCR-Software. ;) Aber ich glaube es ist der falsche Weg, es "unmöglich" zu kompilieren, aber um mit einer entsprechenden Lizenz (wie gewünscht) klar zu kommen. – Anheledir

1

Andere haben Ihnen bereits gesagt, dass das, was Sie beschreiben, nicht "Open Source" ist, wie es normalerweise verstanden wird. Es gibt nichts, was die Verbreitung der Quelle mit einer kommerziellen Lizenz verbietet.

In der Tat (und als ein anderes Beispiel), atlassian, Hersteller von Jira, Confluence und andere Edelsteine, stellen ihren Quellcode zur Verfügung, sobald Sie eine Lizenz ihrer kommerziellen Produkte gekauft haben. Sie dürfen das ändern, patchen und verwenden, aber nicht neu verteilen.

(Ich bin nicht mit Atlassian anderen verbunden ist, als ein Benutzer einen Teil ihrer Produkte zu sein)

12

By the way, wird es ganz unmöglich sein, die Menschen daran zu hindern, die letzte GPL Version beibehalten Sie freigegeben. Wenn es genug Leute gibt, die deine Software benutzen wollen, solltest du mit der Erwartung beginnen, dass eine Community hinter der GPL-Version baut, die neuen Betreuer werden dir Feature-for-Feature zuordnen und du wirst als Paria angesehen in diesen Kreisen.

Ich meine das nicht als eine Bedrohung, aber wie das Muster, das ich gesehen habe, um diese Aktionen in der Vergangenheit entwickelt. XFree86 nahm eine restriktivere Lizenz an, eine Menge Mitwirkender gab es in X.org, und XFree86 ist jetzt wenig mehr als ein Schatten seines alten Selbst. cdrecord erzeugt cdrtools. SSH zeugte OpenSSH. Grundsätzlich ist der Track Record für free software switching to a restrictive license mit toten kommerziellen Projekten übersät. Bist du sicher, dass du das willst?

Alternativen: erlauben Benutzern, angeforderte Funktionen zu kaufen und sie unter der GPL freizugeben. Bereitstellen von Installations- und Konfigurationsdiensten Verkaufe Supportverträge. Verkaufe Training. Alle diese sind viel wahrscheinlicher als das, was Sie vorschlagen.

+0

Sehr gute Analyse! –

+2

Ich denke, das ist nicht der Punkt. Er beginnt eine neue Anwendung und möchte eine restriktive Lizenz, weil es ein kommerzielles Projekt ist. Also im Grunde gibt es keine Quelle zu verzweigen, da es keinen vorhandenen Code gibt, der eine andere Lizenz hat – Tigraine

0

Bitte beachten Sie, dass eine lauffähige Version Ihres Quellcodes möglicherweise als abgeleitete Arbeit angesehen werden kann.

Unterschiede zwischen den Quellcode und die ausführbare Version sogar verschwinden, wenn Sie Ihre Anwendung in einer Sprache wie Perl schreiben, Ruby, Python etc.

Dennoch ist die Lizenz Sie für Ihre Suche ist keine Open-Source-Lizenz und Es scheint mir, dass Sie Algorithmen und Implementierungshinweise anstelle des vollständigen Quellcodes eines Produkts freigeben möchten. In diesem Fall tun Sie das einfach und veröffentlichen Sie Algorithmen zusammen mit einem Beispielquellcode.

Auf diese Weise kann niemand Ihr Produkt ohne Ihre Erlaubnis neu kompilieren (dh eine Kopie der vollständigen Quelle) und interessierte Entwickler können Ihre Algorithmen weiterhin verwenden und darauf aufbauen.

2

Sie können Code mit einer Lizenz nicht versenden und dann den Leuten sagen, dass Sie die Lizenz nicht durchsetzen werden. Das verlangt von ihnen, ein inakzeptables Rechtsrisiko einzugehen. Was soll dich davon abhalten, deine Meinung zu ändern? Sie sollten im Voraus mit den Bedingungen übereinstimmen, unter denen Sie den Code lizenzieren.

Das Problem ist, dass sobald Sie Quellcode aus der Tür lassen, es sehr schwierig ist, zu verfolgen, wo es landet. Egal wie Sie es lizenzieren, skrupellose Menschen dürfen damit nicht machen, was Sie bevorzugen.

Ein Ansatz ist meist, bietet aber die gesamten Code unter einer geeigneten OSI-konformen Lizenz nicht (siehe opensource.org für eine Liste der aktuellen OSI Lizenzen genehmigt). Einige Low-Level-Bibliotheken oder Kernel, die Sie in Objektcodeform liefern und verkaufen oder was auch immer. Ohne den kompilierten Kernel wird der Code nicht ausgeführt. Benutzer können die interessanten Teile des Codes weiterhin anzeigen, sie können sie jedoch ändern, wenn sie möchten. Sie könnten es sogar neu verteilen, aber es würde ohne den kompilierten Low-Level-Kernel nicht funktionieren. Das Risiko ist, dass jemand Ihren Kernel zurückentwickeln könnte, aber mit etwas Geschick können Sie das schwer machen. Sie können den Kernel auch mit einem EULA ausliefern, der das Reverse Engineering untersagt. So können Sie rechtliche Schritte gegen jemanden einleiten, der dies tut. Ich denke, dies bietet Ihnen, was Sie suchen - die Möglichkeit, Code zu teilen, aber nicht von anderen zu einem Produkt zum Verkauf zu machen.

FYI: IANAL, das sind nur meine persönlichen Gedanken zu der Sache.

0

Sie könnten einige proprietäre Build-Prozess implementieren, daher auch wenn sie die Quelle haben, kann es nicht kompiliert werden, ohne die Eigenschaft "Builder".

0

Jetzt bin darauf hindeutet, ich nicht, dass ich geschrieben habe ein ganz besonderes Stück Software, aber ich einfach nicht die Leute wollen Geld verdienen durch meinen Code zu stehlen. Aber ich möchte auch die technisch versierten Benutzer in der Lage zu ändern Sie die Software, wie sie sehen, passen.

Sie möchten also Änderungen zulassen, aber keine kommerzielle Nutzung zulassen?

Vielleicht suchen Sie etwas wie eine Creative Commons NonCommercial, und vielleicht NoDerivs Lizenz?

+0

Um klar zu sein, die CC-NC (Einschränkung der Freiheit, das Werk zu verkaufen) und CC-ND (Beschränkung der Freiheit abzuleiten neue Arbeiten aus dem bestehenden) sind Klauseln, die zu einer Arbeit führen, die * nicht * frei ist. – bignose

0

In einem anschließenden Bearbeiten Sie schrieben:

mich nicht wirklich egal, ob Menschen, die Lizenz zu verletzen. Ich würde nicht im Traum daran denken, irgendjemand dafür zu verurteilen, es sei denn, sie verkaufen meine Software.

Wenn es Ihnen egal ist, ob Personen gegen die Einschränkungen in der Lizenz verstoßen, bedeutet das sicherlich, dass Ihre neue Einschränkung irrelevant ist; Die unmodifizierte GNU GPL sollte für Ihre Zwecke genauso gut sein wie früher.