Einfache Möglichkeiten, zu Open-Source-Projekten beizutragen

Als das jQuery-Projekt anfing, erinnere ich mich, wie sehr es dem Team darum ging, Entwicklern bei der Verwendung der jQuery-JavaScript-Bibliothek zu helfen. Es war eine Liebesarbeit, in die wir alle Tag und Nacht unzählige Stunden investiert haben, um das Projekt und die Entwicklergemeinschaft weiter voranzubringen. Und wir haben das kostenlos gemacht, weil wir es einfach geliebt haben. Mit dem Wachstum des Projekts wurden jedoch auch die Erwartungen der Community in Bezug auf Funktionen und Support erfüllt. Und hier können die meisten Open-Source-Bemühungen nicht skaliert werden.

Ich denke, die meisten Entwickler, die OSS-Software veröffentlichen, tun dies aus altruistischen Gründen, um der Community etwas zurückzugeben, was ein kritisches Problem lösen könnte.

Wenn die Bedürfnisse der Community zunehmen, müssen Sie nach Möglichkeiten suchen, mehr Zeit für die Konzentration auf Funktionen zu haben. Sie können dies tun, indem Sie Ihr Team vergrößern, aber das ist nicht immer eine Lösung. Beim jQuery-Projekt haben wir die Teamgröße erhöht und die Arbeit delegiert. Trotzdem war es ein freiwilliger Einsatz, der dazu führte, dass das Projekt von der Verfügbarkeit anderer Personen abhängig war. Und da wir alle Vollzeitstellen haben und viele mit familiären Verpflichtungen verbunden sind, kann ich sagen, dass wir mit sehr geringer Verfügbarkeit viel erreichen konnten.

Die andere Option, die sich manifestierte, war die Möglichkeit, Zeit zu investieren, um sich auf bestimmte Aufgaben zu konzentrieren. Dies erfolgte typischerweise in Form von Sponsorings von Markenunternehmen, die erhebliche Investitionen in jQuery getätigt hatten und das Projekt erfolgreich sein wollten. Dies funktionierte tatsächlich gut, weil es den Teammitgliedern ermöglicht wurde, sich gezielt auf die Bedürfnisse der Community zu konzentrieren und ihre Fähigkeiten auf die schwierigen Bereiche zu konzentrieren, die viel Aufmerksamkeit erfordern.

Nun denken Sie bitte nicht, dass dies über Nacht zustande gekommen ist. Es dauerte lange, bis irgendjemand einen Beitrag zum Projekt leisten wollte, und der Wert der Anstrengung war der entscheidende Bestandteil. jQuery ist ein wichtiger Bestandteil vieler Standorte und Produkte, der sich jedoch im Laufe der Jahre über harte Arbeit und Konsistenz entwickelt hat und für die meisten OSS-Projekte nicht die Norm ist. Und die meisten OSS-Projekte werden niemals den Erfolg und die Bekanntheit von jQuery genießen, die einfach aus Zeitgründen oder sogar als "Nische" gilt..

Und daran ist absolut nichts auszusetzen. Ich denke, die meisten Entwickler, die OSS-Software veröffentlichen, tun dies aus altruistischen Gründen, um der Community etwas zurückzugeben, was ein kritisches Problem lösen könnte. Wie kommt es also, dass diese Projekte wie beim jQuery-Projekt eine Rolle spielen??

Lass uns das erkunden.


OSS-Verbraucher vs. Mitwirkende

Ich habe noch niemanden getroffen (sowohl offline als auch online), der keine Open-Source-Software verwendet hat. Das ist eine ziemlich große Sache, denn es zeigt, dass OSS überall ist. Entwickler verlassen sich darauf, um ihre nächste großartige Idee zu starten. Unternehmen nutzen es, um die Kosten zu senken. Und Regierungen nutzen es, um sicherzustellen, dass sie die Bedürfnisse ihrer Gemeinden erfüllen. Zu sagen, dass es allgegenwärtig ist, wäre eine Untertreibung.

