Mis on avatud lähtekoodiga tarkvara: täielik juhend koos ajaloo, litsentside ja kasutusviisidega

Viimane uuendus: 5 2025i septembris
  • Avatud lähtekoodiga tarkvara võimaldab teil koodi vaadata, muuta ja jagada selgete litsentsidega.
  • Selle kultuur põhineb läbipaistvusel, koostööl ja kiirel prototüüpimisel.
  • On olemas lubavad, copyleft-, LGPL- ja avaliku omandi litsentsid.
  • Ettevõtted ja sihtasutused (nt OSI, AWS) juhivad standardeid ja nende kasutuselevõttu.

avatud lähtekoodiga illustratsioon

Digitaalne maailm, mida me iga päev kasutame, õitseb avatud lähtekoodil : alates veebisaite majutavatest serveritest kuni mobiiltelefonide, brauserite ja üha suureneva osa tehisintellektini. Kuigi avatud lähtekoodi aetakse mõnikord segi "vaba tarkvaraga", ei ole avatud lähtekoodi olemus mitte hind, vaid vabadus koodi vaadata, uurida, muuta ja jagada .

Me ei räägi siin ainult filosoofiast: see on ka töö- ja tehnoloogiatootmisviis, kus globaalne kogukond panustab täiustustesse, parandab vigu ja kiirendab innovatsiooni. Ja jah, ettevõtted osalevad üha enam, sest nad avastavad, et avatud koostöö tulemuseks on pikas perspektiivis sageli usaldusväärsed, turvalised ja kulutõhusad tooted.

Mis on avatud lähtekoodiga
Seotud artikkel:
Mis on avatud lähtekoodiga: lähemalt

Mis on avatud lähtekoodiga?

Kui me ütleme, et tarkvara on avatud lähtekoodiga, tähendab see, et selle lähtekood on kättesaadav kõigile, kes soovivad seda auditeerida, kohandada või laiendada. Arendaja saab lisada funktsioone, parandada vigu või programmi osi ümber kujundada ning olenevalt litsentsist neid täiustusi edasi levitada. Näiteid on palju: Linuxist ( operatsioonisüsteem) Mozilla Firefoxini (brauser) ning sealhulgas andmebaasid , pilvandmetöötluse tööriistad ja masinõppe rakendused.

See mudel läheb kaugemale pelgast koodi edastamisest: see kehtestab läbipaistvad reeglid osalemiseks, muudatuste läbivaatamiseks ja muudetud versioonide levitamiseks . See võimaldab kogukonnal ja organisatsioonidel tugineda ühisele alusele ja vähendada sõltuvust tarnijatest.

avatud lähtekoodiga kogukonna esindatus

Ajalugu ja areng: vabast tarkvarast avatud lähtekoodini

80. aastatel juhtis Richard Stallman GNU projekti kaudu vaba tarkvara liikumist, millel oli selge fookus: kasutaja vabadus programme käivitada, uurida, muuta ja jagada. Tema kuulus metafoor rõhutab, et "vaba" tähendab vabadust , mitte tingimata "tasuta".

Patenteeritud tarkvara levikuga muutus kood kaitstud varaks ning kasutajad kaotasid võimaluse programme kohandada või auditeerida . 1997. aastal avaldas Eric S. Raymond murrangulise essee "The Cathedral and the Bazaar", milles võrreldi suletud arendust ("katedraali") avatud ja koostööl põhineva protsessiga ("basaariga") internetis.

1998. aastal saavutati oluline verstapost: Netscape avaldas oma brauseri lähtekoodi (Project Mozilla), mis viis lõpuks Firefoxi ja Thunderbirdini . Samal aastal tekkis avatud lähtekoodi algatus (OSI) , mis vormistas termini "avatud lähtekood" ja selle definitsiooni. Idee oli esile tõsta avatud arenduse metodoloogilisi ja ärilisi eeliseid, eristades neid "vaba tarkvara" filosoofilisest komponendist.

