30.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 in Abschnitt 14.2.1 besprochen wurden.
- Source .gz/.bz2
Wird die Software als Quellcode publiziert, so 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 vor, in der Regel jedoch als Quellcode-Archiv. Der Port installiert sich dabei automatisch, 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, SVN, git
Eine weitere Möglichkeit, alles von Hand zu erledigen, ist das Herunterladen des aktuellen Quellcode-Auszugs vom CVS-, SVN- oder git-Server des jeweiligen Softwareprojekts. Mehr zu diesem Thema in Abschnitt 30.13.
30.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: mailadresse@abcdefg.xyz http: www.abcdefg.xyz
Listing 30.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 Dateien (exakte Vorgaben gibt es dafür nicht):
Xyria:DNSd Changelog -------------------- 0.6.0 : (3354 loc; Jun-22-2005; 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/O
Listing 30.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 gespeichert.
Sorgen Sie 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. |