Das einzige, was ich seit langem gespürt habe, ist, dass es ein klares Ungleichgewicht zwischen Verbrauchern und Beitragszahlern gibt. Die Leichtigkeit, mit der jemand sich ein Stück OSS-Software schnappen und dank flexibler Lizenzierung und geringen Kosten nutzen kann, macht es unglaublich leicht zu vergessen, dass jemand draußen diese Software schreibt und unterstützt. Wenn Sie einfach nur den Zeitaufwand, den Aufwand und die Kosten für die betreffende Software in Betracht ziehen, ist die Wahrscheinlichkeit groß, dass Sie davon betroffen sind, wenn das Projekt fehlschlägt. Der Weg zu OSS ist mit fehlgeschlagenen und verlassenen Projekten übersät, die von Entwicklern mit den richtigen Absichten erstellt wurden, aber nicht über die Ressourcen verfügten, um den Betrieb aufrechtzuerhalten.


Wie gebe ich zurück?

Man muss nicht sagen, dass man all-in gehen muss wie Facebook mit PHP, aber es gibt viele Möglichkeiten, um ein Projekt zu unterstützen, aus dem Sie etwas entnommen haben, das für Sie und Ihr Unternehmen wertvoll ist. Einige niedrig hängende Früchte sind:

  • Contribute-Code - Die meisten Projekte verwenden GitHub, wodurch das Erstellen von Pull-Anfragen auf wahnsinnig einfache Weise möglich ist
  • Zeit einbringen - Projekte suchen immer nach Mitarbeitern, die bei der Dokumentation, Unterstützung und Evangelisation helfen
  • Verfassen eines Blogposts - Einfach genug, um etwas zu schreiben, das die Verwendung eines Tools für andere einfacher macht
  • Fragen Sie Ihren Arbeitgeber nach Zeit - Wenn Sie bei der Arbeit ein Stück OSS-Software verwenden, bitten Sie Ihren Arbeitgeber um Zeit für die Rückerstattung des Unternehmens
  • Bitten Sie Ihren Arbeitgeber, Code zu spenden. Wenn Sie die Funktionalität erweitern, sollten Sie ihn in die gleiche Lizenz wie das Projekt einbringen

Viele Projekte haben ähnliche Seiten, auf denen genau erklärt wird, wie sie beitragen sollen.

Wenn Sie aus irgendwelchen Gründen keine dieser Möglichkeiten anbieten können, sollten Sie bei der Finanzierung einiger dieser Bemühungen in Betracht ziehen. "Wie?" du fragst.


Online spenden

Es sind Plattformen entstanden, die dieses Problem lösen sollen, und wir werden uns zwei der beliebtesten ansehen.

Bountysource - Die Finanzierungsplattform für OSS-Projekte


Vor kurzem bin ich auf eine Spendenaktion für RVM (Ruby Version Manager) gestoßen. Wenn Sie jemals in Ruby on Rails codiert haben, wissen Sie ziemlich genau, wie wichtig RVM ist. Leider hat der Hauptsponsor seine Unterstützung beendet und das Projekt musste einen anderen Sponsor finden, so dass sie zu einer neuartigen Website namens Bountysource kamen, die eine Finanzierungsplattform für Open-Source-Software bieten soll.


Ich fand das total fantastisch, weil es für das jQuery-Projekt (oder MooTools, Prototype usw.) wirklich keine solche Ressource gab, die es einem Projekt ermöglichen würde, eine Fundraising-Seite mit allen Tools zum Sammeln von Spenden zu aktivieren. Natürlich können Sie auch Projekte durchsuchen, die Sie über PayPal oder Google Wallet unterstützen möchten.