Selliste platvormide nagu GitHub esiletõusuga muutus koostöö globaalseks ja laialt levinud. See, mis algas "mässuna" patenteeritud tarkvara suletud olemuse vastu, sai lõpuks tööstusstandardiks , kus ettevõtted nagu IBM ja Microsoft toetasid aktiivselt kogukonnaprojekte.

Lähtekood vs binaarfailid: miks on oluline näha sisikonda

Arvuti ei mõista kõrgetasemelisi juhiseid: see käivitab kompilaatorite ja interpretaatorite loodud binaarfaile (baitkoode või opkoode). Käivitatavad failid on kohandatud operatsioonisüsteemile ja on oma olemuselt inimestele raskesti loetavad. Seega, kui levitatakse ainult binaarfaile, on töö auditeerimine või taaskasutamine keeruline ilma täiustatud pöördprojekteerimise tööriistadeta.

Avatud lähtekood murrab selle barjääri, avaldades lähtekoodi. Kuigi see ei tähenda, et seda saab piiranguteta kasutada, võimaldab see kõigil õppida, muudatusi teha või projekti edasi arendada , et uusi ideid uurida. Avatud koostöö soodustab ristviitamist, vigade tuvastamist ja pidevat täiustamist.

Avatud kogukondade kultuurilised põhimõtted

Avatud lähtekoodiga kogukonnad jagavad väärtusi ja eesmärke, mis suunavad otsuste langetamist. Praktikas seavad nad esikohale läbipaistvuse : kogu panustamiseks oluline teave (kood, arutelud, plaanid) on kättesaadav, mis parandab otsuste kvaliteeti ja lihtsustab igaühel liitumist.

  Kuidas muuta vana tahvelarvuti teiseks ekraaniks ja muud loomingulised kasutusviisid

Avatud koostöö on veel üks oluline põhimõte. Projektid ehitatakse üles kollektiivse pingutusena: teiste töö täiustused on teretulnud ning tehnilise järjepidevuse säilitamiseks ja teistel lahenduse tulevikus kohandamiseks on määratletud selged reeglid.

Lisaks soodustatakse kiiret prototüüpimist iteratiivsete tsüklite kaudu. Ideid testitakse, kogemustest õpitakse ja need, mis ei tööta, visatakse dramaatiliselt kõrvale, tugevdades seeläbi eksperimenteerimiskultuuri.

Juhtimismehhanismina taotlevad paljud kogukonnad kaasavat meritokraatiat : kõiki hääli saab kuulda ja samal ajal saavad ideed, mis tõestavad oma väärtust, rohkem toetust ja ühist pingutust.

rahvahulga hankimise diagramm

Avatud lähtekoodiga tarkvara funktsioonid: disainist arenduseni

Selleks, et projekti saaks pidada tõeliselt avatuks, tuleb see avaldada avatud lähtekoodi litsentsi alusel , mis vastab sellistele kriteeriumidele nagu lähtekoodi, modifikatsioonide ja tuletatud teoste levitamine ilma isikute või kasutusalade diskrimineerimiseta ning ilma suvaliste äriliste piiranguteta.

Avatud disain hõlmab läbipaistvate protsesside kaudu planeerimist ja prioriteetide seadmist, mis võimaldab kogukonnal tegevuskava mõjutada. Kuigi konsensuse saavutamine võtab aega, viib see sageli lahendusteni, mis vastavad paremini kasutajate tegelikele vajadustele.

Avatud arendus võtab kasutusele kaasavad ja nähtavad protsessid (nt avalikud repositooriumid ja tööriistad, selged kriteeriumid panuste vastuvõtmiseks), nii et täiustust hinnatakse selle kvaliteedi, mitte selle esitanud isiku staaži järgi.

Avatud kogukond otsib vastutulelikku keskkonda, kus igaüks saab liikuda juhirollide poole, tasakaalustades arendajate ja kasutajate huve ühiste eesmärkidega.

Avatud lähtekoodiga vs. patenteeritud tarkvara: usaldusväärsus, turvalisus ja litsentsimine

