O co chodzi z tym Ubuntu? — cz.2. Historia Centrum Oprogramowania i nie tylko...
15.11.2015 22:17
Centrum Oprogramowania Ubuntu to z założenia przyjazny użytkownikowi menedżer oprogramowania. Ubuntu jako że bazuje na Debianie od samego początku swojego istnienia wykorzystuje pakiety DEB. Oprócz USC istnieje także bardzo popularny menedżer pakietów Synaptic oraz oczywiście konsolowy apt‑get. Synaptic jest wygodnym i szybkim narzędziem ale nie dla każdego, wymaga względnej wiedzy o tym co chcemy zainstalować a lista pakietów jest wyświetlana w mało przyjazny użytkownikowi sposób. Przez co dla przeciętnego użytkownika desktopa lepszy jest prostszy menedżer jak Centrum Oprogramowania Ubuntu właśnie :)
Centrum Oprogramowania Ubuntu po raz pierwszy zostało udostępnione w październiku 2009 r. wraz z Ubuntu 9.10. Pierwotnie miało się nazywać Ubuntu Software Store (Sklep Oprogramowania Ubuntu) jednak początkowa nie umożliwiało zakupu płatnych aplikacji, ta możliwość została udostępniona dopiero rok później w Ubuntu 10.10. COU rozwijało się intensywnie przez kolejny rok by wraz z Ubuntu 11.10 osiągnąć zestaw podstawowych funkcji jakie centrum oprogramowania powinno posiadać.
Najważniejsze funkcjonalności jakie posiada COU od wersji udostępnionej w Ubuntu 11.10
- zakup płatnych aplikacji
- grupowanie programów w podkategorie
- oceny i recenzje użytkowników
- domyślne sortowanie według oceny i ilości recenzji
- instalacja programów z pakietów DEB (np. pobranych ze strony wydawcy)
- integracja z środowiskiem Unity
- wsparcie dla PPA
Centrum Oprogramowania Ubuntu z powyższym kompletem funkcjonalności można porównać do Google Play czy Mac AppStore. Od lutego 2012r. sklep z oprogramowaniem udostępnia też Microsoft pod nazwą Windows Store. Na obecną chwilę obecność jakiegoś rodzaju centrum oprogramowania w systemie jest więc standardem.
Udostępnianie oprogramowania
W Centrum Oprogramowania Ubuntu rejestracja dewelopera i udostępnienie aplikacji są całkowicie darmowe. W USC można udostępniać wolne oprogramowanie na licencjach GNU GPL, BSD, Apache i innych; lub darmowe ale własnościowe aplikacje oraz płatne komercyjne programy. W przypadku tych ostatnich, udostępnienie również jest darmowe – Canonical pobiera prowizję 20% od sprzedaży, a cena minimalna sprzedawanej aplikacji wynosi 2.99 USD.
Największą popularnością użytkowników cieszą się oczywiście darmowe, wolne programy. Wśród najpopularniejszych znajdziemy między innymi odtwarzacz multimedialny VLC, klient FTP FileZilla, edytor grafiki wektorowej Inkscape, Blender, Audacity czy grę Pingus. Poniżej aktualna lista Top 10.
Warto zauważyć, że na szczycie listy najpopularniejszych programów znalazły się takie narzędzia jak edytor partycji GParted, minimalistyczne IDE Geany, menedżer pakietów Synaptic, program dla pasjonatów astronomii Stellarium. Może to świadczyć o tym wśród jakich użytkowników popularny jest Ubuntu.
Jak sprawa wygląda w przypadku płatnego oprogramowania?
Moim zdaniem tu jest znacznie gorzej, co prawda w COU znalazło się sporo płatnych narzędzi i gier i to dość nie drogich bo zwykle w cenie kilku dolarów, często 2,99 USD czyli minimalna dopuszczalna cena. Niestety jak widać na powyższej liście zwykle są to proste aplikacje narzędziowe czy nieskomplikowane gry. Bądźmy szczerzy – w większości przypadków lepsze lub porównywalne można znaleźć za darmo.
Co jest przyczyną braku obecności dużych płatnych projektów w COU?
Ubuntu było i jest nadal popularne głównie wśród wielbicieli OpenSource, którzy nie chcą płacić za programy i gry średniej jakości podczas gdy porównywalne lub lepsze są dostępne za darmo. Oczywiście wierzę, że wielu zapłaciło by za komercyjne aplikacje czy gry ale gdyby były warte zapłaty ;) Jeśli chodzi o gry... kilka konkretnych tytułów na linuxa znajdziemy na Steamie.
Skoro dobra platforma dystrybucji gier umożliwia skuteczne udostępnienie płatnej gry na GNU/Linux nie tylko Ubuntu (ba... Valve wydało przecież własną dystrybucję - SteamOS opartą na Debianie podobnie jak Ubuntu) to może po‑prostu nie ma konieczności udostępniania jej w innym centrum oprogramowania. Zwłaszcza, że Steam dostępny jest także dla Windows i Mac OS X (oczywiście produkt musi zostać skompilowany osobno dla każdego OS‑a), a więc za pośrednictwem jednej platformy wydawca dociera do użytkowników różnych systemów.
A co z profesjonalnym płatnym oprogramowaniem? Cóż wydawcy jak np. Adobe czy Autodesk po prostu wciąż nie tworzą profesjonalnego oprogramowania jak Photoshop czy 3D Studio Max na GNU/Linux i to raczej nie jest bezpośrednia wina COU ;)
Czy Canonical próbował zadbać o developerów? - Create your app „Quickly”.
W październiku 2010 roku Canonical wydał otwarty framework Quickly rozwijany na launchpadzie. Quickly to proste narzędzie obsługiwane z poziomu terminala. Framework napisany jest w Pythonie i jest przeznaczony do tworzenia aplikacji okienkowych GTK (wykorzystuje bibliotekę PyGTK). Quickly posiada klika podstawowych narzędzi pomocnych w tworzeni projektu, pozwala stworzyć aplikacje z szablonu.
Podstawowe komendy Quickly:
- create <szablon><nazwa> (np. create ubuntu-application foo –stworzy nową aplikację foo)
- edit – bez niespodzianki, otworzy kod programu w pythonie w domyślnym edytorze
- design – również bez niespodzianki – otworzy projekt okienek w edytorze Glade
- run – uruchomi skrypt (to python, więc nie wymaga kompilacji)
- package – utworzy paczkę instalacyjną .deb dla projektu
Po utworzeniu projektu z szablonu „ubuntu-application” otrzymamy przykładowe okno programu z menu, logiem Ubuntu i paskiem statusu oraz dwa dialogi – preferencji i informacji o programie z przygotowanym szablonem do wprowadzenie treści licencji oraz listy autorów projektu. Zainteresowanych odsyłam do tutoriala Jono Bacon'a
Narzędzie wystarczyło Mi do stworzenie stworzenia prostych programów narzędziowych jak kalkulator BMI czy kalkulator zużycia energii elektrycznej.
BMI Calculator stworzony w Quickly obsługuje dwa systemy jednostek (metryczne oraz imperialne), został udostępniony w trzech językach (angielski, polski oraz rosyjski).
Aplikacja zaliczyła kilkaset pobrań i średnią ocen ok. 4,5/5. (GUI programów zaprojektowała użytkowniczka forum gimpuj.info).
O ile Quickly okazał się wystarczający do prostych darmowych aplikacji narzędziowych, to moim zdaniem jest stanowczo zbyt mało funkcjonalny na potrzeby większych projektów. Z pomocą przychodzi Ubuntu SDK.
Ubuntu Software Development Kit
Ubuntu SDK jest udostępniane jako już gotowe IDE bazujące na na QT Creatorze (ale po co wynajdować koło od nowa ;) ) Ubuntu SDK IDE to już pełnoprawne środowisko umożliwiające sprawne zarządzanie projektami – ogólnie dziedziczy wszystko co dobre z QT Creatora. IDE posiada wsparcie dla QML i umożliwia tworzenie webaplikacji HTML5. Ubuntu SDK w założeniu ma umożliwiać tworzenie aplikacji multiplatformowych – działających zarówno na Ubuntu w wersji Desktopowej jak i Ubuntu Touch czy Ubuntu TV. IDE umożliwia budowanie pakietów nowych standardach – click i snappy. Środowisko jest zintegrowane z emulatorem i umożliwia zarządzanie wirtualnymi maszynami z Ubuntu.
OK, wyglądało obiecująco... Ubuntu SDK celuje w nowe standardy by umożliwić programistom tworzenie aplikacji na Ubuntu niezależnych od platformy sprzętowej. I tu pojawia się problem, Canonical pochłonięty rozwojem Ubuntu Touch zaprzestał aktualizacji pakietów DEB w Centrum Oprogramowania, w zasadzie nikogo nie uprzedzając o tym! Swoje oburzenie wyraził polski programista, założyciel portalu ubuntupolska.pl, w lipcu 2015r. w liście otwartym do Marka Shuttleworth'a i reszty zespołu list na Google Plus. Michał Rosiak poskarżył się przede wszystkim na to, że jego klienci którzy zakupili wcześniej płatne aplikacje nie mogli ich zainstalować w nowym wydaniu Ubuntu.
Mało tego Canonical zapowiedział usunięcie Centrum Oprogramowania w Ubuntu 16.04 LTS, gdzie zastąpi je Gnome Software. Właściwie wybór centrum oprogramowania od Gnome nie jest zaskakujący biorąc pod uwagę, że Unity opiera się na Gnome. Ponadto Gnome Software nie jest przecież przeznaczone dla konkretnej dystrybucji i zapewnia wsparcie nie tylko dla DEB ale też RPM, więc z punktu widzenie wolnego oprogramowania to całkiem rozsądne posunięcie. A przecież te jest najpopularniejsze wśród użytkowników Ubuntu. Poza tym wielu użytkowników narzekało na powolność działania COU.
OK. Zamiast COU Canonical da użytkownikom Gnome Software, więc nie pozostaną bez przyjaznego centrum oprogramowania. Problemem jednak pozostaje zaskoczenie i rozczarowanie deweloperów oraz ich klientów, którzy nie liczyli się zupełnie z takim biegiem zdarzeń. A to nie pierwsza tego typu niespodzianka ze strony twórców systemu, wcześniej Canonical wycofał się z udostępniania użytkownikom dysku w chmurze Ubuntu One. Dalej nie wiadomo kiedy dostaniemy stabilny Unity 8 z serwerem wyświetlana Mir, który to właśnie ma umożliwić pełną niezależność aplikacji od platformy sprzętowej. Mało prawdopodobne by znalazły się domyślnie w Ubuntu 16.04 LTS, spodziewam się ich nie wcześniej niż w wydaniu 16.10 a więc rozwojowym a nie głównym, które kolejne pojawi się dopiero w kwietniu 2018r.
Nie wiadomo, pozostaje czekać...
I to jest chyba obecnie największy problem Ubuntu, twórcy starają się go mocno unowocześnić, rozwiązać problemy między innymi z zależnościami oraz inne niewygody związane z DEB (zgadzam się, że nie jest to najwygodniejsze rozwiązanie dla programistów). Canonical rozwija minimalistyczną wersję Ubuntu Core, która jest stworzona głównie z myślą o tworzeniu własnych wersji systemu przystosowanych do specyficznych potrzeb. Ubuntu Core działa także na zupełnie nowym systemie pakietów Snappy, który również ma rozwiązać problemy z zależnościami i znacznie podnieść bezpieczeństwo systemu poprzez izolowanie aplikacji.
Widać, że zespół Marka Shuttlewortha myśli przyszłościowo i dużo działa w kierunku rozwoju Ubuntu. Jednak twórcy często zmieniają zdanie, przekładają terminy, wycofują się z wcześniejszych założeń - przez co przyszłość Ubuntu jest niepewna. Obecne zamieszanie nie sprzyja na pewno deweloperom.