Hacktoberfest

Aktualnie rozpoczęła się 5 edycja wydarzenia Hacktoberfest, która potrwa od 1 do 31 Października 2018r. Do wydarzenia organizowanego przez DigitalOcean, GitHub i twilio można dołączyć w każdym momencie jego trwania. W celu otrzymania limitowanego T-shirta należy w Październiku wykonać 5 PRs (pull requests) w dowolnym publicznym repozytorium na GitHub. W tym roku koszulki przewidziane są dla pierwszych 50 tys. kontrybutorów, którzy spełnią powyższe wymaganie. Hacktoberfest to nie tylko koszulka, ale przed wszystkim okazja wsparcia społeczności Open Source. Każdego dnia świadomie lub nie świadomie korzystamy w pracy i w życiu codziennym z Open Source. Aktywnie wspierają projekty nie liczni, powyższe wydarzenie warto potraktować, jako cel spróbowania czegoś nowego i wyjście po za firmowe/domowe repozytorium kodu źródłowego. Będąc kontrybutorem rozszerzasz swoje portfolio, zdobywasz nową wiedze analizując rozwiązania innych programistów, oraz masz satysfakcje z wkładu w projekty, z których korzystają tysiące ludzi. Czytelników zainteresowanych obecną edycją wydarzenia, po więcej szczegółów zapraszam na stronę Hacktoberfest 2018.

Możliwości kontrybucji

Do projektów można kontrybuować na dwa sposoby:

  • Zgłaszając błędy, pomysły na nowe funkcje, oraz biorąc udział w dyskusji na dany temat. (Obszar pracy dotyczy zakładki Issues),
  • Implementując nowe funkcje, poprawiając błędy, poprawiając wydajność, korygując literówki, dodając summary, wprowadzając zmiany, oraz pisząc testy. (Obszar pracy wymagający zgłoszenia pull requestu).

Jak zacząć kontrybucje?

  1. Znajdź projekt wykorzystując np. wyszukiwarkę GitHub.
  2. Zapoznaj się z plikiem README.md w projekcie. Plik zawiera informacje na temat projektu (opis projektu, przykłady użycia metod, instrukcje instalacji, sposób konfiguracji środowiska, opis testów,  schemat architektury, informację o licencji, etc.)
  3. Zapoznaj się z plikiem CONTRIBUTING.md w projekcie. Ten plik jest podręcznikiem zawierającym zasady kontrybucji dla danego projektu, które musi przestrzegać każdy kontrybutor dla powyższego projektu.
  4. Przejdź do zakładki Issues i wybierz zadanie, nad którym będziesz pracował.
  5. Rozwiąż problem i utwórz Pull Request. Należy pamiętać o regułach i opisanym procesie kontryubowania z pliku CONTRIBUTING.md

Wybierając projekt do kontrybucji, zwróć uwagę czy jest aktywnie wspierany i zarządzany przez społeczność. Nie warto tracić swojego cennego czasu na „martwe” projekty.

Pull Request na GitHub

Wydarzenie Hacktoberfest powiązane jest z hostingiem GitHub, przejdziemy krok po kroku przez Pull Request dla powyższej platformy (proces jest analogiczny dla innych hostingów). Pull Request jest sposobem poinformowania osób zarządzających projektem o przygotowanych przez nas zmianach.

  1. Po wybraniu projektu, nad którym będziemy pracować, klikamy przycisk Fork. W rezultacie otrzymamy kopie wybranego repozytorium.Fork GitHub
  2. Pobieramy lokalnie naszą kopię repozytorium (git clone).
  3. Tworzymy branch odpowiadającemu issue, na którym będziemy dokonywać zmiany.
  4. Wykonujemy commity dla issue .
  5. Wypychamy zmiany do GitHub.
  6. Zgłaszamy Pull Request. W zakładce „Pull Requests” dla projektu w GitHub klikamy przycisk „New pull request”. Uzupełniamy opis zgłoszenia precyzując dokonane zmiany i metodykę podejścia do problemu. Proces zgłaszania kończymy klikając „Create pull request”.  W tym momencie autor projektu dostał informacje o naszych dokonanych poprawkach. Teraz musimy cierpliwie czekać aż właściciel projektu zaakceptuje zmiany, prześle do poprawki z komentarzami lub całkowicie odrzuci. W przypadku akceptacji przez osoby zarządzające projektem zostanie wykonany merge zawierający zmiany.CI GitHub Pull Request W momencie wprowadzania zmian należy pamiętać o implementacji testów jednostkowych dla powyższej funkcji. W projekcie może istnieć skonfigurowany pull request build flow w ramach, którego następuje weryfikacja/testowanie kodu z poprawkami. O powyższym procesie więcej opisywałem w wpisie Continuous Integration z Travis CI na GitHub.

Podsumowanie

Od strony technicznej kontrybuowanie do Open Source nie jest trudny procesem, należy przede wszystkim pamiętać o przestrzeganiu istniejących zasad z pliku CONTRIBUTING.md dla danego projektu. Największym problem przed rozpoczęciem prac na rzecz Open Source jest brak czasu, zmęczenie codzienną pracą, oraz tysiąc innych wymówek. Dla osób zaczynających przygodę na początek polecam zacząć od łatwych zadań, może być to poprawka literówki czy aktualizacja dokumentacji. Czytelników zainteresowanych Hacktoberfest, po więcej szczegółów zapraszam na stronę Hacktoberfest 2018.