Wie kann man einen großen Beitrag zu einem OpenSource-Projekt leisten?

10

Ich weiß, dass der Standardratschlag für Open Source-Projekte und die ersten Schritte darin besteht, Fehler zu beheben. Aber ich habe das Gefühl, dass dies der Weg ist, den man einschlagen möchte, wenn man ein Tester / Fixierer von Fehlern im Projekt sein möchte. Wie wird man ein aktiver Mitwirkender eines OpenSource-Projekts? [Dh auf der Ebene der Architektur]

Mönch
quelle
15
Schritt 1 - Werden Sie ein großer Mitwirkender. Schritt 2 - etwas zurückschneiden.
Psr

Antworten:

10

Dies wird wahrscheinlich wie eine Art Tautologie klingen, aber wenn Sie einen wichtigen Beitrag zu neuen Funktionen leisten möchten, verwenden Sie das Produkt für eine Weile, suchen Sie eine neue Funktion, die es verbessern würde, und schreiben Sie den Code, um die Funktion zu implementieren und tragen dazu bei.

Der Grund, warum den Leuten empfohlen wird, mit Bugfixes zu beginnen, besteht darin, dass sie sich in der Codebasis umsehen und sich mit der Funktionsweise vertraut machen. Auf diese Weise können Sie auch an der Diskussionsgemeinschaft des Projekts teilnehmen, unabhängig davon, was dies sein mag (normalerweise eine Mailingliste oder ein Forum), damit Sie ein Gefühl für die Richtung des Projekts bekommen. Sie würden sich ein bisschen dumm fühlen, wenn Sie 80% der Arbeit mit Ihrer neuen Funktion erledigen würden, nur um festzustellen, dass jemand anderes die ganze Zeit daran gearbeitet hat und sie es gerade fertiggestellt hat!

Mason Wheeler
quelle
Würden Sie also weit genug sagen, dass dies eher eine politische oder eine peinliche Taktik ist? [Aka. Werbung für einen Patch in einem Blog, bevor die Erlaubnis zum
Festschreiben
2
@monksy - es ist keines von beiden, da Sie es normalerweise nicht öffentlich machen würden, sondern es über einen beliebigen Mechanismus beitragen , der für die Codebasis geeignet ist. Sie versuchen, Vertrauen durch gemeinsame Erfahrung zu gewinnen. Sie bekommen keine Commit-Privilegien von nervigen Leuten!
SDG
1
@monksy: Werben Sie nicht für Ihren Patch in einem Blog. Woher weißt du, dass jemand aus dem Projekt es überhaupt sehen wird? Wenn Sie einen Patch haben, bringen Sie ihn zur Diskussionsgemeinschaft und sprechen Sie dort darüber. Hier erhalten Sie wahrscheinlich die nützlichste Antwort. (Übrigens, wenn Sie eine Fehlerbehebung haben, müssen Sie beweisen, dass tatsächlich ein Fehler vorliegt. Dies bedeutet, dass Sie verstehen, was der Code tun soll, und dass Sie einen reproduzierbaren Fall anzeigen können, in dem er etwas anderes bewirkt. Stellen Sie sicher, dass Sie den Unterschied zwischen kennen ein Fehler und der Code, der etwas tut, was er tun soll, was Sie nicht mögen.)
Mason Wheeler
4

Es gibt keine Verknüpfungen. Open Source-Projekte sind äußerst leistungsorientiert. Wenn Sie gezeigt haben, dass Sie in der Lage sind, kleinere Aufgaben zu erledigen, werden Ihnen schließlich immer größere Aufgaben anvertraut. Open-Source-Projekte werden auch von Mitwirkenden angetrieben, die ein oder zwei Patches beisteuern und dann weitermachen, und noch mehr Leute, die ein oder zwei großartige, aber nicht umgesetzte Ideen "beisteuern", gehen weiter. Wenn Sie größere Beiträge leisten möchten, müssen Sie zeigen, dass Sie auf lange Sicht dabei sind.

That being said, inkrementelle architektonischen Verbesserungen sind oft gern gesehen, vor allem , wenn sie einen großen Fehler oder Performance - Problem zu lösen. Vor einigen Jahren war beispielsweise einer der wenigen Patches, die ich für das Cinelerra- Projekt beigesteuert habe, eine architektonische Änderung des Rückgängig-Stapels, die den Speicherverbrauch und die Latenz für rückgängig zu machende Vorgänge erheblich reduzierte.

Sie werden den größten Erfolg erzielen, wenn Sie ein Problem lösen, mit dem Sie persönlich konfrontiert sind, anstatt nur "einen Beitrag zu einem Open-Source-Projekt zu leisten". Als ich diesen Patch bei Cinelerra einreichte, versuchte ich nicht, eine architektonische Änderung an einem zufällig ausgewählten Open-Source-Projekt vorzunehmen. Ich versuchte herauszufinden, warum es so verdammt lange dauerte, einen Ein- / Aus-Punkt beim Bearbeiten meiner Videos zu verschieben.

Karl Bielefeldt
quelle
Nett! Ich wollte immer Cinelerra verwenden, aber es war immer eine Qual, es auf Gentoo zu installieren. Danke für die Beiträge. Aber genau diese Art von Änderung schlage ich vor und frage nach. Es ist groß genug, um die Leute zu beunruhigen, aber es ist keine Fehlerbehebung.
Mönch
2

Sie können dies tun, indem Sie diejenigen kennenlernen, die sich bereits in dieser Position befinden, und Interesse zeigen, sich ihnen anzuschließen. Dies lässt sich am besten erreichen, indem Sie Fehler beheben, Fehler finden und an der Entwicklung teilnehmen.

Ryathal
quelle
Das scheint ein langer Weg zu sein, um architektonische / gestalterische Entscheidungen zu treffen. [Ich gehe davon aus, dass Gabeln schlecht sind]
monksy
@monksy es scheint, als würden Sie von einer anderen Prämisse ausgehen, als vielleicht Ihre Frage angegeben hat. Wenn Sie glauben, dass Sie einen viel besseren Weg haben als ein aktuelles Projekt, führen Sie vielleicht ein
zurückhaltendes
5
@monksy das Aufsteigen der Leiter braucht Zeit. Sie können sich erst entscheiden, oben zu beginnen, wenn Sie Ihre eigene Leiter erstellen.
Ryathal