Sorry this page is only available in German, but you can visit Tim Groeneveld’s Page. He has kindly translated this article into English. You can find the interview here.
(Hier mein Artikel aus freiesMagazin 10/2008: || Zum Interview || In English, translatet by Tim Groeneveld)
von Marcus Schulderinsky
Um ein Projekt erfolgreich zu präsentieren und zu verwalten, braucht es eine Webseite und verschiedene kleine Tools. Bei den sogenannten ,,Projekt-Hostern” hat man gleich alles zusammen und muss sich nicht um die Installation und Wartung dieser Dienste kümmern, sondern kann sich vollkommen dem Programmieren widmen. Das Problem besteht allerdings nicht darin, eine solche Plattform zu finden, sondern die für seine Bedürfnisse passende aus einer Vielzahl von Webseiten auszuwählen. Für mein erstes ,,großes” Projekt brauchte ich auch einen solchen Hoster und letztendlich hatte ich eine kleine Auswahl zusammen, die ich in dieser Serie testen werde. Leider ist es nicht möglich, die Systeme auf Tauglichkeit für große Teams zu testen, aber für ,,kleine” Entwickler wie mich versuche ich die richtige Lösung zu finden.
ShareSource ist eine relativ neue Open-Source-Projekt-Hosting-Plattform, die am 22. Juli 2007 ins Leben gerufen wurde. Sie wurde geschaffen, um die ,,perfekte” Plattform für ihre Entwickler zu werden. Mittlerweile in Version 1.98 vorliegend wurde besonders darauf geachtet, dass sich ShareSource möglichst einfach bedienen lässt und dass man nicht durch irgendwelche Lizenzen eingeschränkt wird. Besonderen Wert gelegt wurde auf die gute Unterstützung von Mercurial, welches neben Subversion als Versionskontrollsystem eingesetzt werden kann. Einziger Wermutstropfen vorweg, ShareSource liegt nur in einer englischsprachigen Version vor. Im Folgenden wird ShareSource anhand der Erfahrungen mit einem Beispielprojekt durchleuchtet.

Die ShareSource-Startseite begrüßt einen.
Vorarbeit
Registieren und Einloggen
Auf der Webseite (Link) kann man sich registrieren und nach erfolgter Anmeldung bekommt man eine E-Mail mit dem Aktivierungslink. Einloggen (Link) kann man sich nun mit seinem Benutzernamen und seinem Passwort oder seiner OpenID.
Die Verwaltungsoberfläche
Die Verwaltungsoberfläche ist einfach und übersichtlich gestaltet. Allerdings vermisst man hier ein paar Möglichkeiten, wie zum Beispiel Angaben zu seinen Fähigkeiten machen zu können, sodass zum Beispiel andere Entwickler sehen können, welche Programmiersprachen man beherrscht. Damit könnte die Bildung von (internationalen) Entwicklerteams vereinfacht werden. Aber leider kann man an hier nur das Passwort ändern.
Neues Projekt erstellen
Um ein neues Projekt zu erstellen, genügt ein Klick auf ,,add project”. Jetzt wird man mit einer kurz und knapp gehaltenen Einleitung begrüßt, die die verschiedenen Dienstleistungen beschreibt und darauf hinweist, dass man eine von ShareSource unterstützte Lizenz nutzen muss. Im nächsten Schritt wird man aufgefordert, einen kurzen Projektnamen, wie zum Beispiel ,,Firefox” oder ,,KDE”, einzugeben. Danach wird der volle Name verlangt, wie ,,Mozilla Firefox” oder ,,K Desktop Environment”. Nun muss man die gewünschte Open-Source-Lizenz auswählen. Zur Auswahl stehen GNU General Public License, Mozilla Public License, Qt Public License, Artistic License, Open Software License und viele mehr. Danach sollte man sein Projekt noch kurz beschreiben und eine Kategorie festlegen. Jetzt dauert es laut Angabe ca. 48 Stunden, bis das Projekt vom Administrator freigeschaltet wird. Im Test war dies sogar schon am nächsten Tag passiert.
Projektverwaltung
Mit einem Klick auf ,,Project Administration” auf der Seite des Projekts kann man die verschiedenen Dienste verwalten.

Über die Verwaltungsoberfläche kann man alles einstellen.
Als Erstes sollte man sich einmal durch die Optionen klicken, die sich hinter ,,Project Administration » Main Information” verstecken, beispielsweise welche Dienste ein Benutzer einsehen darf, die Beschreibung editieren oder die verwendeten Programmiersprachen nennen.
Nachrichten und Dateien veröffentlichen
Als Nächstes wäre eine neue Nachricht über das Projekt ganz angebracht, also über ,,Project Administration » News” einen Beitrag verfassen. Allerdings ist ein Projekt ohne Dateien relativ sinnlos, daher muss man noch die entsprechenden Dateien hochladen. Dazu sollte man ein ,,Package” (Art der Veröffentlichung zum Beispiel ,,release” oder ,,testing”) anlegen. Daraufhin sollte man sich eine Version einrichten, beispielsweise 0.1, und alle Dateien des Programms als Archiv über die Webseite hochladen.
Bildschirmfotos hochladen
Jetzt wären ein paar Bildschirmfotos der Software noch sehenswert. Dazu klickt man auf ,,Project Administration » Gallery” und lädt ein neues Bild mit kurzer Beschreibung hoch.
Das Wiki erstellen
Jedes gute Projekt braucht seine Dokumentation und ein Wiki tut hier gute Dienste: Dazu klickt man auf ,,Project Administration » Wiki” und binnen kurzer Zeit hat man eine neue Hauptseite erstellt. Ist man damit fertig, sucht man vergebens nach einem Button für eine neue Seite. Setzt man auf der Hauptseite einen Link auf eine, die noch nicht vorhanden ist, so wird ein Fragezeichen neben dem Link angezeigt. Klickt man jetzt auf das Fragezeichen, kommt man auf die Seite und kann sie editieren. Auf diese Weise lässt sich das Wiki komplett erstellen. Als Wiki-System wird WikiCreole (Link) verwendet.
Die Mailingliste
Als Nächstes ist eine Mailingliste praktisch. Eine neue Mailingliste wird ganz einfach im ,,Mailing List Manager” erstellt. Hierzu muss man auf ,,Add a mailinglist” klicken und die gewünschten Daten eingeben. Nachdem man jetzt eine neue Mailingliste hat, kann man unter ,,Manage a mailing list” noch ein paar Einstellungen vornehmen.
Der Tracker
Ein Tracker für Fehler und Wünsche ist automatisch aktiviert. Wenn man ihn nicht unter ,,Project Administration » Main Information” ausgeblendet hat, gibt man den Nutzern auch die Möglichkeit, Fehler zu berichten und ihre Wünsche zu äußern.
Statistiken und Repositories
Wie man sich jetzt noch eine Webseite auf ShareSource.org einrichtet, wird weiter unten beschrieben.
Man kann sich nun noch die Statistiken unter ,,Project Administration » Statistics” angucken und sich wieder dem Programmieren widmen.
Wenn man in einem Team arbeitet, ist es aber angebracht, noch Subversion oder Mercurial einzurichten.
Eigenes Repository
Repositories werden zum Beispiel genutzt, um mit mehreren Entwicklern an einem Projekt zu arbeiten oder die neueste Version zum Testen (als Quelltext) bereitzustellen. Um ein eigenes Repository zu erstellen, klickt man im Hauptmenü auf ,,Project Administration » Repository”. Ein Repository ist bereits vorhanden, die Anleitungen zu dessen Nutzung gibt es im Wiki von ShareSource (Mercurial (Link), Subversion (Link)) und von Mercurial selbst (Link). Hier folgt nur eine Kurzanleitung für Mercurial.
Zuerst muss man Mercurial über das Paket mercurial auf dem eigenen Rechner installieren. Danach startet man Mercurial im Terminal:
$ mercurial
Nun sollte man mit
$ hg clone http://hg.sharesource.org/PROJEKTNAME
den aktuellen Inhalt des Repositories in den aktuellen Ordner kopieren. Die (lokalen) Dateien des Projekts sollten jetzt in den Ordner ./PROJEKTNAME kopiert werden. Mit
$ cd PROJEKTNAME
wechselt man in das Verzeichnis des Projektes und mit
$ hg add DATEINAME
wird die Datei DATEINAME dem aktuellen Index hinzugefügt. Mit
$ hg ci -m "INFO"
kann man jetzt noch einen Infotext zu den Änderungen angeben. Mit
$ hg push http://hg.sharesource.org/PROJEKTNAME
werden die Dateien dann hochgeladen. Dabei werden Benutzername und Passwort verlangt, diese sind identisch mit den Anmeldedaten von ShareSource.
Wenn man nicht jedes Mal diese Daten angeben möchte, dann kann man die Datei .hg/hgrc im Verzeichnis des Projekts editieren. Dazu sollte man folgende Zeile
default = http://hg.sharesource.org/PROJEKTNAME
durch
default = http://BENUTZERNAME:PASSWORT@hg.sharesource.org/PROJEKTNAME
ersetzen. Unter http://hg.sharesource.org/PRO JEKTNAME kann man nun das Repository anschauen.
Des Weiteren ist es möglich, über eine Schnittstelle die Informationen mit einer anderen ,,Forge”-Seite auszutauschen. Dies wird durch OpenForge (Link) möglich.
Eigene Webseite
Neben der Projektseite kann man sich noch eine Webseite anlegen. Diese lässt sich relativ einfach erstellen, man muss hierzu die HTML-Seiten in ein neues Repository mit dem Namen ,,www” hochladen. Die Webseite ist kurz darauf (5-10 Minuten) unter der Adresse http://PROJEKTNAME.sharesource.org/ erreichbar (Link). Auf Wunsch kann auch PHP aktiviert werden.
Fehler im System
ShareSource soll ein paar kleine Fehler haben, allerdings sind diese im Test nicht aufgefallen. Einziges Problem ist, das man mit Firefox keine Tags für sein Projekt hinzufügen kann, dies funktioniert jedoch mit Opera wunderbar. Bei kleineren Problemen kann man einfach im IRC (siehe unten) den Administrator kontaktieren.
Die Community rund um den Hoster
Auf irc.sharesource.org im Channel #sharesource bekommt man nette Hilfe. Falls man Fragen an den Administrator hat, so sollte man die acht Stunden Zeitverschiebung berücksichtigen, da Tim ,,timgws” Groeneveld, der Administrator, in Australien wohnt. Außerdem bekommt man im Wiki (Link) Hilfe, auch wenn dieses derzeit noch nicht sehr umfangreich ist. Zudem gibt es eine Mailingliste (Link).
Verbreitung
Das große Problem von ShareSource liegt wohl in dessen Verbreitung, denn ShareSource ist nicht ganz so bekannt (Google-Pagerank: 4 (Link)) wie andere Projekt-Hoster (SourceForge, Launchpad, BerliOS) und weist einige ,,tote” Projekte auf.
Fazit und sonstige Besonderheiten
Zu den Besonderheiten von ShareSource zählt vor allem die kleine, aber sehr freundliche und schnelle Community. Ein äußerst engagierter Administrator erfüllt auch kleine Sonderwünsche und behebt einfache Probleme sehr schnell. Des Weiteren hat timgws im Interview (siehe unten) immer wieder auf Mercurial hingewiesen, da es bei ShareSource besonders aufmerksam und erfolgreich behandelt und eingesetzt wird.
Allerdings ist ShareSource im Bereich der Teamarbeit für Projekte und der Dokumentation noch ausbaufähig. So ist zum Beispiel die Rechtevergabe für den Verwaltungsbereich nicht sehr flexibel. Es gibt ,,NONE”, ,,BASIC” und ,,ALL”. Genauere Einstellungsmöglichkeiten gibt es leider (noch) nicht. Interessant wäre zum Beispiel eine Einstellung, die GUI-Designer nur das Hochladen vom Screenshots ermöglicht. Allerdings wurde bei der Rechtevergabe schon viel aufgeholt, sodass sich zum Beispiel nun einstellen lässt, ob ein bestimmter Entwickler Administratorzugriff auf HG, SVN oder Nachrichten hat.
ShareSource eignet sich trotzdem wunderbar für kleinere Programme, da es hier durch unkomplizierte Handhabung besticht.
Links
https://sharesource.org/register/
https://sharesource.org/login2/
http://wikicreole.org/
http://wiki.sharesource.org/Help:Mercurial
http://wiki.sharesource.org/Help:Subversion
http://www.selenic.com/mercurial/wiki/index.cgi/QuickStartDe
http://openforge.info/
http://wiki.sharesource.org/ShareSource:What’s_New
http://wiki.sharesource.org/
http://sharesource.org/mailman/listinfo/sharesource-dev
http://de.wikipedia.org/wiki/PageRank
1 Responses.
[...] Sharesource [...]