5 powodów, dla których warto angażować się w społeczność open source

5 powodów, dla których warto angażować się w społeczność open source

Czy wiesz, że byliśmy organizatorami pierwszego w Polsce międzynarodowego codesprintu TYPO3?

Open Source jest ważną częścią pracy w Macopedii. Nie tylko korzystamy z otwartego oprogramowania tworząc systemy dla klientów, ale również sami jesteśmy współtwórcami takich rozwiązań.

W open source angażujemy się na różne sposoby - piszemy kod, tworzymy testy i dokumentację, publikujemy wytworzone przez nas moduły i produkty, opracowujemy RFC, weryfikujemy bugi, jesteśmy sponsorami inicjatyw, organizujemy codesprinty (tu możesz zobaczyć relację z hackatonu VueStorefront w naszym HQ).

Członkowie naszego zespołu zrealizowali już ponad 100 projektów, tworząc tysiące rozwiązań w różnych językach (głównie JS, PHP, Python), a także technologiach Magento (Adobe commerce), TYPO3 CMS, Odoo ERP, Akeneo, Symfony i OpenMage i wielu innych.

Aktywność w społeczności open source jest dla nas bardzo istotna - traktujemy ją jako element niepisanej umowy między osobami zrzeszonymi wokół wolnego oprogramowania. Wymaga ona zaangażowania we współtworzone rozwiązania w zamian za możliwość korzystania z utworzonych wspólnie projektów. Jaką wartość przynosi deweloperom praca przy otwartych rozwiązaniach?


Praca nad Wolnym Oprogramowaniem pozwala mi nieustannie uczyć się i poszerzać horyzonty. Daje nową perspektywę patrzenia na kod, różną od tej, z którą spotykam się na co dzień - z innej strony, poprzez potrzeby innych programistów, wymagania innych projektów.  Kocham wspólnie budować, bo widzę, jak każde dołożenie choć małej cegiełki pozwala na zbudowanie kolejnych niesamowitych rzeczy. Wspólna praca z innymi deweloperami daje mi dużo frajdy i satysfakcji. - Tomek, TYPO3 Deweloper

Wymiana dobrych praktyk - doświadczenie od najlepszych

Osoby będące zaangażowane w open source mają wyjątkową możliwość pracy z osobami z różnych stron świata, które na co dzień pracują w wielu różnych organizacjach. Tak duża różnorodność kontrybutorów projektów umożliwia wymianę dobrych praktyk. Współdziałanie z innymi osobami daje możliwość nieustannego poszerzania wiedzy i rozwoju, dzięki konfrontowaniu swojego doświadczenia z innymi profesjonalistami. O tym, jakie możliwości rozwoju oferuje programistom open source, a także skupiona wokół niego społeczność opowiada nasz CEO, Tomek Grzemski, w podcaście Idee Warte Poznania.

Asynchroniczna komunikacja - poszerzanie kompetencji

Pracując w rozproszonym zespole, który zwykle pracuje asynchronicznie, ogromnie ważne jest utrzymanie jasnej, klarownej komunikacji. Współtworząc oprogramowanie deweloperzy dyskutują zespołowo, wspólnie szukają najlepszych rozwiązań i podejmują decyzje o kierunkach rozwoju tworzonego oprogramowania. Dodatkowo, w takiej projektowej społeczności nie występują hierarchiczne zależności, które w niejednej organizacji stają się blokerem w komunikacji wewnątrz firm. Fakt ten sprawia, że jest to unikatowe środowisko by rozwijać swoje kompetencje komunikacyjne.


W open source najbardziej podoba mi się możliwość rozwijania produktu, który sami potem wdrażamy. Cenne jest dla mnie proponowanie własnych rozwiązań, które są kompleksową odpowiedzią na problemy danego oprogramowania, również na tematy związane z bezpieczeństwem, tak ważne dla wolnego oprogramowania. Satysfakcjonująca jest dla mnie świadomość, że cała społeczność nie tylko korzysta z wdrożonych przez mnie rozwiązań, ale również, że chce je dalej udoskonalać. Zwłaszcza, że są to rozwiązania problemów często bardziej skomplikowanych niż te, z którymi mierzę się w codziennej pracy. Dzięki temu mam nieograniczone możliwości rozwoju, który jest dodatkowo wspierany przez współpracę z ekspertami z całego świata, którzy zawsze są chętni, aby udzielić feedbacku czy zrobić code review. Bycie współtwórcą open source jest dla mnie świetną programistyczną przygodą! - Łukasz, Lead TYPO3 Developer

Dzielenie się wiedzą - korzyść dla dwóch stron

Samodzielne poznawanie nowych technologii bywa trudne i żmudne. Praca w projektach open source daje możliwość poszerzania swojej wiedzy podczas pracy przy realnych, często złożonych projektach. Dodatkowo, praca w zespole umożliwia uczenie się od innych, bardziej doświadczonych w danym obszarze osób. Niejednokrotnie owocuje to także nawiązaniem osobistych relacji z najlepszymi specjalistami w branży. Jest to proces ważny dla dwóch stron - zarówno osoby zdobywającej wiedzę, jak i dzielącej się nią, która wchodząc w rolę mentora zdobywa kompetencje liderskie.

