Jakiś czas temu makową blogosferę rozgrzała informacja o ponoć przemyśliwanym przez jabłko sklepie z aplikacjami dla Mac OS X stworzonym na kształt sklepu App Store. Przetoczyła się przez blogosferę fala krytyki takiego pomysłu, posypały się zarzuty o zamykaniu platformy i bóg jeden raczy wiedzieć co jeszcze. Trochę zabawnie się to czytało w kontekście braku istnienia w ogóle takiego projektu (choć diabli wiedzą co tam w Cupertino kombinują), niemniej samemu pomysłowi warto się moim skromnym przyjrzeć. Dlaczego? Bo korzystam z tego na codzień i widzę, jak to działa w praktyce. Może nieco innej, niż związanej z pieniędzmi, zarabianiem i w ogóle, niemniej o praktykę chodzi. Ano, rozchodzi mi się o linuksowe repozytoria oprogramowania, z których dobrodziejstw od lat korzystają linuksiarze i które są jednym z największych plusów Linuksa jako systemu operacyjnego i z czego jabłko może czerpać garściami inspirację dla rozwinięcia własnego pomysłu.
Zacznijmy od spraw podstawowych: oprogramowanie dla OSX (czy też Windows) zdobywamy w inny sposób, niż dla telefonu komórkowego. Nie mamy jednego miejsca, z którego moglibyśmy ssać programy, w którym byłyby one opisane jak trzeba, w którym byłyby zrzuty ekranów, ceny itd. Źródeł oprogramowania jest tak wiele, jak deweloperów i są one bardzo rozproszone. Oczywiście istnieją różne serwisy w stylu VersionTracker, które jakoś w tym całym programowym buszu próbują nieco porządku wprowadzić ale umówmy się – są to rozwiązania niewystarczające, nie zawsze zrealizowane tak, jak być powinny no i problem podstawowy: nie są one dostarczone wraz z systemem, przeciętny Kowalski najprawdopodobniej na nie trafi a ten brak integracji z systemem może tylko namnożyć problemów dla owego przeciętnego Smitha.
Zupełnie inaczej wygląda to w takim na ten przykład Ubuntu. Tam firma Canonical dba o centralne repozytorium oprogramowania dla swojego systemu, dba o odpowiednie tego oprogramowania wzajemne współdziałanie (zachowanie zależności między pakietami) itd. Jasne, tam samo oprogramowanie jest inne (w większości OpenSource, co pozwala na wprowadzenie czasem niezbędnych modyfikacji) ale sama filozofia funkcjonowania systemu dystrybucji oprogramowania jest tym, co mnie tu interesuje. A więc Canonical dba, by oprogramowanie przez nich dostarczane nie było niebezpieczne (o to w sumie w większości dba sam ruch OpenSource, który dzięki otwartości kodu może ten sprawdzać na różne sposoby i problemy zgłaszać w wielu miejscach do tego przeznaczonych) i – co najważniejsze – by było stabilne w całym systemie składającym się na dystrybucję Linuksa. Użytkownik na swoje własne życzenie może do repozytoriów oferowanych przez dystrybutora dołączyć swoje, zawierające programy z różnych względów nie zawarte w repozytoriach Canonical (kwestie otwartości, patentowe, ograniczeń prawnych w różnych krajach itp.). Canonical więc z punktu widzenia użytkownika dba o swój system, dostarcza oprogramowanie (a gdzie i przez kogo jest ono tworzone to już inna historia), hostuje pakiety z programami na swoich serwerach (oczywiście dalekie to od prawdy ale tak to wygląda z punktu widzenia Kowalskiego) i oferuje w miarę łatwy sposób po nich się poruszania – jest od tego specjalny program. Słodko. Jest jeszcze słodziej – programiści nie muszą nikomu za możliwość kodowania płacić i generalnie rzecz biorąc stoi za nimi potężna infrastruktura stworzona na bazie darmowych i wolnych rozwiązań, która ułatwia im życie czy to jeśli o hosting kodu i źródeł chodzi, czy też promocję oprogramowania. Jednak tym wspólnym punktem, który ułatwia człowiekowi życie jest właśnie repozytorium, do którego oprogramowanie wpada.
Jak to wygląda aktualnie w App Store? Deweloper płaci roczną stawkę 99 papierów, za co ma fundowaną drogę przez mękę (ostatnio jakby nieco krócej trwającą ale zawsze to męka) w temacie przyjęcia aplikacji do sklepu (i sposobu jej kdowania) ale jeśli już ten moment nastąpi, może odetchnąć i skupić się na jej promocji. Apple bierze na siebie hosting i tak jak Canonical dba o to, by programy nie były niebezpieczne czy niespójne z systemem iPhone/iPoda touch/iPada. Under the hood dzieje się tam jeszcze sporo innych zapewne rzeczy ale nie chodzi mi o opisanie App Store a o to, co może jabłko z linuksowej rzeczywistości wziąć dla siebie by stworzyć dobre repozytorium dla oprogramowania dla OSX.
Jak widać Apple tworząc jeden sklep, do którego dostęp zapewniony jest przez oprogramowanie instalowane wraz z systemem (iTunes) na każdym komputerze, telefonie/iPodzie/iPadzie pierwszą część wdrażania ma za sobą – dostępność sklepu. Apple dba o to, by oprogramowanie zgłaszane przez programistów do sklepu było zawsze dostępne, by aktualizacje były wprowadzane jednocześnie na całym świecie i by ktoś używający danej aplikacji w Kalkucie mógł równie łatwo i szybko ją pobrać, co koleś w Poznaniu czy Cupertino. Canonical robi to samo propagując zmiany w swoim repozytorium na wszystkie serwery na całym świecie, które to repozytorium przechowują. A więc tu zasadniczo jest podobnie. Oczywiście istnieją podstawowe różnice z takiej to choćby racji, że Apple stworzyło sklep a nie same repozytoria oprogramowania i oferuje takie choćby odpłatności, niemniej co do zasady pliki krążą podobnie – firma dba o ich aktualizację na wszystkich serwerach na całym świecie.
Co prócz hostingu plików, dbania o różne ich wersje i tym podobne mogłoby oferować Apple? Przede wszystkim sklep z oprogramowaniem. Aktualnie by kupić soft, zazwyczaj musimy biegać po różnych stronach by go znaleźć. Gdy już znajdziemy odpowiadający nam program, musimy w jakimś systemie płatności go kupić. I w pomyśle na sklep nie ma nic rewolucyjnego – kupować można już teraz ale z tą drobną różnicą, że wymaga to nieco więcej wysiłku (bo np. bezpośrednio ze strony programu), niż kliknięcie w przycisk „Kup” (lub „Pobierz” jeśli program byłby darmowy) w jednym, posiadającym pełen katalog oprogramowania miejscu. Sukces AppStore dobitnie świadczy o tym, że użytkownicy po prostu lubią wygodnie wydawać pieniądze. Czemu nie miałoby to zaiskrzyć w formie desktopowej i dla programów desktopowych? Jeden spójny system płatności, pobierania i dbałości o oprogramowanie desktopowe – oj, to chciałbym zobaczyć na swoim OSX.
Co na taki kanał dystrybucji powiedzieliby deweloperzy? Nie wiem ale każdy dodatkowy (tym bardziej, że zintegrowany z systemem) kanał dystrybucji powinien ich zainteresować. Słowo-klucz to „dodatkowy”. Otóż Apple nie może zamykać oprogramowania dla OSX tylko do oferty swojego sklepu. Sklep powinien stanowić komplementarny kanał dystrybucji oprogramowania dla deweloperów, którzy chcieliby z niego skorzystać. Taki sklep mógłby mocno ożywić rynek oprogramowania dla OSX przez samą owego dostępność na odległość przysłowiowego kliknięcia myszką. Tak jak w Ubuntu łatwe jest zainstalowanie programu przez jego po prostu wybranie z listy dostępnego softu, tak łatwe powinno być zainstalowanie programu na OSX. Oczywiście zrobione by to musiało być Mac way – prosto, czytelnie, z sensownym interfejsem itd. Tu App Store może stanowić pewien wzór acz nie jest to twór idealny, o czym wiemy i my, użytkownicy, i sami deweloperzy.
A więc centralne repozytorium oprogramowania dla OSX stworzone przez Apple typowo Mac way i z dużymi ułatwieniami dla deweloperów… To chciałbym zobaczyć bardzo w kolejnej odsłonie systemu. Dlaczego? Bo to po prostu ogromne ułatwienie jest dla użytkownika. Instalacja i deinstalacja oprogramowania na dystrybucjach Linuksa korzystających z repozytoriów jest banalnie prosta. Dotarcie do programu dzięki wyszukiwaniu w takim np. Synapticu jest takoż banalne a dzięki dbałości firmy Canonical o pakiety dla swojej dystrybucji, Ubuntu jest stabilne i pracuje dobrze na większości komputerów. Chciałbym, by Apple coś w ten deseń wdrożyło, by certyfikowało oprogramowanie (dzięki temu miałbym pewność, że soft został przetestowany i nie powinien sprawiać problemów), by umożliwiało jego wygodne kupno a deweloperom jego wygodne dla użytkowników aktualizacje, by zadbało o hosting plików i ich dystrybucję. No i w końcu – by dało narzędzia do promocji oprogramowania w sklepie, do jego oceniania i komentowania… Jasne, to wszystko istnieje już w wielu serwisach i inicjatywach ale ich problemem podstawowym jest właśnie to, że jest ich wiele. Jednocześnie nie widzę opcji, by Apple zamykało OSX przed oprogramowaniem niecetyfikowanym i niedostępnym spoza ich sklepu. Wtedy osobiście poleciałbym do Cupertino i rzucił w Jobsa tym, co tylko by mi się pod rękę nawinęło.
Tak więc sam pomysł wydaje mi się ciekawy i jak najbardziej widzę potrzebę jego realizacji. Z zastrzeżeniem, że wszechobecna ostatnio w Apple mania do zamykania wszystkiego, co tylko się da zamknąć, nie miałaby tu miejsca. Mieć po prostu nie może bo to byłoby zabójstwo platformy. Tak więc wujku Stefanie – tym razem posłuchaj się, popatrz się jak robią to inni i sam się najlepiej przekonaj, jak wygodne może to być rozwiązanie dla użytkowników. A to dopiero początek bardzo wielu fajnych pomysłów, które oferuje ruch OpenSource…
Sklep z aplikacjami dla OSX? TAK! Oprogramowanie dla OSX dostępne tylko przez taki sklep? Stanowczo NIE! Teraz jabłuszko nie pozostaje nic innego, jak realizować :)