Frage

Wir haben eine Reihe von Closed-Source-Anwendungen und -Bibliotheken, bei denen es unserer Meinung nach sinnvoll wäre, den Quellcode zu öffnen.

Was uns bisher blockiert hat, ist der Aufwand, der erforderlich ist, um die Codebasis zu bereinigen und den Quellcode vor dem Öffnen zu dokumentieren.

Wir wollen die Quelle nur dann erschließen, wenn wir eine vernünftige Chance haben, dass die Projekte erfolgreich sind – d. h.Mitwirkende haben.Wir sind davon überzeugt, dass der Code für eine große Entwicklerbasis interessant wäre.

Welche Faktoren, unter Ausschluss von „Interessantheit“ und „Nützlichkeit“ des Projekts, Bestimmen Sie den Erfolg eines Open-Source-Projekts?

Beispiele:

  • Sauberkeit des Codes
  • Verfügbarkeit von Quellcode-Kommentaren
  • Vollständig oder teilweise dokumentierte APIs
  • Wahl der Lizenz (GPL vs.LGPL vs.BSD usw.)
  • Wahl des öffentlichen Repositorys
  • Investition in eine öffentliche Website
War es hilfreich?

Lösung

Es gibt mehrere Dinge, die den successfulness Code dominieren. Alle diese Faktoren müssen für die geringste Chance der Annahme erreicht werden.

  • Markt - Es muss ein Markt für Open-Source-Projekt. Wenn Ihr Projekt eine Orangenpresse im Raum ist, bezweifle ich, dass Sie sehr erfolgreich sein werden. Sie müssen Ihr Projekt wird eine große Annahme bei den Nutzern und Entwicklern sicher. Es ist doppelt so wahrscheinlich erfolgreich sein, wenn Sie andere Unternehmen, es anzunehmen und erhalten.
  • Dokumentation - Wie Sie auf frühere Dokumentation berührt ist der Schlüssel. Zu dieser Dokumentation wird Code, architektonische Entscheidungen kommentiert und API-Noten. Selbst wenn Ihre Dokumentation enthält Bugs oder Fehler über Ihre Software ist es in Ordnung. Denken Sie daran, die Transparenz ist der Schlüssel.
  • Freiheit - Sie müssen zulassen Code „frei“ zu sein - damit meine ich frei wie in der Rede, nicht wie in Bier. Wenn Sie das Gefühl, Ihr Markt ist eine Bibliothek für andere Unternehmen eine BSD-Lizenz haben, ist optimal. Wenn Ihr Stück Software auf Desktops laufen wird dann GPL ist Ihre Wahl.
  • Transparenz - Sie müssen Software in einer transparenten Umgebung schreiben. Wenn Sie Open-Source gehen gibt es keine versteckten Geheimnisse. Sie müssen alles, was Sie tun, erklären und was Sie tun. Dies wird verpissen Entwickler wie keine andere
  • Developer Community - Eine starke Entwickler-Community ist nicht erforderlich. Dies muss vorhanden sein. Nur etwa 5% der Nutzer beitragen zurück zum Projekt. Wenn jemand bemerkt hat es Mitteilungen für ein Jahr nicht gewesen sie denken würden nicht „Wow, dieses Stück Software ist getan“, werden sie denken, „Entwickler müssen es von abgeladen.“ Halten Sie Ihre Entwickler arbeiten daran, auch wenn es bedeutet, dass sie kostet Sie Geld.
  • Kommunikation - Sie müssen sicherstellen, dass Sie Gemeinschaft in der Lage ist zu kommunizieren. Sie müssen in der Lage sein, Fehler in Datei, diskutieren Abhilfen und Patches veröffentlichen. Ohne Feedback, ist es sinnlos, das Projekt Opensource
  • Verfügbarkeit - machen Sie Ihren Code einfach zu erhalten ist notwendig, auch wenn es bedeutet, Anwälte zu verärgern. Sie müssen sicherstellen, dass Ihr Projekt ist einfach herunterzuladen und zu nutzen. Sie wollen nicht der Benutzer durch 18 Nagschirme zu springen zu haben und einen Vertrag zu unterzeichnen, um dies zu tun. Sie müssen die Dinge einfach machen, und sauber

