Tak podla toho, ako "skvelo" sa pouziva Unity a kam to cele smeruje, si uzivatelia Ubuntu viac nez jeden program ani velmi nebudu spustat... Asi je zbytocne snazit sa toto nejako pochopit, skor treba rychlo naskakat do clnov, kym este su... pretoze posledni budu kraulovat v studenej vode.
Otázka je, proč to tak dělat když ji můžu mít nahranou jednou? Já tak nějak chápu statický knihovny u her a vůbec u všech těhle closed-source věcí, ale nějak postrádam důvod mít v paměti několik stejnejch knihoven když prostě můžu mít jednu...
A už vůbec nechápu ty argumenty "vyřeší to problémy s novejma aplikaccema, systém bude díky tomuhle pořád up-to-date". Stejně bude někdo muset ty appky zabalit, stejně na tom někdo stráví spoustu času, tak proč ho prostě nestrávit u napackování do repa?
A co je na tom spatneho? Stahnes balicek co obsahuje vse. Spustis a jedes. Necekas mesice nez ti ji zaradi do repository. Je to mnohem lepsi pristup.
Kazda knihovna by mela mit svou verzi a hash. Pokud uz je takova knihovna s danou verzi a hashem nactena v pameti (jako readonly), neni problem ji nenacitat a pouzit uz tu nactenou.
Jak asi staticky zkompilovaný program bude počítat hash knihovny, u které už dávno neví, že je samostatnou knihovnou? A to bude při každém spuštění počítat hash? A jestli ne, kde ten hash získá? Kdo tohle bude dělat? Tohle je znovuobjevování kola. Dynamický linker tuhle činnost dělá myslím už teď lépe. Jde jenom o to, z jakého zdroje brát knihovny a jaké jim dávat priority. Jenže to zase je úkol pro správce balíků.
Jak má čekání na repository vliv na to, jak snadno se instaluje aplikace do systému? Potřebujete to řadit do oficiální repository? Na co? Udělejte svoje repository se svými knihovnami, jejichž jména nebudou v konfliktu se systémem. Nebo v tomto případě už raději mějte tam jenom jeden balík. Ten nainstalujte kliknutím myši.
Popravdě, po nějaké zkušenosti v komerční firmě, co nedělá open source, musím uznat chybu v postupu balíčků v Linuxu. Ten je sice moc pěkně zařízený na to, aby to někdo sesumíroval, nachystal a vydal jako jedno vydání. Potom ten samý člověk (či společnost) to updatoval.
Ale uzavřené firmy fungují jinak. Jednak na rozdíl od výrobce distributora oni neřeší jenom tu jednu distribuci. Zpravidla udělají více verzí pro všechny možné systémy. Nechce se jim řešit všelijaké drobnosti na konkrétní distribuci - není v možnostech normální firmy to testovat na všech trochu používaných distribucích. Oni chtějí prostě zkopilovat release, ten vydat, a tím to pro ně do dalšího releasu hasne. Což bohužel s dynamickými knihovnami není úplně jednoduché. Pro tyhle lidi možnost balíku linkovaného staticky se vším všudy dává smysl.
Podle mě ale v Ubuntu chtějí v podstatě obdobu APK. Jeden soubor = jedna aplikace. Což by se asi lépe vyřešilo, kdyby se potřebné knihovny přibalily do archivu (archiv by obsahoval jednotlivé .deb+ metainformace) a ten se distribuoval. Archiv by v podstatě byl jako jeden repozitář pro APK. Knihovny obsažené by měly nižší prioritu, kompatibilní knihovny by se mohly brát ze systému. Pouze to, co systém nemá, by se použilo z mega balíku. Prostě, přijde mi, že je potřeba zjednodušit vytváření normálního repository při minimu znalostí distribuce a nedělat tuhle habaďůru.