Atviro kodo programinės įrangos apibrėžimas ir pavyzdžiai
Logan Paul - Outta My Hair [Official Music Video]
Turinys:
- Atviro kodo programinės įrangos kriterijai
- Licencijos
- Atviro kodo programinė įranga prieš komercinę programinę įrangą
- Atviro kodo programinė įranga, palyginti su laisva programine įranga
- Atviro kodo programinės įrangos privalumai
- Populiarūs atviro kodo programinės įrangos tipai
- Atviro kodo programinė įranga ir kūrėjai
- Esmė
Atviro kodo programinė įranga (OSS) - tai bet kokia kompiuterių programinė įranga, kuri yra platinama su jos pradiniu kodu, kurį galima keisti. Tai reiškia, kad ji paprastai apima licenciją programuotojams keisti programinę įrangą bet kokiu būdu: jie gali išspręsti klaidas, pagerinti funkcijas arba pritaikyti programinę įrangą pagal savo poreikius.
Atviro kodo programinės įrangos kriterijai
Atvirojo kodo iniciatyva (OSI), pasaulinė ne pelno įstaiga, įkurta 1998 metais, yra pagrindinė OSS institucija. Atvirojo kodo programinės įrangos apibrėžime yra 10 kriterijų, susijusių su tokiais klausimais:
- Programinės įrangos perskirstymas
- Pradinio kodo prieinamumas ir vientisumas
- Licencijų platinimas ir savybės
- Išvestiniai darbai
- Kova su diskriminacija
Licencijos
Įvairios licencijos leidžia programuotojams keisti programinę įrangą su įvairiomis pridedamomis sąlygomis. Pagal „Black Duck KnowledgeBase“, maždaug dviejų milijonų atviro kodo projektų duomenų bazę, penkios populiariausios licencijos yra šios:
- MIT licencija
- GNU bendroji viešoji licencija (GPL) 2.0
- „Apache“ licencija 2.0
- GNU bendroji viešoji licencija (GPL) 3.0
- BSD licencija 2.0 (3 sąlyga, nauja arba pataisyta)
Pakeitus šaltinio kodą, OSS reikalauja, kad įtrauktumėte tai, ką pakeitėte, ir metodus. Programinė įranga, sukurta po kodo pakeitimų, gali būti arba gali būti nemokamai prieinama.
Atviro kodo programinė įranga prieš komercinę programinę įrangą
Prekyboje esanti programinė įranga, dar žinoma kaip komercinė ar patentuota programinė įranga, nesuteikia prieigos prie jos šaltinio kodo, nes programinė įranga yra kažkieno intelektinė nuosavybė. Todėl vartotojai dažnai už tai moka. Kita vertus, OSS yra bendradarbiavimo pastangos; Programinė įranga yra bendra intelektinė nuosavybė tarp visų, kurie padėjo ją tobulinti ar keisti.
Atviro kodo programinė įranga, palyginti su laisva programine įranga
Nors terminai dažnai vartojami pakaitomis, OSS šiek tiek skiriasi nuo laisvos programinės įrangos. Abu susiję su galimybe atsisiųsti ir modifikuoti programinę įrangą be apribojimų ar mokesčių. Tačiau laisva programinė įranga - koncepcija, sukurta devintajame dešimtmetyje MIT kompiuterių mokslo darbuotojo Richard Stallman'e, apibrėžiama keturiomis sąlygomis, kaip nurodė ne pelno laisvos programinės įrangos fondas. Šios „keturios laisvės“ pabrėžia vartotojų gebėjimą naudoti ir mėgautis programine įranga, kaip jie mano.
Priešingai, OSS kriterijai, kuriuos atvirojo kodo iniciatyva sukūrė po dešimties metų, daugiau dėmesio skiria programinės įrangos modifikavimui ir šaltinio kodo keitimo, licencijavimo ir platinimo pasekmėms.
Akivaizdu, kad abu sutampa; kai kurie teigia, kad skirtumai tarp OSS ir laisvos programinės įrangos yra labiau filosofiniai nei praktiški. Tačiau nė viena neturėtų būti painiojama su nemokama programa. „Freeware“ paprastai reiškia patentuotą programinę įrangą, kurią vartotojai gali atsisiųsti nemokamai, tačiau kurių pirminio kodo negalima keisti.
Atviro kodo programinės įrangos privalumai
Nors išlaidų trūkumas yra pagrindinis privalumas, OSS turi keletą papildomų privalumų:
- Jo kokybė gali būti lengvai ir labai pagerinta, kai jos šaltinis yra perduodamas, išbandytas ir nustatytas.
- Ji suteikia vertingų mokymosi galimybių programuotojams. Jie gali taikyti įgūdžius populiariausioms šiandien prieinamoms programoms.
- Tai gali būti saugesnė nei patentuota programinė įranga, nes klaidos yra identifikuojamos ir greitai nustatomos.
- Kadangi ji yra viešai prieinama ir nuolat atnaujinama, yra mažai tikėtina, kad ji gali tapti nepasiekiama arba greitai pasenusi - tai svarbus pliusas ilgalaikiams projektams.
Populiarūs atviro kodo programinės įrangos tipai
Atvirojo kodo technologijos padėjo sukurti daug interneto. Be to, daugelis kasdien naudojamų programų yra paremtos atviro kodo technologijomis. Pavyzdžiai: „Android“ operacinė sistema ir „Apple“ OS X yra paremtos branduolio ir „Unix / BSD“ atvirojo kodo technologijomis.
Kita populiari atviro kodo programinė įranga yra:
- „Mozilla“ „Firefox“ žiniatinklio naršyklė
- „Thunderbird“ el. Pašto klientas
- PHP skriptų kalba
- Python programavimo kalba
- Apache HTTP žiniatinklio serveris
Atviro kodo programinė įranga ir kūrėjai
OSS projektai yra bendradarbiavimo galimybės, gerinančios įgūdžius ir kuriant ryšius šioje srityje. Srityse, kuriose kūrėjai gali dirbti, yra:
- Ryšio priemonės. El. Laiškai, realaus laiko pranešimai, forumai ir vikiai padeda kūrėjams rasti sprendimus arba atsimušti idėjas.
- Paskirstytos peržiūros sistemos. Kai keli skirtingų geografinių vietovių kūrėjai keičia duomenis ir failus, šios sistemos valdo skirtingas versijas ir naujinimus.
- Klaidų stebėtojai ir užduočių sąrašai. Šios funkcijos leidžia dideliems projektams stebėti problemas ir stebėti jų pataisymus.
- Testavimo ir derinimo įrankiai. Šios funkcijos automatizuoja bandymus sistemos integravimo metu ir pašalina kitas programas.
Esmė
Atviro kodo programinė įranga yra alternatyva programinei įrangai. Dalyvavimas OSS projekte gali būti kelias kuriant programinės įrangos kūrimo karjerą, leidžiantis programuotojams patobulinti savo įgūdžius, dirbdami su didžiausia programine įranga pasaulyje. „Facebook“, „Google“ ir „LinkedIn“ visi išleidžia „OSS“, todėl kūrėjai gali dalintis žiniomis, diegti naujoves ir prisidėti prie stabilių, funkcionalių produktų.
Programinės įrangos inžinieriaus pavyzdys
Čia yra atnaujinimo pavyzdys programinės įrangos inžinieriui, turinčiam patirties. Naudokite jį kaip šabloną ar įkvėpimą jūsų pateikimui.
Kur rasti atviro kodo ir viešojo domeno programinę įrangą
Sužinokite, koks skirtumas tarp atviro kodo programų ir viešosios programinės įrangos, ir kaip atviro kodo programos nėra viešai prieinamos.
Programinės įrangos inžinieriaus įgūdžių sąrašas ir pavyzdžiai
Čia pateikiamas išsamus programinės įrangos inžinierių įgūdžių, naudojamų atnaujinti, motyvacinius laiškus ir darbo pokalbius, sąrašas.