pienoiskuva | oikea | alt=Grafiikka jossa vihreä koodia kuvastava symboli (</>) sinisellä taustalla jossa toistuu teksti ”open source”. | Avointa lähdekoodia kuvastava grafiikka.Avoin lähdekoodi () tarkoittaa ohjelmistojen tuottamis- ja kehitysmenetelmiä, jotka tarjoavat käyttäjälle mahdollisuuden tutustua ohjelman lähdekoodiin ja muokata sitä omien tarpeidensa mukaisesti. Avoimen lähdekoodin periaatteisiin kuuluu myös vapaus käyttää ohjelmaa mihin tahansa tarkoitukseen ja kopioida ja levittää sekä alkuperäistä että muokattua versiota.

Paitsi ohjelmistojen kehitysmenetelmiin avoimella lähdekoodilla voidaan viitata myös niiden avulla tuotettuihin ohjelmistoihin sekä kehittäjäyhteisöön. Käytännössä avoin lähdekoodi tarkoittaa pitkälti samaa asiaa kuin vapaa ohjelmisto, joista puhuttaessa halutaan usein painottaa ohjelmistokehityksen eettisiä ulottuvuuksia. Avoimesta lähdekoodista puhuttaessa huomio saattaa pikemminkin kiinnittyä vapaudesta ja avoimuudesta seuraaviin käytännön hyötyihin. Vapaiden ohjelmistojen ja avoimen lähdekoodin vastakohtana voidaan pitää omisteisia ohjelmistoja ja suljettua lähdekoodia.

Tunnetuimpia avoimen lähdekoodin tuotteita ovat Firefox-selain, LibreOffice-toimisto-ohjelmisto ja Linux-käyttöjärjestelmä, joka pääosin muodostuu Linux-ytimestä ja GNU-hankkeen ohjelmistoista. Myös älypuhelimissa yleinen Android-käyttöjärjestelmä on avointa lähdekoodiahttps://source.android.com/.

Historia 1960- ja 1970-luvuilla ohjelmointia tehtiin akateemisissa ympäristöissä ja yritysten laboratorioissa, jotka jakoivat ja muokkasivat ohjelmistoja vapaasti. 1980-luvulla ohjelmointi siirtyi omisteisiin ohjelmistoihin ja Richard Stallman kirjoitti vapaan ohjelmiston ideologiasta sekä ohjelmistojen tekijänoikeuksista. Vuonna 1998 tapahtui merkittävä muutos kun Bruce Perens ja Eric Raymond ilmaisivat epäilyksenä etteivät yritykset ole vakuuttuneita Stallmanin näkemyksistä: tämä johti avoimen lähdekoodin liikkeeseen.

GNU-projektin lisäksi muita merkittäviä projekteja 1980-luvulla olivat Berkeley Software Distribution (BSD), X Window System ja TeX. Linus Torvaldsin aloittama ydin oli osa, jota GNU-projektilla ei vielä ollut, ja Linuxin sai helpommin toimimaan kuin 386BSD:n. Myös Torvaldsin pragmaattinen lähestymistapa kiinnosti ohjelmistokehittäjiä.

Avoin lähdekoodi viittasi aluksi avoimen lähdekoodin ohjelmistoihin, mutta avoimesta lähdekoodista on tullut liike, joka ulottuu ohjelmistotuotannon ulkopuolelle. Termin avoin lähdekoodi on esittänyt Christine Peterson. Termi kehitettiin vaihtoehdoksi, koska termi "vapaa ohjelmisto" vaati aina selityksen sen tarkoittavan oikeuksia eikä hintaa ja oli tarve selkeämmälle termille. Raymond otti termin käyttöön, Perens perusti Opensource.org:in sekä Tim O'Reilly sopi käyttävänsä sitä useissa projekteissa. Termiä käytettiin Netscape Navigatorin lähdekoodin julkaisussa ja O'Reilly & Associatesilla: 7. huhtikuuta 1998 järjestettiin ensimmäinen Open Source Summit -kokoontuminen.

Määritelmä Pelkkä mahdollisuus päästä tutustumaan lähdekoodiin ei vielä tee ohjelmistosta avoimen lähdekoodin edustajaa, vaan oikeudellisesta näkökulmasta avoimeen lähdekoodiin liittyy lisenssi, jolla ohjelman tekijä tarjoaa teoksensa yhteisön käytettäväksi ja muokattavaksi. Lisenssi voi kuitenkin asettaa ehdoksi, että ohjelmaan tehtävät muutoksetkin on julkaistava samalla lisenssillä, jotta myös alkuperäinen tekijä pääsisi hyötymään muiden tekemistä parannuksista. Tekijänoikeudet säilyvät koodin kirjoittajilla, jolleivät nämä erikseen niistä luovu.

Avoimen lähdekoodin tunnuspiirteet on täsmällisesti määritellyt Open Source Initiative (OSI) -järjestö, joka pyrkii edistämään avoimen lähdekoodin ohjelmistojen käyttöä:https://opensource.org/docs/osd Ohjelman täytyy olla vapaasti levitettävissä ja välitettävissä. Lähdekoodin täytyy tulla ohjelman mukana tai olla vapaasti saatavissa. Myös johdettujen teosten luominen ja levitys pitää sallia. Lisenssi voi rajoittaa muokatun lähdekoodin levittämistä vain siinä tapauksessa, että lisenssi sallii erillisten korjaustiedostojen ja niiden lähdekoodin levittämisen. Voidaan myös vaatia, ettei johdettua teosta levitetä samalla nimellä tai versionumerolla kuin lähtöteosta. Yksilöitä tai ihmisryhmiä ei saa asettaa eriarvoiseen asemaan. Käyttötarkoituksia ei saa rajoittaa. Kaikilla ohjelman käsiinsä saaneilla on samat oikeudet. Lisenssi ei saa olla riippuvainen laajemmasta ohjelmistokokonaisuudesta, jonka osana ohjelmaa levitetään, vaan ohjelmaan liittyvät oikeudet säilyvät, vaikka se irrotettaisiin kokonaisuudesta. Lisenssi ei voi asettaa ehtoja muille ohjelmille. Ohjelmaa saa levittää myös yhdessä sellaisten ohjelmien kanssa, joiden lähdekoodi ei ole avointa. Lisenssin sisällön pitää olla riippumaton teknisestä toteutuksesta. Oikeuksiin ei saa liittää varaumia jakelutavan tai käyttöliittymän varjolla.

Näiden kriteerien mukaan esimerkiksi seuraavilla lisensseillä julkaistuja ohjelmistoja voidaan pitää avoimen lähdekoodin edustajina: GNU General Public License (GPL) ja GNU Lesser General Public Licence (LGPL), BSD-lisenssit, Mozilla Public License (MPL), Apache-lisenssit, IBM Public License, Intel Open Source License, Apple Public Source License, Nokia Open Source License sekä Sun Microsystemsin Sun Industry Standards Source License ja Sun Public License. Eri lisenssityyppejä käsitellään julkisen hallinnon suosituksessa JHS 169 Avoimen lähdekoodin ohjelmien käyttö julkisessa hallinnossa.

Avoin lähdekoodi vai vapaa ohjelmisto? Eric Raymondin essee The Cathedral and the Bazaar huomioi avoimen lähdekoodin merkityksen ohjelmiston kehitysmenetelmään vuonna 1997. Richard Stallmanin mukaan termit vapaa ohjelmisto ja avoin lähdekoodi kuvaavat lähes samoja asioita, mutta eri arvoihin perustuvia näkemyksiä: avoin lähdekoodi on kehitysmenetelmä kun taas vapaa ohjelmisto on sosiaalinen liike.

Termi avoin lähdekoodi kehitettiin helmikuussa 1998 vastauksena Netscapen päätökseen julkaista verkkoselaimensa lähdekoodit vapaalla lisenssillä. Osa vapaiden ohjelmistojen liikkeen edustajista halusi ottaa etäisyyttä liikkeen ideologiseen taustaan ja muotoilla toimintamallinsa pragmaattisemmin termein, jotka sopisivat myös yrityselämän käyttöön paremmin kuin englanninkielinen sana free, joka voi tarkoittaa paitsi vapaata myös ilmaista. Linux-ytimen alkuperäinen kehittäjä Linus Torvalds asettui heti tukemaan uutta nimitystä ja sen edustamaa näkökulmaa.

Uuden termin omaksumista harkitsi aluksi myös vapaan ohjelmiston määritelmän kehittänyt GNU-hankkeen ja Free Software Foundationin johtaja Richard Stallman, joka päätyi kuitenkin torjumaan sen. Stallman on arvostellut avoimen lähdekoodin liikettä liiasta pragmaattisuudesta ja vapaiden ja ”puolivapaiden” ohjelmien rajan hämärtämisestä. Stallman rinnastaa ohjelmistojen vapauden sananvapauteen, joka on itseisarvo, ja sanoo, että jos avointa lähdekoodia perustellaan vain käytännön hyödyillä, avoimuudesta on helppo luopua silloin, kun se edellyttää ylimääräiseltä tuntuvaa vaivannäköä.

Vaikka termistössä ja ajattelutavoissa on siis vivahde-eroja, avoimen lähdekoodin ja vapaiden ohjelmistojen liikkeiden väliset ristiriidat eivät ole olleet yhteensovittamattomia. Käytännössä kaikki vapaat ohjelmistot ovat myös avoimen lähdekoodin ohjelmistoja ja avoimen lähdekoodin ohjelmistot vapaita. Englanniksi vapaista ja avoimen lähdekoodin ohjelmistoista käytetäänkin usein yhdistettyä akronyymiä FOSS (free and open source software) tai FLOSS (free/libre and open source software). Suomeksi voidaan vastaavasti joskus käyttää akronyymiä VALO.

