Dlaczego deweloperzy używają Ubuntu?

Maciej Olanicki , 21.01.2019 r.
ubuntu1

Wojny linuksowo-windowsowo-macosowe na pulpitach trwają od dobrych dwudziestu lat i nic nie zapowiada, by – mimo swej wtórności – miały kiedykolwiek się zakończyć. Są jednak użytkownicy, dla których sytuacja prezentuje się zgoła inaczej, zaś udziały na przykład Linuksa czy systemów Apple są wśród nich znacznie większe niż w przypadku reszty scyfryzowanych. Mowa oczywiście o szeroko pojętych programistach.

System operacyjny dla dewelopera

Jakiś czas temu zastanawialiśmy się na łamach naszego bloga nad popularnością komputerów Apple wśród deweloperów. Typowaliśmy tam między innymi godną naśladowania jakość wykonania urządzeń, ich solidną konstrukcję, długi okres wsparcia oraz dużą liczbę dostępnych środowisk i narzędzi programistycznych. W takich rozważaniach można byłoby jednak przewrotnie wyjść od pytania – dlaczego nie macOS? Wbrew powszechnym opiniom, jeśli solidnie zorientować się w specyfikacji sprzętowej ultrabooków, to komputery z Windowsem wcale nie będą tańsze.

Podejmijmy tę myśl i zapytajmy – dlaczego nie Linux? Było Apple i macOS, czas na kolejną popularną wśród programistów platformę – Linuksa, ale z zawężeniem do Ubuntu. Co prawda trudno o jednoznaczne dane, które wskazałyby, że to Ubuntu jest najpopularniejsze wśród programistów, można jednak z dużą dozą pewności założyć, że rozwijany przez Canonical system operacyjny znajduje się w ścisłej czołówce systemów operacyjnych wykorzystywanych do produkcji oprogramowania. Ponadto, według opublikowanego przez Canonical w listopadzie zeszłego roku raportu, już nawet 60% chmur obliczeniowych wykorzystuje Ubuntu.

Dlaczego Ubuntu?

ubuntu3 Dell XPS13 Developer Edition – kierowany do programistów ultrabook z Ubuntu.
W tym samym raporcie przedstawiciele Canonicala wysuwają własne tezy odnośnie popularności Ubuntu. Część z nich jest niestety skrojona ściśle na potrzeby interesów korporacji. Nie sposób przecież z czystym sumienie stwierdzić, że ważnym czynnikiem jest tu metoda dystrybucji oprogramowania spoza repozytoriów – paczki snap. Po pierwsze, są one często bardzo duże. Po drugie, znacznie większym zainteresowaniem cieszy się flatpack. To właśnie o flatpacku z entuzjazmem wypowiadał się sam Linus Torvalds, mówiąc o tak pożądanej warstwie kompatybilności dla zróżnicowanych linuksowych dystrybucji.

1. Instalujesz, na czym chcesz

Nie sposób także oprzeć się wrażeniu, że w zdecydowanej części przypadków nie ma znaczenia portfolio urządzeń, na których Ubuntu preinstalowane jest przez producenta. Delle XPS sprzedawane w wariancie z Linuksem na pokładzie są świetnymi urządzeniami, niemniej nie jest to zaletą systemu operacyjnego. Wręcz przeciwnie. W przeciwieństwie na przykład do Chrome OS-a, ale także macOS-a, zaletą Ubuntu jest to, że nie musisz kupować nowego sprzętu, by korzystać z systemu. Czynnikiem decyzyjnym może więc tu być coraz częściej wykreślane z pamięci założenie, że sprzęt i oprogramowanie mogą być skutecznie dystrybuowane oddzielnie, a nie w ramach wzajemnych powiązań licencyjnych.

2. Popularność i wsparcie

Kolejną właściwością Ubuntu, która może zwracać uwagę deweloperów jest jego popularność, a raczej jej skutki. Według danych Canonicala z czwartego kwartału 2018 roku, Ubuntu jest najpopularniejszą linuksową dystrybucją oraz trzecim najpopularniejszym systemem operacyjnym na świecie. Chodzi o statystyki bez podziału na pulpity, serwery, więc dane te prezentują się wiarygodnie. Duża liczba użytkowników ma co najmniej jeden niezaprzeczalnie pozytywny rezultat – prężnie działające fora, działy pomocy i dokumentację, pozwalającą uporać się niemal z każdym problemem. Z pewnością deweloper decydujący się na korzystanie z Ubuntu nie musi się martwić o niską aktywność społeczności.

3. Uniwersalność i multiplatformowość

Najmocniejszym argumentem, jaki przemawia na rzecz Ubuntu może być jednak uniwersalność przy jednoczesnym zachowaniu jednolitości. Rzecz, którą od lat bezskutecznie próbuje osiągnąć Microsoft ze swoim Windowsem – ten sam system operacyjnym, współdzielący jądro i usługi systemowe, dostosowany powłoką do konkretnego zastosowania – od lat skutecznie realizuje Canonical z Ubuntu. Pulpit? Proszę bardzo. Serwery i chmura? Oczywiście, Ubuntu jest tu liderem. Internet Rzeczy i ograniczone pod względem specyfikacji płytki logiczne​? Jak najbardziej, jest przecież Ubuntu Core. Szkoda jedynie, że zabrakło rozwijanej dziś przez społeczność mobilnej wersji sytemu kierowanej na smartfony i tablety.

ubuntu2 Ilość dokumentacji kierowanej do deweloperów i liczba zastosowań robi wrażenie.

Z uniwersalnością idzie w parze kolejna bardzo ważna cecha – zgodność usług, pakietów i narzędzi administracyjnych. Tę samą paczkę można mniej więcej w ten sam sposób zainstalować na serwerze i na jednopłytkowcu. Dodajmy do tego ogromną popularność Ubuntu w kluczowych dla branży IT dziedzinach – konteneryzacji, wirtualizacji, a nawet w uczeniu maszynowym – i otrzymamy wizję kompletnego i uniwersalnego systemu operacyjnego z bardzo dobrym wsparciem producenta i społeczności, który zainstalować można bez większych obaw o naruszenie licencji w zasadzie na wszystkim.

A jeśli nie Ubuntu, to… ?

Naszym założeniem było rozważenie Ubuntu jako kandydata na główny system operacyjny dla programisty. Mowa zatem o konkretnej dystrybucji i jej właściwościach, a nie Linuksie w ogóle. Nie oznacza to jednak wcale, że Ubuntu musi być najlepszą dystrybucją dla dewelopera – Canonical czuje oddech zdrowej konkurencji na karku. I mowa tu nie tylko o oczywistej alternatywie – Debianie, Fedorze czy CentOS-ie.

Naszą uwagę zwróciła w ostatnim czasie ciekawa dystrybucja rozwijana przez system76 – Pop!_OS. W założeniach ma to być bazujący na Ubuntu LTS minimalistyczny systemik z GNOMEM i domyślnie włączonym pełnym szyfrowaniem, skrojony na potrzeby programistów. Nie omieszkamy skrupulatnie przetestować Pop!_OS-a, a wrażeniami wkrótce podzielimy się na blogu TeamQuest.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT: