Ich kann Agonira mal fragen, wie eine Trennung von Lizenzen funktionieren kann...
Das wäre nett. CK hat mir inzwischen aber per PN schon mal geantwortet, dass er sich das hier bei Zeiten durchliest und dann antwortet. Das warte ich jetzt einfach mal ab.
Die sichere Bank wäre aber wie gesagt für alles einfach CC BY-NC-SA 3.0 zu benutzen und es so frei zur Verfügung zu stellen, wie es der Großteil der FVTT-Community eh zu tun scheint, wenn ich den Discord richtig verfolgt habe.
Ich glaube, bei dir ist ein bisschen falsch angekommen, was wir machen wollen
Wir wollen das natürlich kostenfrei zur Verfügung stellen. Die MIT Lizenz (
https://de.wikipedia.org/wiki/MIT-Lizenz) ist noch deutlich freizügiger als die CC Lizenzen. Sie erlaubt jedem quasi alles mit dem lizensierten Material zu machen, was er will. Es ist eine der freizügigsten Open Source Lizenzen, die es gibt. Das Problem ist umgekehrt, dass die CC Lizenz Anforderungen stellt, die die MIT Lizenz nicht stellt. Zur Nutzung von CC BY-NC-SA lizensiertem Material ist z.B. die Nennung des Names des ursprünglichen Urhebers erforderlich. Bei MIT lizensiertem Material ist das nicht immer zwingend der Fall ("The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."). Desweiteren gestattet sie
anderen, das Matreial potentiell kommerziell zu nutzen. Bei CC BY-NC Lizenzen ist das nicht möglich (NC = Non-Commercial).
Oder anders gesagt: Das Problem ist nicht, dass wir was kommerzielles machen wollen, sondern dass wir allen generell ermöglichen wollen, unseren Code für (potentiell) kommerzielle Dinge zu verwenden.
Auch das Kommerzielle steht hier aber gar nicht im Fokus. Das Hauptproblem ist, dass es sehr untypisch ist, Software unter CC Lizenzen zu veröffentlichen (wegen der genannten Einschränkungen und auch, weil CC davon wie gesagt selbst abrät). Insbesondere sind die CC Lizenzen nicht direkt kompatibel mit den meisten typischen Open Source Lizenzen. Daher ergibt sich ja auch die ganze Problematik. Wenn wir das ganze jetzt also komplett unter CC lizensieren und jemand ein open source projekt mit typischer Lizenz (MIT, BSD, GPL etc.) hat, in dem er unseren Code nutzen möchte, dann hat er jetzt das Problem. Das ist natürlich auch eine "Lösung", aber wenn möglich würde ich das gerne vermeiden und das Problem direkt lösen.
Dazu muss aber natürlich auch völlig klar sein, welches Material unter welcher Lizenz steht, damit andere nicht aus Versehen Material (kommerziell) nutzen, dass zu DS gehört und damit CC lizensiert ist, weil sie fälschlicherweise denken, es wäre von uns MIT lizensiert.
Ein einfaches Beispiel, um das zu veranschaulichen:
in unserem Repo findet man z.B. folgenden Code:
export class DS4RollProvider {
getNextRoll(): number {
return new Roll("1d20").roll().total;
}
getNextRolls(amount: number): Array<number> {
return Array(amount)
.fill(0)
.map(() => this.getNextRoll());
}
}
export interface RollProvider {
getNextRoll(): number;
getNextRolls(number: number): Array<number>;
}
Das hat offensichtlich nichts direkt mit DS zu tun, könnte also problemlos unter MIT lizensiert werden. Wenn wir jetzt aber das ganze Projekt unter CC lizensieren und jemand anderes möchte diesen Codeschnipsel nutzen, dann muss er sich jetzt damit rumschlagen, dass er CC lizensiert ist und nicht "einfach so" in einem Projekt mit typischer open source Lizenz genutzt werden kann. Das würde ich ihm aber gerne ermöglichen.
Wenn das ganze aber zu kompliziert wird, und die Trennung der Lizenzen nicht sinnvoll möglich ist, weil letztendlich doch ein (zu) großer Teil des Codes als von DS abgeleitet zu betrachten ist, dann ist das halt so. Ist dann zwar schade, weil es einfach praktischer wäre, wenn man das unter MIT (oder einer verlgeichbaren Lizenz) veröffentlichen könnte, aber ist auch kein Beinbruch. Letztendlich machen wir das ja hauptsächlich für uns selbst und alle, die es gerne nutzen wollen. Ich bin nur einfach ein großer Fan von Open Source Software und möchte meine Software anderen unter möglichst einfachen Bedingungen zur Verfügung stellen