Was mich wirklich beeindruckt hat, ist die Tatsache, dass ein Projekt die Dinge auflisten kann, die sie erreichen möchten. Durch Crowdsourcing kann die Community dabei helfen, die Fertigstellung der spezifischen Merkmale durch Entwicklerauszahlungen (so genannte "Kopfgeld") zu finanzieren. Also sagen Sie, dass Sie wirklich wollten $ .Deferred Funktionalität in Zepto.js. Sie könnten zu der Feature-Anfrage beitragen, um die Community zur Implementierung zu animieren. Sobald dies geschehen ist, wird die Prämie an die Person (en) ausgezahlt, die das getan hat.


Der Dienst richtet sich an die Bedürfnisse des Projekts, sogar bis zu dem Punkt, an dem die Kopfgelder auf bestimmte Aufgaben und Werte heruntergebrochen werden. Die Community kann jedoch entscheiden, was wichtig ist, und die Entwicklung dieser Funktion finanzieren. Es ist ein bisschen ein KickStarter für Open Source. Sehr cool.

Gittip - Crowdfunding Menschen, die dich inspirieren


Gittip ist ein Service, den ich wegen John Resig herausgefunden habe. Er war ein echter Verfechter des Dienstes und das sagt viel aus.


Um John zu zitieren:

Ich sah eine großartige Gelegenheit für das Entwicklungsteam der Khan Academy, der Open Source-Community auf nicht nur Code-bezogene Weise etwas zurückzugeben.

Es unterscheidet sich sehr von Bountysource darin, dass es kleine wöchentliche Geldgeschenke für Personen anbietet, von denen Sie glauben, dass sie Ihnen einen Wert bieten. Sie können jeden gewünschten Betrag bis zu 100 US-Dollar pro Woche angeben. Dies ist tatsächlich eine großartige Ressource für Einzelmannprojekte, bei denen der Einzelcodierer Funktionen hinzufügt, Support-E-Mails beantwortet und die Community bedient. Es mag unbedeutend erscheinen, aber selbst fünf Dollar pro Woche an diesen Entwickler zu spenden, ist möglicherweise das, was er / sie braucht, um sicherzustellen, dass sie wissen, dass ihre Arbeit geschätzt wird.

Es gibt mehr als 650 Communities auf Gittip. Wenn Sie eine auswählen, werden alle Top-Geber und -Empfänger angezeigt:


Auf diese Weise können Sie auch die einzelnen Profilseiten detailliert anzeigen, um einen Beitrag zu denjenigen zu leisten, die Sie inspirieren:


Im Einklang mit dem OSS-Ethos können Sie mit Gittip sogar den Quellcode über das Github-Repo überprüfen.


Mehr "tun" als "wie"

In diesem Artikel wird darauf hingewiesen, wie wichtig es ist, zu Open Source zurückzukehren. Wenn Sie ein Verbraucher sind, sollten Sie ernsthaft prüfen, wie wertvoll diese Bibliothek oder das Tool für Sie ist, und herausfinden, wie Sie es unterstützen können. Wenn sich das Projekt nicht auf Bountysource oder Gittip befindet, wenden Sie sich an den Projektbesitzer und bitten Sie ihn, sich anzuschließen, damit Sie spenden können.

Nur weil Sie möglicherweise nicht daran interessiert sind, Code beizutragen, heißt das noch lange nicht, dass Sie andere Fähigkeiten nicht nutzen können, um das Wachstum Ihres Projekts zu unterstützen. Meines Erachtens besteht das größte Bedürfnis nach einem Open-Source-Projekt aus Leuten, die wissen, wie man mit einer Community zusammenarbeitet. Soft Skills sind so wichtig und aus meinen Erfahrungen fehlt es mir schmerzlich.

Die Hauptsache ist, dass es wirklich keine Entschuldigung gibt, nicht zurückzugeben, wenn Sie etwas Wertvolles finden. Nur weil es "kostenlos" ist, heißt das nicht, dass nicht viel investiert wurde. Wenn Sie es nicht unterstützen, kann es eines Tages verschwinden.