Wie gehe ich mit dem Wachstum eines Open Source-Projekts um?

11

Ich bin seit ein oder zwei Jahren an der Unterstützung eines Open-Source-Projekts beteiligt, und das Projekt hat seit meinem Start eine große Popularität erlangt. Das Programm sieht mehr als 100.000 Downloads pro Woche und wird von mehr als 60% der Menschen in seinem primären Bereich verwendet. Wir freuen uns daher offensichtlich, dass die Menschen es so sehr genossen haben.

Das Problem ist jedoch, dass die Entwicklungs- und Supportbasis nicht annähernd so schnell gewachsen ist und wir anfangen, auf einige wachsende Schmerzen zu stoßen. Die kleine Handvoll Entwickler (insbesondere der Hauptentwickler) wird ziemlich dünn, und die Freiwilligen des technischen Supports beginnen, ausgebrannt zu sein.

Bisher waren es so ziemlich nur ein paar Typen, die im IRC rumhängen, dieses Programm schreiben und den Benutzern helfen. Es gibt keine 501 (c) (3) Organisation oder LLC oder ähnliches.

Derzeit haben wir keinen sehr formellen Bug-Tracker oder keine Problemdatenbank (wir haben ein Forum mit einer Kategorie, die sich mit Fehlerberichten befasst). Ich gebe zu, dass wir dies verbessern könnten, um mehr Entwickler an Bord zu bringen. Aber ich nehme an, meine eigentliche Frage ist, wie man den Übergang von einem kleinen persönlichen Projekt zu einem echten ... Ding schafft . Wie haben die großen Jungs wie GIMP, FFmpeg, Blender usw. mit diesem Übergang umgegangen?

Und gibt es darüber hinaus eine Möglichkeit, eine Entschädigung mit einem FOSS-Projekt anzubieten? Ich nehme an, Spenden helfen, aber das geht nur so weit ... es scheint seltsam, von freier Software zu leben, aber wenn das Programm weiterhin besser wird, sehe ich nicht, wie wir weitermachen können, ohne die Menschen zu entschädigen für Vollzeitarbeit.

Grundsätzlich haben wir wachsende Schmerzen und fühlen uns "zu groß für unsere Briten". Was können wir tun, um diesen Übergang zu bewältigen und nicht zu viele Dinge gleichzeitig zu tun?

Ben Torell
quelle
7
Das Wichtigste zuerst ist, dass ein ordnungsgemäßer Bug-Tracker zum Laufen kommt. Ohne Open Source wird kein Open Source überleben, es sei denn, das Kernteam ist sehr gut. Stellen Sie außerdem sicher, dass die Richtung der Funktionen klar ist und sich nicht auf Sie einschleicht.
Ratschenfreak
4
Wenn es Ihnen nichts ausmacht, wenn ich Sie frage, was ist das Projekt?
Robert Harvey
2
Ich zögere, das Projekt zu benennen, zum Teil, weil es ein bisschen beängstigend ist, da rauszugehen und den Leuten zu sagen: "Hey, wir sind uns nicht sicher, was wir tun, und wir brauchen Hilfe!" Außerdem wollte ich nicht, dass dieser Beitrag als Werbung für Hilfe beim Projekt erscheint. Ich bin mir jedoch sicher, dass einige flüchtige Internet-Ermittlungen dies offenbaren würden. : /
Ben Torell

Antworten:

13

Das Stadium, in dem sich Ihr Projekt befindet, ist wirklich aufregend und entscheidend. Es ist sehr leicht zu stürzen und auszubrennen, aber es ist auch der Ort, an dem Sie einige wichtige Entscheidungen treffen können, die, wenn alles funktioniert, dazu beitragen, die langfristige Rentabilität sicherzustellen.

