- Atvirojo kodo programinė įranga leidžia peržiūrėti, modifikuoti ir bendrinti kodą su aiškiomis licencijomis.
- Jos kultūra pagrįsta skaidrumu, bendradarbiavimu ir greitu prototipų kūrimu.
- Yra leidžiamosios, autorių teisių saugomos, LGPL ir viešojo domeno licencijos.
- Standartus ir jų diegimą skatina įmonės ir fondai (pvz., OSI, AWS).
Skaitmeninis pasaulis, su kuriuo kasdien naudojamės, kvėpuoja dėka atvirojo kodo: nuo serveriai, kuriuose talpinamos svetainės mobiliesiems telefonams, naršyklėms ir vis didėjančiai dirbtinio intelekto daliai. Nors kartais tai painiojama su „nemokama programine įranga“, atvirojo kodo esmė yra ne kaina, o naudojimo laisvė. peržiūrėti, studijuoti, modifikuoti ir bendrinti kodas.
Kalbame ne tik apie filosofiją: tai taip pat yra darbo būdas ir kurti technologijas, kur pasaulinė bendruomenė prisideda prie patobulinimų, taiso klaidas ir spartina inovacijas. Ir taip, įmonės vis dažniau dalyvauja, nes pastebi, kad atviras bendradarbiavimas dažnai lemia produktus, kurie patikimas, draudimas ir pigu ilgalaikis.
Kas yra atvirojo kodo?
Kai sakome, kad programinė įranga yra atvirojo kodo, tai reiškia, kad ji šaltinio kodas yra prieinamas visiems, norintiems ją audituoti, pritaikyti ar išplėsti. Kūrėjas gali pridėti funkcijų, ištaisyti klaidas arba perkurti programos dalis ir, priklausomai nuo licencijos, platinti šiuos patobulinimus. Pavyzdžių gausu: nuo Linux (operacinė sistema) iki "Mozilla Firefox" (naršyklė), vyksta duomenų bazės arba debesijos ir mašininio mokymosi įrankiai.
Šis modelis ne tik pateikia kodą: jis nustato skaidrias dalyvavimo, pakeitimų peržiūros ir versijų platinimas modifikuotas. Tokiu būdu bendruomenė ir organizacijos gali kurti bendrą pagrindą ir sumažinti priklausomybę nuo tiekėjų.

