Linuxin historia

Wikipediasta
Siirry navigaatioon Siirry hakuun

Linuxin historia on Linux-ytimen ja sitä käyttävien Linux-käyttöjärjestelmien syntyyn ja kehitykseen johtaneita tapahtumia, tekoja ja ratkaisuja. Linus Torvalds kehitti Linux-ytimen muiden ohjelmoijien kanssa ja tätä seurasi Linux-ydintä ja GNU-ohjelmistoja käyttäviä jakelupaketteja (distroja). Linux on julkaistu ilmaiseksi, mutta lisäksi on syntynyt Linuxia käyttäviä ja ylläpitäviä kaupallisia yrityksiä. Linuxin laajasta levinneisyydestä huolimatta Microsoftin Windows on vielä yleisin tavallisessa koti- ja toimistokäytössä.

Tausta[muokkaa | muokkaa wikitekstiä]

Alkuperäinen Unix alkoi levitä 1970-luvulla Bell Labsin ulkopuolelle, jota seurasi useita siihen perustuvia käyttöjärjestelmiä.[1] Unixista tuli pian suosituin käyttöjärjestelmä yliopistojen keskustietokoneilla ja minitietokoneilla. Lisäksi Unixia käytettiin 1980-luvulla syntyneessä tietokoneluokassa, jota kutsutaan työasemaksi ja usein perustui Motorola 68000 -sarjan mikroprosessoriin.[2][3] Unixin lähdekoodi oli aluksi kenen tahansa saatavilla ja siihen voitiin tehdä omia parannuksia, jolloin syntyi BSD.[1] Useiden eri toteutuksien myötä syntyi pyrkimykset standardoida rajapinnat jolloin syntyi X/Open-standardit. AT&T:n pilkkomisen myötä se osallistui muuhun liiketoimintaan ja aloitti kaupallisen Unixit (System III ja System V) eikä sen lähdekoodi ollut enää vapaasti saatavilla.

Henkilökohtaiset tietokoneet yleistyivät 1980-luvulla mikrotietokoneiden kehityksen myötä. IBM PS/2:n myötä myös IBM PC-yhteensopivissa otettiin käyttöön Intel 386 -prosessori, jolla pystyi käyttämään Unixin kaltaista käyttöjärjestelmää. Professori Andrew Tanenbaum oli kehittänyt 1984–1987 opetustarkoituksiin oman Unix-tyyppisen käyttöjärjestelmänsä, Minixin. Minix oli halpa ja maksoi alle 70 dollaria, mutta lähdekoodit eivät olleet vapaita. Tanenbaum ei halunnut laajentaa Minixiä sähköpostista tulleiden korjausehdotusten mukana. Tanenbaum ei halunnut suurta, sekavaa koodia opetuskäyttöön.[4]. Australialainen Bruce Enavs kirjoitti alkuperäiseen 286-minixiin muutoksen, jonka ansiosta se toimi 386-koneessa [5] .

Linus[muokkaa | muokkaa wikitekstiä]

Tietotekniikan opiskelija Linus Torvalds kiinnostui Unixista ja Minixistä[6]. Linus huomasi Minixin prosessien järjestelyn tehottomaksi. Linus halusi itselleen hyvän käyttöjärjestelmän. Alussa hän kirjoitti kotitietokoneille jo aiemmin kehittämänsä pääte-emulaattorin pohjalta assembylyä ja C-kielellä pääte-emulaattorin[7]. Linus ei halunnut alussa tehdä kaupallista tai vakavasti otettavaa käyttöjärjestelmää: kyse oli tietotekniikan opiskelijan harrastuksesta.

Huhtikuussa 1991 Linus muunsi pääte-emulaattorin moniajosovellukseksi yhdistämällä sen aiempaan koodiin[8]. Tästä Linus laajensi koodiaan muutamassa kuukaudessa käyttöjärjestelmän ytimeksi[9]. Linux käytti Minixiä apuna, hoitamaan ne käyttöjärjestelmän tehtävät, joita ei ollut itse toteuttanut. Mukana ohjelma ei tarvinnut enää pohjakseen Minixiä [10] . Heinäkuussa 1991 Linus halusi kirjoittaa tekeillä olevansa käyttöjärjestelmän Posix-yhteensopivaksi[11]. Tämä oli askel kohti vakavasti otettavaa järjestelmää.

25. elokuuta 1991 Linus Torvalds laittoi comp.os.minix-uutisryhmään viestin, jossa hän kertoi olevansa tekemässä vapaata käyttöjärjestelmää[12]. Tätä päivämäärää on sittemmin pidetty Linuxin syntymäpäivänä. Linus kyseli elokuun postauksessa ehdotuksia uusiksi toiminnoiksi [13]. Tässä vaiheessa Linuxissa oli paljon virheitä, eikä Linux tukenut edes levykkeitä.

Ensimmäinen Linuxin versio, 0.01 ilmestyi syyskuussa [14]. Linus käytti monia Stallmannin GPL:n alaisia ohjelmia, muttei alussa ottanut GPL lisenssiä [15]. Linus ilmoitti, että tarkoitus oli saada Linux nopeasti käyttöön. Vertailun vuoksi monet muut projektit etenivät hitaammin[16].

Vielä Linuxin versio 0.02 lokakuussa 1990 oli epätäydellinen, eikä toiminut ilman Minixiä[9]. Linux tarjosi käyttöjärjestelmän nimeksi nimikettä freiks tai freaks. Mutta funetin ylläpitäjä perusti käyttöalueen Linux.[9]. Linus yllättyi, kun ihmiset alkoivat lähettää hänelle sähköpostia, virheraportteja, muiden ohjelmoijien tekemiä apuohjelmia jne. Version 0.02 näki 10–20 ohjelmoijaa [17]. Vuoden 1991 lopussa Linus julkaisi version 0.11. Linus ei uskonut vieläkään Linuxista tulevan Gnu/Hurdin tyyppistä ammattimaista järjestelmää [18]. Mutta Hurdin kehitys takkusi yhä pahasti.

5. tammikuuta 1992 Linus julkaisi version 0.12. Siihen tuli mukaan virtuaalimuisti [19]. Linus muutti lisenssin GPL:ksi [20]. Linuxin postituslistoilla oli 13. tammikuuta 1992 196 jäsentä [21]. Linux-ydin oli käytännössä valmis.[22]selvennä Minix ja Linux olivat erillään, ja Tanenbaum piti monoliittista Linuxia vanhentuneena[23]. Tanenbaumin mukaan Linux ei ollut siirrettävä, niin kuin Minix.[24] Torvalds vastasi väitteeseen sanoen ytimen perusidean olevan laitteiston hyödyntäminen ja niiden piilottaminen korkeamman tason kutsujen taakse.[25] Torvaldsin mukaan Minixissä oli ongelmia kuten oikeassa vuoronnuksessa ytimessä tiedostojärjestelmän säikeistyksessä.[25] Lisäksi Minixistä joutui maksamaan[26]. Linuxin omassa systeemissä oli kaksi levykettä, boot ja root. Järjestelmän käyttö vaati ohjelmoijan taitoja.[27] Ensimmäinen Linux-jakelu oli Linux 0.12 ytimeen perustuva MCC Interim[28]. Sitten tulivat jakelut TAMU ja MJ. Lopulta tuli SLS ja H.J.Lun kahden levykkeen systeemi[28]. SLS oli laaja jakalu, johon oli siirretty X-ikkunointi ja TCP/IP[29]. Samana vuonna kaupallinen Yggdrasil julkaisi Linux-työpöytäversion LGX:in. Se oli ensimmäinen suoraan "livenä" CD-Rom-levyltä toiminut Linux[30]. Yggdrasilin tuotantoversio maksoi 99 dollaria.[31]

Ian Murdock oli tyytymätön SLS:ään, jonka kehitysmalli oli suljettu. Niinpä Murdock aloitti kehittämään loppuvuonna 1993 Debiania, jonka kehitys tapahtui avoimessa yhteisössä niin kuin Linuxinkin[29]. GNU:n Stallman rahoitti alussa osin Debianin kehittämistä[32]. Mutta pian syntyi riitoja Linux-yhteisön ja Stallmannin välillä.[33]

Jo SlS-linux alkoi kaupallistua. Slackware oli jakelu, joka kiihdytti kaupallisen Linux-maailman syntyä[34].

Linux 1.0 julkaistiin keväällä 1994.

