Linux

Linux-käyttöjärjestelmän historia

Unixiin perustuvat käyttöjärjestelmät alkoivat levitä 1970–80-luvulla. Suorituskykynsä ja joustavuutensa ansiosta Unixista tuli pian suosituin käyttöjärjestelmä yliopistojen palvelimilla ja työasemilla.
AT&T:llä ei ollut lupaa myydä käyttöjärjestelmäänsä ja päätyi levittämään sitä lähdekoodien kanssa halukkaille nimellistä maksua vastaan. AT&T:n tiukan "ei tukea" -säännön johdosta sai alkunsa käyttäjäryhmät kuten USENIX ja käyttäjien tekemät muutokset. Berkeleyn kampuksella (UCB) sai alkunsa Berkeley Unix (BSD), jonka muutoksia päätyi myös takaisin AT&T:n Unixiin.
AT&T:n Unixin vapaa levittäminen päättyi vuonna 1984 kun AT&T pilkottiin Yhdysvaltain hallituksen toimesta.
1980-luvun lopulla alkoivat Unix-sodat, jotka olivat eri tahojen välinen kiista Unixin standardoinnista ja omistuksesta.
Professori Andrew Tanenbaum oli kehittänyt aiemmin opetustarkoituksiin oman Unix-tyyppisen käyttöjärjestelmänsä, Minixin. Suomalainen Helsingin yliopiston opiskelija Linus Torvalds halusi käyttää Unix-tyyppistä käyttöjärjestelmää 386-PC:ssään, mutta piti Minixia liian alkeellisena ja alkoi kehittää omaa pääteohjelmaansa, josta myöhemmin kehittyi Linux-ydin. 25. elokuuta 1991 Linus Torvalds laittoi comp.os.minix-uutisryhmään viestin, jossa hän kertoi olevansa tekemässä vapaata käyttöjärjestelmää. Tätä päivämäärää on sittemmin pidetty Linuxin syntymäpäivänä. Uutisryhmä comp.os.linux on perustettu 31. maaliskuuta 1992 (hieman tätä ennen oli perustettu alt.os.linux -ryhmä). Sittemmin Torvalds on johtanut Linux-ytimen kehitystyötä osallistumatta kuitenkaan itse käyttöjärjestelmän levitysversioiden tai niihin sisältyvien muiden ohjelmien kehittämiseen. 
Teknillisen korkeakoulun assistentti Ari Lemmke tarjoutui antamaan käyttöjärjestelmälle levytilaa yliopiston FTP-palvelimelta, jotta sen tiedostoja voisi jakaa internetissä. Torvalds ehdotti nimeä Freax. Lemmke piti enemmän toisesta Torvaldsin käyttämästä työnimestä, Linux, ja antoi palvelimen alihakemistolle nimen /pub/OS/Linux. Torvalds hyväksyi nimen. Ytimen lisäksi Torvalds oli itse tehnyt käännökset bash-komentorivitulkista ja GCC-kääntäjästä. 0.11-version myötä jaettavana oli myös muita ohjelmia (gcc, bash, make, uemacs, tar).
1990-luvun alussa AT&T haastoi Berkeley Software Designin ja Kalifornian yliopiston oikeuteen väittäen BSD:n sisältävän AT&T:n omistamaa ohjelmakoodia. Osana kiistan sovitusta BSD:n ohjelmakoodista osa toteutettiin uudestaan, osa poistettiin ja osaan lisättiin maininta AT&T:n tekijänoikeudesta. Tämä johti 386BSD:n kehitykseen, mutta tämän kehittäjät päätyivät erimielisyyksiin jotka vaikeuttivat projektia.
386BSD:n kehitystyö oli hidasta ja lisäksi kehittäjä ei halunnut tehdä siitä yhteensopivaa monien laitteiden kanssa: 386BSD vaati muun muassa 80387-matematiikkasuorittimen. 386BSD tuli lähdekoodin kanssa, mutta sisälsi rajoittavan tekijänoikeuden ja maksoi myös paljon (lähtöhinta 995 dollaria).
Ensimmäinen versio Linuxista julkaistiin joitakin kuukausia ennen 386BSD:n ensimmäistä versiota ja osa entisiä BSD-kehittäjiä siirtyi Linuxin pariin. Torvalds on sanonut että olisi liittynyt 386BSD:n kehitykseen jos olisi tiennyt siitä ennen Linuxin aloittamista. 386BSD hajosi vuonna 1993 kahteen projektiin, jotka ovat NetBSD ja OpenBSD. Kun lisäksi ilmestyi kolmas BSD, kehitystyö hajaantui pahasti. Linux-ytimen kehittäjätiimi pysyi kuitenkin yhtenäisenä. 
Vuosina 1991 ja 1992 Windowsissa ei ollut muistisuojausta, josta johtuen muun muassa Lars Wirzenius kokeili Linuxia. Wirzenius oli varhainen alpha-testaaja ja osallistui The Linux System Administrator's Guide -oppaan kirjoittamiseen.
Yhdysvaltalaisen 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 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 kernel 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. 
Torvaldsin alkuperäinen tavoite ytimen lisenssissä oli säilyttää se ilmaisena eikä niinkään vapaan ideologian mukaisena. Kun Linuxin jakelijat toivoivat keräävänsä kustannukset takaisin Torvalds totesi rahaan liittyvän rajoitteen olevan virhe ja korvasi itse kirjoittamansa lisenssin GNU GPL -lisenssillä (GPLv2) versiosta 0.12 alkaen. Lisenssimuutos mahdollisti sen, että myös kaupalliset yritykset voivat kehittää Linux-jakeluita ja myydä niitä eteenpäin. Torvalds on tarkentanut, että käyttäjäsovellukset eivät ole riippuvaisia ytimen lähdekoodista eivätkä siten rajoitu samaan lisenssiin. 
Vaikka Torvalds ei ollut omaksunut Free Software Foundationin poliittista asennetta, valitsi hän silti GPL-lisenssin kehittämälleen käyttöjärjestelmän ytimelle. Hän perusteli tätä sanoen, että kuuden kuukauden työstä olisi kiva saada jotain takaisin itselleen ja GPL-lisenssin ansiosta hän ainakin saisi aina nähdä, miten hänen koodiaan on muokattu eteenpäin. Lisäksi hän oli kuullut Stallmanin luennon TKK:lla vuonna 1991 ja vaikkei hän ollut ostanut varsinaisesti sen sanomaa, hän on todennut että jokin osa puheesta ilmeisesti upposi. Historiallisena taustana tässä myös on, että Stallmanin laatimat GPL-lisensoidut GNU-työkalut (etenkin GNU Emacs -tekstieditori, GCC-kääntäjä ja GDB-debugger) olivat 1980-luvun loppuun mennessä jo saavuttaneet legendaarisen maineen hakkerien keskuudessa ja myös GPL-lisenssi oli monien taitavien koodaajien suosima. GPL-lisenssi vaihtui Linuxiin versiossa 0.12, joka oli myös ensimmäinen versio, mihin otettiin mukaan GNU-projektin GCC-kääntäjä täysin integroituneena.
Vuonna 1992 Yggdrasil Linux/GNU/X -jakelu yhdisti Linux-ytimen, GNU-ohjelmiston ja X Window System -ohjelmistot yhdeksi jakeluksi. Mark Bolzern vakuutti saksalaisen Multisoft-yrityksen siirtämään Linuxille Flagship-ohjelmansa, josta tuli ensimmäinen Linuxille julkaistu kaupallinen tietokoneohjelma.
Useiden yrityksien tukemana Linux-tavaramerkin omistusoikeus ratkaistiin oikeudenkäynnissä ja luovutettiin Torvaldsille.

Linux-jakelut ja käyttökohteet

Jakelu (jakelupaketti, levitysversio, distribuutio tai distro (engl. distribution) on Linux-nimellä levitettävä, useita valmiiksi tuotteistettuja ohjelmistokokoelmia asennus- ja ylläpito-ohjelmineen sisältävä käyttöjärjestelmä. Osa jakeluista on eri yhteisöjen tai yksittäisten henkilöiden kokoamia, eikä niillä tavoitella voittoa. Osa jakeluista taas on kaupallisia.
Jakelu on tyypillisesti kokonainen käyttöjärjestelmä, joka koostuu Linux-ytimen lisäksi muun muassa kirjastoista, graafisesta käyttöliittymästä (joista yleisimmät ovat KDE, GNOME ja Xfce) ja ohjelmista, kuten toimisto-, internet- ja tietokantasovellukset. Jakeluiden asentamiseen ja käyttämiseen on usein saatavana teknistä tukea kaupallisena palveluna jakelulta tai kolmansilta tahoilta. Ohjeita löytyy usein myös keskustelupalstoilta, wiki-sivuilta, jakelun toimittajilta ja käyttäjäyhteisöltä.
Kaupallisten jakeluiden etuna on usein viimeistellympi kokonaisuus, huomion kiinnittäminen yleiseen käytettävyyteen, asiakastuki ja kattavat ohjeet jakelun keskeisten osien osalta. Yleensä kaupallisetkin jakelut ovat saatavissa ilmaiseksi, mutta ilman kaupallista asiakastukea ja joskus ilman joitakin ei-vapaita osia. Joskus jakelun ilmainen versio toimii tuotekehittelyn osana eikä vastaa varsinaista kaupallista tuotetta.
Jakelun eli distron kehittäjä voi olla kaupallinen yritys, vapaaehtoisten muodostama yhteisö tai yksittäinen harrastaja, joka on joko kopioinut jonkin aiemman jakelun ja muuntanut sen vastaamaan omia toiveitaan tai paketoinut lähdekoodeista omansa. Myös esimerkiksi valtiolliset tahot ovat kehittäneet jakeluita kansalliseen tarpeeseen. Vapaasta ja avoimesta lähdekoodimallista johtuen kuka tahansa voi kehittää oman jakelun. Tämän seurauksena jakeluita on useita tuhansia. Lisäksi jakeluista tehdään erikoisversioita, jotka eivät ole varsinaisia jakeluita mutta ne voidaan ensiasentaa siinä muodossa.
Jakeluiden spektri yltää ”kaikenkattavista” yleisjakeluista hyvin erikoistuneisiin jakeluihin, kuten palomuuri- tai NAS-palvelin -jakelut.
Linux Standard Base on ISO-standardi (ISO/IEC 23360-1:2006), joka määrittää järjestelmän rajapinnat käännetyille sovelluksille sekä minimaalisen ympäristön asennusohjelmia varten.
Linux Standard Base pyrkii yhteensopivuuteen useiden Unix-standardien kanssa kuten POSIX ja Single UNIX Specification.

Sulautettu Linux

Linuxia käytetään myös kämmentietokoneissa ja matkapuhelimissa, kotikäyttöön tarkoitetuissa ADSL-modeemeissa, WLAN-tukiasemissa ja palomuureissa sekä teollisissa laitteissa sulautettuna käyttöjärjestelmänä.
Sulautetuissa järjestelmissä GNU-projektin työkalut korvataan usein kevyemmillä, kuten BusyBox-työkaluilla ja joskus myös GNU C Library kevyemmällä vaihtoehdolla kuten uClibc.
Suomalainen Nokia käytti Maemoa, joka myöhemmin yhdistyi Intelin Moblin-projektin kanssa MeeGoksi. Osin Meegon pohjalta Jolla kehitti Sailfish OS:n. Myös Googlen omistama monissa älypuhelimissa ja taulutietokoneissa käytetty Android käyttää Linux-ydintä. Huhtikuussa 2017 Android ohitti suosiossa Windowsin ja siitä tuli maailman käytetyin käyttöjärjestelmä, kun lukuihin lasketaan kaikki internettiin kytketyt laitteet.
Sulautettujen Linuxien erikoistapauksia ovat käyttöjärjestelmät, joiden tarkoituksena on saada esimerkiksi pelikonsoli, kuten PlayStation tai Xbox, toimimaan kotitietokoneena. Medialaitteet kuten TiVo käyttävät Linuxia. Muita käyttökohteita ovat muun muassa Amazon Kindle.
Automotive Grade Linux on autoteollisuudelle tarkoitettu projekti. Mazda ja Toyota ilmoittivat vuonna 2017 aikeestaan kehittää yhdessä Linux-pohjainen alusta autoihin. Audi on siirtynyt Linux-pohjaiseen Android Auto -alustaan. 
Linuxista on myös UClinux-versio mikrokontrollereille , joissa ei ole muistinhallintayksikköä.

Suurtietokoneet

Suurtietokoneissa Linuxia käytetään kustannuksien alentamiseen. Gartnerin arvioiden mukaan kolmannes IBM:n System z-asiakkaista käyttää Linuxia. Suurtietokoneissa kilpailevat Red Hat Enterprise Linux (RHEL) ja SUSE Linux Enterprise Server (SLES).

Palvelinkäyttö

Palvelinkäyttö on yksi Linuxin yleisimmistä käyttökohteista. LAMP-käsite syntyi ohjelmistoyhdistelmästä, jossa Linuxissa ajetaan Apache-verkkopalvelinta, MySQL-tietokantaa ja PHP-komentosarjakieltä. Verkkosivustojen palvelujen lisäksi muun muassa DNS-nimipalvelut ja sähköpostipalvelimet käyttävät Linuxia.
Netcraftin helmikuussa 2010 luotettavimmiksi listaamista  verkkosivustoista kuusi kymmenestä ajoi Linuxia, kaksi FreeBSD:tä, yksi Windowsia ja yksi tuntematon alusta. 
W3Techsin mukaan Unix-tyyppisten käyttöjärjestelmien osuus on 70,1 % ja Windowsin 29,9 %. Unix-tyyppisistä palvelimista 52,5 % on Linuxia ja 46,7 % tunnistamattomia sekä 0,8 % BSD-pohjaisia. W3Cookin mukaan Linuxia käyttivät vuonna 2015 94% verkkopalvelimista loppujen kuuden prosentien jakaantuen FreeBSD:lle ja Windowsille.
Hypervisor-perusteiset virtualisointipalvelut ja kevyemmät säiliöintipalvelut ovat tuoreempia käyttökohteita kuin perinteiset verkkopalvelimet.
Tavallisia tietokantaohjelmistoja Linuxille ovat muun muassa Oracle, IBM DB2, PostgreSQL, MySQL ja MariaDB. Lisäksi on suurille datamäärille suunnattuja ratkaisuja kuten Apache Hadoop ja Google File System.

Digitaalinen rikostutkinta

Kali Linux (aiemmin nimellä BackTrack) on tekniseen rikostutkintaan ja penetraatiotestaamiseen suunniteltu jakelu. CAINE Linux (Computer Aided INvestigative Environment) on digitaaliseen rikostutkintaan suunnattu.
Tunkeilijan havaitsemisjärjestelmät (IDS) ja ohjelmat kuten SNORT ovat saatavilla Linuxille.

Työpöytäkäyttö

Useat jakelut painottavat työpöytäkäyttöä ja sisältävät oletuksena toimisto-ohjelmistopaketin. Toimisto-ohjelmistoja on irrallisina sekä paketteja, joista suosituimmat ovat LibreOffice ja Apache OpenOffice.
Graafinen ikkunointijärjestelmä on useiden Unix-tyylisten käyttöjärjestelmien tapaan X Window System, mutta esimerkiksi Fedora tukevat Wayland-järjestelmää.

Elokuva- ja musiikkituotanto

Monet ammattimaiset elokuvantuottajat ja elokuvastudiot, kuten  DreamWorks ja Pixar, käyttävät Linuxia tehdessään elokuvia.
Esimerkiksi Titanic  on tuotettu Linuxilla. Elokuvatuotannossa käytettyjä Linux-ohjelmistoja ovat muun muassa RenderMan ja Houdini.
Ammattimaiseen äänenkäsittelyyn on monia ohjelmistoja, esimerkiksi Ardour.

Teollisuusautomaatio

Teollisuusautomaatiossa Linuxia käytetään muun muassa OPC-UA-rajapinnan kanssa. PuffinPLC ja monet muut projektit tähtäävät Linuxin käyttöön ohjelmoitava logiikassa.
OSADL kehittää Linuxia turvakriittisiin järjestelmiin.
Turvakriittinen ei välttämättä tarkoita reaaliaikaista käyttöjärjestelmää, mutta usein ne liittyvät yhteen. Yksi menetelmä on käyttää laitteiston osiointia, kuten Jailhouse.

Linuxin laajuudesta

Eräässä tutkimuksessa vuonna 2000 todettiin Red Hat Linux 7.1 -jakelun sisältävän 30 miljoonaa koodiriviä. COCOMO-kustannusarviota käyttäen tämän jakelun luomisen arvioitiin vaatineen noin 8 000 henkilötyövuotta. Jos kehitystyö olisi tehty tavallisin menetelmin Yhdysvalloissa, se olisi maksanut yli miljardi dollaria (vuoden 2000 kurssilla). Suurin osa (71 %) koodista oli kirjoitettu C:llä, mutta useita muitakin kieliä, kuten C++:aa, Lispiä, Assemblyä, Perliä, Fortrania ja Pythonia, oli käytetty. Itse Linux-ydin muodostui 2,4 miljoonasta koodirivistä, joka oli noin 8 % jakelun kokonaiskoosta. Vuonna 2007 Linux-ydin muodostui 4,2 miljoonasta koodirivistä. Vuonna 2009 ytimen koon voi arvioida ylittävän 6,4 miljoonaa koodiriviä, jolloin sen kirjoittamisen kaupallisena projektina voisi samalla menetelmällä arvioida itsessään maksavan miljardi dollaria. Kesällä 2015 ytimen versiossa 4.1 oli yli 19,5 miljoonaa lähdekoodiriviä.
Red Hat Linux 7.1 sisälsi kolme ohjelma-CD:tä, yhden lähdekoodi-CD:n ja yhden ohje-CD:n. Nykyinen Debian GNU/Linux testing sisältää noin kolmenkymmenen CD:n verran lähdekoodia ja ohjeita (sekä suurin piirtein saman verran binääripaketteja jokaiselle tuetulle alustalle). Nykyinen Linux oheisohjelmistoineen on siis laajimmillaan hyvin paljon laajempi kuin Red Hat Linux yllä mainitussa vuoden 2000 tutkimuksessa.

GNU/Linux ja BSD/Linux

Eräissä yhteyksissä on nostettu esille GNU-projektin sovelluksien korvaamisesta BSD-projektin sovelluksilla. Merkittävä ero BSD-sovelluksilla on tapa kutsua ytimen järjestelmäkutsuja suoraan sovelluksista, joka GNU-ympäristössä tehdään tyypillisesti glibc-kirjaston kautta. Ajonaikaiselle C-kirjastolle kuten glibc on kehitetty vaihtoehtoja kuten Bionic-C, musl libc, Apache libstdcxx ja LLVM-projektin libc++. Eri kirjastoratkaisujen POSIX-yhteensopivuudessa on myös eroja.
Eräs este on ollut vaihtoehtoisen kääntäjän puute: BSD-lisensoitu Clang-kääntäjä pystyy kääntämään osan ytimen versioista. Itse C-kielen kääntäjän lisäksi myös assembler-kääntäjä ja linkkeriohjelma tarvitaan GNU binutils -paketista.

Muiden käyttöjärjestelmien tuki

Muille käyttöjärjestelmille julkaistujen ohjelmien ajamiseen ovat muun muassa Wine (Windows) ja Darling (macOS/Darwin).

Microsoft ja Linux

Microsoftin Steve Ballmer on kutsunut Linuxia kommunistiseksi. Tähän lausuntoon on mahdollisesti vaikuttanut Linuxin ilmaisuus, sillä Microsoftin Bill Gates on kutsunut aikaisemmin Netscape-selainta kommunistiseksi sen ilmaisuuden vuoksi. Linus Torvalds on kertonut olevansa ehdottoman epäkiinnostunut politiikasta. Microsoftin palkkaama Ken Brown ajoi väitettä, jossa Torvalds olisi kopioinut Minixiä, mutta Tanenbaum on tyrmännyt tämän väitteen.
Microsoft on myös kutsunut Linuxia syöväksi, mutta on myöhemmin liittynyt Linux Foundationiin. Microsoft on julkaissut SQL Server tietokantaohjelmistonsa myös Linuxille vuonna 2017.

SCO vs. Novell, SCO vs. IBM

SCO haastoi Novellin ja IBM:n oikeuteen väittäen näiden kopioineen luvatta Unixin lähdekoodia Linuxiin ja väittäen omistavansa tekijänoikeuden Unixiin. SCO:n väitteet on tyrmätty oikeudessa.

Elokuvia

Linuxia käsitteleviä elokuvia ovat Koodi ja Revolution OS.