Jak stać się dużym współtwórcą projektu open source?

10

Wiem, że domyślną radą dotyczącą projektów typu open source i rozpoczynania pracy jest rozpoczęcie naprawiania błędów. Ale mam wrażenie, że jest to ścieżka, którą ktoś chciałby pójść, gdyby chciał być testerem / naprawcą błędów w projekcie. Jak stać się aktywnym uczestnikiem projektu typu open source? [Tj. Na poziomie architektury]

mnich
źródło
15
Krok 1 - Zostań wielkim współtwórcą. Krok 2 - Cofnij się trochę.
psr

Odpowiedzi:

10

To prawdopodobnie zabrzmi jak tautologia, ale jeśli chcesz stać się głównym współtwórcą nowych funkcji, skorzystaj z produktu przez chwilę, znajdź nową funkcję, która by ją ulepszyła, napisz kod, aby ją wdrożyć i wesprzyj to.

Powodem, dla którego ludzie powinni zacząć od poprawek błędów, jest to, że skłaniają ich do szukania kodu źródłowego i zapoznania się ze sposobem działania. Dzięki temu będziesz mógł uczestniczyć w dyskusji społeczności projektu, cokolwiek to może być (zwykle lista mailingowa lub forum), dzięki czemu poczujesz kierunek projektu. Czujesz się trochę głupio, jeśli wykonasz 80% swojej nowej funkcji tylko po to, aby przekonać się, że ktoś inny nad tym cały czas pracował i właśnie to zakończył!

Mason Wheeler
źródło
Dość daleko, więc czy powiedziałbyś, że ta bardziej polityczna lub zawstydzająca taktyka? [Znany jako. reklamowanie łatki na blogu, zanim uzyska pozwolenie na popełnienie]
mnich
2
@monksy - nie jest, ponieważ normalnie nie upubliczniasz go, ale udostępniasz go za pomocą dowolnego mechanizmu odpowiedniego dla podstawy kodu. Próbujesz zdobyć zaufanie dzięki wspólnemu doświadczeniu. Irytujących ludzi nie dostaniesz od prywatnych szeregów!
sdg
1
@monksy: Nie reklamuj swojej łatki na blogu; skąd wiesz, że ktokolwiek z projektu to zobaczy? Jeśli masz łatkę, zanieś ją do społeczności dyskusyjnej i porozmawiaj o niej. Właśnie tam prawdopodobnie uzyskasz najbardziej przydatną odpowiedź. (BTW, jeśli masz poprawkę błędu, przygotuj się na udowodnienie, że rzeczywiście istnieje błąd. Oznacza to, że rozumiesz, co powinien zrobić kod, i możesz pokazać odtwarzalny przypadek, w którym robi on coś innego. Upewnij się, że znasz różnicę między błąd i kod robiące coś, co nie powinien lubić.)
Mason Wheeler
4

Brak skrótów. Projekty open source są wyjątkowo oparte na zasługach. Po wykazaniu, że jesteś w stanie wykonywać mniejsze zadania, w końcu będziesz mieć zaufanie do coraz większych zadań. Projekty open source mają również dużą motywację ze strony autorów, którzy wnoszą jedną lub dwie łatki, a następnie przechodzą dalej, a jeszcze więcej osób, które „wnoszą” jeden lub dwa wielkie, ale niezaimplementowane pomysły, przechodzi dalej. Jeśli chcesz wnieść większy wkład, musisz pokazać, że jesteś w to na dłuższą metę.

To powiedziawszy, stopniowe ulepszenia architektury są często mile widziane, szczególnie jeśli rozwiązują poważny błąd lub problem z wydajnością. Na przykład kilka lat temu jedną z niewielu łatek, które włączyłem do projektu Cinelerra , była zmiana architektoniczna w stosie cofania, która znacznie zmniejszyła zużycie pamięci i opóźnienie operacji nieodwracalnych.

Odniesiesz największy sukces, jeśli rozwiążesz osobisty problem, a nie po prostu postanowisz „stać się współpracownikiem projektu open source”. Kiedy przesłałem tę łatkę do Cinelerry, nie próbowałem przyczynić się do zmiany architektonicznej w losowo wybranym projekcie open source, próbowałem dowiedzieć się, dlaczego przeniesienie punktu wejścia / wyjścia podczas edycji moich filmów było tak dziwne.

Karl Bielefeldt
źródło
Miły! Zawsze chciałem używać Cinelerry, ale instalowanie go na Gentoo zawsze było dla mnie problemem. Dzięki za wkład. Ale właśnie o taką zmianę proponuję i pytam. To wystarczająco duże zmiany, aby wzbudzić niepokój ludzi, ale to nie jest poprawka.
mnich
2

Możesz to zrobić, poznając osoby już na tym stanowisku i wykazując zainteresowanie dołączeniem do nich, co najlepiej osiągnąć, usuwając błędy, znajdując błędy i uczestnicząc w rozwoju.

Ryathal
źródło
To wydaje się być długą drogą do podejmowania decyzji architektonicznych / projektowych. [
Działam
@monksy wygląda na to, że zaczynasz od innej przesłanki niż być może wskazane przez ciebie pytanie. Jeśli uważasz, że masz o wiele lepszy sposób niż obecny projekt, być może zaangażuj się w cichą, otwartą rozmowę, aby lepiej zrozumieć, dlaczego rzeczy są takie, jakie są, a następnie idź stamtąd ...
sdg
5
@monksy wspinanie się po drabinie wymaga czasu, nie musisz decydować się na rozpoczęcie od góry, chyba że stworzysz własną drabinę.
Ryathal