Yggrdasilin ongelma oli se, että sen mukana myytiin kaupallista Motif-ikkunointijärjestelmää. Niinpä se maksoi melkein 150 dollaria.[31] Vuonna 1994 saksalainen Multisoft koetti myydä Flagship-tietokantaa. Multosoftin Max Bolzern siirsi Flagshipin Linuxiin, josta tuli ensimmäinen kaupallinen Linuxiin varta vasten tehty hyötyohjelma.[35]. Näin Blotzern otti alussa Slackwaren kaupalliseen käyttöön.

Vuonna 1993 Marc Ewing alkoi kehittää Red Hatia, koska tarvitsi kunnollista, helppokäyttöistä Linuxia[36]. Red hat pyrki luomaan suhteita avoimen ohjelmiston väkeen. Mutta se myös yritti luoda markkinoita yritysmaailmassa.

Marraskuussa 1994 ilmestyi Red Hat, josta tuli suuri, kaupallinen Linux-jakelu.[37]

7. maaliskuuta 1992 ilmestyi Linuxin versio 0.95 [38].

Sittemmin Torvalds johtaa Linux-ytimen kehitystyötä osallistumatta kuitenkaan itse käyttöjärjestelmän levitysversioiden tai niihin sisältyvien muiden ohjelmien kehittämiseen.

Vuonna 1996 ilmestyi yritysmaailmassa Red Hatin kilpailijaksi Caldera.[39]. Novell perusti vuonna 1994 Calderan. Se oli kaupallinen , vaikka sen nimenä oli "OpenLinux"[40].

Miksi Linux voitti BSD:n[muokkaa | muokkaa wikitekstiä]

Alussa Linuxin kanssa kilpaili vuonna 1991 PC-pohjaisen Unix-tyyppisen käyttöjärjestelmän piirissä 386BSD.[41]. Torvalds on sanonut että olisi liittynyt 386BSD:n kehitykseen jos olisi tiennyt siitä ennen Linuxin aloittamista.[42] 386BSD tuli lähdekoodin kanssa, mutta sisälsi rajoittavan tekijänoikeuden ja maksoi myös paljon (lähtöhinta 995 dollaria).[43] Torvalds hyväksyi muutokset Linuxiin.[44]. Samaan aikaan AT&T nosti oikeuskiistan BSD:n lähdekoodista.[45] Niinpä 386BSD menetti suosiotaan Unixista kiinnostuneiden parissa ja Linusin johtama kehittäjäyhteisö pystyi kiilaamaan 386BSD:n ohi[41]. 386BSD hajosi vuonna 1993 kahteen projektiin, jotka ovat NetBSD ja OpenBSD[46]. Linux toimi alusta asti samalla kiintolevyllä DOS:n ja Windowsin kanssa. Syy tähän oli se, että Linus pelasi DOS:issa pyörivää Prince of Persia -peliä, ja ratkaistuaan sen halusi silti jättää sille tilaa [47].

Kun lisäksi ilmestyi kolmas BSD, kehitystyö hajaantui pahasti. Mutta Linux-ytimen kehittäjätiimi pysyi yhtenäisenä[48]. Linux kehittyi nopeasti, koska Linux hyväksyi joustavasti ja avoimesti Linuxiin uutta laitteisto- ja ohjelmistotukea. Internet auttoi levittämään Linuxia asiasta kiinnostuneille ohjelmoijille[49]. 386 BSD:n lisäksi oli tekeillä GNU/Hurd, jossa oli vakavia vikoja.

X[muokkaa | muokkaa wikitekstiä]

Vuonna 1992 Orest Zborowski alkoi siirtää X Window Systemiä GNU/Linuxiin [50].

GNU ja Stallman[muokkaa | muokkaa wikitekstiä]