Istorija ir evoliucija: nuo nemokamos programinės įrangos iki atvirojo kodo
80 metais Ričardas Stalmanas Jis propagavo laisvosios programinės įrangos judėjimą iš GNU projekto, aiškiai orientuodamasis į vartotojo laisvę paleisti, studijuoti, modifikuoti ir bendrinti programas. Jo garsioji metafora pabrėžia, kad „laisva“ yra tarsi laisvė, nebūtinai „nemokamai“.
Atsiradus patentuotai programinei įrangai, kodas tapo saugomu turtu, o vartotojai prarado galimybę tinkinti arba audituoti programos. 1997 m. Erikas S. Raymondas Jis išleido žymų esė „Katedra ir turgus“, kurioje uždara plėtra („katedra“) buvo lyginama su atviru, bendradarbiavimu grįstu procesu („turgumi“) internete.
1998 m. buvo pasiektas svarbus etapas: "Netscape" išleido savo naršyklės kodą („Mozilla Project“), kuris galiausiai lėmė "Firefox" y "Thunderbird"Tais pačiais metais Atvirojo kodo iniciatyva (OSI), įformindamas terminą „atvirasis kodas“ ir jo apibrėžimą. Idėja buvo pabrėžti atvirojo kodo kūrimo metodologinę ir verslo naudą, atskiriant ją nuo filosofinio „laisvosios programinės įrangos“ komponento.
Išpopuliarėjus tokioms platformoms kaip „GitHub“, bendradarbiavimas tapo pasaulinis ir masinis. Tai, kas prasidėjo kaip „maištas“ prieš patentuotos programinės įrangos slaptumą, galiausiai virto... pramonės standartas, o tokios įmonės kaip IBM ir „Microsoft“ aktyviai remia bendruomenės projektus.
Šaltinio kodas ir dvejetainiai failai: kodėl svarbu matyti esmę
Kompiuteris nesupranta aukšto lygio instrukcijų: jis jas vykdo dvejetainis (baitų kodai arba operaciniai kodai), generuojami kompiliatorių ir interpretatorių. Vykdomieji failai yra pritaikyti operacinei sistemai ir dėl savo konstrukcijos nėra lengvai skaitomi žmonėms. Todėl, kai platinami tik dvejetainiai failai, tai yra sudėtinga. auditas arba pakartotinis naudojimas dirbant be pažangių atvirkštinės inžinerijos įrankių.
Atvirasis kodas įveikia šią kliūtį publikuodamas šaltinio kodą. Nors tai nereiškia, kad jį galima naudoti be sąlygų, jis leidžia kiekvienam mokytis, siūlyti pakeitimus ar... šakutė (fork) projektas, skirtas naujoms idėjoms tyrinėti. Atviras bendradarbiavimas skatina kryžminę peržiūrą, klaidų aptikimą ir nuolatinį tobulėjimą.
Atvirų bendruomenių kultūriniai principai
Atvirojo kodo bendruomenės turi bendras vertybes ir tikslus, kuriais vadovaujasi priimant sprendimus. Praktiškai jos daugiausia dėmesio skiria skaidrumasVisa svarbi informacija, skirta prisidėti (kodas, diskusijos, planai), yra prieinama, todėl gerėja sprendimų kokybė ir visiems lengviau prisijungti.
La atviras bendradarbiavimas yra dar vienas ramstis. Projektai kuriami kolektyvinėmis pastangomis: priimami kitų darbų patobulinimai ir apibrėžiamos aiškios taisyklės, siekiant išlaikyti techninį nuoseklumą ir leisti kitiems ateityje pritaikyti sprendimą.
Be to, tai skatina greitas prototipų kūrimas per iteracinius ciklus. Idėjos yra išbandomos, patirtis pasimokoma, o tos, kurios neveikia, atmetamos be dramos, taip stiprinant eksperimentavimo kultūrą.
Kaip valdymo mechanizmas, daugelis bendruomenių siekia įtrauki meritokratijaVisų balsai gali būti išgirsti, o tuo pačiu metu idėjos, kurios įrodo savo vertę, sulaukia daugiau palaikymo ir kolektyvinių pastangų.

Atvirojo kodo programinės įrangos funkcijos: nuo projektavimo iki kūrimo
Kad projektas būtų laikomas tikrai atviru, jis turi būti publikuojamas su atvirojo kodo licencija kuris atitinka tokius kriterijus kaip leidimas platinti šaltinio kodą, modifikacijas ir išvestinius kūrinius nediskriminuojant asmenų ar naudojimo būdų ir be savavališkų komercinių apribojimų.
El atviras maketas Tai apima planavimą ir prioritetų nustatymą naudojant skaidrius procesus, leidžiančius bendruomenei daryti įtaką veiksmų planui. Nors susitarimui pasiekti reikia laiko, jis dažnai veda prie sprendimų, kurie geriau atitinka tikruosius vartotojų poreikius.
El atvira plėtra taiko įtraukius ir matomus procesus (pvz., viešas saugyklas ir įrankius, aiškius įnašų priėmimo kriterijus), kad patobulinimas būtų vertinamas pagal jo kokybę, o ne pagal jį pateikiančio asmens darbo stažą.
A atvira bendruomenė siekia svetingos aplinkos, kurioje kiekvienas galėtų tobulėti ir siekti vadovaujančių vaidmenų, derindamas kūrėjų ir vartotojų interesus su bendrais tikslais.
Atvirojo kodo ir patentuotos programinės įrangos palyginimas: patikimumas, saugumas ir licencijavimas
Nuosavybės teise saugomoje programinėje įrangoje priežiūra priklauso nuo vienos organizacijos, kuri kontroliuoja kodą. Priešingai, daugelyje atvirų projektų yra tūkstančiai paskirstytų bendraautorių, todėl dažnai didesnis patikimumas dėka nuolatinės peržiūros ir kryžminio testavimo.
Saugumo srityje visuose koduose gali būti klaidų; skirtumas yra tas, kad atsako greitisAtviri projektai linkę greitai išleisti pataisymus, kai bendruomenė praneša apie pažeidžiamumus. Matomumas sukuria skubumą pataisymams ir dažnai pagerina originalią programinę įrangą. „Heartbleed“ atvejis išryškino ir riziką, ir ekosistemos gebėjimą reaguoti.
Licencijos taip pat skiriasi. Nuosavybės teise saugoma programinė įranga platinama tokiomis sąlygomis, kurios apriboti peržiūrą, redagavimą ar platinimą Kodas. Kita vertus, atvirosios licencijos leidžia naudoti, modifikuoti ir bendrinti (kiekvienam tipui taikant konkrečias sąlygas) ir sumažina priklausomybę nuo tiekėjo.
Dažniausiai pasitaikantys atvirojo kodo licencijų tipai
Viešoji nuosavybėLeidžia neribotai modifikuoti, naudoti ir reklamuoti. Autoriai paprastai sąmoningai atsisako autorių teisių arba jų darbas tapo viešai prieinamas.
Leidžiamas (pvz., „Apache“, BSD): nustato minimalius reikalavimus. Modifikuotas versijas galima kurti ir platinti, netgi integruoti į komercinius produktus, jei išlaikomi autorių teisių pranešimai ir pagrindinės sąlygos.
LGPL (Mažoji GPL licencija): Skirta bibliotekoms. Leidžia susieti LGPL modulius su programomis (net ir komercinėmis). Jei pati biblioteka yra modifikuojama, pakeitimai turi būti perskirstyti pagal tą pačią licenciją.
„Copyleft“ (pvz., GPL): Reikalaujama, kad išvestiniai darbai būtų išleidžiami tomis pačiomis sąlygomis, jei jie platinami. Galite parduoti programinę įrangą, tačiau pirkėjas išlaiko laisvę perskirstytiBe to, turi būti nurodyti ankstesni autoriai.
Atviri standartai: taisyklės, o ne kodas
Atvirieji standartai yra viešos techninės specifikacijos, kurios skatina sąveika ir vienodumą. Juos galima diegti ir atnaujinti be jokių nereikalingų kliūčių, todėl gyvenimas tampa patogesnis: nuo nešiojamojo kompiuterio prijungimo prie bet kurio maršrutizatoriaus iki suderinamų formatų naudojimo įvairiose platformose.
Pastaba: Standartai ir atvirojo kodo programinė įranga nėra tas pats. Standartai apibrėžia, kaip turėtų būti rašoma ar elgiamasi tam tikro tipo programine įranga, o ne patį kodą. Kad būtų „atviri“, jie neturi reikalauti patentuota technologija jos įgyvendinimui.
Kas prižiūri atvirojo kodo technologijas?
La Atvirojo kodo iniciatyva (OSI) yra ne pelno siekianti organizacija, tvarkanti atvirojo kodo apibrėžimą ir patvirtintų licencijų sąrašą. Laikantis jos kriterijų, galima naudoti ženklą „OSI patvirtinta“, kuris kuria pasitikėjimą ir palengvina bendradarbiavimą tarp projektų ir įmonių.
Verslo modeliai ir komercinės versijos
Atvirojo kodo projektai taip pat yra monetizuojami. Pasikartojanti schema yra siūlyti paslaugos ir palaikymas įmonių aplinkai. „Red Hat“ atvejis (IBM įsigijo ją vieno didžiausių sektoriaus sandorių metu) parodė, kad gamybinių platformų kuravimas, sertifikavimas ir priežiūra yra perspektyvūs.
Kitas požiūris yra SaaS modelisAtvirojo kodo programinė įranga pateikiama apačioje, o valdomos paslaugos – viršuje. Pavyzdžiui, „WordPress“ derina atvirojo kodo programinę įrangą su prieglobos planais, palaikymu ir išplėstinėmis funkcijomis, už kurias mokama prenumeratos būdu.
Yra modelių dviguba licencija, būdinga duomenų bazėms ir ERPatvira versija (pvz., GPL) ir patentuota versija su papildomais priedais (visiškai valdomos, įmonės lygio atsarginės kopijos, papildomas šifravimas), skirta konkretiems komerciniams tikslams.
Be to, kai kurios ekosistemos gauna pajamas iš srautas, sutartys arba prekyvietėTokios naršyklės kaip „Firefox“ dalį savo kūrimo finansavo sudariusios sutartis su paieškos sistemomis; o bendradarbiavimo platformos derina nemokamus pasiūlymus su aukščiausios kokybės planais ir paslaugomis.
Įmonių įsitraukimas: nuo AWS iki fondų
Didelės įmonės prisideda prie svarbių projektų kodu, finansavimu ir žmonėmis. AWS, pavyzdžiui, reguliariai prisideda prie tūkstančių bendruomenių („GitHub“, „Apache“, „Linux Foundation“...) ir dirba ties saugumo patobulinimais, mastelio keitimu, našumu ir naujomis funkcijomis, suteikdama savo klientams galimybę diegti atviras technologijas debesyje be trinties.
Toks viešojo ir privačiojo sektorių bendradarbiavimas įtvirtino atvirąjį kodą kaip pagrindą moderni infrastruktūra, o įmonės ir nepriklausomi kūrėjai prisideda prie pataisymų, dokumentacijos ir įrankių kūrimo.
Atvirasis kodas praktikoje: duomenys, dirbtinis intelektas, blokų grandinė ir kita
Poveikis akivaizdus. „Linux“ dominuoja serveriuose ir, remiantis žinomais skaičiavimais, didžioji dalis pasaulio prieglobos paslaugų priklauso nuo jos. „Android“, sukurta naudojant „Linux“ branduolį, leidžia daugeliui gamintojų pritaikyti sistemą ir perkelti ją į visų tipų įrenginius. demokratizavimas pažangūs išmanieji telefonai.
Debesyje Kubernetes Jis tapo faktiniu konteinerių orkestravimo standartu. Išleistas 2014 m., jį naudoja įvairaus dydžio įmonės ir jis sukūrė milijardų vertės ekosistemą, kurioje naudojamos tokios praktikos kaip automatinis mastelio keitimas ir savęs atstatymas, kurias dabar laikome savaime suprantamomis.
Šiuolaikinis dirbtinis intelektas remiasi atviromis sistemomis, tokiomis kaip TensorFlow y „PyTorch“, kuris jau yra sukaupęs dešimtis tūkstančių projektų ir yra pritaikytas įmonėse visame pasaulyje. Šis atvirumas paspartina eksperimentavimą, atkuriamumą ir kolegų vertinimą.
En blockchainTokie projektai kaip „Ethereum“ ar „Solana“ yra 100 % atviri, todėl kiekvienas gali peržiūrėti išmaniąsias sutartis ir kurti skaitmenines programėles (dApp). Reguliavimo diskusijos (pvz., ES MiCA sistema, susijusi su stabiliomis monetomis) ir DeFi ekosistemos evoliucija rodo, kaip atvirojo kodo programinė įranga skatina finansines inovacijas, o tokie protokolai kaip raydium o Meteora auga ir reaguoja į rinkos bei politines situacijas.
Pramonės ataskaitos rodo, kad didžioji dauguma įmonių į savo technologijų rinkinį įtraukia atvirojo kodo projektus ir kad kūrėjų bendruomenė aktyviai dalyvauja viešuosiuose projektuose. Akademiniai tyrimai taip pat parodė, kad atvirojo kodo projektai yra atnaujinti greičiau dėl įnašų įvairovės ir apimties.
Kaip tai veikia praktiškai
Projektai yra organizuojami viešose saugyklose (populiariausia yra „GitHub“), o darbo eigos yra pagrįstos git, problemos, IDE ir kolegų atsiliepimus. Matomumas apie šakas, testus ir technines diskusijas leidžia visiems lengvai suprasti projekto būseną ir siūlyti patobulinimus.
Prižiūrėtojai apibrėžia įnašo gaires, kokybės standartus, CI/CD ir saugumo politiką. Sprendimai dokumentuojami viešai; ir šakės (šakos) padeda eksperimentuoti nepertraukiant pagrindinės linijos arba skatinti alternatyvas, jei valdymas skiriasi.
Svarbiausias dalykas: publikavimo viešojoje saugykloje nepakanka. Turite pasirinkti ir deklaruoti suderinama licencija su atvirojo kodo apibrėžimu, kad būtų aiškios naudojimo, modifikavimo ir platinimo teisės bei pareigos.
Ryšys su nemokama programine įranga ir terminu „nemokama“
Nemokama programinė įranga yra socialinis judėjimas kuris teigia, kad vartotojams suteikiamos konkrečios laisvės. Iš to gimsta atvirojo kodo etiketė, pabrėžianti metodą ir praktinę naudą. Žargonu kalbant, gali kilti painiavos su „nemokama programine įranga“ (komerciniais produktais, kurie yra nemokami ribotą laiką arba su sumažintomis funkcijomis), kuri nesuteikia jokių modifikavimo ar platinimo teisių.
Taip pat kalbama FOSS (nemokama / atvirojo kodo programinė įranga) kai filosofija ir praktika sujungiamos. Bet kuriuo atveju verta patikrinti, ar projektui veikti reikalingi uždari komponentai, nes tai prieštarauja laisvos programinės įrangos principams, net jei pagrindinė dalis yra atvira.
Atvejai ir bendruomenė: „Linux“ branduolys, „Red Hat“ ir įvykiai
El „Linux“ branduolys yra simbolinis pavyzdys: nuo 1991 m. tūkstančiai bendraautorių kasdien pridėjo, pataisė ir ištrynė tūkstančius eilučių. Toks tempas būtų neįmanomas be brandžių procesų, automatizuoto testavimo ir įsitraukusios pasaulinės bendruomenės.
Verslo lygmeniu, "Red Hat" išpopuliarino modelį, pagrįstą palaikymu, sertifikavimu ir paslaugomis kritinėms aplinkoms, parodydamas, kad iš atvirųjų technologijų galima sukurti tvirtą verslą. Kituose projektuose atvirojo kodo kodas derinamas su paslaugomis ar sutartimis, kurios jie finansuoja ilgalaikis vystymasis.
Kultūra švenčiama ir plečiama tokiuose susibūrimuose kaip Hacktoberfestas (kiekvieną spalį tūkstančiai žmonių prisideda prie įvairiausių projektų) arba FLISOLIS Lotynų Amerikoje, vykdant veiklą, skirtą laisvos programinės įrangos naudojimui ir filosofijai skatinti.
Paplitę mitai ir realybė
„Jei nemokama, vadinasi, blogai“: Netiesa. Yra atvirojo kodo programinė įranga. labai aukštos kokybės, dažnai lyginant su patentuotomis alternatyvomis. „Tai mažiau saugu, nes galima matyti kodą“: taip pat netiesa. Viešas patikrinimas leidžia anksčiau aptikti ir ištaisyti klaidas.
„Jokio palaikymo“: Tai priklauso nuo projekto. Daugelis atvirųjų sprendimų siūlo profesionalius planus ir bet kokiu atveju yra didelis tinklas įmonės ir specialistai, galintys teikti pagalbą, taip pat labai aktyvios bendruomenės, kurios atsako į klausimus ir dokumentuoja geriausią praktiką.
Atvirojo kodo deriniai techninės laisvės su vienu bendradarbiavimo gamybos forma Iš akademinės retenybės tai tapo pageidaujamu infrastruktūros, programų ir standartų kūrimo keliu. Tai matome serveriuose, mobiliuosiuose įrenginiuose, dirbtiniame intelekte, blokų grandinėje ir debesijos paslaugose, kur skaidrumas, greita iteracija ir masinis bendradarbiavimas skatina inovacijas greičiau ir duoda patikimesnių rezultatų visiems.
Turinys
- Kas yra atvirojo kodo?
- Istorija ir evoliucija: nuo nemokamos programinės įrangos iki atvirojo kodo
- Šaltinio kodas ir dvejetainiai failai: kodėl svarbu matyti esmę
- Atvirų bendruomenių kultūriniai principai
- Atvirojo kodo programinės įrangos funkcijos: nuo projektavimo iki kūrimo
- Atvirojo kodo ir patentuotos programinės įrangos palyginimas: patikimumas, saugumas ir licencijavimas
- Dažniausiai pasitaikantys atvirojo kodo licencijų tipai
- Atviri standartai: taisyklės, o ne kodas
- Kas prižiūri atvirojo kodo technologijas?
- Verslo modeliai ir komercinės versijos
- Įmonių įsitraukimas: nuo AWS iki fondų
- Atvirasis kodas praktikoje: duomenys, dirbtinis intelektas, blokų grandinė ir kita
- Kaip tai veikia praktiškai
- Ryšys su nemokama programine įranga ir terminu „nemokama“
- Atvejai ir bendruomenė: „Linux“ branduolys, „Red Hat“ ir įvykiai
- Paplitę mitai ir realybė