In welcher Phase eines Open Source-Projekts sollten Sie Beiträge aus der Community einladen? [geschlossen]

23

Ich habe mich gefragt, ob ich Beiträge für ein neues Open-Source-Produkt bekommen soll, das mein Team entwickeln wird. Wir sind ermutigt, von der breiteren Community so viel Unterstützung wie möglich zu erhalten, aber ich kann auch feststellen, dass dies viel Zeit in Anspruch nimmt, um sicherzustellen, dass Drittanbieter außerhalb unseres Büros hinsichtlich der Codequalität auf dem richtigen Weg sind. Auch zu Beginn des Projekts werden wir wahrscheinlich viele informelle Diskussionen innerhalb des Kernteams über das Design des Systems, Spikes usw. führen und diese online zu stellen, um die Beteiligung der Community zu ermöglichen, wird zeitaufwändig sein, und ich kann mir vorstellen, dass dies gelingen könnte Diskussion weniger effektiv.

Dies hat eine menschlichere Seite, die wahrscheinlich berücksichtigt werden muss: Die Beteiligung der Gemeinde am Entwurfsprozess kann auch Vorteile für die wahrgenommene Eigenverantwortung des Projekts haben, und es besteht immer die Möglichkeit, dass eine frühzeitige Beteiligung Probleme aufgreift, die den Kern des Projekts ausmachen Team hat es nicht bemerkt.

Die Frage: In welcher Phase eines Open Source-Projekts sollten Sie Beiträge aus der Community einladen?

Armand
quelle
Öffnen Sie die Entwicklung sofort, aber geben Sie die Beta für eine ausgewählte Anzahl von Benutzern frei, bis sie stabil ist. Ich spreche hier über stackoverflow.com/questions/3066648/… in großer Länge.
Evan Plaice

Antworten:

16

Ganz am Anfang! Sie möchten, dass die Community das Gefühl hat, einen echten Anteil an Ihrem Projekt zu haben, andernfalls haben sie das Gefühl, als freie Arbeitskräfte eingesetzt zu werden.

Die gesamte Kommunikation sollte über eine öffentliche Mailingliste oder ein öffentliches Forum erfolgen. Dies stärkt wiederum die Idee der Community.

Sie können das Problem "Design by Committee" abmildern, indem Sie in Ihren ersten Posts an die Mailing-Liste eine klare Vision festlegen, z

"Wir suchen nach einem Domain-Modell, das unsere Zoohandlung repräsentiert (gemäß JIRA-4). Hat jemand größere Probleme mit diesem Modell?"

Im Hinblick auf das Akzeptieren tatsächlicher physischer Beiträge sollten Sie zunächst Patches akzeptieren und öffentliche Codeüberprüfungen durchführen. Auf diese Weise können Mitwirkende bereits öffentlich sehen, welche Codierungsstandards sie einhalten müssen. Stellen Sie sicher, dass Ihre Commits auch in einer Commit-Mailingliste verfügbar sind - Sie müssen dieselben Standards einhalten!

Es lohnt sich auch, Projektstandards in einem Wiki oder einem solchen Dokument zu haben.

Weitere Informationen zum Ausführen eines erfolgreichen Open Source-Projekts finden Sie unter http://www.producingoss.org .

Martijn Verburg
quelle
1
@karianna danke, werde den Link lesen! Aber wenn es bereits 123 JIRA-Tickets gibt und Sie wissen, dass Sie eine REST-Schnittstelle möchten, dann sind Sie schon ein gutes Stück auf dem Weg zum Design, oder?
Armand
@karianna LOL, nice edit ;-) Ich bin mir nicht sicher, ob es meine Designfrage anspricht. Dieses Buch ist Gold; Sie haben die ganze Sache lesen, und würden Sie es betrachten DIE Referenz zu diesem Thema?
Armand
@Alison - Ja, es wird als kanonischer Text angesehen, aber es wurde nicht immer gut beworben, denke ich? Es ist die Grundlage für die Vorträge, die ich auf Konferenzen in diesem Bereich halte. Es könnte möglicherweise ein kleines Update gebrauchen - ich werde nächstes Jahr mit Karl darüber sprechen :).
Martijn Verburg
7

Dies wurde ausführlich im google IO talk Mythos des genialen Programmierers von Brian Fitzpatrick und Ben Collins-Sussman von Subversion besprochen . Kurz gesagt, sie kamen zu dem Schluss, dass es nicht so früh sein sollte, dass noch nichts da ist (dh "Schau dir mein großartiges Projekt an! Es ist noch nicht wirklich viel hier, aber viele großartige Dinge sind geplant!") Oder zu spät Alle Entscheidungen sind also bereits getroffen. (Es ist schwierig, ein Soloprojekt in Worte zu fassen.)

HaskellElephant
quelle
2

Ich stimme Martijn Verburg zu . Sie sollten von Anfang an Beiträge einholen. Ich habe vorher ein wenig darüber geschrieben .

Die Zusammenfassung dieses Beitrags ist, dass Software verrottet. Wenn Sie es frisch halten möchten, müssen Sie Wartungsarbeiten durchführen. Und je beliebter ein Projekt wird, desto mehr Fehler werden gefunden, desto mehr Funktionen werden hinzugefügt und desto mehr wird Sie diese Wartungsaufgabe stören.

In der Tat ist dies ein sehr verbreitetes Problem. Fat hält einen tollen Vortrag mit dem Titel What Is Open Source & Why Do I Feel So Guilty? In diesem Vortrag (den ich Ihnen wärmstens empfehlen kann) erzählt er die Geschichte eines seiner OSS-Projekte und wie er im Laufe der Zeit den größten Teil seiner Freizeit mit Ticket-Triage- und Verwaltungsaufgaben verbrachte. Und er spricht darüber, wie schädlich das war. Womit ich mich voll und ganz identifizieren kann.

Die Lösung besteht natürlich darin, früh und häufig neue Mitarbeiter in das Projekt aufzunehmen. Ihre Zeit ist begrenzt und wertvoll. Investieren Sie in die Erweiterung Ihrer Mitwirkendenbasis, und der Rest Ihrer Probleme beginnt, sich um sich selbst zu kümmern.

Wie ich am Ende meines Beitrags sagte: "Was ist für Ihr Projekt wichtiger: Funktionen oder eine Zukunft? Wählen Sie eine aus und priorisieren Sie Ihre Bemühungen entsprechend."

Naomi Slater
quelle