Omandiõigusega tarkvaras sõltub hooldus ühest organisatsioonist, mis koodi kontrollib. Seevastu paljudel avatud projektidel on tuhandeid hajutatud kaastöölisi, mis sageli tagab pideva ülevaatuse ja risttestimise tõttu suurema usaldusväärsuse .

Turvalisuse seisukohast võib igas koodis olla vigu; erinevus seisneb reageerimise kiiruses . Avatud projektid kipuvad parandusi kiiresti avaldama, kui kogukond haavatavustest teatab. Nähtavus loob kiireloomulisuse paranduste tegemiseks ja parandab sageli algset tarkvara. Heartbleedi juhtum tõi esile nii riski kui ka ökosüsteemi reageerimisvõime.

Ka litsentsid erinevad. Omandiõigusega tarkvara levitatakse tingimustel, mis piiravad koodi vaatamist, muutmist või edasilevitamist . Avatud litsentsid seevastu lubavad kasutamist, muutmist ja jagamist (sõltuvalt tüübist kehtivate eritingimustega) ning vähendavad seotust müüjaga.

Kõige levinumad avatud lähtekoodiga litsentside tüübid

Avalik omand : lubab piiramatut muutmist, kasutamist ja kommertsialiseerimist. Üldiselt loobuvad autorid tahtlikult autoriõigusest või on nende teos läinud avalikku omandisse.

Lubav (nt Apache, BSD): kehtestab minimaalsed nõuded. Muudetud versioone saab luua ja levitada, isegi integreerida kommertstoodetesse, säilitades samal ajal autoriõiguse märkused ja põhitingimused.

LGPL (Väiksem GPL): mõeldud teekide jaoks. See võimaldab linkida LGPL-mooduleid rakendustest (isegi kommertsrakendustest). Kui teeki ennast muudetakse, tuleb muudatused sama litsentsi alusel levitada .

Autoriõigus (nt GPL): nõuab, et levitamise korral avaldatakse tuletatud teosed samadel tingimustel. Tarkvara võib müüa, kuid ostjal säilib vabadus seda edasi levitada . Lisaks tuleb algsed autorid ära märkida.

Avatud standardid: reeglid, mitte kood

Avatud standardid on avalikud tehnilised spetsifikatsioonid, mis edendavad koostalitlusvõimet ja ühtsust. Need on rakendamiseks ja uuendamiseks kättesaadavad ilma liigsete takistusteta, muutes elu lihtsamaks: alates sülearvuti ühendamisest mis tahes ruuteriga kuni platvormideüleselt ühilduvate vormingute kasutamiseni.

  Tarkvara haavatavused: tüübid, riskid ja kuidas nendega toime tulla

Märkus: Standardid ja avatud lähtekoodiga tarkvara ei ole samad. Standardid määratlevad, kuidas tarkvara peaks olema kirjutatud või käituma, mitte koodi ennast. Selleks, et neid saaks pidada "avatud lähtekoodiga tarkvaraks", ei tohi nende rakendamiseks vaja minna patenteeritud tehnoloogiat .

Kes valvab avatud lähtekoodiga tarkvara?

Avatud Lähtekoodi Algatus (OSI) on mittetulundusühing, mis haldab avatud lähtekoodi definitsiooni ja heakskiidetud litsentside loendit. Selle suuniste järgimine võimaldab kasutada silti „OSI poolt heaks kiidetud”, mis loob usaldust ja hõlbustab projektide ja ettevõtete vahelist koostööd.

Ärimudelid ja kommertsversioonid

Avatud lähtekoodiga tarkvaraga tehakse ka raha. Levinud strateegia on pakkuda teenuseid ja tuge ettevõttekeskkondadele. Red Hati juhtum (mille IBM omandas ühe sektori suurima tehinguga) näitas, et tootmisplatvormide kureerimises, sertifitseerimises ja hooldamises on ärivõimalus.

Teine lähenemisviis on SaaS-mudel : avatud lähtekoodiga tarkvara on all, hallatavad teenused peal. Näiteks WordPress ühendab avatud lähtekoodiga tarkvara majutusplaanide, toe ja täiustatud funktsioonidega, mille eest saab tasuda tellimuse kaudu.

