// der php hacker

// archiv

Workshop: Brawler – Eine Frage der Lizenz, Teil 1

Geschrieben am 06. Dez 2009 von Cem Derin

Was zuvor geschah:
  1. Workshop: Brawler – The Web Application Security Scanner, Teil 0

Bevor ich auch nur eine Zeile Code für mein kleines Projekt schreibe, stellt sich die Frage, unter welcher Lizenz ich die Software später veröffentlichen werde. Fest steht derzeit nur eins: Auf jeden Fall soll der Quellcode offen sein. Physisch ist er das ohnehin, da ich persönlich nicht besonders viel von kompilierter PHP-Software halte (dann kann man es auch einfach direkt in einer „richtigen“ Sprache schreiben), aber auch juristisch gesehen soll jeder die Chance haben, die Software an seine Wünsche anzupassen.

Aber was ist mir noch wichtig? Bevor ich also irgend eine Lizenz nehme, sollte ich ermitteln, was ich genau will!

Jeder darf den Code benutzen

Wichtig ist mir, dass jeder der Code nutzen darf. Kommerziell oder nicht ist dabei vollkommen uninteressant. Zum einen finde ich eine Beschränkung auf private Nutzung generell eher nervig, zum anderen ist die Software später ohnehin eher für den beruflichen Einsatz interessant.

Jeder darf den Code ändern

Jeder muss das Recht haben dürfen, den Code zu ändern, zu verbessern oder komplett umzubauen. Ich strebe zwar eine Architektur an, die es unnötig macht, am Quelltext Änderungen vornehmen zu müssen, um eigene Funktionalität nachrüsten, aber Wünsche können so speziell sein, dass dies evtl. nicht immer funktioniert.

Sollte der manipulierte Quelltext veröffentlicht werden, bestehe ich allerdings auf die Beibehaltung der Lizenz. Damit will ich sicherstellen, dass Verbesserungen wieder in das Projekt zurückfließen können, wenn sie nicht explizit eingereicht wurden.

Jeder darf den Code verteilen

Die Software darf von jedem weiterverteilt werden. Im Originalzustand wie manipuliert. Allerdings muss der Quelltext mitgeliefert oder frei zugänglich gemacht werden. Die Lizenz muss außerdem weiterhin beiliegen.

Der Name muss geschützt sein

Wichtig ist mir weiterhin, dass der Name des Projektes für Software nur benutzt werden darf, wenn ich schriftlich zugestimmt habe. Damit will ich verhindern, dass windige Geschäftemacher kommerzielle Versionen erstellen und verkaufen.

Welche Lizenzen kommen in Frage?

Was die erste Anforderung betrifft, so kommt jede Open Source Lizenz in Frage. In so fern erhalten wir hier noch keine reduzierte Auswahl. Ähnlich verhält es sich beim zweiten Punkt. Dadurch, dass ich beim verteilen von verändertem Code aus die Beibehaltung der Lizenz bestehe, fallen Lizenzen mit schwachem Copyleft und solche, mit der Möglichkeit, die Lizenz zu ändern weg. Damit bleibt eigentlich nur noch ein etablierter Kandidat: die LGPL. Allerdings erlaubt die LGPL einen Lizenzwechsel – allerdings nur zur GPL. Darüber will ich mal hinwegsehen.

Was ist die LGPL?

Die LGPL (Lesser General Public License, vormals Library General Public License) ist sehr ähnlich zur GPL (General Public License). Sie wurde ursprünglich entwickelt, um das einbinden von Open Source Software in proprietäre Software zu ermöglich. Anfangs war die im Sinne von Libraries, gegen die gelinkt werden konnte gedacht, mittlerweile erstreckt sich der gebrauch allerdings auch über Code bzw. Binaries, der sozusagen als Modul in proprietäre Software eigebunden werden kann. Also die perfekte Lizenz für mich!

Wie geht es weiter?

Wie ich schon angekündigt habe, beginnen wir mit einem kleinen Framework, dass leichtes erstellen von Konsolenanwendungen mit PHP ermöglicht. Input, Output, Argumentauswertung und ein rudimentäres MVC. Juhu, Code!

Übrigens: Gehostet wird das Projekt auf Google Code. Dort werdet ihr dann auch ein Repository mit den aktuellen Quelltexten zum Projekt bekommen. Zu finden ist das alles hier: http://code.google.com/p/brawler/.

#001
07. Dez 2009

[...] Workshop: Brawler – Eine Frage der Lizenz, Teil 1 [...]

#002
09. Dez 2009

[...] Workshop: Brawler – Eine Frage der Lizenz, Teil 1 [...]

#003
15. Dez 2009

[...] Workshop: Brawler – Eine Frage der Lizenz, Teil 1 [...]

// kommentieren

// senden
theme von mir, software von wordpress, grid von 960 grid system. funktioniert in allen browsern, aber der safari bekommt das mit der schrift am schönsten hin.