How to Contribute to Open Source Project

Nigdy nie było łatwo nauczyć się programowania. Ale pomimo ton sposobów nauki kodowania, wierzymy, że najlepszym sposobem na poprawę swoich umiejętności jest udział w projektach open source.

Społeczność open source zapewnia wielką szansę dla aspirujących programistów, aby się wyróżnić; poprzez udział w różnych projektach, programiści mogą poprawić swoje umiejętności i uzyskać inspirację i wsparcie od podobnie myślących ludzi. Ale co najważniejsze, mogą oni udowodnić, że potrafią budować fantastyczne doświadczenia, które ludzie kochają.

Poprzednio omówiliśmy czym są projekty open source i dlaczego open source jest dobre dla Twojej firmy. W tym artykule wyjaśnimy, dlaczego powinieneś brać udział w takich projektach, jak to zrobić i jakie projekty wybrać. Ten artykuł jest skierowany do programistów, którzy dopiero zaczynają swoją karierę i chcieliby zaangażować się w społeczność (i być może zostać geniuszem kodowania).

Dlaczego warto uczestniczyć w projektach open source?

Istnieje wiele powodów, aby uczestniczyć w OSS (open-source software). Zobaczmy, co motywuje programistów do udziału w projekcie.

Po pierwsze, jest wielu entuzjastów, którzy po prostu wierzą, że kod powinien być otwarty. Są idealistami, którzy chcą uczynić świat lepszym miejscem i to napędza ich do współtworzenia kodu. Pragnienie dzielenia się może być potężnym motywatorem.

Po drugie, OSS daje świetny start. Początkujący programiści mogą zacząć od naprawiania drobnych rzeczy, takich jak błąd w bibliotece, wysłania prośby o udostępnienie kodu, a nawet napisania fragmentu dokumentacji. Jednakże, początkujący programiści mogą również nauczyć się pisać tak zwany „czysty kod” – kod, który jest czytelny i łatwy w utrzymaniu – podczas uczestniczenia w projektach open source. Kiedy programiści zdają sobie sprawę z tego, że ich kod jest wystawiony na widok publiczny, skupiają się na tym, by kod był łatwy do zrozumienia i obsługi. Programiści trzymają się ogólnie przyjętych zasad w zespole, które obejmują normy dotyczące wcięć, opisów metod i klas, nazw zmiennych oraz przestrzegania zasady „don’t-repeat-yourself”. W skrócie, kiedy wnosisz wkład do wolnych projektów, jesteś zobowiązany do przestrzegania norm projektu.

Po trzecie, masz szansę być częścią aktywnej społeczności open source, gdzie możesz spotkać podobnie myślących ludzi i zwolenników. Co więcej, jeśli jesteś freelancerem i aktywnie uczestniczysz w projektach open source, zwiększasz swoje szanse na bycie zauważonym przez potencjalnych pracodawców.

Główne powody, dla których programiści wybierają się do projektów free-for-modification to chęć bycia rozpoznawanym, wyostrzenia swoich umiejętności programowania i stania się częścią tętniącej życiem społeczności. Teraz spójrzmy na to, co powinieneś rozważyć zanim zaczniesz wnosić swój wkład.

Co należy rozważyć zanim przejdziesz do open source

Okay, więc nie możesz się doczekać, aby rozpocząć swój pierwszy projekt OSS. Prześledźmy kilka wskazówek, które mogą pomóc ci wybrać, nad czym pracować.

Język programowania

Najbardziej fundamentalną technologią stojącą za każdą aplikacją jest język programowania. Najpopularniejsze języki na GitHubie (platforma do wspólnego hostowania kodu) to JavaScript, Python, Java, Ruby i PHP. Jest tam wiele projektów, które mogą odpowiadać twoim umiejętnościom i upodobaniom.

Jako że RubyGarage kocha Rubiego i jego ekosystem, chcielibyśmy podzielić się kilkoma żywymi bazami kodu OSS dla początkujących:

  • Sinatra, biblioteka oparta na Ruby, która pomaga tworzyć aplikacje bez Railsów;
  • Hanami, nowoczesny framework webowy zbudowany z Ruby;
  • Chef, framework oparty na Ruby używany do automatyzacji pracy z serwerem;
  • Goby, framework, który pozwala budować tekstowe gry fabularne;
  • JRuby, drugi topowy interpreter Ruby.

Pomimo, że wspomnieliśmy tylko o pięciu aktywnych projektach open source, które potrzebują pomocy, możesz rozpocząć swoją karierę jako twórca Ruby właśnie od nich.

Typ projektu

Po wybraniu języka, w którym chcesz pracować, musisz wybrać typ projektu, który preferujesz. Projekty na GitHubie są podzielone na foldery zwane Showcases. Oto kilka przykładów Showcases: „bezpieczeństwo”, „wirtualna rzeczywistość”, „edytory tekstu” i „preprocesory CSS”. Po prostu wybierz temat, który cię interesuje.

Jednakże zalecamy zwrócenie szczególnej uwagi na te projekty, które będą używane przez szerokie spektrum ludzi, więc będziesz miał szansę przetestować swój kod na dużej, rzeczywistej publiczności. Na przykład, Showcase „Emoji” zawiera 25 repozytoriów, które reprezentują jego popularność. Kolejną wskazówką, jak wybrać projekt OSS, jest rozpoczęcie pracy nad oprogramowaniem, którego już używasz lub którego używaniem jesteś zainteresowany. To utrzyma twoją motywację do dalszej pracy.

Objętość projektu

Duże projekty oprogramowania, takie jak VLC Media Player czy Spree – z tysiącami linii kodu – nie są najlepszym wyborem dla początkującego. Kiedy bierzesz udział w dużych projektach, oczekuje się, że spełnisz wymagania ustalone w tym zespole. A oto kolejna mała wskazówka: zwracaj uwagę na etykiety błędów. Niektóre zagadnienia są oznaczone jako „first-timers-only”, „beginner”, „easy” i tak dalej. Możesz również znaleźć listę na Githubie z kolekcjami projektów, które są odpowiednie dla początkujących.

Rozważ te wskazówki przy wyborze projektu, w którym chcesz brać udział. I zawsze pamiętaj, aby wybrać oprogramowanie, którym jesteś zainteresowany i przeznaczyć na nie czas z wyprzedzeniem.

Jak wnieść swój wkład w projekty open source

Gdy mówimy o wolnym oprogramowaniu, nie możemy uniknąć mówienia o GitHubie i powiązanych z nim narzędziach. Zobaczmy, czym jest GitHub i jak pomaga uczestniczyć w projektach open source.

Poznaj GitHuba

GitHub jest najpopularniejszą platformą do współpracy open source, więc prawdopodobnie będziesz z niej korzystał, gdy będziesz poznawał świat OSS. Po pierwsze, musisz założyć konto na GitHubie i przeczytać przewodnik, który pomoże Ci zacząć. Na GitHubie możesz współtworzyć projekty poprzez zgłaszanie problemów i współtworzenie kodu. Zgłaszanie problemów oznacza wysyłanie wiadomości o błędach w aplikacjach i sugerowanie sposobów na ich naprawienie. Współtworzenie kodu polega na wysyłaniu żądań ściągnięcia z twoimi poprawkami i ulepszeniami.

Naucz się podstaw

Pracując z GitHubem, powinieneś wiedzieć, jak używać Git – jednego z najpopularniejszych narzędzi kontroli wersji (znanych również jako narzędzia kontroli rewizji). Ponieważ programiści nieustannie wprowadzają zmiany do swojego kodu, potrzebują systemu, który potrafi zarządzać tymi zmianami w centralnym repozytorium. W ten sposób każdy zaangażowany w proces rozwoju może pobrać dany fragment oprogramowania, wprowadzić zmiany i przesłać aktualizacje.

Poza wygodnym posługiwaniem się narzędziami kontroli rewizji, niezbędne umiejętności obejmują umiejętność klonowania repozytorium i wysyłania pull requestów. Pull requests informują opiekunów kodu o zmianach dokonanych w kodzie; mogą oni następnie przejrzeć te zmiany, rozpocząć dyskusję na ich temat lub przypisać je do kolejnego commitu.

Dołącz do społeczności

Możesz łatwo dołączyć do projektu open source poprzez zapisanie się na listę mailingową tego projektu. Listy mailingowe można znaleźć na oficjalnych stronach internetowych lub na stronach GitHub. Po przyjęciu na listę, możesz komunikować się z członkami zespołu i uzyskać wsparcie w razie potrzeby. Dzięki żywym społecznościom obecnym w prawie każdym projekcie OSS, prawdopodobnie otrzymasz szybkie odpowiedzi na swoje pytania.

Wszystkie umiejętności są mile widziane

