Jaki jest dobry projekt open source na GitHubie dla początkujących?

Najlepsza odpowiedź

Wezmę to.

Najpierw przede wszystkim całkowicie nie zgadzam się z jedną odpowiedzią (z ponad tysiącem głosów za) w tym wątku wraz z wierszami, Jeśli jesteś początkującym, nie współtworz projektu typu open source w GitHub! To ślepe zaułki, które prowadzą do frustracji i złość !”

Jeśli coś spowodowało u kogoś frustrację i złość, nie oznacza to, że to samo wywoła u Ciebie podobną reakcję. Przykro mi, ale to była negatywna perspektywa.

W rzeczywistości wkład w open-source jest czymś, co odróżnia cię od początkującego, średnio zaawansowanego lub doświadczonego. Daje ci impuls do dalszego rozwoju w twojej podróży technologicznej lub kodowania. Oczywiście nie chcesz być wiecznie początkującym, prawda?

Gorąco zachęcam początkujących do współtworzenia open-source na GitHub i ja Zaraz po przeczytaniu tej odpowiedzi pokażę dokładnie, jak możesz to zrobić.

Wiele osób uważa, że ​​udział w projektach GitHub typu open source będzie koniecznie wymagał od nich napisania jakiegoś kodu.

Przychodzą im do głowy ten sztuczny obraz, że w jakimś publicznym repozytorium jakiejś biblioteki lub frameworku JavaScript open source wystąpiłby jakiś problem lub błąd i będą musieli naprawić ten błąd, jeśli zdecydują się wnieść swój wkład.

To nieprawda (cały czas) .

Kiedyś miałem podobny obraz zaczynał od współtworzenia open source na GitHubie.

Wkład w open source niekoniecznie oznacza pisanie kodu.

  • Przekazywanie ludziom wskazówek dotyczących nauki języka programowania może również być uważane za wkład open source ion.
  • Pokazywanie ludziom ścieżki do zostania programistą front-end może być również uważane za wkład open-source.
  • Cóż, fakt, że piszę tę odpowiedź, aby nauczyć, czym są nietradycyjny sposób wnoszenia wkładu w działania związane z otwartym kodem źródłowym w serwisie GitHub można również uznać za mój wkład w tworzenie oprogramowania open source.

Dość gadania. Pozwólcie, że dam wam pomysł, w jaki sposób możecie teraz wnieść swój wkład w open-source.

Zacznę od omówienia moich osobistych doświadczeń związanych z tworzeniem jednego publicznego repozytorium GitHub.

Jestem część niektórych forów społeczności programistów. Wiele z nich. Pewnego dnia był taki facet, który wspomniał w wątku:

„Utworzyłem repozytorium GitHub z celem jest zapewnienie 999 programów w C. Stworzyłem 7 z nich. Jeszcze 992.

Brzmiało to bardzo interesująco. Szybko kliknąłem jego łącze repo i przejrzałem 7 programów, które stworzył. Były naprawdę przyjazne dla początkujących i idealnie pasowały do ​​jego celu, aby pomóc ludziom, którzy zaczynają programować w C.

Szybko rozwidliłem jego repozytorium GitHub. Sklonowałem to repozytorium na moim lokalnym komputerze. I stworzyłem jeden przyjazny dla początkujących program w języku C z rozwiązaniem, zgodnie z formatem i strukturą, które facet przestrzegał dla pozostałych 7 programów. Przesłano zmiany do rozwidlonego repozytorium. Wykonałem żądanie ściągnięcia (PR) do oryginalnego repozytorium tego gościa z komunikatem „dodano kolejny przyjazny dla początkujących program w języku C z rozwiązaniem”. Ten facet zaakceptował moją prośbę o PR i połączył zmiany w swojej głównej gałęzi. Następnego dnia zrobiłem to samo z jeszcze jednym programem.

Tak. Mój wkład w open source. Tak. Musiałem napisać kod do tego wkładu. Jednak było to coś zupełnie innego niż to, co wyobrażałem sobie wcześniej. Nie rozwiązałem jakiegoś błędu lub problemu na poziomie zaawansowanym w jakiejś słynnej bibliotece lub frameworku. Właśnie pomyślałem o jednym przyjaznym dla początkujących programie, którego nauczyliśmy się na uniwersytecie, dostarczyliśmy mu rozwiązanie i to wszystko.

