Äänestys

Onko linux (kernel) pelkkä ydin vai koko käyttis?

Linux (kernel) on käyttis eli monoliittinen ydin
Linux (kernel) on pelkkä ydin eli mikroydin

Kirjoittaja Aihe: Linuxin viilaamista  (Luettu 50092 kertaa)

henri_aleksi

  • Käyttäjä
  • Viestejä: 319
    • Profiili
Vs: Frin pilkun viilaamista
« Vastaus #120 : 08.11.10 - klo:23.20 »
Canonicalin aikaansaannoksia on kuvake-teema GNOME:lle. Pari teemaa GNOME:lle, libnotify (joka rikkoo käytettävyystutkimuksia ja yhteensopivuuksia muiden tekniikoiden ja sovellusten kanssa) sekä Bazaarin.
Kiitos viesteistäsi, olet selkeästi panostantu asiaan.

Haluaisin kuitenkin tietää miten libnotify rikkoo yhteensopivuuksia muiden tekniikoiden ja sovellusten kanssa? Se tuo uuden api:n joka sallii kehittäjillä mahdollisuuden lähettää notificationseja. Se ei tietenkään automaattisesti ala toimimaan kaikkien sovellusten kanssa, vaan sille pitää luoda tuki. Se puolestaan on ihan normaalia. Ja yhteensopivuuden rikkomisesta vielä, ymmärtääkseni sitä ei ole ollut olemassa vastaavaa linuxille aikaisemmin?

Mitä tulee käytettävyystutkimuksiin, itse ainakin tykkään libnotifystä loppukäyttäjänä mutta mielipiteitä on monia. Muistaakseni mac os x:n vastaava ei eroa paljoa tuosta, ei sillä että se olisi suoraan todiste käytettävyydestä ;)
"Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why."

raips

  • Käyttäjä
  • Viestejä: 76
    • Profiili
Vs: Frin pilkun viilaamista
« Vastaus #121 : 13.11.10 - klo:00.23 »
Haluaisin kuitenkin tietää miten libnotify rikkoo yhteensopivuuksia muiden tekniikoiden ja sovellusten kanssa? Se tuo uuden api:n joka sallii kehittäjillä mahdollisuuden lähettää notificationseja. Se ei tietenkään automaattisesti ala toimimaan kaikkien sovellusten kanssa, vaan sille pitää luoda tuki. Se puolestaan on ihan normaalia. Ja yhteensopivuuden rikkomisesta vielä, ymmärtääkseni sitä ei ole ollut olemassa vastaavaa linuxille aikaisemmin?

Niin eihän uusien rajapintojen (API/ABI) lisääminen ole (aina) yhteensopivuuksien rikkomista mutta kun ei haluta hyödyntää olemassa olevia ja vielä rikkoa yhteensopivuus niihin siten että käytettävyys kärsii niin se ei ole mikään hyvä asia. Etenkään kun passiivista ilmoitusjärjestelmää ei Canonical halunnut tehdä muun yhteisön kanssa (jälleen kerran) sovussa. Nimittäin Canonicalilla oli (jälleen kerran) oma ajatus miten ilmoitusjärjestelmän kuuluisi toimia ja käyttää (jälleen kerran) ns. määräävää markkina-asemaansa hyödykseen ajaakseen haluamiaan asioita eteenpäin, vaikka ne eivät ole kunnolla toimivia.

Libnotify ei liity mitenkään Linux-käyttöjärjestelmään vaan ainoastaan GNOME-työpöytäympäristöön. Gnomelle on ollut oma ilmoitusjärjestelmä mutta sehän ei ole ollut mitenkään hirveän kaunis (GNOME ei nyt ole muutenkaan koskaan ollut hirvittävän monipuolinen ja siten kauniiksi saatavissa ilman että käyttää kolmannen osapuolen lisäosia kuten Docky, Concky ym) mutta silti rajapinnat oli ja mahdollisti vaikka mitä. Ongelmana oli Canonicalin mielestä tämä toimintojen suoritus sieltä, eli esim jos saat ilmoituksen sähköpostista niin pystyit klikkaamaan sitä ja sait sen sähköpostiviestin esille.

GNOME yhteisö liittyi vuosia sitten Freedesktop.org järjestöön mihin myös KDE liittyi ja he päättivät ottaa yhdessä monia tekniikoita käyttöön KDE SC:stä (silloin kulki KDE nimellä) kuten D-BUS joka on lähes suoraan sellaisenaan (pienin paranteluin) KDE:n kehittämästä DCOP rajapinnasta. Sen avulla eri sovellukset pystyi kommunikoimaan keskenään ja välittämään tietoa (esim ilmoitukset ym suoraan eri ohjelmistoille kuten ilmoitusjärjestelmälle) sekä jopa tarjoamaan käyttäjälle mahdollisuuden hallita kaikkia KDE sovellusohjelmia suoraan komentoriviltä.

Lainaus
Mitä tulee käytettävyystutkimuksiin, itse ainakin tykkään libnotifystä loppukäyttäjänä mutta mielipiteitä on monia. Muistaakseni mac os x:n vastaava ei eroa paljoa tuosta, ei sillä että se olisi suoraan todiste käytettävyydestä ;)

Taidat viitata tuohon kuuluisaan haluttuun Mac OS X:lle tarkoitettuun ilmoitusjärjestelmään "Growl"
http://growl.info/about.php

Sitä nimittäin Canonicalin passiivinen ilmoitusjärjestelmä yrittää jäljitellä koska Canonical haluaa Mac OS X:n kaltaisuutta GNOME:lla Ubuntulle.

Ja onhan se nyt sellaista kivaa ajatella että saat nätin ilmoituksen, mutta sehän siinä juuri on ongelma.
Tehdään vaikka nyt mielikuvituksellinen tilanne että kirjoitat raporttia tietokoneella ja sinulla on pari tiedostomanageria auki missä on kuvat ja muut asiaan liittyvät tiedostot ja sitten pari asiakirja-ikkunaa ja esim kalvoesitys-ikkunakin auki.

Sitten saat ilmoituksen oikeaan yläkulmaan että olet saanut postia. Katsot ilmoitusta ja ajattelet "hei, kaveri pisti oman työnsä meilissä, mitäköhän se siinä sanoo" (esim ryhmätyö).
Aivan vaistomaista on että käyttäjä yrittää saada ilmoituksen kautta viestiä auki. Siitä ilmoitettiin ja se on luonnollinen tapa saada myös auki. Mutta sen sijaan että klikkaamalla sitä ilmoitusta saisit sähköpostin eteesi, se muuttuu läpinäkyväksi etkä voi tehdä mitään. (se muuttuu läpinäkyväksi jotta voit esim sulkea ikkunan sen takana).

Sen sijaan joudut menemään käynnistämään sähköpostiohjelman tai vaihtamaan siihen ja klikkaamaan sähköpostin sieltä auki.

Canonical väitteli käytettävyystutkijoita vastaan tästä, väittäen että se ei häiritse käyttäjää jos ilmoituksessa ei ole toimintoja mutta mukamas se häiritsee käyttäjän sen hetkistä työtä jos ilmoituksessa on toimintoja joita klikkaamalla käyttäjä voi saada esim kyseisen sähköpostin auki.

KDE:hen kuuluvat käytettävyystutkijat taas vielä suorittivat tästä aiheesta omat testit ja raportit. Niissä todettiin myös että käyttäjät odottavat että kun tulee ilmoitus niin sen kautta voi myös tehdä niille jotakin jos haluaa. Mutta ne myös odottavat että niitä ei ole pakko tehdä saadakseen sen ilmoituksen piiloon (esim 5 sekunnin ajastin että se katoaa tai klikkaa ihan minne muualle kuin toiminto-nappia jolloin se katoaa, joka on luonnollinen asia).

Käyttäjät ovat pitäneet paljon enemmän siitä että kun tulee ilmoitus sähköpostista kesken raportin lukemista, he voivat itse päättää lukevatko viestin nyt vai ei. Ja klikkaamalla ilmoitusta he saavat kyseisen sähköpostin auki. Tai jos on ilmoitus vaikka IRC tai pikaviestistä niin he saavat sen kautta kyseisen viestin tai kanavan auki ilman että joutuvat vaihtamaan itse ohjelmaa, etsimään sopivan kanavan/viestin tai jopa etsimään virtuaalityöpöydän missä ne ovat.

Canonicalin tekemä libnotify muistuttaa loogisuudeltaan toimintoa kuin kännykkä toimisi siten, että kun joku soittaa sinulle, saat ruudulle nimen ja numeron kuka soittaa, äänimerkki ja värinä hälyyttää. Mutta et voi vain painaa "vastaa" tai "hiljennä" tai "sulje" nappia. Vaan sinun täytyisi mennä osoitekirjaan, etsiä kyseinen henkilö ja valita sen kohdalta että vastaatko puheluun vai mitä teet.

Tai että kun saat tekstiviestin, niin sinulle ei tarjota mitään mahdollisuutta lukea viestiä suoraan ja sitten helposti vastata siihen. vaan joutuisit menemään tekstiviesti-valikkoon -> Saapuneet ja valita uusin ja lukea sieltä.

Siinä ei vain ole mitään järkeä että käyttäjälle ilmoitetaan toiminnosta joka mahdollisesti kaipaa toimia ja käyttäjä ei voi sitä suorittaa.
Canonicalin eräässä perustelussa läpiklikkauksesta (voit sulkea ikkunat ym takaa) oli että se on niin helppoa kun sitä tarvii. Mutta käytettävyystutkimuksissa todettiin että käyttäjät ymmärtävät että kun klikkaamalla ilmoitusta sen saa pois, he eivät kokeneet mitään ongelmaa sulkea tai hallita ikkunoita vaikka ilmoitus tuli juuri sillä hetkellä.
Puhumattakaan mm. Canonicalin ideasta että ilmoituksia ei ryhmitellä, eli jos tulee useampi ilmoitus peräkkäin, käyttäjä näkee vain uusimman. Jätä suuri määrä tiedostoja kopiotumaan ja mene pois hetkeksi, kun palaat takaisin niin et näe enää ilmoitusta että onnistuiko tiedostot vai ei kun ajastin on joko mennyt tai sitten jokin toinen ilmoitus on korvannut ilmoituksen kopioinnin edistymisestä.

Ja Canonicalin moni perustelu katosi myöhemmin kun vaihtoivat ikkunatoimintojen napit vasempaan reunaan (a la Mac OS X) missä ei ilmoitusjärjestelmää ole.

Mutta nyt tietenkin tällä hetkellä jokaiselle ohjelmalle joudutaan tekemään erikseen tuki tuohon Canonicalin ratkaisuun, aivan kuten Mac OS X:ssä joudutaan tekemään Growl:lle erikseen asetukset.
 
Tässä on esimerkki GNOME:n ilmoitusjärjestelmästä 2006. Sehän on vanhempi kuin mitä Canonical on mutta tässä siitä tehtiin nätimpi.
http://www.galago-project.org/images/screenshots/notification-daemon/0.3.4-standard-newstyle-1.png
Tuolloin ongelmana oli että alunperin se oli tarkoitettu viestintäohjelmiin (pikaviestin, sähköposti ym) ja se tulikin laajemmalti käyttöön myöhemmin. Oli riippumaton työpöydästä (mm. Mandriva käytti sitä myös KDE SC:n puolella) ja oli monella tapaa loistava.

Se mikä kaikissa ilmoitusjärjestelmissä on ongelmana, on saada käyttäjälle tiedotettua tärkeistä asioista, mutta olla kertomatta asioista jotka eivät merkitse juuri sillä hetkellä. Miten tietokone tietää että käyttäjälle täytyy ilmoittaa sähköpostista A mutta ei sähköpostista B? Tai koska että käyttäjän täytyy tietää nyt että tallennustila on loppumassa?

Ja sen ratkomiseen tarvitaan sitten Nepomuk kaltaisia semanttisia tekniikoita missä voidaan seurata käyttäjän tekemisiä ja havaita koska ja minä hetkenä on sopivaa käyttäjää häiritä ja millä tavoin. (esim elokuvan katsomisen aikana mitään muita ilmoituksia ei näytetä kuin hyvin kriittisiä, kuten kannettavan akku loppumassa parin minuutin päästä tai käyttäjä sai sähköpostin mihin täytyy vastata välittömästi).

Asiat voidaan tehdä niin yksinkertaisesti että ne eivät ole järin hyödyllisiä tai ollenkaan niin hyödyllisiä mitä ne voisivat olla. Mutta ne voivat olla nättejä ratkaisuja jotka toimii vähän sinne päin. Ja sehän on kysymys että kuka tarvitsee ns. älykkään ja asiat tuntevan palvelijan ja kuka taas papukaijan joka rääkyy jokaisesta asiasta kuin olisi tulipalo.

henri_aleksi

  • Käyttäjä
  • Viestejä: 319
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #122 : 13.11.10 - klo:21.03 »
Joo no tuntematta oikeasti missä tilanteessa canonical päätti tehdä uuden notifications-kirjaston (kerran sellainen näköjään oli olemassa on asian arvioiminen vaikeata. Ehkä kyseinen kirjasto ei toiminut ollut riittävän helppokäyttöinen/sallinut sellaisen graaffisen käyttöliittymän luontia kuin mitä canonical olisi halunnut. Jolloin oli ehkä parempi että he tekivät uuden uuden kuin tekisivät forkin tuosta ja rikkoisivat yhteensopivuuden vanhan kanssa.

Mitä tulee noista käytettävyysseikoista, luettuani kommenttisi olen samaa mieltä.
Tosin en kaipaa mitään filtteriä "hei katsot leffaa, sua ei varmaankaan kiinnosta tämä sähköpostiviesti", vaikka oikeasti olen saattanut pistää leffan pyörimään vain koska odotellessa k.o. viestiä sillä hetkellä ei ollut tärkeämpää tekemistä. Noita on vaikea saada luotettavasti toimimaan ja ainakin itse koen kykeneväni ignoraseen turhat notifikaatit.
"Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why."

Tommi S.

  • Käyttäjä
  • Viestejä: 240
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #123 : 14.11.10 - klo:13.04 »
Jos haluaa olla rehellinen ja kunnioittava koko avoimen lähdekoodin (etenkin Linuxin) yhteisöä kohtaan, niin silloin täytyy pyrkiä siihen että kaikki laiteajurit ja ohjelmistot tehdään Linuxille ja LSB-standardin mukaiseksi.

Miten tehdään laiteajuri LSB-standardin mukaiseksi, ja miten tehdään kaikki ohjelmistot Linuxille?

Laiteajurit tehdään seuraamalla LSB-standardia joka määrittelee mm. Linux-käyttöjärjestelmän versiot ja rajapinnat ja ennen kaikkea paketointitavan miten ohjelmistoja (kuten laiteajureita) jaetaan.

Ja täytyy nyt selventää että "ohjelmistot tehdään linuxille" tarkoittaa siis sitä kun tehdään ohjelmistoja linuxille, että ne oikeasti tehdään LSB-standardin mukaisesti jos ei haluta lähdekoodia avata ja lisenssoida siten että kuka tahansa saa ottaa lähdekoodin (, muokata sitä) ja kääntää siitä omalle Linuxin jakelupaketille paketit ja laittaa jakoon.

Elikkä siis ohjelmistoja ei tehdä linuxille (sille ytimelle), vaan ne tehdään jollekin sovellusten ja kirjastojen ja rajapintojen yhdistelmälle. Ja ajureita puolestaan ei tehdä tällaiselle yhdistelmälle, vaan ne tehdään pelkästään ytimelle.

Esimerkiksi tämän ketjun alussa oleva ohjelmisto on ns. mahdotonta saada mihinkään muuhun jakelupakettiin saataville kuin Ubuntulle koska a) lähdekoodia ei ole saatavilla b) ohjelmistoa ei ole tehty LSB-standardin mukaisesti.

Tuollaiset ohjelmistot luovat Ubuntua käyttäville käyttäjille ns. DRM:n kaltaisen rajoitteen että käyttäjä ei kykene vaihtamaan vapaasti käyttämäänsä jakelupakettia ...

Juuri tuollaista "DRM":n estoa vastaan on LSB kehitetty, että ei ole käyttäjälle merkitystä mitä jakelupakettia käyttää kunhan vain vaadittu LSB versio täyttyy.

Itseasiassa LSB on kehitetty siksi että ohjelmiston tekijälle olisi helppoa tehdä ohjelmisto joka toimii mahdollisimman monessa paikassa. Jos käyttäjien etu olisi kyseessä niin silloin ohjelmiston lähdekoodi olisi avattu. Itseasiassa LSB nimenomaan mahdollistaa DRM:n kaltaisten rajoitteiden toimimisen.

Ja jos kerran LSB on nimenomaan kehitetty helpottamaan ohjelmiston jakelijan työtä, niin miksi kukaan rupeaisi erikseen väkertämään vaikeamman kautta jotain erillistä Ubuntu-versiota? Ainoa järjellinen vastaus tähän tuntuu olevan että ohjelman muokkaaminen Ubuntulle on kuitenkin ollut se helpoin reitti. Ehkä Ubuntusta on löytynyt jotain uudempaa toiminnallisuutta joka ei ole LSB:n mukaista, tai ehkä Ubuntulle paketointi on ollut helpompaa tai paremmin dokumentoitua, tai ehkä Ubuntulla on ollut helpompi testata, kun on ollut valmis jakelu jonka voi asentaa. Ehkä kaikki nämä yhdessä, yhdistettynä käyttäjäkunnan kokoon ja koostumukseen?

Mikä muuten on se tämä ketjun alussa oleva ohjelma, itse en löytänyt viittausta mihinkään tiettyyn ohjelmaan?

Lainaus
Nimittäin se on kaikkien Linux käyttäjien oikeuksien riistämistä ja vapauden sortoa.

Ja nämä "Linux käyttäjät" ovat siis niitä ohjelmia jotka tekevät järjestelmäkutsuja?

Mitä sinä nyt oikein höpiset? Linux käyttäjä ei ole mikään ohjelmisto joka suorittaisi järjestelmäkutsun. Kai sinä nyt kykenet erottamaan ihmisen ja tietokoneohjelmiston toisistaan? Uskon että sinulta pääsi nyt sammakko suusta ajatussekoilun vuoksi.... vai uskonko väärin?

Eli kun minä nyt käytän GNOME-työpöytää, Firefox-selainta, Nautilus-tiedostoselainta, tai ylipäätään Ubuntua, niin minä olenkin "Linux käyttäjä"? Eikö Linux ollutkaan se palikka joka kommunikoi laitteiston kanssa, ja jota käytetään järjestelmäkutsujen välityksellä? Harvemmin sitä tulee suoraan tehtyä järjestelmäkutsuja, en edes tiedä onko mahdollista (vai meneekö muuten PS2-portista näppäimistön näppäilyt suoraan kernelille?)?

Kaikki kolme (Linux, GNU/Linux ja Ubuntu) eivät voi olla käyttöjärjestelmiä yhtä aikaa. Ne ovat kaikki toisensa pois sulkevia yhtälössään. 

Mutta se on nimenomaan Linux mikä ei voi olla käyttöjärjestelmä jos GNU/Linux ja Ubuntu ovat käyttöjärjestelmiä.

kuutio

  • Vieras
Vs: Linuxin viilaamista
« Vastaus #124 : 17.11.10 - klo:13.48 »
Eli kun minä nyt käytän GNOME-työpöytää, Firefox-selainta, Nautilus-tiedostoselainta, tai ylipäätään Ubuntua, niin minä olenkin "Linux käyttäjä"? Eikö Linux ollutkaan se palikka joka kommunikoi laitteiston kanssa, ja jota käytetään järjestelmäkutsujen välityksellä? Harvemmin sitä tulee suoraan tehtyä järjestelmäkutsuja, en edes tiedä onko mahdollista (vai meneekö muuten PS2-portista näppäimistön näppäilyt suoraan kernelille?)?
Nyt taitaa mennä vähän yleiskielen ilmaisut ja tekniset termit samaan koppaan. Yleiskielessä voidaan hyvin puhua "linux käyttäjästä", vaikka linuxin ja käyttäjän välissä olisi ohjelmistokerroksia tai vaikka näppäimistö. Aivan samaan tapaan voi yleiskielessä sanoa käyttävänsä intelin prosessoria tai nvidian näytönohjainta, vaikkei fyysisesti lukisikaan prosessorikantaa sormenpäillään.

Tällä yleiskielen "käyttämisellä" ei kuitenkaan ole mitään tekemistä käyttöjärjestelmän teknisen määritelmän kanssa.

Lainaus
Mutta se on nimenomaan Linux mikä ei voi olla käyttöjärjestelmä jos GNU/Linux ja Ubuntu ovat käyttöjärjestelmiä.
Millä perusteella Linux olisi jotenkin eri asemassa? GNU/Linux ja Ubuntu eivät myöskään voi olla yhtä aikaa käyttöjärjestelmiä täysin poissulkevassa yhtälössä.

Tommi S.

  • Käyttäjä
  • Viestejä: 240
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #125 : 17.11.10 - klo:21.26 »
Nyt taitaa mennä vähän yleiskielen ilmaisut ja tekniset termit samaan koppaan.

Niinpä. Nimimerkki raips aloitti torumalla muita siitä että termit menevät sekaisin, ja että sanat voivat tarkoittaa eri yhteyksissä eri asioita, ja että kun on tekniikasta kyse niin tekniikka määrittelee tarkasti mitä sanat tarkoittavat. Tämä aate jaksoi näköjään keskustelun kuudennelle sivulle saakka.

raips

  • Käyttäjä
  • Viestejä: 76
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #126 : 18.11.10 - klo:13.09 »
Niinpä. Nimimerkki raips aloitti torumalla muita siitä että termit menevät sekaisin, ja että sanat voivat tarkoittaa eri yhteyksissä eri asioita, ja että kun on tekniikasta kyse niin tekniikka määrittelee tarkasti mitä sanat tarkoittavat. Tämä aate jaksoi näköjään keskustelun kuudennelle sivulle saakka.

Viitsisitkö kertoa missä kohtaa minä tuollaista teen? Missä kohtaa minä väitän mm. että Linux on käyttöjärjestelmä tilanteessa A ja sitten se on mikrokerneli tilanteessa B?

Sinä nyt yrität väittää että tekniikan toiminta muuttuu silloin kun tietokonetta käyttää a) tavallinen ihminen b) käyttöjärjestelmä-ohjelmoija c) Canonical markkinoi Ubuntua.

Miten voi olla niin vaikeaa käsittää että Linuxin, GNU/Linuxin ja Ubuntun kutsuminen käyttöjärjestelmäksi eri tilanteissa ovat itsensä pois sulkevia lausekkeita?

Linux on käyttöjärjestelmä = GNU/Linux ei voi olla käyttöjärjestelmä
Linux on käyttöjärjestelmä = Ubuntu ei voi olla käyttöjärjestelmä
GNU/Linux on käyttöjärjestelmä = Linux ei voi olla käyttöjärjestelmä
GNU/Linux on käyttöjärjestelmä = Ubuntu ei voi olla käyttöjärjestelmä
Ubuntu on käyttöjärjestelmä = Linux ei voi olla käyttöjärjestelmä
Ubuntu on käyttöjärjestelmä = GNU/Linux ei voi olla käyttöjärjestelmä

GNU/Linux ja Ubuntu eivät voi olla yhtä aikaa käyttöjärjestelmiä
Linux ja GNU/Linux eivät voi olla yhtä aikaa käyttöjärjestelmiä
Linux ja Ubuntu eivät voi olla yhtä aikaa käyttöjärjestelmiä

Nyt sinä haluat sanoa että Linux muuttuu monoliittisesta kernelistä Ubuntussa tai GNU/Linuxissa tekniikaltaan mikrokerneliksi. Että Linuxin rakenne ja toiminnallisuus vaihtuu lennossa, ihan vain sillä että Linuxsta joko puhuu joku Pekka Peruskäyttäjä Ubuntu foorumilla tai että Linuxista puhuu professori käyttöjärjestelmäkursseilla.

Koska uskon että sinä et edes tuota ymmärrä miten ristiriitaisia väitteitä esität, niin tehdään nyt auto analogia kun tässä ketjussa jo muutenkin esitetty:

Linux = Moottori
GNU/Linux Moottori + renkaat
Ubuntu = Henkilöauto

Millä tavoin ja missä tilanteissa GNU/Linux tai Ubuntu muuttuu tekniikaltaan moottoriksi?
a) Silloin kun autosta puhuu Pekka Peruskäyttäjä?
b) Silloin kun autosta puhuu automekaanikko?
c) Silloin kun autosta puhuu GNU fani?
d) Silloin kun Canonical markkinoi Ubuntua?

Nyt sinä väität että tekninen termi joka on annetulle tekniikalle, joka perustuu siihen että miten tekniikka toimii, saa muuttua virallisesti sitä mukaan että kuka asiasta puhuu, vaikka tekniikka ei muutu millään tavoin!

Linux ei muutu mikrokerneliksi silloin kun Canonical kirjoittaa tiedotetta myydäkseen palvelujaan ja mainostaakseen.
Linux ei muutu mikrokerneliksi silloin kun sitä käytetään operoimaan GNU-projektin kehitystyökaluja
Linux ei muutu mikrokerneliksi silloin kun se operoi mitä tahansa muita ohjelmistoja ja laitteistoa.

Ubuntua ei voi ikinä kutsua käyttöjärjestelmäksi, ei millään tavoin paitsi jos ei halua olla hyvin epätarkka ja luoda vääriä mielikuvia.
GNU/Linuxia ei voi myöskään kutsua käyttöjärjestelmäksi, millään tavoin.
Linuxia voi kutsua joko monoliittiseksi kerneliksi tai käyttöjärjestelmäksi mutta ei koskaan käyttöjärjestelmän osaksi.

Nyt miten Canonical mainostaa Ubuntua on kuin tämä:


Lainaus


Tässä uudessa S70 moottorissa on aivan ällistyttävän loistava pito maantiehen, käyttäminen on mukavaa viimeistellyn nahkaverhoilun vuoksi ja lapsiperheiden pitkätkin matkat sujuvat leppoisasti niskatukiin asennetuilla DVD-soittimilla. Moottori on niin tilava (450l) että ongelmia ei tuota vaikka mukana olisi koko perheen matkalaukut ja lemmikkieläimetkin mahtuvat helposti mukaan!
Uuden S70 hybridi-moottorin avulla ajaminen ei ole koskaan ollut näin turvallista. Vakiovarusteisiin kuuluu TS-Airbag jotka suojelevat kuudesta suunnasta tulevia törmäyksiä vastaan. Moottorissa on jopa ainutlaatuinen toiminto jonka avulla jalankulkijoillekkin on varustettu oma AirBag. Peruuttaminen on tehty helpoksi uuden peruutustutka-lisätoiminnon avulla jolloin moottorin hallinta on entistäkin helpompaa!


Entistä tarkempien ja nopeammin reagoivien moottorin sytystulppien ansiosta tiellä liikkuminen ei ole koskaan ollut niin turvallista. Vakiona mukana tulevat vakionopeussäädin ja voimakkaat jarrulevyt yhdistettynä uudistettuun ABS-teknikkaan tekee moottorin hallinnasta todella helppoa ja turvallista vaikka liukkaalla soratiellä!

Kerro kuinka järkevältä tuo kuulostaisi:

a) Sellaisen henkilön mielestä joka ei tiedä autoista yhtään mitään
b) Sellaisen joka vain ajaa autoa mutta ei tiedä edes miltä konepellin alta näyttää
c) Automekaanikon
d) Insinöörin joka suunnittelee polttomoottoreita

Onko sinusta oikeutettua tai edes järkevää myydä Volvo S70 henkilöautoa tuolla tavalla eri ihmisille?

Ymmärrätkö että autojen kanssa on aina sellainen mukava pieni eroavaisuus että ne ovat fyysisiä teknisiä koneita. Kuka tahansa voi avata konepellin ja seurata johtoja, mekaanisia vipuja ja osia että miten ne toimii. Jopa sellaiset henkilöt jotka eivät edes ole koskaan vaihtaneet renkaita tai tiedä että miten lisätään ikkunanpesuainetta pissapoikaan oppivat kertaheitolla asiat. Jopa nekin ihmiset jotka eivät edes osaa tankata (kyllä, niitäkin löytyy hyvin paljon!) voidaan opettaa että miten homma toimii kun näytetään asiat.

Mutta tietokone-ohjelmistoissa tilanne on täysin erilainen. Ihmiset eivät näe sitä ohjelmistotekniikkaa miten ne toimii keskenään. Ihmiset eivät voi seurata jotain kaapelia tai vipua ja todeta "hei, tämä yhdistyy tähän mutta se ei olekkaan osa sitä".
Ihmiset uskovat siihen mitä he näkevät. Ja tietokoneen ruudulla näytetään grafiikkkaa joka on ihmisille täysin epäselvää miten ne toimii.

Graafisissa käyttöliittymissä yritetään jäljitellä fyysisiä käyttöliittymiä. Nappien muotoja, nappien painalluksia, erilaisia reunoja, värejä, muotoja jne.

Tavallisille käyttäjille se on täysin magiaa että kun ihminen liikuttaa tietokoneen hiirtä, ruudulla kursori liikkuu. kun käyttäjä painaa hiiren nappia ruudulla olevan napin päällä, se nappi painuu ruudulla kuin käyttäjä klikkaisi sitä. Heille on täysin epäselvää että mitä kaikkea tietokoneessa tapahtuu noin yksinkertaisessa asiassa. Miten monia erilaisia matemaattisia laskuja joudutaan suorittamaan pelkästään noin yksinkertaisen asian tekemisessä.

Tavallisille ihmisille tietokone on mustalaatikko jonka toimintaa ei tunneta. Ammattikorkeakouluissa ja yliopistoissa tietokotekniikan alalle tuleville opiskelijoille monille on ensimmäistä kertaa näytetty peruskursseilla että mistä tietokoneen keskusyksikkö koostaa. CPU, RAM, Kiintolevy, Northbrigde, Southbridge, PCI-E, 8P-liitännät, ATA-liitännät, BIOS, Siili, Tuuletin, Emolevy.... Kaikki on ihan uutta ja outoa. eikä monilla ole edes arvauksia että mitä kaikkea nuo tekevät.

Millä oikeudella tai logiikalla saisi vaikkapa sotkea CPU:n (A) olevan osa emolevyä (B)? Eli A+B=B?
Harrastelijat ja tietotekniikkaa paremmin tuntevat nyt nopeasti osaavat kertoa että A ei ole osa B:tä. Mutta tavallisille ihmisille (>80% maailman ihmisistä) voitaisiin aivan hyvin selittää markkinoinnissa että A on osa B:tä.

Aivan samoin voidaan markkinoinnissa selittää että Ubuntu on käyttöjärjestelmä tai että GNU/Linux on käyttöjärjestelmä, niille jotka eivät edes ole koskaan kuulleetkaan käyttöjärjestelmien arkkitehtuureista ja historiasta.

Kukaan meistä ei voi ottaa käyttöjärjestelmää esille ja näyttää toiselle "tässä se on", kuten me voimme tehdä vaikka CPU:lla, kiintolevyllä tai vaikka auton polttomoottorilla.

Käyttöjärjestelmän toiminta voidaan vain selittää, se voidaan esittää kaavioilla, ohjelmakoodilla tekstieditorissa tai vaikka tiedostona tiedostomanagerissa tai komentorivillä olevana tiedoston nimenä. Sitä ei voida säätää kuin jotain uunin lämpötilaa kytkintä vääntämällä. Emme voi ottaa ruuvimeisseliä käteen ja kiristellä tai muuten viritellä sitä. Emme voi ottaa tiedostomanageria ja kopioida paria tiedostoa johonkin hakemistoon että voisimme muuttaa sen toimintaa.

Sen vuoksi komentorivin käyttöä myös kutsutaan loitsimiseksi kun outoja sanoja kirjoitetaan ("puhutaan") ja saadaan ihmeellisiä asioita aikaiseksi.

Ohjelmointi on tavallisten käyttäjien parissa paljon maagisempaa kuin jonkin ulkomaalaisen kielen kirjoittaminen. Mystisiä numeroita ja fraaseja heitellään vain oudolla tavalla järjestettynä ja sitten tehdään pari "loitsua" ja ruudulle saadaan kaikkea kivaa tai tietokone osaa esittää kysymyksiä ja jäsennellä annettuja vastauksia.

« Viimeksi muokattu: 18.11.10 - klo:13.34 kirjoittanut raips »

Tommi S.

  • Käyttäjä
  • Viestejä: 240
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #127 : 18.11.10 - klo:15.28 »
Niinpä. Nimimerkki raips aloitti torumalla muita siitä että termit menevät sekaisin, ja että sanat voivat tarkoittaa eri yhteyksissä eri asioita, ja että kun on tekniikasta kyse niin tekniikka määrittelee tarkasti mitä sanat tarkoittavat. Tämä aate jaksoi näköjään keskustelun kuudennelle sivulle saakka.

Viitsisitkö kertoa missä kohtaa minä tuollaista teen? Missä kohtaa minä väitän mm. että Linux on käyttöjärjestelmä tilanteessa A ja sitten se on mikrokerneli tilanteessa B?

Sinähän esitit että kaikki ohjelmistot täytyy laatia tietyille kirjastojen versioille, tietyllä hakemistorakenteella, tietylle ikkunointimanagerin versiolle, ja pakata tietyn paketinhallintajärjestelmän ymmärtämään muotoon. Tähän lisäsit että kaikki muu on "Linux käyttäjien sortamista":

Jos haluaa olla rehellinen ja kunnioittava koko avoimen lähdekoodin (etenkin Linuxin) yhteisöä kohtaan, niin silloin täytyy pyrkiä siihen että kaikki laiteajurit ja ohjelmistot tehdään Linuxille ja LSB-standardin mukaiseksi. Ubuntulle ei pidä tehdä yhtään mitään, eikä asia muutu vaikka olisi jokin toinen jakelupaketti kyseessä. Nimittäin se on kaikkien Linux käyttäjien oikeuksien riistämistä ja vapauden sortoa.

Onko siis Linux Volvo, ja "Linux käyttäjä" Volvon kuljettaja? Jos on, niin mitä ovat silloin ikkunointimanageri, shell ja paketinhallinta, ym.?
Vai onko Linux moottori? Jos on, niin mikä silloin on "Linux käyttäjä"?

raips

  • Käyttäjä
  • Viestejä: 76
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #128 : 20.11.10 - klo:21.29 »
Viitsisitkö kertoa missä kohtaa minä tuollaista teen? Missä kohtaa minä väitän mm. että Linux on käyttöjärjestelmä tilanteessa A ja sitten se on mikrokerneli tilanteessa B?

