Projekty open source i pierwsze doświadczenie

0

Gdzie mogę znaleźć projekty (Java) open source, do których mógłbym dołączyć i potem wpisać udział w nich do CV? W ogóle jak wygląda dołączenie do takiego projektu i praca w nim?

1

Są w ogóle projekty OS w Javie? Rozumiem, że python, albo c++, bo to języki nauki. Rozumiem, że haskelle, rusty, bo czasami nie ma w co grać w wolnym czasie i zamiast tego lepiej pokodzić. Ale OS + języki biznesowe? Niech nas ktoś oświeci.

0
dedicated napisał(a):

Są w ogóle projekty OS w Javie?

Oczywiście, że są. Na uczelniach. Na przykład AGH:
Open source JAVA implementation of the parallel multi-thread alternating direction isogeometric L2 projections solver for material science simulations

[współautor (wtedy 2017) jest obecnie doktorantem AGH]

3

Na GitHub bugi często mają labelkę "good first issue". Ustaw sobie ją w globalnej szukajce i język "Java".

Jak już znajdziesz sobie interesujący projekt i task to zrób forka, napraw problem i otwórz PR. Dalej to już dobrzy ludzie powinni Cię poinstruować czy coś dodać albo poprawić.

Dalej to już górki, rób kolejne issues, wgryzaj się w projekt i udzielaj się w dyskusjach. Najważniejszy jest początek, żeby zobaczyć czy projekt Cię interesuje i czy ludzie w projekcie są w porządku.

Edit: link https://github.com/search?l=Java&q=label%3A%22good+first+issue%22&type=Issues

3

Jeżeli masz 0 expa to obawiam się że mogą Ciebie przyjąć co najwyżej do pisania dokumentacji (a i tam znajomość angielskiego jest wymagana).

Jeżeli uważasz że już co nieco potrafisz to możesz wbić na jvm-poland i zapytać czy nie ma nic przypadkiem w jvm-bloggers do roboty (zazwyczaj jest).

Na poważny projekt open-sorce to nikt juniorów nie przyjmie, tam jest od cholery chętnych. Lepiej już napisać coś samemu i wystawić na GitHub'ie - choć prawdę mówiąć i tak nikt na to nie patrzy...

EDIT: Żeby nie było, nie chcę nikogo zniechęcać. Starałem się spojrzeć na sprawę jako realista. Jeżeli byłbym "maintainerem" to oczekuję że PR nie będzie odstawał zbytnio jakością od pozostałej części projektu. Inaczej będę tracił czas na review + iterację, a tego czasu mogę nie mieć za wiele. Na pewno warto spróbować kilka razy i wyrobić sobie własną opinię na ten temat.

0
0xmarcin napisał(a):

Jeżeli masz 0 expa to obawiam się że mogą Ciebie przyjąć

Jak projekt jest współtworzony przez ludzi z wydziału to spokojna głowa, przyjmą.
BTW, ludzie szukają daleko, a nie zainteresują się co mają u siebie. Jakby się zainteresowali to by się nie raz mocno dziwili.

*A ogólnie "junior z ulicy" - to pełna zgoda do wymowy wpisu @0xmarcin *

5

@0xmarcin: kontrybuowałem jako student do różnych projektów, jako senior też. Skala od jakiejś biblioteczki losowego kolesia do poziomu projektu Mozilli. Nikt się mnie nie pytał o referencje, po prostu otwierałem PR i zaczynała się konwersacja co z tym robimy. Chyba że masz na myśli płatne stanowiska, ale tutaj raczej nie o to chodzi.

2

Gdzie mogę znaleźć projekty (Java) open source, do których mógłbym dołączyć i potem wpisać udział w nich do CV?

Na githubie?

W ogóle jak wygląda dołączenie do takiego projektu i praca w nim?

Zwykle rozwijają je pasjonaci / użytkownicy a nie ludzie którzy chcą podkładkę do CV. Obawiam się że bez doświadczenia to raczej nie dasz rady nic sensownego zrobić, bo ogarnięcie dużego codebase nie jest takie proste.

0
Edelner napisał(a):

Gdzie mogę znaleźć projekty (Java) open source, do których mógłbym dołączyć i potem wpisać udział w nich do CV?

Jak Linuksa na desktopie używasz to cie one otaczają - poczynając od kernela, przez Glibc, po shell, Xorg, Wayland, Window Manager, gcc, pewnie większość stockowych paczek jest open source.

Edelner napisał(a):

W ogóle jak wygląda dołączenie do takiego projektu i praca w nim?

Nie ma żadnej formalnej ścieżki, tak samo jak w ogóle nie ma czegoś takiego jak "dołączanie". Żeby wnieść jakiś wkład do projektu to po pierwsze musisz wiedzieć jak działa on funkcjonalnie, używać jakiś czas i znaleźć w nim jakieś bugi (samemu lub usłyszeć o nich od innych userów), brakujące ficzery albo zacząć czytać kod i poprawić to co twoim zdaniem wygląda źle. Później po prostu wysyłasz patcha, w jaki sposób to zrobisz zależy od tego czego projekt używa - najczęściej trzeba zrobić fork na Githubie, Gitlabie etc. lub wysłać e-mail na mailing listę. Nie musisz nikogo pytać o zgodę na wysłanie patcha, nie musisz składać zobowiązania że po wysłaniu tego pierwszego patcha wyślesz kiedykolwiek kolejnego. Co innego jak zobowiązujesz się zostać maintainerem czegoś, choć to wszystko robione jest na gębę to wtedy już grasz swoją reputacją.

Piszę też z mojego doświadczenia bo wysłałem wiele patchy i bug reportów do różnych projektów open source. Nowa firma w której zaczynam pracę w poniedziałek nawet poprosiła mnie o wysłanie linków do niektórych kontrybucji, IMO nie przesądziło to o zatrudnieniu mnie ale widać byli zaciekawieni. Śmieszne jest to że jakość kodu open source jest często o wiele lepsza od produktów z zamkniętym kodem, a już zwłaszcza korpo in-house tooli. Open source to bardzo fajna przygoda.

1
dedicated napisał(a):

Są w ogóle projekty OS w Javie?

Co za pytanie xD. Prawie cały ekosystem Javy, to jest open-source. Większość najważniejszych projektów, na których bazują współczesne aplikacje komercyjne i niekomercyjne w Javie to rozwiązania open-source. Np. Spring, Kafka, Flink i wiele innych. Mnóstwo tego jest - od małych projekcików do rozbudowanych frameworków. Byłbym nawet skłonny zaryzykować stwierdzenie, że w Javie dziś już w zasadzie nie ma projektu, który by z żadnego open-sourca nie korzystał.

Gdzie mogę znaleźć projekty (Java) open source, do których mógłbym dołączyć

Na GitHubie. Możesz też stworzyć tam własny projekt. Sam przeglądałem kiedyś na repach na GitHubie, które mnie interesowały (m.in. były to projekty javowe z firmy Square) różne zadania w zakładce issues i jak stwierdziłem, że dam radę coś zrobić, to siadałem i próbowałem rozwiązać zadanie. Ludzie, którzy pracują nad tymi projektami z reguły chętnie odpisują, a nawet pomogą nakierować Cię na rozwiązanie i zrobią Ci code review.

1 użytkowników online, w tym zalogowanych: 0, gości: 1