Możesz stworzyć repozytorium GitHub na własnym profilu w oparciu o te pomysły:

  • najlepsze zasoby do nauki programowania front-end (wspomnij o linkach do artykułów, książkach, materiałach wideo, darmowych kursach itp.)
  • najlepsze skrypty automatyzacji zadań w Pythonie (skrypty źródłowe online i zbieraj je w jednym miejscu podaj autorstwo oryginalnych autorów)
  • przegląd różnych baz danych (naucz ludzi o znanych bazach danych, takich jak MySQL, MongoDB, SQL Server, Oracle itp. Powiedz im, dlaczego powinni wybrać jedną z nich.)
  • lub cokolwiek, co Twoim zdaniem byłoby edukacyjne dla całego internetu

Jeśli interesujesz się ReactJS, nie krępuj się dodawać do mojego repozytorium GitHub: UnnitMetaliya / 99-responsjs-project-ideas

Pracuję nad dostarczeniem 99 prostych pomysłów na projekty, które ludzie mogą rozwinąć za pomocą biblioteki ReactJS. Mam pomysł? Świetny. Rozwidlaj moje repozytorium. Utwórz folder dla swojego pomysłu o takiej samej strukturze jak folder # 001. Wypchnij go do repozytorium, które rozwidliłeś. Wyślij żądanie ściągnięcia do mojej głównej gałęzi. I to wszystko.

tl; dr >> Współtworzenie oprogramowania typu open source na GitHub niekoniecznie wymaga pisania kodu. Istnieją setki różnych sposobów współtworzenia oprogramowania typu open source poza pisaniem kodu.

Odpowiedź

Po pierwsze, oprogramowanie typu open source to oprogramowanie, z którego można swobodnie korzystać, zmienione i udostępnione (w zmodyfikowanej lub niezmodyfikowanej formie) przez kogokolwiek.

Biorąc pod uwagę teoretyczne znaczenie tego, czym jest open source, głębsze znaczenie pokrywa się z wizją zachowania przejrzystości dla użytkownika, tak aby użytkownik w pełni rozumie, co się dzieje, i dlatego ma szansę coś zmienić, dodając funkcję, której potrzebuje więcej od określonego oprogramowania / sprzętu.

Pierwszym krokiem w open source jest zidentyfikowanie organizacji, która lubisz lub której wizja jest zgodna z tym, co naprawdę chcesz oddać światu. Każda z tych organizacji ma swoją własną wizję i misję, aby dać coś ludziom w zamian. Wnoszę wkład do Mozilli ze względu na ich wizję i misję, w którą naprawdę wierzę, aby dać ludziom Internet bez granic i utrzymać go w stanie wolnym.

Naszą misją jest promowanie otwartości, innowacji i możliwości w sieci.

W Mozilli jesteśmy globalną społecznością technologów, myślicieli i konstruktorów pracujących razem, aby utrzymać Internet przy życiu i dostępne, dzięki czemu ludzie na całym świecie mogą być świadomymi współtwórcami i twórcami sieci. Wierzymy, że ten akt ludzkiej współpracy na otwartej platformie jest niezbędny dla indywidualnego rozwoju i naszej zbiorowej przyszłości.

Jest też wiele innych organizacji, takich jak Fedora, Ubuntu, GCC, Python, OpenCV, KDE. Wiele osób, które są w tych organizacjach, pracuje wyłącznie dlatego, że misja / wizja jest zgodna z ich myśleniem lub tym, w jaki sposób według nich najlepiej byłoby dać z powrotem całemu społeczeństwu.

Po wybraniu organizacji nastąpi wiele projektów, które możesz wybierać lub w których możesz wnieść swój wkład, Firefox jest jednym z głównych projektów Mozilli, jest też wiele innych projektów, takich jak MDN (Mozilla Developer Network), Firefox OS, Persona itd., Organizacja Twój wybór może mieć stronę internetową / wiki poświęconą temu, jak zacząć współtworzyć, W Mozilli mamy coś, co nazywa się What Can I Do for Mozilla [1]. Pomaga to jasno nakierować ludzi na ich zainteresowania w oparciu o wybrany przez nich język programowania itd., Więc poszukaj czegoś takiego, co pomoże ci zacząć, następnym krokiem jest wyszukanie kilku błędów, pobranie wymaganego kodu źródłowego i zbudowanie systemu na konkretnej maszynie deweloperskiej i na koniec wysłanie łatki.

Główna różnica Pomiędzy pracą z bazą kodu organizacji open source a bazą kodu używaną podczas uniwersyteckich struktur danych lub podobnych kursów jest rozmiar bazy kodu. Dowiedzenie się, gdzie znajduje się treść i który segment kodu jest głównym wyzwaniem. Początkowo może być również trudne zrozumienie podstawy kodu, nawet jeśli znasz język programowania, ale ból jest tego wart. Będziesz mieć niesamowitych ludzi, którzy pomogą Ci w tym procesie, którzy mogą poświęcić trochę czasu, aby Ci pomóc, jeśli „zmierzasz we właściwym kierunku i wiesz, co dokładnie robisz”.

Tak, udział w projektach open source wymaga solidnej wiedzy na temat przynajmniej jednego języka programowania na wypadek, gdybyś chciał wskoczyć, aby wnieść swój wkład w jego kod. Poza tym całkiem niezła umiejętność czytania i cierpliwość do przeczytania dokumentacji każdego projektu, zrozumienie jednego z wielu systemów kontroli wersji, czy to git, mercurial czy svn

O ile wiem, nie ma ” nic nie nazywa się „poprawnym” podejściem, czasami przychodzi wkład open source od poszczególnych osób, ponieważ używają określonego oprogramowania, a ich życie staje się łatwiejsze dzięki integracji jednej określonej funkcji z tym oprogramowaniem, więc integrują ją i wnoszą z powrotem do oryginalnego kodu podstawa, różni ludzie mają różne wymagania i dostosowują oprogramowanie do swoich potrzeb, niektórzy wnoszą swoje zmiany z nadzieją, że pomoże to komuś innemu, niektórzy wolą traktować to jako samodzielny, oddzielny projekt. Najlepszym sposobem na rozpoczęcie jest wybranie projektu i pasjonowanie się nim.

np.Przeglądarka Tor to projekt wywodzący się z Firefoksa, został dostosowany, aby zapewnić anonimowość i przekonwertowany na samodzielny projekt.

Cokolwiek wybierzesz, musi to być coś, czego używasz w jakiś sposób, w ten sposób wiesz co robisz i wiesz również, jak działa oprogramowanie, więc łatwiej jest skorelować działanie kodu z jego rzeczywistym działaniem.

Kilka sugestii z mojej strony, gdy wchodzisz do świat wkładu open source wyglądałby tak:

  1. Zacznij korzystać z systemów opartych na Linuksie / Uniksie.
  2. Trzymaj się terminala i ciesz się z pracy.
  3. Poznaj podstawy rzeczy z wiersza poleceń, takie jak, man, grep i dla każdego innego polecenia masz plik man. (man file = manual, jeśli chcesz wiedzieć, jak używać określonej komendy, powiedz grep, po prostu zrób `man grep`)
  4. Dobry edytor; vim v / s emacs wojna jest zawsze pomiędzy programistami, ale możesz też iść z Sublime Text / Notepad ++

Wkład w open source to niesamowite uczucie jako programista, ponieważ wiesz, że te małe linie kodu, które napiszesz, mają wpływ na życie milionów ludzi korzystających z oprogramowania.

Kolejną rzeczą, która pojawi się w tych czasach, są fanboye, podzielę się z tobą doświadczeniem jako współtwórca Mozilli, pytanie, z którym mierzymy się jako ewangeliści [2], to uparte osoby, które mówią „Używam Chrome! Nie lubię Firefoksa”

Super, nie mamy z tym absolutnie żadnego problemu. Tworzymy Firefoksa tylko dlatego, że uwielbiamy, a głównym celem tutaj nie jest to, której przeglądarki naprawdę używasz. Nie spodobałoby nam się, gdybyś używał Firefoksa, ale głównym celem jest posiadanie otwartej sieci.

Sieć, która jest bezpłatna, otwarta, bezpieczna, prywatna, a przede wszystkim jest nasza.

Nie mogę się doczekać spotkania ze społecznością Mozilli.

[1] Co mogę zrobić dla Mozilli [2] Grupa zadaniowa / ewangelizacja

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *