Joskus GNU/Linuxin heikkouksia funtsatessa on tullut mietittyä mitä muuttaisi ja miten jos olisi taitoa, resursseja ja aikaa luoda kokonaan uusi järjestelmä vanhan pohjalta.
Törmäsin aivan äskettäin taas uuteen käyttöjärjestelmätulokkaaseen, nimittäin Syllableen (http://syllable.sourceforge.net muistaakseni), kyseessä on siis muokattu AtheOS. Valitettavasti ei kuitenkaan täysin POSIX-yhteensopiva mutta eipä tuo näytä menoa haittaavan.
Mietitäänpä hetkinen Linux-maailman heikkoja puolia:
- dependency hell
- X:lle sata miljoonaa widget setiä (miten tuo suomentuu?)
- yhtä monta paketointimenetelmää
- ei diktaattoria (kaksiteräinen miekka)
Vanhan pohjalta rakentaminen taas siksi, että pyörää ei kannata keksiä uudestaan, varsinkaan näillä lisensseillä.
Esimerkiksi jo yhdistelmästä Linux XFree86 cups saisi aivan saatanasti valmista ajurikoodia joten laitetukikaan ei olisi ongelma.
Ensinnäkin varmaan tekisin täysiverisen työpöytäkäyttiksen (eli naittaisin XFree86:n ja kernelin keskenään), joskin säilyttäen silti mahdollisuuden käyttää myös tekstimoodia.
Työpöytänä toimisi varmaan forkattu Fvwm2 (koska se on nopea ja hyvin muunneltavissa) tai sitten tuleva Xfce4 (koska se on gtk-pohjainen) eli ikkunamanageria ei voisi vaihtaa.
Tietysti hieman rajoittava valinta, mutta mielestäni yhtenäisyyden takia melko olennainen.
Niin ikään kirjastoja ei tarvitsisi/voisi asennella erikseen, vaan gif, jpg, png, tiff, mpg sun muut kirjastot ja tuet tulisivat suurin osa käyttiksen mukana ja näitä ohjelmat myös käyttäisivät, oli se sitten hyvä tai huono juttu.
Tämä helpottaisi jonkin verran ns. dependency helliä (itselleni aiheutti akuuttia hajoamista kun Mandraken kanssa päivitin libpng:n saadakseni yhden ohjelman asentumaan mutta siitä se soppa sitten syntyikin kun toinen oli käännetty vanhempaa versiota vasten).
Graafiset ohjelmat olisivat sataprosenttisesti gtk -pohjaisia. Tämä siksi että
- ohjelmilla olisi yhtenäinen ulkoasu (käyttiksen mukana tietty tulisi oma apuohjelma teemojen vaihtamiseksi ja kattavat ohjeet uusien tekemiseen)
- kyseessä on myös osa dependency hell -ongelman ratkaisua, itseäni ainakin vituttaa kun pitää välillä olla Xaw3d-, Qt-, Motif- ja ties mitä kirjastoa koneella.
Luonnollisesti paketointimenetelmiäkin olisi vain se yksi ja ainoa oikea, ohjelmat asennettavissa ja poistettavissa oman valinnan mukaan joko tekstipohjaisella tai graafisella apuohjelmalla.
Luonnollisesti käyttis olisi hitusen bloatimpi kuin GNU/Linux koska graafinen ympäristö seuraisi kiinteästi mukana, mutta työpöydällehän tuo olisikin tarkoitettu eikä palvelimeen.
Paitsi tietysti jos käyttiksen jakaisi kahteen osaan eli peruskäyttis (palvelimiin ja niille jotka syystä tai toisesta haluavat käyttää vain tekstimoodia) graafinen puoli (eli käytännössä XFree86 the-one-and-only-työpöytä).
Linux XFree86-pohjaisena ei softan määräkään olisi oikeastaan ongelma eikä mikään, moni softa kääntyisi (lähes) sellaisenaan (ainakin ncursesiin ja gtk :aan pohjautuvat), loput vaatisivat sitten enemmän tai vähemmän puukottamista.
Ehkä jokin tuommoinen systeemi olisi se mitä kaivataan.
Tai ehkä se on vain hullun houreita eikä minulla ole mitään käsitystä asioista saati sitten varaa avata päätäni.
Törmäsin aivan äskettäin taas uuteen käyttöjärjestelmätulokkaaseen, nimittäin Syllableen (http://syllable.sourceforge.net muistaakseni), kyseessä on siis muokattu AtheOS. Valitettavasti ei kuitenkaan täysin POSIX-yhteensopiva mutta eipä tuo näytä menoa haittaavan.
Mietitäänpä hetkinen Linux-maailman heikkoja puolia:
- dependency hell
- X:lle sata miljoonaa widget setiä (miten tuo suomentuu?)
- yhtä monta paketointimenetelmää
- ei diktaattoria (kaksiteräinen miekka)
Vanhan pohjalta rakentaminen taas siksi, että pyörää ei kannata keksiä uudestaan, varsinkaan näillä lisensseillä.
Esimerkiksi jo yhdistelmästä Linux XFree86 cups saisi aivan saatanasti valmista ajurikoodia joten laitetukikaan ei olisi ongelma.
Ensinnäkin varmaan tekisin täysiverisen työpöytäkäyttiksen (eli naittaisin XFree86:n ja kernelin keskenään), joskin säilyttäen silti mahdollisuuden käyttää myös tekstimoodia.
Työpöytänä toimisi varmaan forkattu Fvwm2 (koska se on nopea ja hyvin muunneltavissa) tai sitten tuleva Xfce4 (koska se on gtk-pohjainen) eli ikkunamanageria ei voisi vaihtaa.
Tietysti hieman rajoittava valinta, mutta mielestäni yhtenäisyyden takia melko olennainen.
Niin ikään kirjastoja ei tarvitsisi/voisi asennella erikseen, vaan gif, jpg, png, tiff, mpg sun muut kirjastot ja tuet tulisivat suurin osa käyttiksen mukana ja näitä ohjelmat myös käyttäisivät, oli se sitten hyvä tai huono juttu.
Tämä helpottaisi jonkin verran ns. dependency helliä (itselleni aiheutti akuuttia hajoamista kun Mandraken kanssa päivitin libpng:n saadakseni yhden ohjelman asentumaan mutta siitä se soppa sitten syntyikin kun toinen oli käännetty vanhempaa versiota vasten).
Graafiset ohjelmat olisivat sataprosenttisesti gtk -pohjaisia. Tämä siksi että
- ohjelmilla olisi yhtenäinen ulkoasu (käyttiksen mukana tietty tulisi oma apuohjelma teemojen vaihtamiseksi ja kattavat ohjeet uusien tekemiseen)
- kyseessä on myös osa dependency hell -ongelman ratkaisua, itseäni ainakin vituttaa kun pitää välillä olla Xaw3d-, Qt-, Motif- ja ties mitä kirjastoa koneella.
Luonnollisesti paketointimenetelmiäkin olisi vain se yksi ja ainoa oikea, ohjelmat asennettavissa ja poistettavissa oman valinnan mukaan joko tekstipohjaisella tai graafisella apuohjelmalla.
Luonnollisesti käyttis olisi hitusen bloatimpi kuin GNU/Linux koska graafinen ympäristö seuraisi kiinteästi mukana, mutta työpöydällehän tuo olisikin tarkoitettu eikä palvelimeen.
Paitsi tietysti jos käyttiksen jakaisi kahteen osaan eli peruskäyttis (palvelimiin ja niille jotka syystä tai toisesta haluavat käyttää vain tekstimoodia) graafinen puoli (eli käytännössä XFree86 the-one-and-only-työpöytä).
Linux XFree86-pohjaisena ei softan määräkään olisi oikeastaan ongelma eikä mikään, moni softa kääntyisi (lähes) sellaisenaan (ainakin ncursesiin ja gtk :aan pohjautuvat), loput vaatisivat sitten enemmän tai vähemmän puukottamista.
Ehkä jokin tuommoinen systeemi olisi se mitä kaivataan.
Tai ehkä se on vain hullun houreita eikä minulla ole mitään käsitystä asioista saati sitten varaa avata päätäni.
Vastaukset 9
Vanhimmat
ite tykkään linuxista just sen takia, että siinä on vaihtoehtoja. ja kaipa sitä on ihan hauska näprätä noita asetuksia jne. koska en oikeen jaksa pelata mitään pelejäkään...
mutta tuo dependency-juttu on aika ärsyttävää, varsinkin aloittelijalle.
Dependenssiongelmat ovat distribuutioiden luoma ongelma, ei kernelin. Sama juttu paketointiongelmien kanssa. Nämä ongelmat pitää ratkaista kyseisen distribuution tekijän toimesta, ei kernelin kehittäjien.
Graafisen puolen liittäminen kerneliin on erittäin huono idea, vrt. toinen mainstream käyttis. Mitä graafisuudella tekee esim. sulautetuissa järjestelmissä ? Samoin eri versiot pöytäkoneisiin ja palvelimiin, ei ei ei. Miksi ylläpitää montaa eri versiota, jos samaa kerneliä voi käyttää molemmissa ? Entä jos joskus tulee XFree86:ta parempi systeemi, suunnittelet ja toteutat muutokset kerneliin kokonaan tyhjästä ?
Ikkunamanagerin ja widgettisetin pakottaminen, sama juttu. Jos en todellakaan pidä managerista X, mutta henkilö Y pitää siitä, niin miten ongelma ratkaistaan ? Aina häviää, vähintään toinen ?
Jos kirjastoja ei voi asentaa myöhemmin tai päivittää niitä, niin samalla voit sanoa hyvästit kehitykselle. Entä jos asennettu kirjasto on buginen, yrität vain sietää tilannetta ? Megalomaanisen huono idea.
Määrittele yksikäsitteisesti "yksi ja ainoa oikea paketointimenetelmä".
Yleisesti siis: pidetään kerneliin ja user spaceen tulevan kaman erot selvinä. Ei tahallista bloattausta, vaikka se helpottaisi hetkellisesti, homma pamahtaa käsiin viimeistään seuraavan suuremman muutoksen aikana. Minimoidaan riippuvuudet monen käsitteellisesti eri asian välillä.
>>Dependenssiongelmat ovat distribuutioiden luoma ongelma, ei kernelin. Sama juttu paketointiongelmien kanssa. Nämä ongelmat pitää ratkaista kyseisen distribuution tekijän toimesta, ei kernelin kehittäjien.>>
Kylläkyllä, puhuinkin nyt hieman yleistäen Linuxista eli merkityksessä distro, lähinnä siksi kun ihmisille tuottaa toisinaan vaikeuksia käsittää että Linux on pelkkä kerneli.
Kun on 200 distroa eri tarkoituksiin niin se tuottaa väkisinkin joitakin pikku ongelmia.
>>Graafisen puolen liittäminen kerneliin on erittäin huono idea, vrt. toinen mainstream käyttis.>>
Ei välttämättä jos tavoitteena on nimenomaan työpöytä.
Ja tämä ei sentään olisi mikään DOS:n päälle pykätty ylikankea viritys joka pitää asentaa uudestaan aina kun joku tuntematon ohjelma x, jolla on valta tehdä mitä vain, raiskaa koko kuppaisen järjestelmärekisterin puhki.
>>Mitä graafisuudella tekee esim. sulautetuissa järjestelmissä?>>
Kuka sanoi että tuotos olisi tarkoitettu sulautettuihin?
>>Samoin eri versiot pöytäkoneisiin ja palvelimiin, ei ei ei.>>
Ei, vaan yksi versio vain.
Mutta ehkä (aivan, ehkä) mahdollisuus kuitenkin olla asentamatta graafista puolta eli pitää se omana pakettinaan, palvelimet kun eivät sillä oikein mitään tee.
>>Miksi ylläpitää montaa eri versiota, jos samaa kerneliä voi käyttää molemmissa?>>
Vain yksi versio, ymmärrä lukemasi. Kyseessä on Linuxista eriytynyt käyttis.
>>Entä jos joskus tulee XFree86:ta parempi systeemi, suunnittelet ja toteutat muutokset kerneliin kokonaan tyhjästä?>>
Kuka sanoi että minä teen mitään? Tässä oli ideana että käytetään XFree86:n koodia uudessa järjestelmässä (eli lähinnä pöllitään ajurikoodi) eli kyseessä on ihan eri juttu eikä se minun häntääni paljon heilauta vaikka joku toinen keksisi mitä.
>>Ikkunamanagerin ja widgettisetin pakottaminen, sama juttu. Jos en todellakaan pidä managerista X, mutta henkilö Y pitää siitä, niin miten ongelma ratkaistaan? Aina häviää, vähintään toinen?>>
Ehkä, mutta ideana olikin tehdä Linuxin pohjalta täysin uusi työpöytäkäyttis jossa olisi yhtenäinen linja, yhtenäinen API, yhtenäiset namiskuukkelit, yhtenäinen kaikki.
Jos joku ei tykkää niin sitten ko. henkilö voi minun puolestani vaikka vetää itsensä jojoon.
>>Jos kirjastoja ei voi asentaa myöhemmin tai päivittää niitä, niin samalla voit sanoa hyvästit kehitykselle.>>
Kirjastot tulevat käyttiksen mukana, kehitystiimi päivittää.
>>Entä jos asennettu kirjasto on buginen, yrität vain sietää tilannetta?>>
Ei vaan sitten kirjasto korjataan ja pistetään patchi liikenteeseen.
>>Megalomaanisen huono idea.>>
Ehkä.
>>Määrittele yksikäsitteisesti "yksi ja ainoa oikea paketointimenetelmä".>>
Diktaattorin toimittama.
>>Yleisesti siis: pidetään kerneliin ja user spaceen tulevan kaman erot selvinä. Ei tahallista bloattausta, vaikka se helpottaisi hetkellisesti, homma pamahtaa käsiin viimeistään seuraavan suuremman muutoksen aikana. Minimoidaan riippuvuudet monen käsitteellisesti eri asian välillä.>>
Ilmeisesti en nyt ilmaissut itseäni hirveän selkeästi. En ajatellut mitään yet another Linux-distroa vaan lainatun (lue: nyysityn) koodin pohjalta tehtyä täysin uutta graafista työpöytäkäyttistä jossa voisi ajaa enemmän tai vähemmän suoraan paitsi (lähes) kaikkia tekstimoodin softia, myös kaikkia gtk-softia.
Ja ideanahan tässä oli se, että
- on yhtenäinen linja ja ulkonäkö eikä kaikki koostu n 1:n tekijän tilkkutäkistä
- dependency hell ratkaistaan siten että järjestelmän mukana tulevat kaikki tarvittavat mediakirjastot joita ohjelmat käyttävät (eli kaikki Linux-ohjelmat eivät tietenkään toimi mutta se nyt taas on minulle yksi vitun hailee).
Joko valkeni?
Aika kattavasti sinulle jo tuossa yllä kerrottiinkin, miten väärässä olet. :)
Ohjelmistotuotannossa yksi perusajatus on, että ohjelmat ovat modulaarisia - koostuvat mahdollisimman itsenäisesti toimivista osista. Tällöin on mahdollista rakentaa oikein toimivia ja ylläpidettäviä järjestelmiä, kun ei ole ongelmaa, että "kaikki vaikuttaa kaikkeen". Suomeksi: on mahdollista tehdä muutoksia ja parannuksia ilman, että joutuu kirjoittamaan koko systeemiä uudestaan.
Väittäisin, että Linuxin leviämistä on auttanut vapaus valita jokaiseen tarpeeseen paras vaihtoehto kattavasta valikoimasta työkaluja, kirjastoja jne. Viet koko ajatukselta pohjan pois, jos lyöt nämä asiat lukkoon. Joku ikkunamanageri, paketointisysteemi tai käyttöliittymäkirjasto voi olla paras juuri sinun tarpeisiisi, ehkä muutaman muunkin, mutta joka tapauksessa on niitä, joille pakolla valitut palat eivät sovi optimaalisesti.
Ja 'dependency hell' on ihan paketointijärjestelmän lapsellisuutta. Itse en ole Debianin kanssa moiseen törmännyt. :)
>Ja 'dependency hell' on ihan paketointijärjestelmän
>lapsellisuutta. Itse en ole Debianin kanssa moiseen
>törmännyt. :)
Tuo ei ole ollenkaan paketointisysteemin vika, vaan se on suoraan seurausta siitä modulaarisuudesta.
Ainoa vaihtoehto välttää riippuvuushelvetti on levittää staattisesti linkattuja softia tai sitten jakaa softan mukana jaettuja kirjastoja. Kumpikaan näistä vaihtoehdoista ei ole ollenkaan järkevä.
Ja mitä rpm:än tulee, niin täytyy muistaa että se on lsb:n standardi ohjelmapaketeille. Olisi vain hyvä asia, mikäli myös Debian ja muut alkaisivat noudattaa sitä.
http://www.linuxbase.org/spec/gLSB/gLSB/swinstall.html
Riippuvuuksien automaattiseen hallintaan jokaisessa nykyaikaisessa distrossa on sitten myös omat työkalunsa.
Taisin termistöä hieman sotkea. Edellisessä viestissäni sana 'paketointijärjestelmä' tulee ymmärtää laajassa merkityksessä: itse paketinhallinta ja sen asennustyökalut.
Mutta mitähän tuo sinun 'riippuvuushelvetti' mahtaa tarkoittaa? Tottakai ohjelma voi olla riippuvainen jaetusta kirjastosta, mutta ei siitä mitään 'helvettiä' seuraa, mikäli paketinhallinta (edelleen laaja merkitys) osaa "konepellin alla" pitää huolen näistä riippuvuuksista. Ei ole (ainakaan minusta) huono asia, että ohjelmaa asennettaessa joutuu asentamaan vaadittavia kirjastoja. Se on modulaarisuuden mukanaan tuoma välttämättömyys, kuten mainitsitkin, joka ei hyvin suunniteltujen työkalujen johdosta pitäisi näkyä käyttäjälle asti. One word: apt. :)
Erilaiset ongelmatilanteet, kuten sirkulaariset riippuvuussuhteet (mitä ihmettä tuo suomeksi onkaan?), jossa paketti A riippuu paketista B jostain tietystä versiosta _ja_ päinvastoin (tai sama muutaman muun paketin välityksellä) ovat asioita, joita minä kutsuisin nimellä 'dependency hell' ja jotka hyvien paketinhallintatyökalujen pitäisi myös pystyä selvittämään.
Summa summarum: 'dependency hell' (antamallani määritelmällä)_on_ paketointijärjestelmän (laaja merkitys :) lapsellisuutta.
Vaikkakin RPM on LSB:n standardi, ei mielestäni ole hyvä ajatus Debianilta vaihtaa paketointisysteemiään huonompaan. Linuxin vahvuus on ollut, kuten aiemmin jo sanoin, vaihtoehtojen olemassaolo. Kukaan ei sanele, mitä ikkunamanageria tai käyttöliittymäkirjastoa joudun käyttämään. Käytän itselleni sopivinta ja parasta. Samoin on paketinhallinan suhteen.
>Mutta mitähän tuo sinun 'riippuvuushelvetti' mahtaa
>tarkoittaa? Tottakai ohjelma voi olla riippuvainen
>jaetusta kirjastosta, mutta ei siitä mitään 'helvettiä'
>seuraa, mikäli paketinhallinta (edelleen laaja
>merkitys) osaa "konepellin alla" pitää huolen näistä
>riippuvuuksista.
Tarkoitan sillä sitä, mistä täällä valitetaan jatkuvasti -eli jokin rpm-paketti vaatii jotain muuta pakettia, joka taas vaatii lisää paketteja.
Tuollaista ei tosin enään pitäisi olla, sillä jokaisessa nykyaikaisessa distrossa on(pitäisi olla) työkalut riippuvuuksien automaattiseen hallintaan.
SuSE:ssa se on yast, Debiansissa apt, Mandrakessa urpmi ja RedHat:ssä mikälie. Muista pikkudisroista en sitten tiedä.
>Vaikkakin RPM on LSB:n standardi, ei mielestäni ole
>hyvä ajatus Debianilta vaihtaa
>paketointisysteemiään huonompaan. Linuxin vahvuus
>on ollut, kuten aiemmin jo sanoin, vaihtoehtojen
>olemassaolo. Kukaan ei sanele, mitä
>ikkunamanageria tai käyttöliittymäkirjastoa joudun
>käyttämään. Käytän itselleni sopivinta ja parasta.
>Samoin on paketinhallinan suhteen.
RPM:ssä ei ole mitään vikaa dpkg:en verrattuna. Käyttäjillä olisi silti paljon vaihtoehtoja siihen, mitä työkaluja he käyttäisivät pakettien asennukseen/hallintaan.
Hyvä vertaus tähän on vaikka juuri tuo X.
Entäpä, jos olisi useampi keskenään epäyhteensopiva X-toteutus.
Jos haluaisit toisen ikkunamanagerin, niin joutuisit vaihtamaan myös alla pyörivän X:n.
X:llä tarkoitin siis rpm:ä/dpkg:tä muita ja ikkunamanagerilla pakettien asennus/hallintatyökaluja.
Standardit eivät ole ollenkaan huono asia, vaan loppujen lopuksi niistä hyötyy jokainen.
...
Pisteviestisi syvempää filosofista tarkoitusta sen enempää tajuamatta huomautan kuitenkin vielä että kysehän oli ihan vain silkasta maallikon spekulaatiosta, kuvaamani kaltaisessa järjestelmässä ei jonkinmoinen siivu (lue: kaikki X:n ei-gtk-ohjelmat ja kummallisia kirjastoja käyttävät tekstimoodin ohjelmat) OSS-ohjelmistakaan edes toimisi ilman suhteellisen radikaalia puukotusta.
Teidän ikioma Varjo-setänne, alkoholin vaikutuksen alaisena.