Atmosfera sprzyjająca rozwojowi - wzajemne zaufanie i szacunek

Tworzenie projektów otwartego oprogramowania, praca ze specjalistami z różnych stron świata, daje inspirację do rozwoju. Współpraca z osobami o większym, bardziej rozległym doświadczeniu, zachęca do dorównania im swoimi kompetencjami. Jest to możliwe dzięki wspierającej społeczności. W zróżnicowanych zespołach, których spoiwem jest wspólne zaangażowanie, zamiłowanie i pasja, panuje zwykle atmosfera wzajemnego szacunku i zaufania. Taki klimat daje przestrzeń do wzbudzenia wewnętrznej motywacji, która jest najlepszym impulsem do osobistego rozwoju. 

Sięgając w przeszłość, projekty open sourcowe były tymi, z których miałem okazję wiele się nauczyć. Pamiętam "Fusion CMS", który w dawnych czasach bardzo mi się podobał i pracując z nim wiele rzeczy się uczyłem. Później, na bazie tej wiedzy w ramach pracy inżynierskiej napisałem własnym CMS, który był bardzo ciekawy i miał kilka niestandardowych rozwiązań - przynajmniej jak na tamte czasy.

Później miałem okazję korzystać z wielu innych aplikacji open source i cały czas poznawałem nowe rozwiązania, poszerzałem swoją wiedzę, a przede wszystkim poznałem sporo osób, które angażowały się w takiej projekty i chętnie służyły wsparciem oraz wymianą wiedzy i doświadczeń.

To jest chyba jedna z najlepszych stron uczestnictwa w projektach open source - poznaje się masę ciekawych ludzi, z którymi można porozmawiać nie tylko o tematach technicznych, ale również zwykłych, codziennych, życiowych :)

Dużo radości sprawia mi również to, że koncepcje czy propozycje moich zmian często trafiają do projektu open source i następnie mogą z nich korzystać inni użytkownicy. Dużo pozytywnej energii daje taki feedback. Zaangażowanie się w projekty open source pozwala też dać coś od siebie - nie tylko czerpać z dobrodziejstw open source, ale dać coś w zamian.

Praca w przy projektach open source daje sporo swobody i często takiego oderwania się od codziennej pracy, jeżeli nie jest ona z takimi projektami związana. - Marcin, TYPO3 Developer

Kultura open source: transparentność, czysty kod, code review

Twórcy zaangażowani w open source tworzą własną społeczność, której podstawą jest transparentność. W praktyce oznacz to otwarty dostęp do kodu i dokumentacji. Umożliwia to nie tylko możliwość zapoznania się z kodem żródłowym ale także bezpośrednia naukę na jego podstawie. Transparencja przejawia się też w dążeniu do pisania czystego kodu i wzajemnego feedbackowania. Zaangażowanie w tworzenie otwartego oprogramowania jest idealną okazją do ćwiczenia code review - zarówno przyjmowania, jak i dawania szerej i za razem profesjonalnej informacji zwrotnej.  

Poznaj nasze rozwiązania, które opublikowaliśmy opensourcowo, np. inicjatywę TYPO3PWA, Nuxt-Typo3 i sprawdź naszego githuba. Zobacz, jak realizujemy program mentoringowy w Macopedii. Jeśli chcesz pracować z nami nad otwartym oprogramowaniem - sprawdź stronę kariera i dołącz do jednego z naszych zespołów!               

Chcesz samodzielnie wejść do świata otwartego oprogramowania? 

Oto 5 naszych wskazówek:
1. Poszukaj osoby lub osób, które współtworzyły już jakiś projekt open source i chciałyby podzielić się swoim doświadczeniem. Jeśli nie znasz osobiście takiej osoby - dołącz do społeczności, która zajmuje się wybraną przez Ciebie technologią (np. poprzez slack, discord czy inny kanał komunikacji).

2.  Swoje zaangażowanie zacznij od drobnych aktywności, na przykład: poprawienie literówki czy dodania jednego zdania w dokumentacji. Takie działania będą niewielką zmianą w projekcie, ale dla Ciebie ogromnym osiągnięciem - Twoją pierwszą kontrybucją do współtworzonego oprogramowania! 

3. Zastanów się, jakie problemy napotykasz w swojej codziennej pracy przy użyciu danego systemu albo co było dla Ciebie niejasne w dokumentacji. Czy masz pomysł, jak możesz rozwiązać ten problem? Jeśli tak - spróbuj! Praca nad tym, co stanowi dla Ciebie trudność jest świetnym punktem wyjścia do większego zaangażowania. W końcu ten problem znasz najlepiej. 

4. Nie bój się pytać i prosić o feedback. Cała idea współtworzenia otwartego oprogramowania opiera się na wzajemnej pomocy, dzieleniu się informacją zwrotną i  transparentności. Pamiętaj, że wszyscy, nawet osoby najbardziej doświadczone w danej technologii, kiedyś zaczynały swoją przygodę z pisaniem otwartego kodu. 

5. Jeśli masz taką możliwość - dołącz do codesprintu czy hakatonu. Sprawdź, czy w ramach tego wydarzenia nie jest organizowana specjalna sesja dla osób, które w tego typu wydarzeniu biorą udział po raz pierwszy. W grupie zawsze raźniej!