W odpowiedziach na pytanie Co to jest kanoniczna retorta do „to open source, prześlij łatkę”? , wiele osób wyraziło opinię, że zwykłe proszenie ludzi o przesłanie łatki jest aroganckie i niegrzeczne.
Wydaje mi się jednak, że jako programista w dowolnym projekcie typu open source zobaczysz na liście mailingowej o wiele więcej żądań funkcji, niż możesz zaimplementować. Kiedy więc użytkownik mówi: „Chciałbym zobaczyć funkcję X”, prawda jest taka, że szanse na jej wdrożenie są raczej niewielkie, chyba że sami prześlą łatkę. Czasami może się przydać trochę zachęty, aby użytkownik stał się współpracownikiem.
Z drugiej strony, nie chcesz odstraszyć (potencjalnych) współpracowników, odsuwając się jako niegrzeczny.
Więc jak powiedziałbyś „prześlij łaty zamiast pytać o funkcje” w przyjazny sposób?
Aktualizacja: Dziękujemy za wszystkie sugestie! Widzę, że większość z nich wymaga dość długich wyjaśnień. Ale ponieważ wolałbym unikać (a) wyjaśniania tego samego co drugi dzień (zajmuje to zbyt wiele czasu) lub (b) używania fragmentów, które wklejam do wiadomości e-mail (robi się to bezosobowo bardzo szybko), zastanawiam się: ktoś napisał to w dokumencie, do którego mogę link?
(Specyficzne dla projektu rzeczy, takie jak pisanie testów, kompilowanie kodu i przesyłanie łaty nadal muszą być oczywiście udokumentowane, ale myślę, że te problemy techniczne powinny przejść do CONTRIBUTING.txt.)
źródło
Odpowiedzi:
Ty nie.
O ile mi się to zdarza, kandydaci na autorów są majsterkowiczami i nie prześlą prośby o dodanie funkcji, prosząc tylko o to. Zazwyczaj będą o to prosić przy pewnym poziomie uczestnictwa:
Koderzy, którzy przesyłają żądanie funkcji, zwykle robią to z jakiegoś powodu. Niektóre z nich obejmują (i wiem na pewno, że ostatnie dwa mają miejsce na przykład w WordPress):
Częściej prośby o funkcje będą pochodzić od użytkowników końcowych, którzy nie mogliby udostępnić łatki, nawet gdyby chcieli. Zwłaszcza gdy zostanie złożony poza systemem biletowym.
Myślę, że Twoim najważniejszym priorytetem powinno być nie odkładanie potencjalnych / obecnych współpracowników, a nie próba aktywnego rekrutowania nowych. To niezwykle ważne i mówię to z doświadczenia. Dziwnie podchodzę do wybierania nowej bazy kodu, która polega na pobieżnym czytaniu kodu, aby uzyskać pewien poziom zrozumienia go, wskakiwaniu do systemu biletowego i naprawianiu łatwych do znalezienia błędów w celu dogłębnego poznania wewnętrznych elementów (i archiwizacji nowe jak testuję). Przez lata zalałem kilka projektów dziesiątkami biletów i łatek. Wiele razy bilety te nie zwracają uwagi na czas lub nie zwracają na nie uwagi (nawet potwierdzenia, np. Nie przestawaj!) - także wtedy, gdy dołączone są udokumentowane etapy diagnozowania i testy jednostkowe.
źródło
Krótko mówiąc, wyjaśniasz, że nie masz nieograniczonego czasu na wykonywanie pracy za darmo. (Możesz pominąć bit „za darmo”) i że mogą wnieść swój wkład w dowolnym momencie, nie jest to „twój” projekt, to projekt każdego.
więc mówisz „Naprawdę przepraszamy, to świetny pomysł, ale jesteśmy zbyt zajęci całą pozostałą pracą, dodamy ją do listy, ale jeśli naprawdę chcesz to zrobić, i chcielibyście nam pomóc, przyczyniając się do projektu, to byłoby wspaniale. Mamy dokumentację, aby pomóc chłopakom wprowadzić zmiany w projekcie, są tutaj, więc jeśli masz umiejętności i czas i chcesz nam pomóc, to spróbuj i wyślij nam łatkę z twoimi zmianami. Być może będziemy musieli wprowadzić kilka modyfikacji, kiedy to otrzymamy, aby pasowało do standardów projektu, ale będziesz robił nam wielka przysługa, dając nam przynajmniej wsparcie dla tej pracy, a my pokochamy was za pomoc ”.
Oczywiście, kiedy zaczniesz prosić o plastry, nigdy nie będziesz mógł pozostawić ich zbyt długo w systemie biletowym, jeśli dostaniesz dużo, zintegrujesz je bardziej niż wykonując pracę, którą kiedyś wykonywałeś. Może ci się to nie podobać, ale jest to konieczne, jeśli chcesz, aby łatki się pojawiały.
źródło
Bądź uprzejmy i jasno wyjaśnij sytuację. Co powiesz na coś takiego:
Widzisz, nie możesz po prostu powiedzieć „Dlaczego przeszkadzasz mi swoimi prośbami? Nie jestem tu, aby pracować dla ciebie za darmo; jeśli chcesz tę funkcję, idź i zaimplementuj ją sam”. Ta osoba może nie być programistą, może nie znać języka użytego do opracowania produktu itp.
Zamiast być niegrzecznym, możesz zasugerować uczestnictwo w projekcie, a także wyjaśnić, dlaczego możesz nie być w stanie samodzielnie wdrożyć tej funkcji.
Innym sposobem, aby nie być nieuprzejmym, jest nic nie mówić. Jeśli masz witrynę internetową, na której użytkownicy Twojej aplikacji mogą sugerować nowe funkcje i zgłaszać błędy, możesz posortować elementy według ich priorytetu: na przykład, jeśli o funkcję poprosi 10 000 użytkowników, a o inną poprosi tylko 10 , są szanse, że pierwszy zostanie wdrożony jako pierwszy.
Na takiej stronie zawsze możesz umieścić sugestię „zaimplementuj to sam” dla funkcji, które po kilku dniach lub tygodniach nie otrzymały wystarczającej liczby głosów pozytywnych od innych użytkowników.
źródło
Czy to było takie trudne?
źródło
Cóż, zamiast po prostu powiedzieć „prześlij łatkę”, powinieneś rozwinąć nieco więcej.
źródło
Oto, co zwykle mówię ...
źródło
Oprócz miłych sposobów powiedzenia „Prześlij łatkę”, dostarcz także dokumentację zorientowaną na programistę, aby inni, którzy tak naprawdę chcą, mogą szybko przyspieszyć projekt. Wiele projektów nie jest przyjazne dla programistów i wymaga co najmniej dni odczytu co najmniej tysięcy wierszy kodu i ton małych przypadków testowych, które sprawdzają różne części systemu, aby wszystko działało poprawnie.
Jeśli zapewnisz pomoc potencjalnym programistom, chętnie udzielą pomocy. Oznacza to dobrą dokumentację kodu, dobre strony wiki wyjaśniające przepływ (lub dobry schemat UML / tablicy) oraz łatwy sposób na zaakceptowanie łatek.
źródło
Naprawdę podoba mi się sposób, w jaki github zachęca innych do rozwijania projektu. Wiele wersji tego samego projektu może istnieć na różnych kontach użytkowników. Jeśli nie podoba ci się kierunek, w którym podążam za projektem, proszę go rozwidlić. Możesz łatwo przesyłać żądania ściągania, ale nie utkniesz, czekając, aż je zaakceptuję.
Tak więc często odpowiadam, po prostu rozwidlaj to.
źródło