Sinähän esitit että kaikki ohjelmistot täytyy laatia tietyille kirjastojen versioille, tietyllä hakemistorakenteella, tietylle ikkunointimanagerin versiolle, ja pakata tietyn paketinhallintajärjestelmän ymmärtämään muotoon. Tähän lisäsit että kaikki muu on "Linux käyttäjien sortamista":

Kerrotko miten vastasit tuolla yllä olevaan kysymykseen että miten tekninen määritelmä muuttuu eri tilanteessa?
Ja älä viitsi vääristellä sanomisia joita olen vieläpä tarkentanut myöhemmin.

Lainaus
Onko siis Linux Volvo, ja "Linux käyttäjä" Volvon kuljettaja? Jos on, niin mitä ovat silloin ikkunointimanageri, shell ja paketinhallinta, ym.?
Vai onko Linux moottori? Jos on, niin mikä silloin on "Linux käyttäjä"?

Onko analogiat noin hirveän vaikeita? Lue uudelleen ja yritä ymmärtää lukemaasi.

Tommi S.

  • Käyttäjä
  • Viestejä: 240
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #129 : 21.11.10 - klo:20.37 »
Kerrotko miten vastasit tuolla yllä olevaan kysymykseen että miten tekninen määritelmä muuttuu eri tilanteessa?
Ja älä viitsi vääristellä sanomisia joita olen vieläpä tarkentanut myöhemmin.

Tarkoitatko tuolla tarkennuksella kenties tätä:

Ja täytyy nyt selventää että "ohjelmistot tehdään linuxille" tarkoittaa siis sitä kun tehdään ohjelmistoja linuxille, että ne oikeasti tehdään LSB-standardin mukaisesti jos ei haluta lähdekoodia avata ja lisenssoida siten että kuka tahansa saa ottaa lähdekoodin ...

Eli kun sinä sanot "ohjelmistot tehdään linuxille", niin ilmeisestikin se mitä tarkoitat on: ohjelmistot tehdään tietyille kirjastojen versioille, tietyllä hakemistorakenteella, tietylle ikkunointimanagerin versiolle, ja pakataan tietyn paketinhallintajärjestelmän ymmärtämään muotoon. Se mikä tässä tuntuu oudolta on juurikin se että "linux" sinun sanomanasi tarkoittaa jotain ihan muuta kuin mitä se tiukan teknisesti määriteltynä tarkoittaisi. Onko tässä kyseessä kenties se miten tekninen määritelmä muuttuu eri tilanteissa?

raips

  • Käyttäjä
  • Viestejä: 76
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #130 : 26.11.10 - klo:22.02 »
Eli kun sinä sanot "ohjelmistot tehdään linuxille", niin ilmeisestikin se mitä tarkoitat on: ohjelmistot tehdään tietyille kirjastojen versioille, tietyllä hakemistorakenteella, tietylle ikkunointimanagerin versiolle, ja pakataan tietyn paketinhallintajärjestelmän ymmärtämään muotoon. Se mikä tässä tuntuu oudolta on juurikin se että "linux" sinun sanomanasi tarkoittaa jotain ihan muuta kuin mitä se tiukan teknisesti määriteltynä tarkoittaisi. Onko tässä kyseessä kenties se miten tekninen määritelmä muuttuu eri tilanteissa?

Yrität joko tahaltesi vääristellä mitä puhutaan tai sitten et ole lukenut yhtään mitään koko ketjusta.

Linux kernel on monoliittinen käyttöjärjestelmä. Ubuntu tai GNU/Linux eivät ole käyttöjärjestelmiä. Linux ei tarkoita mitään muuta kuin käyttöjärjestelmää. Se ei tarkoita ikkunointiympäristöä, kirjastoja, kääntäjää, komentotulkkia tai mitään muuta kuin ainoastaan kernel.org sivustolta saatavaa käyttöjärjestelmää joka on arkkitehtuuriltaan monoliittinen.

Kaikki ohjelmat* tarvitsevat vähintään käyttöjärjestelmän toimiakseen. Ohjelmilla on riippuvuuksia useimmiten riippuvuuksia käyttöjärjestelmän lisäksi muihin ohjelmistoihin (sovelluksia ja kirjastoja jne). Mitä korkeammalle tasolle mennään ohjelmistojärjestelmän kerroksessa, sitä enemmän riippuvuuksia muodostuu ohjelmistoille.

Käyttöjärjestelmä on tärkein ohjelmisto tietokoneessa. Se on se joka määrää millaisia laitteita voidaan käyttää ja millaisia ohjelmistoja voidaan käyttää.

Ubuntu käyttäjät ovat ensisijaisesti Linux käyttöjärjestelmän käyttäjiä. Heidän käytettävissä olevat laitteet ja ohjelmistot määräytyvät siitä että ne ovat saatavilla Linux käyttöjärjestelmälle.

Jos suljetun lähdekoodin ohjelmisto tehdään Linux käyttöjärjestelmälle, se täytyy ehdottomasti tehdä LSB standardin mukaisesti että se toimii mahdollisimman laajassa määrässä eri jakelupaketteja. Lähdekoodin avoimuus mahdollistaa että rajoituksia ei synny kun koodia voidaan muokata saadakseen ohjelmisto toimiaan eri jakeluissa. Parasta olisi silloinkin tehdä ohjelmisto LSB standardin mukaisesti jolloin sitä on helppo ylläpitää ja eri jakelijoiden taas ottaa koodi käyttöön.

Kun ohjelmisto tehdään LSB standardin mukaisesti, se ei tarkoita että tehdään tietylle kirjastolle, tietyllä hakemistorakenteella ja tietylle ikkunointiympäristölle. Se tarkoittaa vain ja ainoastaan sitä että se tehdään LSB standardin mukaisesti. Se mitä LSB standardi määrittelee, onkin sitten kehittyvää ja taaksepäin yhteensopivaa sekä ennen kaikkea standardi ja vakuutus että ohjelmisto toimii mahdollisimman laajalti helposti.