Andere Tipps

Ich denke, dass der wichtigste Faktor ist die Anzahl der Nutzer, die Ihr Projekt verwenden. Ansonsten ist es nur eine wirklich gut geschrieben, sehr nützlich und gut dokumentiert paar Sachen, die auf einem Server befindet sich nicht sehr viel zu tun ...

Teilnehmer zu erwerben, müssen Sie zunächst Benutzer benötigen, dann müssen Sie einige Unvollständigkeit. Sie müssen die auslösen „Das ist cool, aber ich wünschte wirklich, es dies hatte oder war auf diese Weise anders.“ Wenn Sie ein offensichtliches Merkmal fehlen, es ist sehr wahrscheinlich, dass ein Benutzer einen Beitrag werden, um es hinzuzufügen.

Das Wichtigste ist, dass das Programm gut ist.Wenn es nicht gut ist, wird es niemand nutzen.Man kann nicht darauf hoffen, dass sich das Henne-Ei-Prinzip umkehrt und die Menschen es für selbstverständlich halten, bis es gut wird.

Natürlich bedeutet „gut“ lediglich „besser als jede andere praktische Option für eine beträchtliche Anzahl von Menschen“. Es bedeutet nicht, dass es unbedingt das Beste ist, sondern nur, dass es einige Eigenschaften aufweist, die es für viele Menschen besser machen als andere Optionen.Manchmal das Programm hat Nirgendwo sonst gibt es ein Äquivalent. In diesem Fall besteht diesbezüglich fast keine Anforderung.

Wenn ein Programm gut ist, werden die Leute es nutzen.Offensichtlich muss es einen Markt unter den Benutzern geben – ein gutes Programm, das etwas tut, was niemand will, ist nicht wirklich gut, egal wie gut es gestaltet ist.Man könnte etwas über das Marketing sagen, aber wirklich gute Produkte haben bis zu einem gewissen Punkt die Tendenz, sich selbst zu vermarkten.Es ist viel schwieriger, für etwas zu werben, das nicht gut ist, daher sollte die erste Priorität eindeutig auf dem Produkt selbst liegen und nicht auf der Werbung für das Produkt.

Die eigentliche Frage ist dann: Wie macht man es gut?Und die Antwort darauf ist ein engagiertes, kompetentes Entwicklungsteam.Selten kann eine Person alleine ein gutes Produkt erschaffen;Auch wenn sie weitaus besser sind als die anderen Entwickler, haben mehrere Perspektiven einen unglaublich nützlichen Effekt auf das Projekt.Aus diesem Grund ist es so nützlich, Unternehmenssponsoren zu haben – es bringt andere Entwickler (aus dem Unternehmen) dazu, sich mit dem Problem auseinanderzusetzen und ihre eigene Meinung zu äußern.Dies ist besonders nützlich, wenn für die Entwicklung des Programms umfangreiches Fachwissen erforderlich ist, das in der Community nicht allgemein verfügbar ist.

Natürlich sage ich das alles aus Erfahrung.Ich bin einer der Hauptentwickler von x264 (derzeit der aktivste), einem der beliebtesten Video-Encoder.Wir haben zwei Hauptentwickler, verschiedene kleinere Entwickler in der Community, die Patches beisteuern, und Unternehmenssponsoring von Joost (Gabriel Bouvigne, der die Rate-Control-Algorithmen verwaltet) und von Avail Media (für das ich manchmal auf Vertrag arbeite und die derzeit Programmierer auf Vertragsbasis einstellen). um MBAFF-Interlacing-Unterstützung hinzuzufügen) und von einigen anderen, die von Zeit zu Zeit auftauchen.

