macfan hat geschrieben:Abgesehen davon, dass ich nicht glaube, dass Erdnussnase das machen wird, glaube ich auch, dass der Code inzwischen so komplex ist, dass das jemand anderes kaum in den Griff bekommt.
Och, über die Komplexität würde ich mir keine Sorgen machen. Wenn das Programm halbwegs ordentlich programmiert ist, findet man sich auch in größeren Programmen ganz gut zurecht. Und da habe ich eigentlich keine Bedenken, wenn man das Tempo betrachtet, mit der Erdnussnase seine Änderungen jeweils einbaut. Da kann es gar kein allzu großes Chaos sein.
Ich denke viele Leute unterschätzen die Geschwindigkeit, mit der OpenSource-Software sich weiterentwickeln kann, wenn das Projekt halbwegs beliebt ist. Angenommen, es würden sich hier nur 10 Leute finden, von denen jeder nur ein Fünftel so viel am Programm arbeitet, wie Ernussnase, dann ist das so viel wie zwei zusätzliche ganze "Erdnussnasen" und somit würde sich die Entwicklungsgeschwindigkeit auf das Dreifache erhöhen. Wobei ich eigentlich vermute, dass es sogar deutlich mehr Interessenten gäbe.
Oft sind es aber andere Gründe, warum Softwareentwickler häufig zögern, den Quelltext ihres Programms freizugeben. Ich versuche mal diese Gründe zu erahnen und zu entkräften.
1. Man möchte mit der Software Geld verdienen
Da es hier in unserem Fall nicht um Profit geht, ist dieser Punkt hinfällig. Allerdings soll ja eine Spendenaktion damit verknüpft werden. Dies könnte nach wie vor realisiert werden, wenn es das Binary erst nach Zahlungsnachweis gäbe. Ja, theoretisch könnte sich dann jeder das Programm selbst aus dem Quelltext compilieren, aber in der Praxis werden genug Leute diesen Aufwand scheuen und lieber was spenden. Letztendlich sind die, die es selber compilieren, so stark am Projekt interessiert, dass sie potenziell auch mal mithelfen werden oder es gar schon tun.
2. Etwas, wo man so lange daran gearbeitet hat, möchte man nicht einfach so für nix hergeben
Letztendlich geht es hierbei um Anerkennung. Die Erfahrung zeigt jedoch, dass gerade bei OpenSource-Projekten die Anerkennung meist höher ausfällt, als wenn einer für sich alleine im stillen Kämmerchen am Projekt bastelt. Erdnussnase wird immer der Entwickler und zentrale Organisator des Programms bleiben. Je schneller aber die Weiterentwicklung voranschreitet, desto eher steigt die Chance, dass das Projekt auch über den Tellerrand bekannt wird und so fällt auf Dauer eher mehr als weniger Ruhm auf die Beteiligten ab. Und da wird Erdnussnase immer ganz vorne stehen.
3. Der Code ist noch nicht reif für die Veröffentlichung, z.B. weil er nicht schön kommentiert ist
Gerade das könnte sich mit der Freigabe des Codes sehr schnell verbessern. Wenn mehrere Leute sich im Code zurechtfinden wollen, umso eher fügen diese ein paar Kommentare ein oder schreiben eine Routine effizienter oder eleganter um. Und so steigt die Qualität des Codes sehr schnell.
4. Es fehlt die Infrastruktur für verteilte Entwicklung, z.B. ein Versionsverwaltungssystem
Zur Not geht es auch einfach mit E-Mails, mit der man die Patches oder neuen Files einschicken kann. Wobei es auch nicht schwer ist, ein Versionsverwaltungssystem wie CVS, Subversion oder Mercurial aufzusetzen, sogar mit Webzugriff aus der Ferne. Zu Empfehlen wäre ein Versionsverwaltungssystem sowieso, auch wenn man für sich alleine entwickelt. Für die Diskussion über die Weiterentwicklung würde wie bisher der iTina-Alpha-Bereich hier im Forum völlig ausreichen.
5. Scheu vor dem Unbekannten
Was wird passieren? Wie wird sich alles entwickeln? Kommt man mit den vielen Patches der anderen zurecht? Kann man es ertragen, wenn jemand anderes den eigenen Code verändert? Wenn man sich selbst auf einmal im "eigenen" Code nicht mehr auskennt? Ja, das sind alles Unbekannte, aber gerade das macht doch einen gewissen Reiz eines solchen Projekts aus. Wer einmal sowas gemeistert hat, wird künftig viel offener an solche Aufgaben herangehen und stolz darauf sein, es "geschafft" zu haben. Außerdem ist der Lerneffekt dabei enorm.
Das alles sind also keine wirklichen Hinderungsgründe. Hinzu kommen dann noch so allgemeine Faktoren, wo OpenSource einfach die Nase vorne hat.
- Mehr Augen sehen einfach mehr als wenige Augen, d.h. es werden mehr Fehler in kürzerer Zeit gefunden.
- Die Entwicklungsgeschwindigkeit steigt, da sich mehr Leute beteiligen
- Mehr Leute haben auch mehr Ideen, es wird neue Features geben, an die heute noch gar nicht gedacht wird
- Mehr Leute haben auch mehr Wissen, der Code wird eleganter und effizienter, es werden bessere Algorithmen eingesetzt
- Es können Spezialisten eingesetzt werden. Wenn z.B. ein Grafiker dabei ist, kann er beim Design helfen, andere können an der Doku schreiben, etc.
- Man kann Leute zum mithelfen motivieren, die bei einem ClosedSource-Projekt (auch wieder mangels Anerkennungsmöglichkeiten oder aus Prinzip) nie mitmachen würden.
- Es macht mehr Spaß, wenn andere auch mitreden und Antworten geben können, und nicht alle immer nur Fragen stellen und man selbst antworten muss. Das kommt letztendlich der eigenen Freizeit zugute.
- Man lernt von dem, was die anderen machen.
- Als OpenSource-Projektleiter sammelt man Erfahrung in der Projekt- und Gruppenarbeit, man verbessert sein Organisationstalent. Das alles hilft einem möglicherweise beim eigenen hauptberuflichen Job weiter.
Bestimmt kann man noch viel mehr zu OpenSource sagen. Ich bin der Meinung, ab dem Moment, wo man sich entschieden hat, mit einem Software-Projekt kein Geld verdienen zu wollen, ist es meines Erachtens einfach der bessere Weg, es zu einem OpenSource-Projekt zu machen. Es bringt deutlich mehr Vorteile als Nachteile für einen selbst.
Gruß,
Hagge