Sen sijaan jos väittää, kuten sinä, että ohjelmisto pitää tehdä tietyille kirjastoille, tietylle hakemistorakenteelle ja tietylle ikkunointiympäristölle ei ole kuin huonoa ohjelmointia ja rajoittamista. Vaikka ohjelmisto olisi avoimen lähdekoodin lisenssillä niin sen käyttöönotto muualla voi tarkoittaa jopa koko ohjelmiston uudelleen ohjelmointia. Jos ohjelmisto on suljetun lähdekoodin ohjelmisto niin se ei toimi edes tulevaisuudessa jos käytettyjä rajapintoja ei enää löydy tai se ei toimi muissa jakeluissa joissa riippuvuudet eivät täyty.

LSB vaatii että ohjelmistokehityksessä otetaan huomioon tulevaisuutta nähden että mitä voidaan käyttää ja hyödyntää että ohjelmisto toimii mahdollisimman hyvin.

Linuxille kun tehdään ohjelmistoja (Linux on edelleen käyttöjärjestelmä. Se ei ole kirjastoja, järjestelmäsovelluksia ym) niin ohjelmistot tarvitsevat lähes aina muitakin ohjelmistoja mutta tärkein on aina käyttöjärjestelmä eli Linux.

Jopa tämän koko ketjun alun mukainen ohjelmisto on tehty Linux käyttöjärjestelmälle mutta se on tehty vain ja ainoastaan Ubuntu jakelupaketille toimivaksi. Se täytyisi kirjoittaa LSB standardin mukaisesti että kaikki Linux käyttöjärjestelmän käyttäjät saavat sen käyttöönsä ilman että ovat lukittuja tai estettettyjä tiettyyn distroon. Jos kyseinen ohjelmisto olisi avoimen lähdekoodin ohjelmisto niin käyttäjä olisi vapaa muuttamaan sitä siten että se toimii myös muualla. Ohjelmisto voisi olla vielä maksullinen mutta jokainen ostaja olisi vapaa uudelleen levittämään ohjelmistoa muille ilman maksua tai jopa eri hinnalla. LSB standardi taas mahdollistaa sen että ohjelmisto voi olla suljettu mutta silti se toimii kaikilla LSB standardia noudattavilla jakelupaketeilla kunhan versio on vaadittu tai uudempi (n. 6 vuoden ajan tuettu).

Käyttöjärjestelmän määritelmä tai mitä Linux tarkoittaa ei muuttunut minun tekstissä mitenkään. Sinä kuvittelet että Linux tarkoittaa kerneliä, käyttöjärjestelmää, jakelupakettia ja käyttäjää. Jos lukisit koko ketjun uudelleen niin voisit oppia että Linux ei tarkoita kuin vain kernel.org sivustolta saatavaa käyttöjärjestelmää joka on arkkitehtuuriltaan monoliittinen ja lisenssoitu GPLv2 lisenssillä ja jonka pirstaloitumisen estymiseksi LSB standardi on kehitetty ja jotta suljetun lähdekoodin ohjelmistoja voidaan tehdä Linuxille ja tarjota Linux käyttäjille ilman että joudutaan jokainen mahdollinen jakelupaketti ottamaan erikseen kehityksessä huomioon niissä olevien eri kirjastojen versioiden, hakemistorakenteiden, ikkunointiympäristöjen ym vuoksi.

LSB standardi määrittelee mm. että järjestelmäkirjasto A sisältää rajapinnat 1, 2, 3 ja 4. Ja niitä ylläpidetään n. 6 vuotta.
Esim LSB:n 1.1 versiolle tehty suljetun lähdekoodin ohjelmisto varmistaa että ohjelmisto toimii kaikissa niissä Linux käyttöjärjestelmän jakelupaketeissa mitkä tarjoaa LSB 1.1 tai uudemman version.
LSB 1.2 tai 1.3 sisältää sitten uusia versioita järjestelmäkirjastosta A, uudemman tai eri ikkunointiympäristön jne. Mutta silti 1.1 versiolle tehty ohjelmisto toimii kaikissa niissä koska LSB standardin mukaisesti tehdyt ohjelmistot täytyy ohjelmoida siten että oikeasti toimivuus ja ylläpidettävyys tulee helpommaksi ja toimivuus taataan.

Ja LSB nimi tulee "Linux Standard Base" eliLinuxille tehtyjen ohjelmistojen perusriippuvuudet tullaan vakioimaan tuossa standardissa. Koska ohjelmistoilla on riippuvuuksia muihinkin ohjelmistoihin kuin vain käyttöjärjestelmään (Linux) kuten järjestelmäkirjastoon (glibc), komentotulkkiin (sh), järjestelmäsovelluksiin (binutils) jne.


Tommi S.

  • Käyttäjä
  • Viestejä: 240
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #131 : 26.11.10 - klo:23.01 »
Kun ohjelmisto tehdään LSB standardin mukaisesti, se ei tarkoita että tehdään tietylle kirjastolle, tietyllä hakemistorakenteella ja tietylle ikkunointiympäristölle. Se tarkoittaa vain ja ainoastaan sitä että se tehdään LSB standardin mukaisesti.

Olen ymmärtänyt että LSB määrittelee mm. tietyt kirjastojen versiot, tietyn hakemistorakenteen, ikkunoinnissa käytettyjen kirjastojen versioita, ja tietyn paketinhallintajärjestelmän mukaan tehdyn paketoinnin. Olen lisäksi ymmärtänyt että kun ohjelma tehdään LSB:tä noudattavaksi, niin silloin ohjelma tehdään kyseisten määritysten mukaiseksi, eli ohjelma tehdään käyttämään tiettyjä kirjastojen versioita, tiettyä määriteltyä hakemistorakennetta, ja paketoidaan tietyn paketinhallintajärjestelmän mukaisesti.

Tässä tuntuu nyt olevan muutama vaihtoehto. Joko ylläoleva ei pidä paikkaansa, jolloin olen ymmärtänyt jotain väärin, tai sitten sinä olet ymmärtänyt jotain väärin, tai sitten sinä tarkoituksellisesti vääristelet.