Nawet nie-programiści mogą wnieść swój wkład w projekty open source! Dokumentacja jest potrzebna dla wszystkich projektów, a czasami jest ona źle napisana i utrzymywana. Dlatego możesz pomóc pisząc, aktualizując lub nawet tłumacząc dokumentację. Ponadto, Twoje umiejętności projektowania mogą się przydać: każda aplikacja potrzebuje przecież interfejsu. Wreszcie, możesz wnieść swój wkład poprzez zarządzanie społecznością, odpowiadając na pytania i prowadząc nowicjuszy.

Sposoby wnoszenia wkładu w projekty open source

Przedstawmy najczęstsze sposoby wnoszenia wkładu w projekty OSS.

Stwórz własny projekt open source

Każdy projekt powinien zaczynać się od zidentyfikowanej potrzeby. Jeśli czujesz, że istniejące projekty na GitHub lub Bitbucket nie oferują funkcjonalności, którą chciałbyś zbudować, to stwórz własne rozwiązanie open source. Oprócz wstępnego szkicu projektu, powinieneś rozważyć następujący zestaw pytań:

  1. Jakich umiejętności potrzebujesz do swojego projektu?
  2. Ile czasu jesteś skłonny poświęcić na swój projekt?
  3. Jaki problem(y) rozwiązuje Twoje oprogramowanie?
  4. Ilu jest potencjalnych użytkowników Twojego produktu?

Twórz alternatywy open source dla oprogramowania komercyjnego

Dzisiejsze projekty komercyjne aktywnie angażują rozwiązania open source. Wiele firm opiera swoje projekty na darmowych narzędziach. Kiedy istnieje ogromny wybór oprogramowania, nie trzeba wymyślać koła na nowo. Dlatego warto bawić się wolnym oprogramowaniem, które może zastąpić podobne oprogramowanie własnościowe, lub które rozwiązuje problem, z którym niedawno się zetknąłeś.

Innym powodem zastąpienia komercyjnych rozwiązań oprogramowaniem open source jest chęć prawdziwej innowacji i rozwoju. Komercyjne oprogramowanie twierdzi, że jest innowacyjne, ale jego ostatecznym celem jest osiąganie zysków. Oprogramowanie open source łączy najlepsze praktyki, świetną jakość kodu i pasjonatów, którzy chcą kodować tylko dlatego, że lubią.

Wkład w istniejące projekty open source

Możesz znaleźć wiele projektów, w których możesz uczestniczyć na GitHub – platformie zorientowanej na deweloperów z prostym, ale niezbędnym zestawem funkcji. GitHub przyciąga programistów publicznymi interfejsami API, eleganckim i często aktualizowanym interfejsem użytkownika, gistami (repozytoriami Git), które pozwalają dzielić się fragmentami kodu lub nawet całymi aplikacjami, oraz wieloma innymi funkcjami. Wolne oprogramowanie można współtworzyć na wiele sposobów. Deweloperzy mogą rozwidlać projekty, wprowadzać zmiany w kodzie i wysyłać pull requesty. A zapewnianie jakości jest zawsze doceniane. Czasami programiści są zbyt zajęci lub zbyt leniwi, by sprawdzić jakość swojego kodu. Więc śmiało i zgłoś błąd lub spróbuj go naprawić – twoja pomoc jest doceniana.

Możesz dotrzeć do najgorętszych projektów GitHuba, podążając za linkiem „Trending”. A żeby wyszukiwanie było bardziej trafne, użyj wyszukiwania zaawansowanego: wybierz język, w którym chcesz kodować i wybierz kryteria „najlepszego dopasowania”. Najlepsze dopasowanie szereguje projekty według trafności, biorąc pod uwagę liczbę forków (która reprezentuje jak aktywnie projekt jest aktualizowany) i gwiazdek („polubień”, w języku Facebooka). Większość projektów ma znane problemy (ale niektóre nie) z etykietami takimi jak „bug”, „discussion”, „security”, lub „refactor”, lub innymi etykietami w zależności od poziomu trudności: „easy”, „medium”, „hard.”

Podsumowanie

Projekty open source przynoszą wiele korzyści tym, którzy w nich uczestniczą, a takie doświadczenie jest świetne dla Twojego CV. Dołączając do społeczności podobnie myślących ludzi i doskonaląc swoje umiejętności, możesz zapewnić sobie awans jako aspirujący programista. Wymieniliśmy najczęstsze powody, dla których ludzie biorą udział w projektach OSS i opisaliśmy różne sposoby na rozpoczęcie pracy. Jeśli chcesz dowiedzieć się więcej na temat udziału w projektach OSS, sprawdź nasze poprzednie artykuły o tym, jak projekty open source przenikają na rynek IT oraz o bezpieczeństwie wolnego oprogramowania.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.