Jak dodać kod do projektu Open Source? [zamknięte]

Jeśli śledzisz projekt Open Source i chciałbyś wprowadzić zmiany w kodzie, co musisz zrobić?

Author: Shog9, 2008-08-05

10 answers

Najpierw poświęciłbym czas na poznawanie ludzi. Zazwyczaj mają czat IRC, gdzie wszyscy siedzą bezczynnie. Poświęć trochę czasu na poznawanie ludzi, przestudiowanie kodu, przejrzenie dokumentacji, a jeśli uważasz, że dobrze nadajesz się do projektu, zacznij tworzyć poprawki błędów. Nie próbuj dodawać nowych funkcji na początku. Nie będą ogólnie akceptowane.

Obejrzyj również tę rozmowę google tech o Jak chronić swój projekt Open Source przed trującymi ludźmi . Nauczy Cię, czego nie robić.

 18
Author: CodingWithoutComments,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-04 20:05:32

Najlepszym sposobem na to jest przedstawienie się w ten sposób "cześć,oto błąd / funkcja i oto patch, który go naprawia / implementuje."

Pracuję nad kilkoma projektami open source i jest wiele osób, które mają najlepsze intencje, aby pomóc, ale nigdy nic nie robią, więc jeśli pojawisz się z działającym kodem, zostaniesz uznany za znacznie bardziej wartościowego.

 7
Author: Mark Harrison,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-06 22:38:40

Jak mówiły poprzednie plakaty, to kwestia projektu. Przekonasz się, że niektórzy są bardziej otwarci na zmiany niż inni. Z mechanicznego punktu widzenia, musisz sprawdzić, czy używają SVN (na przykład w Google code) lub CVS (na przykład w sourceforge) i ustalić, czy używają łatki lub innej metody.

Dobry przykład procedury, którą możesz zastosować, można zobaczyć na stronie gimp: http://www.gimp.org/bugs/howtos/submit-patch.html Uwaga ich użycie Bugzilli, patcha i CVS

 4
Author: UberAlex,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-05 14:21:16

Jako twórca kilku projektów open source, jestem po drugiej stronie rzeczy w tym, że staram się uzyskać współpracowników. Oto co bym powiedział:

  • zgłoś się w dowolny sposób odpowiedni dla projektu: e-mail, lista dyskusyjna, forum itp
  • Sprawdź, czy twój pomysł już działa. Jeśli tak, może spróbuj pomóc zamiast powielać wysiłki.
  • Znajdź preferowany sposób przesyłania kodu
  • należy przestrzegać stylów kodowania używanych w projekt. (Jeśli zdecydujesz się przekonwertować wszystkie karty na spacje, nie będą one w stanie łatwo scalić zmian w systemie kontroli wersji i najprawdopodobniej zignorują Twoje zgłoszenie.)
 4
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-22 13:52:04

Kiedyś takie rzeczy były proste.

Była lista dyskusyjna dla użytkowników i jedna dla programistów. Jeśli widzisz problem i możesz go naprawić, napraw go, a następnie uruchom łatę Larry ' ego Walla i wyślij wynikową łatkę do listy deweloperów z szybkim wyjaśnieniem, co robi. Generalnie dev z dostępem do CVS (lub w dawnych czasach, na których dyskietce rezydował projekt;)) sprawdzi wszystko i jeśli twój patch zrobi to, co pisze na puszce i nic innego nie zepsuje to wchodzi do właściwego drzewa źródeł.

Obecnie jest wiele, wiele innych projektów wykorzystujących open development i wiele z nich jest prowadzonych przez ludzi, którzy nigdy wcześniej nie prowadzili projektu oprogramowania, nie mówiąc już o open source, więc sprawy mogą być bardziej skomplikowane. Zazwyczaj wysyłanie łatki do kogoś, kto robi dużo programistów we właściwym obszarze projektu, szybko dostaje właściwe oczy, Patrząc na to nawet dzisiaj. Przeglądanie repozytorium online powie ci ludzi, którzy wykonują pracę, a nie tych, którzy otrzymują ich nazwiska na pierwszej stronie strony, skontaktuj się najpierw z tymi facetami:)

 3
Author: sparkes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-05 16:12:03

Kilka innych rzeczy do zapamiętania:

  • Upewnij się, że posiadasz kod, który chcesz zwrócić, a nie twój pracodawca lub klient, dla którego dokonałeś modyfikacji. Sprawdź swoją umowę o pracę lub umowę o świadczenie usług, jeśli istnieje możliwość, że jesteś w takiej sytuacji.

  • Zbadaj, czy istnieje proces przypisywania własności intelektualnej, przez który deweloperzy wolą, aby współpracownicy przeszli. W dzisiejszych czasach wiele otwartych Projekty źródłowe mają takie przydziały, tak że wszystkie prawa do kodu w projekcie mogą być własnością samego projektu i / lub jego sponsora.

Obie te kwestie są ważne, jeśli chodzi o ochronę siebie, projektu i każdego, kto chce używać lub budować projekt na dalszych etapach przed roszczeniami związanymi z napisanym kodem.

 3
Author: Chris Hanson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-09 00:22:37

Jeśli szukasz sposobów, aby zaangażować się na mniejszą skalę (być może do pracy w górę) OpenHatch ma przeszukiwalną bazę błędów (posortowane według języka/framework), a także świetny samouczek na początek.

Innym sposobem na rozpoczęcie jest CodeTriage , który ma repozytoria GitHub szukające pomocy w naprawianiu otwartych problemów, które są również zorganizowane według języka.

 3
Author: rouma7,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-09 15:33:15

Pierwszą rzeczą, którą powinieneś zrobić, to skontaktować się z głównymi osobami, które prowadzą projekt open source. Zapytaj ich, czy nie masz nic przeciwko, aby przyczynić się do kodu i przejść stamtąd.

Po prostu napisanie ulepszonego kodu, a następnie podanie go im, może spowodować odrzucenie kodu.

 1
Author: GateKiller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-05 13:28:06

To zależy od projektu, jak i gdzie jest hostowany. Najlepiej jest znaleźć kontakt i wysłać go e-mailem lub sprawdzić, czy istnieje lista dyskusyjna programistów.

 0
Author: John,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-05 13:26:47

Czatuj w IRC lub przeglądaj grupy dyskusyjne, jeśli takie mają. pokaż się. Być może będziesz musiał przesłać poprawki do grupy dyskusyjnej, zanim otrzymasz konto do samodzielnego przesłania.

Zapoznaj się ze standardami kodowania, typami poprawek (np. unified diff) i zamów kopię ich CVS lub SVN, jeśli pozwalają na dostęp anonimowy.

 0
Author: Ross,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-22 14:09:54