( bviktor | 2013. 08. 07., sze – 12:41 )

Ezzel eleg jol elkanyarodtal. De ha mar ez feljott, a szoftverfejlesztoket a legkisebb mertekben sem tudom hibaztatni.

A Mac-et nem ismerem. De hogy nez ki a dolog Windows-on? Kell egy VC++ es/vagy a .Net redist, jellemzoen ennyi (sot, system CRT eseten meg ennyi sem). Ha valami plusz lib is kell (de ez eleg ritka, hatalmas tudasu a .Net), belepakolja a telepitobe a DLL-t. Es el van a dolog intezve, a telepitot kiadja, a user vegigkattintja, mukodik az osszes Windows-on, amit az adott redist tamogat, ami jellemzoen kurvanagy intervallum. Pl. a VC10 megy XP-tol 8.1-ig barmin, ami lenyegeben az osszes megjelent Windows az elmult 12 evben. De ha ez nem lenne eleg, meg a 8.1-ben is van Windows 95 compat mode, ami meglepoen sok esetben segit. Ez esetben pedig meg akar kitolhato a dolog majdnem 20(!) evre. Pl. nemreg jatszottam a Diablo 1-gyel, ami 17 eve jelent meg, 64 bites 8.1-en hibatlanul mukodik. Igen, ettol a kompatibilitasi mizeriatol nagyobb lesz a Windows merete, de ki a fenet erdekel parszaz plusz MB 2013-ban. Ennyit boven meger.

Hogy nez ki a dolog Linuxon? Ha nyilt a kod, akkor ugye ott lesz neki a distro es dependency hell, i.e. a tobb ezer disztron szallitott tobb tizezer libnek ki-nem-szamolom-hany millios nagysagrendu konfiguracios kombinacioi. Erre kitalaltak a fasza autotools-t (es 50 masik alternativajat), amit en mindennek neveznek, csak elvezetesnek nem. Irhatsz hozza tobbszaz/ezer soros scripteket, ami elvileg majd mindent faszan leellenoriz, de hogy meg szebb legyen a dolog, az autotools csillio moduljanak es altala hasznalt tooloknak is valtoznak az argumentumai ill. elternek a kulonbozo Unix valtozatokon, szoval meg azzal is szophatsz egy kort. Es termeszetesen ezek utan meg semmi sem garantalja, hogy maga a kod le is fog fordulni a libek adott verzioival (API change rulez), helyesen mukodni meg vegkepp nem. Lehetetlen ellenorizni mindenhol, ugyhogy majd a user leteszteli. Kb. Aki probalt valaha forrasbol GNOME-ot forditani, az nagyon jol tudja, mirol beszelek.

Ha zart a kod, akkor meg nagyobb szopas. A fentebb emlitett autotools-os szopas ugyanugy megvan (neki is le kell forditani valahogy), de utana meg linkelhet mindent statikusan a szallitott verzioba, amitol a program mondjuk tizszer akkora lesz, ami miatt a t. user majd nyavoghat, hogy huh, micsoda bloatware, ez nem Linuxhoz melto, pfuj. Vagy nem linkeli statikusan, hanem "bizik" benne, hogy a libek azok lesznek, mint amivel o letesztelte, illetve hogy nem lesz ABI change, de ez kb. kamikaze. Utana meg esetleg szophat egy esetleges glibc inkompatibilitassal, mar csak az ize kedveert. Utana csinalhat a telepitobol vagy 5 felet (ha nagyon visszafogott), a kulonbozo disztrok kornyezeteihez elokeszitve, azok valtozatos csomagformatumaiban, mert ugye mindenkinek jar sajat, muszaj ujra feltalalni a kereket. Ha mondjuk kiadja 32 es 64 biten is, akkor maris 10 csomagnal tartunk, vagy mondjuk vegyuk hozza az ARM-ot is, hoppa, mar 15. Ne csak a legutolso release-en fusson mar, hanem mondjuk az eggyel korabbin is, hat mar 30.

Hogy olyan esztelen hulyesegeket mar ne is emlitsek, hogy pl. bizonyos GNOME/GTK+ userek egesz egyszeruen nem hajlandoak KDE/Qt alkalmazasokat hasznalni (es vice versa).

Tehat ezek utan, amikor a 3rd party stuff ekkora szopas mind a fejlesztonek, mint a usernek, kerdem en, csodalkozunk azon, hogy nincsenek nagy szoftvertermekek Linuxon? De egyebkent az a durva, hogy meg ezek ellenere is sokan veszik a faradsagot, hogy annak a minimalis retegnek ekkora pluszmunkaval kiadjak a termeket. Lasd Steam (az mar mas kerdes, hogy annak pl. mi van a hattereben...). De a lenyeg, hogy a horrorba illo helyzet ellenere meg ugyan sok jatek es egyeb szoftver van Linuxra, szoval lassan kezdunk kifogyni ervekbol, hogy miert is nem terjed, leszamitva persze azt, hogy az emberek urambocsa' tenyleg nem akarjak hasznalni, es nem pedig az MS vagy az Apple tart pisztolyt a fejukhoz. De ilyet open source korokben kimondani legalabbis istenkaromlas, mert hat open source = Linux (legalabbis sokan idaig jutottak el az egyedfejlodesben), az ilyet gyulolni kell a sziv legmelyerol (lasd sj, btami, es par hasonlo szinvonalu vadparaszt).