Open Source, czyli otwórz się na otwarte oprogramowanie

W branży programowania ekonomia współdzielenia działała doskonale już na długo przed wymyśleniem Ubera, czy AirBnB. I nadal działa.  Oprogramowanie open source to kod zaprojektowany tak, aby był dostępny dla wszystkich. Może go każdy zobaczyć, wdrożyć swoje rozwiązania lub udostępnić innym użytkownikom. Jest mnóstwo programów, które oferują podobną jakość, jak drogie, licencjonowane, od największych światowych firm, ale są oferowane na zasadzie produktów open source. Warto o nich pamiętać, rozważając zakup nowego programu do pracy

Open source – ten typ oprogramowania jest tworzony wspólnie przez wielu użytkowników, ale jest również zdecentralizowany, czyli nie jest niczyją własnością. Jest dostosowany do rzeczywistych potrzeb konsumenta oraz działa na wysokim poziomie często przez dłuższy czas, niż jego komercyjny odpowiednik, bo jest stale rozbudowywany przez społeczność programistów.

Zobacz również:

Termin open source pojawił się pod koniec lat 90. Został stworzony przez Open Source Initiative, która zdefiniowała, na czym ma polegać licencja open source. Organizacja ta, utworzona w 1988 r. jako odłam Free Software Foundation, jest z założenia niekomercyjna, ma na celu promowanie otwartych rozwiązań programistycznych.

Open Source Initiative uważa, że aby oprogramowanie mogło się masowo popularyzować, to największą jego zaletą powinna być jakość. Nie wystarczy, by rozwiązania były otwarte i dostępne dla wszystkich, muszą też przewyższyć komercyjną konkurencję.

Open source: kilka zasadOpen Source Initiative to Host Virtual State of the Source Summit, September 9-10 | LaptrinhX

Aby oprogramowanie Open source, było rzeczywiście otwartym oprogramowaniem musi spełniać 10 zasad narzuconych przez Open Source Initiative. Spośród nich wyróżnia się cztery najważniejsze:

Free redistribution – darmowe rozpowszechnianie kodu;

Source code (kod źródłowy) – każdy program musi zawierać kod źródłowy oraz zezwalać na jego ogólne udostępnianie, również w skompilowanej formie;

Derived works (pochodne kody) – licencja musi zezwalać na wszelkiego rodzaju modyfikacje albo wklejenie kodu pochodzącego z innych źródeł, czyli taki jakby copywriting, oczywiście jeżeli weźmiemy inny kod źródłowy i go zmodyfikujemy to również się liczy jako derived works;

Integrity of the Author’s source code  integralność kodu źródłowego autora. Oznacza to, że licencja ma prawo nakazać, aby kod źródłowy był dystrybuowany w oryginalnej wersji. To może się przydać np. w bezpieczeństwie rozwiązań technologicznych, wprowadzone przez jakąś przypadkową osobę zmiany mogłyby przecież wpłynąć na ich wiarygodność.

Czy jeżeli free to też… za free?

To, że oprogramowanie jest typu open source nie oznacza koniecznie, że jest dostępne za darmo. Niemniej jednak kod-źródło jest i zawsze będzie darmowy. O co w tym chodzi?

Każdy ma dostęp do kodu źródłowego i może go sobie dowolnie modyfikować, jednak aby przerobić ten kod w wersję „uruchamialną” wymagana jest od nas pewna znajomość tematu, duża ilość poświęconego czasu. Np. kiedy firma chce od dystrybutora dostać gotowy kod, który będzie od razu „uruchamialny”, bez konieczności rekonstruowania całego procesu, musi zapłacić pewną kwotę. Jeżeli jednak jesteście na tyle zdolni i uparci, żeby taką wersję odtworzyć samemu w domu – wtedy jest ona jak najbardziej darmowa.

Prywatne, wolne i open source

Oprogramowanie open source jest bardzo często mylone z ruchem wolnego oprogramowania (Free Software Movement). Kultura ruchu wolnego oprogramowania opiera się na aktywności piratów internetowych z lat 70, która została sformalizowana przez Richarda Stallmana poprzez projekt GNU i organizację Free Software Foundation.

Największą różnicą między oprogramowanie prywatnym, a oprogramowaniem typu open source lub wolnym oprogramowaniem jest dostępność ich kodu. Kod źródłowy przedsiębiorstw prywatnych, takich jak np. Microsoft Windows albo Adobe Photoshop nie jest dostępny dla odbiorców. Za to wolne oprogramowanie jak np. Linux, albo oprogramowanie open source, czyli np. Google Chromium, ma możliwość podejrzenia kodu źródłowego.

Czym jest Linux? | EuroLinux

Ponieważ Linux jest wolnym oprogramowaniem, to zarządzająca nim firma Red Hat upublicznia nie tylko swój kod źródłowy, ale również wszelkie naniesione modyfikacje. Natomiast Google Chromium, który nie jest wolnym oprogramowaniem, tylko oprogramowaniem typu open source, musi podać kod źródłowy, ale żadnych naniesionych zmian podawać nie musi.

Dlaczego open source jest ważny?