Hier sind ein paar Vorschläge.

  • Lesen Sie Karl Fogels großartiges Buch Producing Open Source Software . Er deckt die meisten wichtigen unmittelbaren Probleme ab. Obwohl ich nicht mit allem einverstanden bin, was er sagt, ist das nur eine Meinung. Er versteht die Open Source Welt total.

  • Wie @ Ross Patterson sagte, müssen Sie unbedingt einen Tracker und eine Mailingliste oder ähnliches einrichten, um ein totales Chaos zu vermeiden. Was verwenden Sie für die Versionskontrolle? Wenn Sie auf Github sind, können Sie mit dem Tracker beginnen oder sich in Jira oder ähnliches integrieren. Wenn Sie möchten, können Sie vorerst zu SourceForge gehen und die kostenlose Infrastruktur nutzen. Sie sagen nicht, von wo die Leute herunterladen, aber Sie möchten sicherstellen, dass Sie diese zuverlässig und mit einer guten Download-Anzahl eingerichtet haben.

  • Es gibt keinen Grund, warum Sie nicht von freier Software leben können, wenn Sie dies möchten. Viele Leute tun dies, aber es gibt viele verschiedene Formen. Sie müssen entscheiden, wie Sie dies tun möchten, bevor Sie wichtige organisatorische Entscheidungen treffen. Zum Beispiel können und sollten Sie wahrscheinlich eine Gesellschaft gründen, um die Marke und die Urheberrechte zu halten, die bei Bedarf auch einen gewissen Rechtsschutz bieten. Dann brauchen Sie jedoch einen Präsidenten oder Schatzmeister. Welche Art von Organisation es sein sollte (gemeinnützig oder gewinnorientiert, LLC, Genossenschaft, Partnerschaft), hängt wirklich von Ihren Zielen ab und sollte mit einem guten Anwalt besprochen werden. Wenn Sie von Software Freedom Conservacy akzeptiert würden, würden sie Ihnen helfen, dies herauszufinden und auch bei Buchhaltungs- und Steuerfragen usw. zu helfen. Es gibt auch einige andere FOSS-Inkubatoren wieSoftware im öffentlichen Interesse . Ich denke auch, dass Outercurve eine Möglichkeit ist.

  • In Bezug darauf, wie Sie Ihren Lebensunterhalt verdienen, hängt dies stark von der Art Ihres Projekts ab. Dies ist auch der Grund, warum ich nicht sofort sagen würde, dass Sie einen 501c3 benötigen (und Sie ihn möglicherweise nicht bekommen ... siehe das Yorba-Projekt). Blender unterstützt sich hauptsächlich durch den Verkauf von Dokumentation. Andere Projekte sind von Ökosystemen für kleine Unternehmen und / oder Beratung umgeben, und die Entwickler verdienen ihren Lebensunterhalt damit. Andere Projekte verfügen über duale Lizenzmodelle, sodass sie unterstützte Versionen verkaufen (aus diesem Grund hat MySQL dies getan und warum es an Sun verkauft werden könnte, und natürlich gibt es RedHat) und eine separate Community-Version. Andere wie WordPress haben die gehostete Version als Geschäftsmodell. Es gibt also alle Arten von Optionen und Sie müssen herausfinden, was für Sie und Ihre Community sinnvoll ist.

  • Wählen Sie jetzt jemanden aus, der Ihr Community-Manager sein soll. Und lesen Sie Jono Bacons Buch, nachdem Sie Fogels beendet haben.

  • Entscheiden Sie sich jetzt für eine Roadmap, die für Ihr Kernteam sinnvoll ist. Seien Sie realistisch und lassen Sie sich nicht von Menschen schikanieren, die keinen Beitrag leisten. Roadmap bedeutet nicht nur technische Pläne und Funktionen, sondern auch, wohin Sie als Projekt wollen.

  • Scheuen Sie sich nicht, mit anderen Projekten zu sprechen, die Sie bewundern oder die sich im selben Raum befinden. Finden Sie heraus, was für sie funktioniert hat und was nicht. Senden Sie einfach eine E-Mail. Sie können auch zu einigen allgemeinen Open Source-Veranstaltungen gehen und einfach mit den anderen Projekten sprechen. Im Großen und Ganzen sind Foss-Leute ziemlich hilfreich.

Viel Glück, es ist eine aufregende Sache, in dieser Phase zu sein.

Elin
quelle
Vielen Dank! Der Code ist bereits auf Github gehostet (wo auch Veröffentlichungen gehostet werden), aber wir mögen Githubs Issue-Tracker wirklich nicht ... einer der Jungs im Team hat Erfahrung mit Mantis, also denke ich, dass wir ihn verwenden werden Das. Ich höre Sie auch über die Roadmap ... Zumindest ist eine öffentliche Roadmap hilfreich, um Benutzer auf diejenigen zu verweisen, die nach bestimmten Funktionen verlangen, damit wir ihnen sagen können, wann solche Funktionen im Verhältnis zu anderen Funktionen verfügbar sind. Ich habe heute Abend Outercurve erkundet und werde mir auch die anderen sowie die Bücher ansehen. Danke für die Ermutigung!
Ben Torell
1
@ BenTorell Ich sage jedem, der fragt: "Jeder Bug-Tracker ist scheiße, die einzige Frage ist:" Welcher ist am wenigsten scheiße in Bezug auf Ihre Prozesse? ".
Ross Patterson
Ross hat vollkommen recht. Ich mag Githubs Tracker aus einer Reihe von Gründen nicht, besonders aber wegen des Fehlens einer echten ACL. Ich bin damit einverstanden, eine zu finden, die Ihren Prozessen entspricht. Viele Tracker funktionieren nicht so gut für freiwillige Projekte, weil sie alle möglichen Annahmen treffen, die in kommerziellen Umgebungen sinnvoll sind, selbst im verwendeten Vokabular. Natürlich ist es eine gute Übung, darüber zu sprechen, was Ihre Prozesse tatsächlich sind. Versuchen Sie nicht, einen Tracker zu verwenden, um unrealistische Änderungen an Ihren Prozessen vorzunehmen. Die Dinge sind einfach ganz anders, wenn es nur Freiwillige sind.
Elin
3

Die WIRKLICH großen Jungs haben alle Mechanismen eingerichtet, die Sie kennen - sie betreiben große Serverfarmen, sie führen (manchmal schreiben) Bug-Tracker und bauen Systeme usw. Sie haben oft 501 (c) 3 Grundlagen, die die Urheberrechte besitzen usw. Sie Erhalten Sie große Unternehmensspenden, und Unternehmen verleihen ihnen Entwickler usw. Sie wissen, GROSSES Zeug.

Die nicht so großen Jungs bekommen viel Hilfe von woanders. Die Software Freedom Conservancy hilft beispielsweise mittelgroßen Projekten dabei, ihre rechtlichen Grundlagen zu verbessern, und erleichtert Spenden. Heutzutage gibt es viele Optionen für Code-Hosting und Bug-Tracking - zum Teufel, jeder kann eine GitHub-Site bekommen. Und Sie werden feststellen, dass viele kleine bis mittlere Softwareunternehmen Lizenzen für ihre proprietären Produkte spenden, um organisierte Open Source-Projekte zu unterstützen - insbesondere, wenn sie sich irgendwie an ihrem Geschäft ausrichten.

Ross Patterson
quelle
3
Ich versuche nicht, pedantisch zu sein, und ich bin zu 100% sicher, dass Sie dies nicht negativ gemeint haben, aber es hilft wirklich nicht, die Teilnahme an Open Source zu steigern, wenn Sie die beteiligten Personen als Jungen bezeichnen. Nur etwas zum Nachdenken; Ich weiß, dass es ein Satz ist, den die Leute benutzen.
Elin
@Elin Nur die Frage beantworten: "Wie haben die großen Jungs wie GIMP, FFmpeg, Blender usw. mit diesem Übergang umgegangen?"
Ross Patterson
Oh, und +1 zum Kommentar - wir müssen von Zeit zu Zeit daran erinnert werden. Dieses Geschäft ist viel zu männlich ausgerichtet.
Ross Patterson
Danke und ja, ich habe diesen Hinweis im ursprünglichen Beitrag nicht bemerkt.
Elin
Ja, ich habe nur "große Jungs" als Wendung benutzt ... Ich glaube, ich habe es nicht so gesehen, aber ich kann scheinen, was du meinst. Danke für den Hinweis! Meine oberste Priorität im Moment ist es, einen echten Issue-Tracker zu finden, den die Mitwirkenden lesen und hoffentlich ein Thema auswählen können, bei dem sie einen Sprung machen können (im Moment haben wir nur ein chaotisches Trello-Board). Wie ich @Elin sagte, neige ich mich zu Mantis anstatt zu Githubs Issue-System. Ich nehme an, wir brauchen an dieser Stelle nur etwas .
Ben Torell