Ein guter Entwickler macht kein Projekt – das tun viele gute Entwickler.Und das Endergebnis davon ist ein Programm, das Videos schneller und in weitaus besserer Qualität kodiert als die meisten kommerziellen Konkurrenten, egal ob Hardware oder Software, selbst solche mit enormen Entwicklungsbudgets.

bei diesen Fragen Bei der Suche können Sie bei der Prüfung in der Online-Version eines Kurs auf Open Source an der UC Berkeley , Open-Source-Entwicklung und Verteilung von digitalen Informationen genannt: Technische, wirtschaftliche, soziale und rechtliche Perspektiven. Es wird gemeinsam unterrichtet von Mitch Kapur (Lotus Gründer) und Paula Samuelson, einer juristischen Fakultät Professor. Ich habe einen langen Weg und setzen Sie die Audio-des Kurses auf meinem iPod im vergangenen Jahr - sie viel darüber reden, was funktioniert, was nicht funktioniert und warum, aus einem sehr breiten (obwohl offensichtlich akademischer) Perspektive.

Bücher wurden zu diesem Thema geschrieben. In der Tat können Sie ein kostenloses Buch finden Sie hier: Open-Source-Software Herstellung

Wirklich, ich denke, die Antwort ist ‚wie Sie das Projekt ausführen‘.

Alle Ihrer Beispiele Materie, ja, aber die wichtigsten Dinge sind, wie die Interaktion zwischen Entwickler verwaltet wird, wie Patches usw. behandelt werden / akzeptiert, wer ‚verantwortlich‘ und wie sie damit umgehen, dass die Verantwortung, und so weiter und so fort .

Vergleich und Kontrast (die Geschichte ist nicht schwer auf der Spur!), Um die Verwaltung der Entwicklung von Class :: DBI und DBIx :: Klasse in Perl.

Ich war gerade heute Abend lese ein ausgezeichneter Beitrag auf dem Usability Aspekte der erfolgreichen vs erfolglosen Open-Source-Projekten.

Auszug:

  

Eine Menge Bandbreite verschwendet wurde in Open-Source-Software / freie Software über den Mangel an Usability argumentiert (im Folgenden „OSS“). Die Debatte geht weiter in diesem Moment auf Blogs, Foren und Kommentar-Threads Slashdot. Manche Leute sagen, dass schlechte Usability auf die gesamte OSS Welt heimisch ist, während andere sagen, dass OSS Usability ist groß, aber dass das eigentliche Problem ist die engstirnige Benutzer, die jedes Programm erwarten Microsoft zu klonen. Einige Leute behaupten, dass UI Probleme temporäre Wachstumsschmerzen sind, während andere sagen, dass das OSS-Entwicklungsmodell systematisch schlecht UI erzeugt. Einige Leute behaupten sogar, dass die GPL-Software indirekt belohnt, die nur schwer zu bedienen ist! (Für das Protokoll, bin ich anderer Meinung.)

     

http://humanized.com/weblog/2007/10/05/ make_oss_humane /

Just Open-Source es. Wahrscheinlich wird niemand noch einen Beitrag starten. Aber zumindest können Sie sich auf die Pressemitteilungen schreiben, dass Ihr Produkt GPL ist oder was auch immer.

Der erste Schritt ist, dass die Leute es benutzen ...
Und vielleicht dann, wenn der Anwender bequem zu bekommen, werden sie beginnen bei.

Jede Antwort gut gewesen, so weit, aber es ist eine Sache fehlt und das ist gut Aufsicht. Nichts tötet ein Open-Source-Projekt schneller als nicht irgendeine Art von Projektmanagement mit. Nicht Menschen zu sagen, was so viel zu tun wie nur eine gewisse Struktur hinzufügen und Tasking für die Entwickler Sie hoffen, zu gewinnen.

Disorganized Projekte fallen schnell auseinander. Es ist nicht ein Vogel, den Sie einfach gehen lassen und beobachten Sie es wegfliegen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top