Andmebaasides ja ERP-des on tüüpilised kahesugused litsentsimudelid : avatud versioon (nt GPL) ja omandiõigusega versioon lisadega (täielikult hallatav, ettevõtte tasemel varukoopiad, täiendav krüptimine) konkreetseks äriliseks otstarbeks.

Lisaks teenivad mõned ökosüsteemid tulu liikluse, partnerluste või turuplatside kaudu . Brauserid, näiteks Firefox, on osa oma arendusest rahastanud otsingumootoritega sõlmitud lepingute kaudu; ja koostööplatvormid ühendavad tasuta pakkumisi premium-pakettide ja -teenustega.

Ettevõtete kaasamine: AWS-ist sihtasutusteni

Suurettevõtted panustavad kriitilistesse projektidesse koodi, rahastamist ja personali. Näiteks AWS panustab regulaarselt tuhandetesse kogukondadesse (GitHub, Apache, Linux Foundation jne) ning töötab turvalisuse täiustuste, skaleeritavuse, jõudluse ja uute funktsioonide kallal, võimaldades oma klientidel avatud tehnoloogiaid sujuvalt pilves juurutada.

Selline avaliku ja erasektori koostöö on kinnistanud avatud lähtekoodi kui tänapäevase infrastruktuuri alust , samas kui ettevõtted ja sõltumatud arendajad panustavad paranduste, dokumentatsiooni ja tööriistadega.

Avatud lähtekood tegevuses: andmed, tehisintellekt, plokiahel ja palju muud

Mõju on käegakatsutav. Linux domineerib serverites ja juhtivate hinnangute kohaselt sõltub sellest valdav osa ülemaailmsest veebimajutusest. Linuxi kernelile ehitatud Android võimaldab mitmetel tootjatel süsteemi kohandada ja tuua see igat tüüpi seadmetesse, demokratiseerides täiustatud nutitelefone.

Pilves sai Kubernetesest konteinerite orkestreerimise de facto standard. See ilmus 2014. aastal ja seda kasutavad igas suuruses ettevõtted ning see on loonud mitme miljardi dollari suuruse ökosüsteemi, millel on sellised funktsioonid nagu automaatne skaleerimine ja isetervendamine, mida me nüüd iseenesestmõistetavaks peame.

Kaasaegne tehisintellekt tugineb avatud raamistikele nagu TensorFlow ja PyTorch , mida on kasutatud kümnetes tuhandetes projektides ja mida ettevõtted üle maailma laialdaselt kasutusele võtavad. See avatus kiirendab katsetamist, reprodutseeritavust ja vastastikust hindamist.

Plokiahelas on sellised projektid nagu Ethereum ja Solana 100% avatud lähtekoodiga, mis võimaldab kõigil vaadata nutikaid lepinguid ja luua dAppe. Regulatiivsed arutelud (näiteks ELi MiCA raamistik stabiilsete müntide jaoks) ja DeFi ökosüsteemi areng näitavad, kuidas avatud lähtekoodiga tarkvara edendab finantsinnovatsiooni, kusjuures protokollid nagu Raydium ja Meteora kasvavad ja reageerivad turu- ja poliitilistele tingimustele.

Valdkonna aruanded näitavad, et valdav enamus ettevõtteid lisab oma tehnoloogiapaketti avatud lähtekoodiga tarkvara ning arendajate kogukond osaleb aktiivselt avalikes projektides. Akadeemilised uuringud on samuti näidanud, et avatud projekte uuendatakse kiiremini tänu mitmekesisusele ja panuste mahule.

Kuidas see praktikas toimib

Projektid on korraldatud avalikes repositooriumides (GitHub on kõige populaarsem) ning töövoogude aluseks on Git , probleemid, IDE-d ja vastastikused eksperdihinnangud. Harude, testide ja tehniliste arutelude nähtavus teeb kõigile projekti staatuse mõistmise ja täiustuste ettepanekute tegemise lihtsaks.

  Tarkvaraarenduse ISO standardid: kvaliteedi parandamine

Hooldajad määratlevad panustamise juhised, kvaliteedistandardid, CI/CD ja turvapoliitikad. Otsused dokumenteeritakse avalikult; ja forkid võimaldavad katsetada ilma põhiliini katkestamata või edendada alternatiive, kui juhtimine erineb.

Oluline punkt: avalikus repositooriumis avaldamisest ei piisa. Peate valima ja deklareerima avatud lähtekoodiga definitsiooniga ühilduva litsentsi , et kasutamise, muutmise ja levitamisega seotud õigused ja kohustused oleksid selged.

Seos vaba tarkvaraga ja terminiga „vaba”

Vaba tarkvara on sotsiaalne liikumine , mis propageerib kasutajatele teatud vabadusi. Sellest tekkis termin "avatud lähtekoodiga" kui silt, mis rõhutab metoodikat ja praktilist kasu. Tavakeeles võib seda segi ajada "vabavaraga" (kommertstooted, mis on piiratud aja jooksul või piiratud funktsionaalsusega tasuta), mis ei anna muutmis- ega levitamisõigusi.

Mõistet FOSS (vaba/avatud lähtekoodiga tarkvara) kasutatakse ka filosoofia ja praktikate ühendamisel. Igal juhul on soovitatav kontrollida, kas projekt vajab toimimiseks patenteeritud komponente, kuna see läheb vastuollu vaba tarkvara põhimõtetega, isegi kui põhikomponendid on avatud lähtekoodiga.

Juhtumid ja kogukond: Linuxi tuum, Red Hat ja sündmused

Linuxi tuum on suurepärane näide: alates 1991. aastast on tuhanded kaastöölised iga päev tuhandeid ridu lisanud, parandanud ja eemaldanud. Selline tempo oleks võimatu ilma küpsete protsesside, automatiseeritud testimise ja kaasatud globaalse kogukonnata.

Ärisektoris populariseeris Red Hat mudeli, mis põhines toel, sertifikaatidel ja teenustel missioonikriitiliste keskkondade jaoks, näidates, et avatud lähtekoodiga tehnoloogiale saab ehitada tugeva ettevõtte. Teised projektid ühendavad avatud lähtekoodi teenuste või lepingutega, mis rahastavad pikaajalist arendustegevust.

Kultuuri tähistatakse ja laiendatakse selliste üritustega nagu Hacktoberfest (igal oktoobril panustavad tuhanded inimesed igasugustesse projektidesse) või FLISOL Ladina-Ameerikas, kus korraldatakse tegevusi vaba tarkvara kasutamise ja filosoofia edendamiseks.

Levinud müüdid ja tegelikkus

„Kui see on tasuta, peab see olema halb“: vale. On olemas väga kvaliteetset avatud lähtekoodiga tarkvara , mis on sageli parem kui patenteeritud alternatiivid. „See on vähem turvaline, kuna kood on nähtav“: samuti vale. Avalik kontroll võimaldab vigu varakult avastada ja parandada.

„Tuge pole”: see sõltub projektist. Paljud avatud lähtekoodiga lahendused pakuvad professionaalseid plaane ja igal juhul on olemas suur ettevõtete ja spetsialistide võrgustik , kes on võimelised tuge pakkuma; lisaks väga aktiivsetele kogukondadele, mis vastavad küsimustele ja dokumenteerivad parimaid tavasid.

Avatud lähtekood ühendab tehnilised vabadused koostööl põhineva tootmismeetodiga , mis on akadeemilisest haruldusest saanud eelistatud viis infrastruktuuri, rakenduste ja standardite loomiseks; me näeme seda serverites, mobiilseadmetes, tehisintellektis, plokiahelas ja pilveteenustes, kus läbipaistvus, iteratsiooni kiirus ja ulatuslik koostöö muudavad innovatsiooni kiiremaks ja annavad kõigile kindlamaid tulemusi.