21.11 Unix-Software veröffentlichen
Üblicherweise gibt es bei der Veröffentlichung von Unix-Software einige typische Eigenheiten. Auf diese Eigenheiten, die Sie in fast jeder gängigen Open-Source-Software antreffen werden, möchten wir im Folgenden zu sprechen kommen.
In der Regel wird Unix-Software entweder in binärer Form oder als Quellcode-Version auf die folgenden Arten aus dem Internet bezogen:
- Als fertiges Paket
- Hierzu zählen beispielsweise .deb- und .rpm-Dateien, die bereits an anderer Stelle besprochen wurden.
- Source .gz/.bz2
- Wird die Software als Quellcode publiziert, dann wird sie (und das gilt für alle Unix-Systeme) meist in Form von komprimierten tar-Archiven verteilt. Diese tar-Archive werden dann oftmals noch mit gzip, compress oder bzip2 komprimiert. Eher unüblich ist die Verwendung von zip-Archiven – doch auch diese sind möglich. Bei dieser Form der Softwareverteilung muss der Quellcode selbst entpackt und übersetzt werden.
- Port
- Bei Ports (und hier sind nicht die Plattformportierungen, sondern die BSD-Ports gemeint) liegt die Software in einem beliebigen Format, in der Regel jedoch als Quellcode-Archiv, vor. Der Port installiert sich dabei von selbst, nachdem man die Installation gestartet hat. Dies beinhaltet das automatische Herunterladen der Software, das Herunterladen und Installieren von Abhängigkeiten und die Installation der Software.
- CVS
- Eine weitere Möglichkeit, alles von Hand zu erledigen, ist die, dass man sich den aktuellen Quellcode-Auszug vom CVS-Server des jeweiligen Softwareprojekts herunterlädt. Auf die Nutzung des CVS kommen wir später noch zu sprechen.
21.11.1 Wichtige Dateien
Unix-Softwareprojekten sind in aller Regel bestimmte Dateien beigefügt. Dazu zählen:
- AUTHOR
- In dieser Datei stehen der Name des Projektleiters sowie einige Kontaktinformationen. Ihr Inhalt könnte etwa so aussehen:
Steffen Wendzel mail: cdp@doomed-reality.org http: cdp.doomed-reality.orgListing 21.66 Beispiel einer AUTHOR-Datei
- CHANGELOG
- In dieser Datei sind die Änderungen protokolliert, die bei jeder neuen Version an der Software vorgenommen wurden. Hier ein Beispiel für den Aufbau einer solchen Daten (exakte Vorgaben gibt es dafür nicht):
Xyria:DNSd Changelog -------------------- 0.6.0 : (3354 loc; 22.06.05; 23:25) – implemented a cache based on hashed arrays – implemented IPC between resolver-childs and cache-thread based on unix domain sockets – switched from 'beta' to 'stable' 0.5.1p2-beta : (3186 loc; 21.06.05; 22:00) – fixed a problem with blocking-I/O in resolver child; switched to non-blocking-I/OListing 21.67 CHANGELOG
- INSTALL
- Diese Datei enthält eine Installationsanleitung der Software. Manchmal findet sich auch nur ein Verweis auf ein Dokumentationsverzeichnis (in der Regel doc/) oder eine URL mit Dokumentationsdateien in dieser Datei.
- README
- Zusätzliche Informationen werden in dieser Datei abgelegt.
- LICENSE
- Die Lizenz, unter der eine Software publiziert wird – in der Regel ist dies die BSD-License oder die GNU-General Public License (GPL) – ist in dieser Datei platziert.
Sorgen Sie möglichst dafür, dass die Installationsanleitung und die CHANGELOG-Datei in englischer Sprache verfasst sind.
Damit geben Sie Ihrer Software zum einen die Möglichkeit, sich leichter zu verbreiten, und zum anderen machen Sie es den internationalen Anwendern bedeutend einfacher, mit Ihrer Software zu arbeiten.