Avoimen ja suljetun lähdekoodin ero Avoimeen lähdekoodiin pääsee kuka tahansa tutustumaan, ja halutessaan käyttäjä voi korjata ohjelman virheitä ja lisätä uusia ominaisuuksia – tai pestata jonkun muun tekemään sen puolestaan, jos ei itse osaa tai ehdi. Tästä seuraa, että korjaukset tehdään yleensä nopeasti: parhaissa tapauksissa muutos on saatavilla muutamassa tunnissa, mikä on tärkeää esimerkiksi tietoturva­haavoittuvuuksia korjattaessa.

Omisteisen ohjelmiston käyttäjä ei yleensä pääse näkemään lähdekoodia. Mikäli ohjelmassa on puutteita, käyttäjä joutuu raportoimaan niistä ohjelman tekijälle tai vain sopeutumaan tilanteeseen yrittäen vähimmäistää haitat. Jos lähdekoodi on avoin, voi käyttäjä itse muokata koodia tai palkata kenet tahansa tekemään siihen haluamansa muutokset.

Avoimen lähdekoodin kehitystä tekevät sekä yritykset että vapaaehtoiset henkilöt. Yritykset osallistuvat avoimen lähdekoodin kehitystyöhön, koska tulisi kalliimmaksi kehittää vastaavanlainen kokonaan uusi tuote tai ostaa jonkin omisteisen tuotteen lisenssi.

Avointa lähdekoodia kehitetään jatkuvasti ja sitä ei pidetä sanan perinteisessä mielessä valmiina tuotteena vaan jatkuvana prosessina.

Suosio Avoimen lähdekoodin suosion syy ei ole ohjelmiston ilmaisuus. Avoimen lähdekoodin todellinen voima on yhteistyössä. Avoimen lähdekoodin projektin parissa työskentelee lukuisia ihmisiä, jotka kykenevät tekemään siitä entistä paremman, kun taas suljettua lähdekoodia kehittää vain yksi henkilö tai yksi yritys. Avoimeen lähdekoodiin perustuvaa yhteistyötä on ollut jo vuosikymmenten ajan. Tekniikan alan suuryritykset Google ja Facebook ovat tehneet suuria kontribuutioita avoimen lähdekoodin maailmaan avaamalla osan ydintuotteistaan.https://economictimes.indiatimes.com/small-biz/startups/newsbuzz/why-is-open-source-software-so-popular/articleshow/62689785.cms

Avoimen lähdekoodin eduiksi mainitaan kynnyksen madaltaminen ohjelman kokeiluun: muun muassa Xen levisi laajalti ilman omaa markkinointia. Ohjelman käyttö on ydinasia ja ilman käyttäjiä ohjelma ei materialisoidu. Perinteiseen malliin verrattuna, joka riippui markkinointilupauksista ja yksittäisistä esittelyversioista, avoimen lähdekoodin ohjelmissa käyttäjä tietää täsmälleen mitä saa eikä luota pelkkiin lupauksiin: lähdekoodin voi nähdä yksi tai 100 henkilöä ja kehittäjät eivät voi tehdä lepsusti.

Vuoden 2024 Open Source Security and Risk Analysis (OSSRA) -raportin mukaan 77 prosenttia kaikesta lähdekoodista on peräisin avoimesta lähdekoodista ja jokaisessa lähdekoodikannassa on mukana avointa lähdekoodia: useimmissa avointa lähdekoodia oli 99-100 prosenttia.

Vuoden 2022 State of Open Source Report -raportin mukaan ohjelmointikielet ja ohjelmistokehykset olivat yleisintä yritysten käyttämään avointa lähdekoodia. Tämän jälkeen tulivat tietokantajärjestelmät, käyttöjärjestelmät, versiohallintajärjestelmät, tekoälyn ja koneoppimisen kehykset ja työkalut, sekä jatkuvan integraation ja jatkuvan toimituksen (CI/CD) työkalut.

Taloudellinen merkitys Avoimen lähdekoodin arvoa taloudellisesti sanotaan vaikeaksi arvioida, koska sen luonteeseen kuuluu, ettei tarvitse antaa rahallista vastiketta käytöstä ja ei ole keskitettyä seurantaa käytöstä. Arvoa voidaan laskea tuotantokustannuksien mukaan (paljonko maksaisi tehdä vastaava ohjelmisto uudestaan tyhjästä) ja kysyntäarvon mukaan (taloudellisesti ja sosiaalisesti). Arvion mukaan laajasti käytetyn avoimen lähdekoodin käyttöjärjestelmän tuotantokustannus olisi 4,15 miljardia dollaria, jos se pitäisi tehdä tyhjästä uudelleen. Käyttöarvo on huomattavasti suurempi 8,8 triljoonaa dollaria ja yritysten pitäisi käyttää 3,5 kertaisesti ohjelmistoihin mikäli avointa lähdekoodia ei olisi. Arvion mukaan viisi prosenttia avoimen lähdekoodin kehittäjistä on vastuussa 96 prosentista sen käyttöarvosta.

Digitaalinen suvereniteetti Euroopan unioni on asettanut tavoitteeksi vahvistaa Euroopan digitaalista suvereniteettia johtuen EU:n ulkopuolisten yritysten vaikutusvallasta.