Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   "Beste" Gestaltung der Lizenz-Header für dual lizenzierte Software (https://www.delphipraxis.net/187784-beste-gestaltung-der-lizenz-header-fuer-dual-lizenzierte-software.html)

mjustin 3. Jan 2016 16:35

"Beste" Gestaltung der Lizenz-Header für dual lizenzierte Software
 
Hallo und frohes neues Jahr!

Für eines meiner bisher kommerziell vertriebenen Produkte erwäge ich eine Umstellung auf "Dual-License", d.h. der Quelltext wird unter einer Open Source Lizenz - GNU Affero General Public License (AGPL) - und unter einer nicht-freien Lizenz erhältlich sein (gegen ein kleines Entgelt).

Nun habe ich für die Lizenz-Header im Sourcecode grundsätzlich zwei Optionen:

1. ich veröffentliche zwei verschiedene Varianten des Sourcecodes die sich im Header unterscheiden: eine mit AGPL Header, einer mit Informationen zur nicht-freien Lizensierung
2. ich veröffentliche eine einzige Variante des Sourcecodes die beide Lizenz-Header enthält

Vorteil der ersten Option: die gültige Lizenzvariante ist im Sourcecode für den Endbenutzer (Softwareentwickler) eindeutig zu erkennen. Die zweite Option könnte zu Verwirrung beim Benutzer (oder seinem Auftraggeber oder Kunden) führen, weil sie nicht wissen unter welcher Lizenz der Sourcecode steht.

Vorteil der zweiten Option: es gibt nur eine zu pflegende Version des Sourcecode. Patches können, da der Sourcecode 100% identisch ist, einfacher angewandt werden. Wenn ich diese Option verwende, könnte ich zusätzlich eine license.txt im Sourcecodeverzeichnis ablegen, in der der konkrete Lizenztyp und Lizenznehmer eingetragen ist.

Welche Option sollte ich wählen? Gibt es für dual-licensed Code eventuell einen de-facto Standard wie der Lizenzheader aussieht?


(Diese Frage habe ich auch im Open Source Bereich auf Stack Exchange gepostet)

Perlsau 3. Jan 2016 17:12

AW: "Beste" Gestaltung der Lizenz-Header für dual lizenzierte Software
 
Hier würde ich die erste Variante wählen, denn es liegt dir doch sicher daran, daß der Quelltext-Benutzer den richtigen Header in den Dateien vorfindet. Dann arbeitest du zu Hause nur mit der Variante, die keinen Lizenz-Header enthält, damit du nicht doppelte Arbeit hast. Zuletzt schreibst du dir ein kleines Tool, das die jeweiligen Lizenzheader vor dem Veröffentlichen einträgt.

mjustin 3. Jan 2016 19:00

AW: "Beste" Gestaltung der Lizenz-Header für dual lizenzierte Software
 
Ein Beispiel eines Lizenzheaders für dual lizenzierte Software habe ich in der iText Java PDF Library gefunden. Der Lizenzheader enthält sowohl die AGPL als auch den Hinweis auf die Möglichkeit/Erfordernis den Sourcecode mit einer kommerziellen Lizenz zu nutzen:
Code:
/*
 * This file is part of the iText (R) project.
 * Copyright (c) 1998-2014 iText Group NV
 * Authors: Bruno Lowagie, et al.
 *
 * This program is free software (...)
 * You should have received a copy of the GNU Affero General Public License
 * along with this program (...)
 *
 * You can be released from the requirements of the license by purchasing
 * a commercial license. Buying such a license is mandatory as soon as you
 * develop commercial activities involving the iText software without
 * disclosing the source code of your own applications (...)
 *
 */
Der Hinweis auf die kommerzielle Lizenz "You can be released from the requirements ..." unter der Open Source Lizenz hat mMn Vorteile:
  • für Leser des Lizenz-Headers ist ersichtlich, dass es eine Möglichkeit zum Erwerb einer kommerziellen Lizenz gibt - damit handelt es sich hier auch um einen "Werbetext", ohne den ein mit Open Source Lizenzen weniger vertrauter Leser annehmen könnte, dass die Software ausschliesslich unter AGPL erhältlich ist
  • wenn der Benutzer (Software-Entwickler, Auftraggeber) sich für den Kauf der kommerziellen Version entschliesst, ist kein Austausch des Source Codes durch eine (funktional exakt identische) Sourcecode Version erforderlich - im Sourcecoderepository ändert sich nichts (der "lizenztechnische" Bereich ist völlig abgekoppelt)

mm1256 4. Jan 2016 09:07

AW: "Beste" Gestaltung der Lizenz-Header für dual lizenzierte Software
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Perlsau (Beitrag 1325916)
...Zuletzt schreibst du dir ein kleines Tool, das die jeweiligen Lizenzheader vor dem Veröffentlichen einträgt.

Genau das wollte ich auch vorschlagen, weil ich es auch so mache. So nebenbei könnte man dann noch Compileroptionen einbinden, Suchen/Ersetzen, Versionsnummern pflegen usw, siehe Bild.

Perlsau 4. Jan 2016 10:29

AW: "Beste" Gestaltung der Lizenz-Header für dual lizenzierte Software
 
MJustin hat sich wohl bereits für eine Variante entschieden ...

mm1256 4. Jan 2016 10:51

AW: "Beste" Gestaltung der Lizenz-Header für dual lizenzierte Software
 
oooops...scheint so. Trotzdem was gelernt: Frank kann besser lesen als Otto :cry:

mjustin 4. Jan 2016 16:55

AW: "Beste" Gestaltung der Lizenz-Header für dual lizenzierte Software
 
Nja, noch nicht 'entschieden' aber eine deutliche Präferenz habe ich schon. Mal sehen welches Feedback noch eingeht, auf StackExchange und hier. Danke für die konstruktiven Beiträge und viele Grüße, MJ


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz