Warum sollte ich den Code irgendwo so hosten?
Ein wichtiger Punkt bei der Entwicklung von Open Source-Software ist die gemeinsame Nutzung des Quellcodes. Es gibt verschiedene Möglichkeiten, dies zu tun, z. B. Tar / Zip-Dateien auf einem Web- oder FTP-Server abzulegen. Dienste wie Google Code (oder sourceforge.net, gitorious.org, bitbucket.org und viele andere) machen es überflüssig, zu diesem Zweck eigene Server zu betreiben.
Und würde das bedeuten, dass ich die Site von meinem aktuellen Hosting entfernen muss, oder ist dies eine ganz andere Art von Hosting?
Diese Dienste sind keine universellen Webhosts, sondern führen sehr spezialisierte Dienste aus. Sie sind nicht als Homepage eines Produkts gedacht, sondern eher als Entwickler-Dashboard.
Mit Google Code erhalten Sie
- ein Wiki
- ein Bugtracker
- regulärer Dateidownload-Speicherplatz
- ein Versionskontrollserver
Natürlich können Sie diese Software auf einem normalen Webserver einrichten (die Versionskontrolle mag schwierig sein, aber das hängt zu sehr von Details ab), aber der Hauptvorteil der Verwendung eines Entwicklungshosters besteht darin, dass Sie sich nicht darum kümmern müssen dieser Systeme für Ihre eigenen. Der Hauptnachteil ist, dass Sie keine Kontrolle darüber haben, welche Software auf dem Server verwendet wird. Sie müssen mit dem leben, was auf diesem Host verfügbar ist. Sie müssen auch überlegen, was passiert, wenn der Dienst aus dem Geschäft gerät (ok, Google schlägt nie fehl) und wenn Sie die Daten vom aktuellen Host auf einen anderen oder Ihren eigenen Server übertragen können (denken Sie an Backups).
Was passiert, wenn ich meine Site Open Source mache, welche Rechte habe ich?
Dies ist eine schwierige Frage, da sie vom Recht des Landes abhängt, in dem Sie leben.
Welche Rechte gebe ich weg?
Dies hängt von der Lizenz ab, die Sie für das Produkt vergeben. Es kann von proprietärem Open Source (denken Sie an PGP) ausgehen, wo der Benutzer im Grunde nichts mit dem Code anfangen kann, am anderen Ende der Skala ist gemeinfrei, wo jeder tun kann, was er will.
Wie funktioniert es, kommen die Leute einfach und werfen mir kostenlos Code zu?
Dies ist sehr unwahrscheinlich, da Ihr Produkt genügend Popularität benötigt, um andere Entwickler anzulocken.
[...] und jetzt werde ich gefragt, ob das Projekt Git-, Mercurial- oder Subversion-Code-Hosting enthalten soll.
Dies sind drei verschiedene Versionskontrollsysteme, bei denen Subversion zentralisiert ist, während Git und Mercurial verteilt sind.
Es gibt religiöse Kriege, über die man Gebrauch machen kann, aber der Hauptpunkt ist, einen zu benutzen. Weitere Informationen finden Sie unter http://martinfowler.com/bliki/VersionControlTools.html .
Wann wählen Sie Subversion:
- Sie haben Binärdateien, die nicht einfach zusammengeführt werden können, und benötigen den Workflow Sperren-> Ändern-> Festschreiben-> Entsperren, den die Subversion unterstützt¹
- Sie müssen nur einen Teil der Verzeichnisstruktur auschecken.
¹ Es gibt eine Sperrenerweiterung für Quecksilber, aber ich habe keine Erfahrung damit und kann nicht sagen, ob sie verwendbar ist.
Wenn Sie die früheren Funktionen nicht benötigen, ist es besser, Mercurial oder Git zu verwenden. Beide haben gegenüber Subversion folgende Vorteile:
- schnell (und mit schnell meine ich wirklich schnell )
- einfaches Verzweigen und Zusammenführen (dies wurde besser, da Subversion> = 1,5 ist, aber es ist nicht dasselbe)
- Das Festschreiben und Veröffentlichen ist entkoppelt, sodass Sie ungestört an einem Feature arbeiten und das Werk veröffentlichen können, wenn es fertig ist
- Sie verfolgen den Status des gesamten Produktverzeichnisses
- Sie erhalten eine vollständige Kopie des gesamten Versionsverlaufs, wenn Sie ein Remote-Repository klonen
kryptografisch gesicherte Revisionsnummern, was bedeutet, dass selbst wenn jemand den Server einbricht, er keinen Code einrichten kann, ohne den Revisionsverlauf zu ändern
- Da jedoch niemand diese Revisionen überprüft, ist diese Funktion praktisch nicht wirksam