Come si diventa un grande collaboratore di un progetto opensource?


10

So che il consiglio predefinito per i progetti open source e per iniziare è iniziare a correggere i bug. Ma ho la sensazione che sia il percorso che si vorrebbe prendere se volessero essere un tester / riparatore di bug nel progetto. Come si diventa un collaboratore attivo di un progetto opensource? [Vale a dire a livello di architettura]


15
Passaggio 1: diventa un grande collaboratore. Passaggio 2: ridurre leggermente.
psr

Risposte:


10

Probabilmente sembrerà un po 'una tautologia, ma se vuoi diventare un importante collaboratore di nuove funzionalità, usa il prodotto per un po', trova una nuova funzionalità che lo migliorerebbe, scrivi il codice per implementare la funzionalità e contribuiscilo.

Il motivo per cui si consiglia alle persone di iniziare con le correzioni dei bug è che ciò li induce a scavare nella base di codice e a familiarizzare con il modo in cui funzionano le cose. Ciò ti farà anche partecipare alla comunità di discussione del progetto, qualunque essa sia (di solito una mailing list o un forum) in modo da avere un'idea della direzione del progetto. Ti sentiresti un po 'sciocco se riuscissi a fare l'80% della tua nuova funzione solo per scoprire che qualcun altro ci ha lavorato da sempre e l'hanno appena finito!


Abbastanza lontano, quindi diresti che questa tattica più politica o imbarazzante? [Aka. pubblicizzare una patch su un blog, prima di ottenere il permesso di impegnarsi]
monksy

2
@monksy: non lo è nemmeno, poiché normalmente non lo renderesti pubblico, ma contribuisci tramite qualsiasi meccanismo appropriato alla base di codice. Stai cercando di acquisire fiducia tramite l'esperienza condivisa. Non ti commetti priv da persone fastidiose!
sabato

1
@monksy: non pubblicizzare la tua patch su un blog; come fai a sapere se qualcuno del progetto lo vedrà? Se hai una patch, portala alla community di discussione e parlane lì. Ecco dove è probabile che tu ottenga la risposta più utile. (A proposito se hai una correzione di bug, preparati a dimostrare che in realtà c'è un bug. Ciò significa che hai capito cosa dovrebbe fare il codice e puoi mostrare un caso riproducibile in cui fa qualcos'altro. Assicurati di conoscere la differenza tra un bug e il codice che fa qualcosa che dovrebbe fare che non ti piace.)
Mason Wheeler

4

Non ci sono scorciatoie. I progetti open source sono estremamente basati sul merito. Quando hai dimostrato di essere in grado di gestire attività più piccole, ti ritroverai fidato con attività sempre più grandi. I progetti open source hanno anche un grande impulso da parte dei collaboratori che contribuiscono con una o due patch, poi passano e ancora più persone che "contribuiscono" con una o due idee grandiose ma non implementate proseguono. Se vuoi dare un contributo maggiore, devi dimostrare che ci sei dentro per il lungo raggio.

Detto questo, i miglioramenti architetturali incrementali sono spesso ben accetti, soprattutto se risolvono un grave bug o un problema di prestazioni. Ad esempio, diversi anni fa una delle poche patch che ho contribuito al progetto Cinelerra è stata una modifica architettonica allo stack di annullamento che ha ridotto significativamente il consumo di memoria e la latenza per operazioni annullabili.

Troverai il maggior successo se stai risolvendo un problema che stai affrontando personalmente, piuttosto che partire per "diventare un collaboratore di un progetto open source". Quando ho inviato quella patch a Cinelerra, non stavo cercando di apportare una modifica architettonica a un progetto open source scelto a caso, stavo cercando di capire perché ci fosse voluto così tanto tempo per spostare un punto in / out durante la modifica dei miei video.


Bello! Ho sempre voluto usare Cinelerra, ma è sempre stato un dolore nel culo installarlo su Gentoo. Grazie per il contributo Ma questo è esattamente il tipo di cambiamento che sto suggerendo e chiedendo. È un cambiamento abbastanza grande da far preoccupare le persone, ma non è una correzione di bug.
monksy

2

Puoi farlo conoscendo quelli già in quella posizione e dimostrando un interesse a unirli a loro, cosa che si ottiene meglio correggendo bug, trovando bug e partecipando allo sviluppo.


Sembra un lungo percorso per prendere decisioni di architettura / design. [Sto operando con la premessa che le forcelle sono cattive]
monksy

@monksy sembra che tu stia partendo da una premessa diversa da quella forse indicata dalla tua domanda. Se ritieni di avere un più molto senso di un progetto in corso non, forse, impegnarsi in una conversazione aperta low-key per capire meglio il motivo per cui le cose stanno come stanno, e poi passare da lì ...
SDG

5
@monksy salire la scala richiede tempo, non puoi decidere di iniziare dall'alto se non crei la tua scala.
Ryathal,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.