Amerikkalaisen Richard Stallmanin Free Software Foundation (FSF) taas on työstänyt käyttöjärjestelmän GNU-osia 1980-luvun puolivälistä lähtien. MIT:n tekoälylaboratoriossa työskennelleen Stallmanin päämääränä oli koota kokonainen vapaa käyttöjärjestelmä, jolla hän antoi nimen GNU (engl. GNU's Not Unix, suom. GNU ei ole Unix). GNU-projekti oli käynnistynyt jo vuonna 1983, ja sen rakentajat olivat koonneet vapaista GNU-työkaluista ja kirjastoista miltei valmiin käyttöjärjestelmän, ainoastaan käyttöjärjestelmän ydin eli kerneli puuttui. Ydin on välttämätön käyttöjärjestelmän toiminnan kannalta, joten GNU-yhteisö kehitteli omaa Hurd-nimistä ydintä. Ennen tämän valmistumista Linus Torvalds alkoi kehittää omaa ydintään, josta syntyikin Linux. Hurdin kehitys hidastui Linuxin otettua sen paikan.

Stallmanin ideologian taustalla on ohjelmien vapaus. Hän alkoi puhua vapaista ohjelmista, joita kuka tahansa saa vapaasti käyttää, muokata ja levittää, ja kehitti ajatuksensa peruskiveksi GNU GPL -lisenssin. Lisenssi takaa, että kenellä tahansa on oikeus tehdä ohjelmaan muutoksia ja levittää muunneltua versiota haluamallaan tavalla, kunhan samat oikeudet säilyvät myös uudessa versiossa. Ohjelman julkaisun ohessa pitää tarjota saataville myös lähdekoodi, jonka avulla toisten ohjelmoijien on helppo lähteä tekemään muutoksia. Myös Torvalds julkaisi Linux-ytimen GNU GPL -lisenssillä, mikä mahdollistaa sen, että myös kaupalliset yritykset ovat voineet kehittää Linux-jakeluita ja myydä niitä eteenpäin.

Katso myös[muokkaa | muokkaa wikitekstiä]

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. a b Warren Toomey: The Strange Birth and Long Life of Unix 28.11.2011. IEEE Spectrum. Viitattu 6.9.2019. (englanniksi)
  2. Paul E. Ceruzzi: A History of Modern Computing. Second edition. MIT Press, 1998. ISBN 0-262-53203-4. (englanniksi) 
  3. Gordon Bell: Rise and Fall of Minicomputers ethw.org. Viitattu 22.1.2020. (englanniksi)
  4. Kapinakoodi, Glyn Moody, Gummerus 2001, ISBN 951-31-2003-1, s. 52–53
  5. Moody 2001, s. 57
  6. Linuxin tarina, Tuula Nikkanen, Satku 2000, Gummerus Kirjapaino OT 2000, Jyväskylä 2000, ISBN 951-762-990-7, s. 49
  7. Nikkanen 2000, s. 50
  8. Moody 2001, s. 59
  9. a b c Nikkanen 2000, s. 51
  10. Moody 2001, s. 61
  11. Moody 2001, s. 62
  12. Torvalds, Linus: Linjus Torvaldsin alkuperäinen viesti uutisryhmässä comp.os.minix groups.google.com. 25.8.1991. en
  13. Moody 2001, s. 64
  14. Moody 2001, s. 65
  15. Moody 2001, s. 67
  16. Moody 2001, s. 68
  17. Moody 2001, s. 69
  18. Moody 2001, s. 70
  19. Moody 2001, s. 72
  20. Moody 2001, s. 73
  21. Moody 2001, s. 74
  22. Nikkanenn 2000, s. 57
  23. Moody 2001, s. 55, 76
  24. Moody 2001, s. 76
  25. a b The Tanenbaum-Torvalds Debate oreilly.com. Viitattu 9.9.2019. (englanniksi)
  26. Moody 2001, s. 77
  27. Moody 2001, s. 124
  28. a b Moody 2001, s. 125
  29. a b Moody 2001, s. 126
  30. Moody 2001, s. 134
  31. a b Moody 2001, s. 135
  32. Moody 2001, s. 128–129
  33. Moody 2001, s. 131
  34. Moody 2001, s. 132
  35. Moody 2001, s. 136
  36. Moody 2001, s. 137
  37. Nikkanenn 2000, s. 60
  38. Moody 2001, s. 82
  39. Moody 2001, s. 139
  40. Moody 2001, s. 141
  41. a b Kapinakoodi, Glyn Moody, Gummerus 2001, ISBN 951-31-2003-1, s. 96–98
  42. Eric S. Raymond: The Art of Unix Programming. Addison-Wesley, 2003. ISBN 0-13-142901-9. Teoksen verkkoversio.
  43. Linus Torvalds: LINUX--a free unix-386 kernel oldlinux.org. 10.10.1991. Viitattu 18.10.2019. (englanniksi) 
  44. Moody 2001, s. 98
  45. Lawrence Kesteloot: A Brief History of UNIX and BSD teamten.com. Viitattu 3.11.2017. (englanniksi)
  46. Moody 2001, s. 120
  47. Moody 2001, s. 84
  48. Moody 2001, s. 120
  49. Moody 2001, s. 100–101
  50. Moody 2001, s. 92