Tworzenie oprogramowanie open source ma ogromne znaczenie dla rozwoju technologii. Nie tylko dajemy szansę innym, aby mieli swój wkład w rozwój, update’owanie oprogramowania, ale również jest to szansa na wypuszczenie przez firmę pod swoim logo ulepszonego programu, za którego ulepszenie tak naprawdę nie trzeba nikomu płacić.

Wersja tworzona przez mnóstwo niezależnych od siebie osób będzie często bardziej „owocna” niż ta stworzona przez prywatną firmę. Teamy, które działają w ramach idei open source, zbierają się, by pracować tylko nad takimi projektami, do których mogą – nawet po zakończeniu pracy nad stworzeniem programu – wdrażać własne zmiany i ulepszenia.

Dzięki tej metodzie powstało całkiem sporo fajnych programów, w tym sławna „Lampa”. Mam na myśli LAMP, czyli Linux, Apache, MySQL lub PHP. Oprócz tego w ten sposób stworzono takie programy jak np. Mozilla Firefox, Git albo LibreOffice. Oprócz wyżej wymienionych rozwiązania wdrożone przez takie zespoły możemy zobaczyć dzisiaj w dziedzinach takich jak cloud computing i big data.

Proste jak CyberPunk 2077, ale open source

Firma Clockwork zaczynała jako startup finansowany na Kickstarterze (duży serwis do finansowania społecznościowego, tzw. crowdfundingu). Okazało się, że ich open source’owy sposób rozwijania technologii pozwolił im na zebranie większych pieniędzy, niż mieli w planach (i to aż sześć razy więcej) i otworzenie prawdziwego sklepu z produktami open source.

Najpierw pojawił się GameShell. Całkiem fajna konsola, wyglądem przypominająca starego Game Boy’a – i takie też jest jej założenie. Umożliwia ona powrót do starych gier w bardziej nowoczesny sposób. Konsolę wyróżniają w szczególności trzy rzeczy: musimy ją złożyć samodzielnie wraz z instrukcją typu IKEA, ma wbudowany system operacyjny Linux oraz pozwala nam zagrać w tysiące gier pochodzących z Atari, GB, GBA, NES czy SNES.DevTerm_fig01.png

Drugie dzieło – DevTerm – również jest zmaterializowanym produktem open source. Tym razem Clockwork, zainspirowany designem już dawno zapomnianych maszyn do pisania, stworzył przenośny mini komputer-terminal dedykowany specjalnie kodowaniu w trybie open source. Nawet stara rolka znalazła swój zamiennik i firma dorzuca modułową drukarkę termiczną – tę, która na co dzień służy do drukowania paragonów. Firma, w ramach filozofii otwartej licencji, publikuje wszystkie plany części, jak również plany elektroniki. Dzięki temu społeczność sama może poprawić swoją wersję poprzez ulepszanie baterii czy pamięci.

Czy Open Source w A.I to kolejny big leap?

GitHub - Synerise/cleora: Cleora AI is a general-purpose model for efficient, scalable learning of stable and inductive entity embeddings for heterogeneous relational data.

Polska firma Synerise tworząca rozwiązania dla m.in. Microsoftu, Żabki lub Ikei również bierze udział w rozwoju open source. A nawet idzie o krok dalej. Niedawno udostępniła projekt A.I Cleora na licencji otwartej. Prezes Synerise Jarosław Królewski podkreśla, że takie rozwiązanie pomoże rozwinąć się technologicznie nie tylko branży IT. Cleora jest narzędziem służącym do przewidywania relacji social media lub tworzenia systemów rekomendacji.

Algorytm Cleora jest rozwiązaniem bardzo innowacyjnym. Według Synerise jest ponad 150 razy szybszy od DeepWalk’a i osiem razy szybszy od PyTorch-BigGraph, czyli algorytmu Facebooka. Publikacja rozwiązania dostępnego dla wszystkich wiąże się z tym, że każdy może wykorzystać algorytm Cleora do własnych celów, może ulepszyć algorytm lub dopasować go do swoich potrzeb.

Dlaczego polska firma udostępniła kod źródłowy rozwiązania, które bije na głowę amerykańskie rozwiązania podobnego typu? Ponieważ – jak twierdzi Jarosław Królewski – taki ruch przyczyni się przede wszystkim do postępu naukowego.

Przyłączysz się do zabawy?

Kontrybuowanie do otwartych rozwiązań staje się coraz bardziej popularne. Większość modyfikacji oprogramowania tego typu jest przeprowadzanych na platformie Github. Każdy może tam założyć darmowe konto, przeglądać kody i prosić autora o wprowadzenie zmian. Każda dodana zmiana może małymi krokami doprowadzić nas do postępu naukowego. I nie tylko.  Podobno nadchodzą czasy, w których każdy powinien mieć w swoim CV znajomość co najmniej jednego – choćby prostego –  języka programowania. Może czas się połączyć przyjemne z pożytecznym?

Subscribe
Powiadom o
guest
2 komentarzy
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Dariusz
Dariusz
12 dni temu

Apashe

Marcin Ledworowski
Editor
9 dni temu
Reply to  Dariusz

dzieki – skorygowane

Najnowsze wpisy naszych autorów Wszyscy autorzy
Przyszłość jest tutaj

Podaj swój adres email i odbieraj najświeższe informacje o nowych technologiach i nie tylko.

email-iconfacebooktwitteryoutubelinkedin instagram whatsup