Open source open. Što je open source i zašto je važan za kriptovalute i otvoreni blockchain. Otvoreni uredski paket

Kako nastaju kompjuterski programi

Računarski program je lista instrukcija datih računaru kako bi izvršio određeni zadatak ili niz zadataka. Računari ne razumiju engleski, tako da programeri moraju prenijeti ova uputstva računaru na jeziku koji računar razumije. Računari, međutim, mogu da rade samo sa brojevima, što čini kompjuterski jezik veoma teškim za razumevanje za ljude.

Rješenje ovog problema je stvaranje srednjeg jezika koji i ljudi i kompjuteri mogu razumjeti. To su takozvani programski jezici. Programeri kreiraju listu instrukcija za računar u programskom jeziku kao što je C, Pascal ili Fortran. Ova lista uputstava poznata je kao izvorni kod. Tekstualne je prirode i čitaju ga ljudi - oni koji govore jezik. Programeri rade sav svoj posao u ovom izvornom kodu, mijenjajući upute za ispravljanje grešaka, dodavanje funkcija ili promjenu izgled programe.

Kada programer misli da je usavršio instrukcije za svoj program, on koristi poseban program koji se zove kompajler da prevede svoje tekstove čitljive ljude u mašinski čitljive brojeve koji odgovaraju tim istim uputstvima. Dobijeni fajl je upotrebljiv na računarima, ali ljudima nerazumljiv. Ovo se zove objektni kod. Rezultirajuća izvršna datoteka se često naziva binarnom, prema brojevnom sistemu koji koristi računar. Ovaj prijevod iz izvornog koda u binarni objektni kod je jednosmjeran proces. Nije moguće prevesti binarni izvršni fajl nazad u izvorni kod.

Izvršni- šta vam je potrebno ako želite da pokrenete i koristite program. Ovo je obično ono što dobijete kada kupite softver u maloprodaji. Izvorni kod je ono što vam treba ako želite razumjeti kako program radi interno, ili ako želite promijeniti, dodati ili poboljšati program. Ako imate izvorni kod i odgovarajući kompajler, možete kreirati binarnu izvršnu datoteku, ali obrnuto nije istina.

Šta je Open Source?

Softver koji je dostupan samo u binarnom izvršnom formatu je vlasnički.

Softver otvorenog koda je softver zaštićen autorskim pravima koji se distribuira kao izvorni kod prema licencnom ugovoru koji korisnicima daje posebna prava softver, prava koja obično zadržava autor. Ova licenca omogućava svim korisnicima da prave i distribuiraju binarne kopije softvera i izvornog koda bez izričitog odobrenja autora. Osim toga, omogućava korisnicima da modificiraju izvorni kod i redistribuiraju izmijenjene kopije.

Šta to znači

Pitate se zašto je Open Source važan. Važnost ovoga leži u činjenici da svaki programer bilo gdje u svijetu može vidjeti izvorni kod, popraviti greške, dodati nove funkcije i prilagoditi sistem bez ograničenja. Ovako je Linux dizajniran od samog početka, i to je razlog zašto je Linux vrlo stabilan sistem sa nekoliko grešaka, širokom hardverskom podrškom i skupom funkcija koji raste tako brzo da su proizvođači vlasničkog operativnog sistema ljubomorni. Činjenica da je izvorni kod otvoren za pregled od strane stručnjaka iz cijelog svijeta osigurava da se svi problemi pronađu i riješe brzo, a popravci se mogu distribuirati bez ograničenja. Ovo je mnogo efikasnije i delotvornije od oslanjanja na korporaciju koja će ugurati "servisni paket" negde u svoj uski raspored izdavanja. Na kraju krajeva, oni nisu plaćeni za servisne pakete.

Ono što je zaista važno je da softver otvorenog koda pripada zajednici. To je softver koji održava zajednica ljudi (ili kompanija) koje ga koriste. Besplatno je dostupan na Internetu i može ga koristiti svako. Što je još važnije, korisnici se ohrabruju da ga poboljšaju. Dijeljenjem naših poboljšanja i ideja i udruživanjem naših resursa sa hiljadama, pa čak i milionima ljudi širom svijeta putem Interneta, zajednica otvorenog koda može stvoriti moćan, stabilan i pouzdan softver po vrlo maloj cijeni.

Ali zajednica otvorenog koda je mnogo više od ljudi koji pišu softver. Svi koji koriste softver sudjeluju u stvarnoj zajednici i imaju glas. Ne morate biti programer. Jednostavnim prijavljivanjem greške autoru programa ili pisanjem jednostavnog članka s uputama, doprinosite zajednici i pomažete u poboljšanju softvera. Softver otvorenog koda pišu, dokumentuju, distribuiraju i održavaju ljudi koji ga koriste. To znači da je osjetljiv na vaše potrebe, a ne na potrebe korporacije koja vam ga pokušava prodati.

Naravno, mnoge kompanije također doprinose razvoju softvera otvorenog koda tako što svoj rad čine dostupnim cijeloj zajednici jer znaju prednosti otvorenog koda. Softver koji podržava cijela zajednica je sam po sebi bolji i stabilniji, a sve više kompanija počinje cijeniti ovu činjenicu.

Suština je da softver otvorenog koda pišu ljudi koji ga koriste svaki dan, ljudi koji imaju interes da on dobro radi i radi. Oni ne pokušavaju da dodaju popularne karakteristike, pokušavaju da podignu kvalitet. Oni ne troše vrijeme i novac pokušavajući uvjeriti ljude da je njihov softver odličan, oni ga troše pokušavajući da svoj softver učine sjajnim.

Resursi

"Otvoreni izvor" je izraz zaštitnog znaka koji opisuje softverske licence koje zadovoljavaju definiciju otvorenog koda. Zaštitnim znakom upravlja Open Source Initiative, suradnička organizacija koja je pokrenula Linux i pokret slobodnog softvera. Samo softver koji ispunjava kriterijume opisane u definiciji otvorenog koda može sebe nazvati otvorenim kodom.

Mnogo prije nego što je termin "otvoreni kod" ušao u upotrebu, postojala je zajednica ljudi posvećenih ideji "slobodnog softvera", frazi koja se ne odnosi na cijenu, već na slobodu korištenja i modifikacije (sjetite se sloboda kao u "slobodi govora", a ne "besplatnom pivu"). Ova zajednica i dalje aktivno promoviše ideale slobodnog softvera. Da biste saznali više o ovome, možete posjetiti The Free Software Foundation https://www.fsf.org/.

Za detaljnu raspravu o tome kako i zašto se razvija softver otvorenog koda, pročitajte odličan esej "Katedrala i bazar" Erica S. Raymonda.

Ako razmišljate o softveru otvorenog koda za svoje poslovanje, trebali biste posjetiti The Open Source Initiative kako biste saznali više. Svejedno pogledajte i saznajte kako zajednica otvorenog koda može povećati stabilnost, skalabilnost i moć vašeg poslovanja uz istovremeno smanjenje troškova.


Većina korištenog softvera distribuira se u kompajliranom obliku. Ovo sugerira da izvorni kod takvih programa prolazi kroz poseban kompajler koji ga pretvara u jezik razumljiv kompjuteru. Zauzvrat, softver koji koristi open source, je sušta suprotnost.

Takav se kod, u pravilu, distribuira zajedno s kompajliranom verzijom programa, što omogućava njegovu modifikaciju ili poboljšanje na svaki način kako bi se mogao obavljati širi spektar zadataka. Programeri ovakvih programa vjeruju da će s vremenom open source omogućiti da softverski proizvod postane korisniji i osloboditi se velikog broja grešaka.

Postoji nekoliko kriterija podobnosti za programe otvorenog koda:

  • besplatna distribucija softverskog paketa, ali istovremeno može biti i dio komercijalnog projekta;
  • obavezna primjena izvornog koda;
  • mogućnost bilo koga da uređuje izvorni kod;
  • mogućnost distribucije modificiranih verzija programa;
  • ne bi trebalo postojati zahtjev da se isključi drugi softver ili da se ometa njegov rad.

Razmotrimo jedan od najupečatljivijih primjera softvera koji prati otvoreni izvorni kod koji je dobio distribuciju širom svijeta. Početkom 1990-ih, finski student Linus Torvalds razvio je potpuno novi operativni sistem, baziran na Unixu, koji je danas poznat kao linux. Sistem je pušten pod licencnim ugovorom GNU Opća javna licenca, koji je sadržavao definiciju otvorenog koda sa pravne tačke gledišta. Dosta veliki broj programeri su počeli da koriste i poboljšavaju ovaj operativni sistem. Sakupivši poboljšanja programera širom svijeta u jedinstvenu cjelinu, 1994. Linus Torvalds izdaje Linux verziju 1.0. Prije toga, numeriranje verzija je vršeno počevši od nule.

Vremenom je postojala opšta zabrinutost potrošača u vezi sa nedostatkom garancije, kao i tehničke podrške za takav softver. Tako Red Hat Software kreira službeni Red Hat Linux softverski paket koji uspijeva prodati. Najznačajnija karakteristika takvog tržišnog operativnog sistema bila je garancija i tehnička podrška, što nije manje važno.

Nekoliko drugih kompanija je takođe razvijalo nove verzije Linuxa za prodaju, i ovi paketi su bili dodatno opremljen raznim softverom, među kojima: Mozilla Internet pretraživač kreiran na Netscape kernelu, Apache web server, jezik za pripremu web skripti Perl, grafički format PNG datoteke i mnogi drugi. Osim toga, postoje verzije navedenih softverskih paketa razvijene za operativni sistem. Windows sistemi i Android. Ovo sugerira da su programi otvorenog koda dostupni ne samo za računare, već i za mobilne uređaje.

Sumirajući, vrijedi reći da programi koji dolaze sa svojim otvorenim kodom imaju brojne nedostatke. Prije svega, ovo razne verzije, zbog čega usavršavanje jednog programa može uzrokovati stvaranje novog nezavisnog softverskog paketa. Druga stvar koju treba naglasiti je upotreba korisnika zastarjeli programi , u kojem se neke greške možda neće popraviti, nije moguć rad s novim formatima datoteka i tako dalje. Primjer takvog slučaja je program Microsoft Word i OpenOffice. Ako je u prvom paketu napisana neka složena formula, onda je drugi jednostavno ne može pročitati.

Također među softverima otvorenog koda ne postoje tzv specijalnih paketa za knjigovodstvo i izvještavanje. Još jedan nedostatak je direktno povezan sa hardverom, činjenica je da se pri prelasku sa Windowsa na Linux mora uzeti u obzir da Linux drajveri ne postoje za sve modele računarskih uređaja, što će uzrokovati kvar sistema.

Međutim, ne zaboravimo na pozitivne aspekte takvog softvera, jer open source ima mnogo prednosti. Prvo, distribuira se sav softver otvorenog koda besplatno. Drugo, takve programi se ponekad pojavljuju mnogo brže komercijalno zbog činjenice da je nekoliko hiljada ljudi uključeno u razvoj odjednom, a nije svaka kompanija u mogućnosti da plati rad nekoliko hiljada programera. Posljednja stvar koju treba napomenuti opcije brzog rješavanja problema, zahvaljujući čemu programi otvorenog koda rade stabilnije od komercijalnih.

Softver otvorenog koda (OSS) je kompjuterski softver koji se distribuira sa izvornim kodom dostupnim za modifikacije. Općenito, softver uključuje licencu za programere da modificiraju softver na bilo koji način. Oni mogu popraviti greške, poboljšati funkcije ili prilagoditi softver svojim potrebama. Inicijativa otvorenog koda (OSI) je vodeće tijelo u oblasti OSS; njihova definicija softvera otvorenog koda u skladu je sa pravilima o 10 kriterijuma.

To uključuje:

  • Distribucija softvera
  • Dostupnost izvornog koda
  • Distribucija licenci
  • Svojstva licence
  • Antidiskriminacija

Licence

Različite licence dozvoljavaju programerima da modifikuju softver uz različite uslove. OSI odobrava licence koje zadovoljavaju njihovu definiciju softvera otvorenog koda. 5 najpopularnijih licenci prema Black Duck bazi znanja:

  1. MIT licenca
  2. GNU Opća javna licenca (GPL) 2.0
  3. Apache licenca 2.0
  4. GNU Opća javna licenca (GPL) 3.0
  5. BSD licenca 2.0 (3 klauzule, nova ili revidirana)

Kada promijenite izvorni kod, jedan od zahtjeva OSS-a je da uključite ono što ste promijenili kao i svoje metode. Softver kreiran nakon izmjene koda može biti besplatni ili besplatni.

Razlika između otvorenog koda i komercijalnog softvera

Komercijalno dostupan softver ili vlasnički softver ne omogućava pristup svom izvornom kodu jer je softver tuđ intelektualno vlasništvo.

Kao rezultat toga, korisnici to često plaćaju.

OSS je, s druge strane, zajednički napor - softver je zajedničko intelektualno vlasništvo svih koji su pomogli u njegovom razvoju ili modifikaciji.

Softver otvorenog koda vs. Besplatni softver

Suprotno popularnom mišljenju, nijedan od njih se ne fokusira na cijenu ili nedostatke ovih programa.

Otvoreni kod podrazumijeva besplatnu dostupnost izvornog koda i distribuciju. Besplatni softver, na isti način, uključuje modifikaciju koda, ali naglašava da korisnici koji vole slobodan softver vole da rade ono što vole. Fondacija za slobodni softver postavlja 4 uslova da se softver smatra potpuno besplatnim.

Osim toga, softver se može klasificirati kao besplatni softver. To znači da korisnici besplatno preuzimaju softver, ali ne mogu mijenjati njegov izvorni kod.

Prednosti softvera otvorenog koda

Iako je cijena pokretačka snaga, OSS ima nekoliko dodatnih prednosti:

  • Visokokvalitetni rezultati kada se izvorni kod dijeli, testira i popravlja.
  • Ovo je vrijedna prilika za učenje za programere. Oni mogu naučiti i primijeniti vještine za najpopularnije programe koji su danas dostupni.
  • Mnogi smatraju softver otvorenog koda sigurnijim od vlasničkog softvera jer se greške brzo identifikuju i popravljaju.
  • Budući da je softver otvorenog koda u javnom vlasništvu, male su šanse da postane nedostupan. Ovo je važno za dugoročne projekte koji se oslanjaju na ove alate tokom trajanja projekta.
  • Većina softvera je besplatna. Međutim, kasnije se mogu pojaviti troškovi, kao što su pretplate ili naknade za podršku.

Popularne vrste softvera otvorenog koda

Tehnologije otvorenog koda pomogle su u stvaranju većeg dijela interneta.

Osim toga, mnogi programi koje vi i ja svakodnevno koristimo bazirani su na tehnologijama otvorenog koda. Na primjer, Android OS i Apple OS X su bazirani na kernelu i otvoreni kod Unix/BSD, respektivno.

Drugi popularni softver otvorenog koda:

  • web preglednik Mozilla Firefox
  • Thunderbird mail klijent
  • PHP skriptni jezik
  • Programski jezik Python
  • Apache web server server
  • > Otvoreni kod i programeri

OSS projekti su prilike za saradnju koje poboljšavaju vještine i grade veze na terenu. Programeri bi trebali biti upoznati sa standardnim alatima za razvoj otvorenog koda.

Komunikacijski alati

  • - Email, razmjenu poruka u stvarnom vremenu, forumi i wikiji pomažu programerima da pronađu rješenja ili da odbace ideje jedni od drugih. Distribuirani sistemi kontrole verzija
  • - Kada više programera na različitim geografskim lokacijama promijeni podatke i datoteke, ovi sistemi upravljaju različitim verzijama i ažuriranjima. Praćenje grešaka i liste zadataka
  • - Omogućite projektima velikih razmjera da prate probleme i prate njihove popravke. Alati za testiranje i otklanjanje grešaka
  • - Automatizacija testiranja tokom sistemske integracije i debagovanja drugih programa. Zaključak

Hiljade projekata otvorenog koda pružaju alternative vlasničkom softveru. Rad na OSS projektu kao put do karijere u razvoju softvera. Osim toga, programeri mogu usavršiti svoje vještine radeći na najvećim softverskim proizvodima na svijetu. Facebook, Google i LinkedIn kao Open Source, tako da programeri mogu dijeliti znanje, implementirati rješenja i doprinijeti stabilnim, funkcionalnim proizvodima.

Mnogi ljudi kupuju razne softvere ili koriste hakovane piratske verzije. Korisnici vide grafičko sučelje programa, ali je kod za ovaj proizvod obično skriven. S tim u vezi, gotovo je nemoguće promijeniti softver, što garantuje zaštitu autora od onih koji žele kopirati programski kod i dodijeliti ga sebi. No, uprkos tome, sve je više takozvanih programa otvorenog koda savremeni svet. Hajde da shvatimo šta su programi otvorenog koda i koje su njihove pozitivne i negativne strane.

Šta se može smatrati otvorenim kodom?

Gotovo sav softver dolazi do krajnjeg korisnika već kao gotov softver. Ovo su prilično funkcionalni programi sa lijepim sučeljem i jednostavnim za korištenje. Ako je kod ovog proizvoda otvoren, onda ga svako može promijeniti, ponuditi vlastite opcije za ispravljanje pronađenih grešaka ili napraviti neku vrstu inovacije. Dakle, kvaliteta ovog proizvoda se vremenom poboljšava. Primjeri operativnih sistema otvorenog koda su linux, Unix, ubuntu.

Svima je poznato microsoft office , čiji je analogni, ali već otvorenog koda otvorena kancelarija. Pregledači Mozilla Firefox i google chrome su također softver otvorenog koda. Postoji mnogo sličnih proizvoda, mnogi koriste veliku količinu softvera i ne sumnjaju da bi išta od ovoga moglo biti program otvorenog koda.

Funkcije otvorenog koda

Da bi se softver mogao nazvati programom, nije dovoljno da je njegov kod otvoren za sve. Takav program bi trebao biti potpuno besplatno. Osim toga, uz daljnju upotrebu i pokušaj promjene koda, korisnik također ne mora ništa platiti. Svako ima pravo slobodno distribuirati ovaj proizvod i, kao što je gore navedeno, mijenjati ga. Takvi programi nemaju ograničenja u pogledu opsega i uslova korištenja. Mogu se koristiti za poslovanje, istraživanje, obrazovanje, koristiti u vlastite svrhe neograničeno vrijeme.

Licenca softvera otvorenog koda

Licenca za takve programe je također besplatna. Ne postoje apsolutno nikakva ograničenja za primjenu, modifikacije, distribuciju, korištenje s drugim kompatibilnim softverom. Takođe, tehnološki je neutralan u odnosu na sve ostale postojeće programe.

Prednosti i nedostaci programa otvorenog koda

Za razliku od klasičnog licencnih programa, razvijeni su od strane grupe besplatnih programera, zbog čega su besplatni.

Druga važna prednost je da možemo nadogradite programske podatke. Dobar programer, nakon što je razumio kod, može dodati nove opcije programu ili poboljšati rad postojećih funkcija. Na primjer, korisnik macOS ne može promijeniti svoj operativni sistem, za razliku od linux, koji svatko može ne samo prilagoditi po svom nahođenju, već i dodati bilo koje pojedinačne funkcije. Kao rezultat toga, dobit će potpuno novi proizvod, koji je vrlo zgodan za korištenje. Ako je rezultirajući program zaista dobar, onda se može patentirati, pa čak i prodati (!)

Još jedna neosporna prednost programa je njihova zaštita od virusa. Gotovo svi virusi su napisani za aplikacije Windows, i malver na istom linux zanemarljiv iznos. Stoga je vjerovatnoća zaraze virusom korištenjem operativnog sistema otvorenog koda vrlo mala.

Danas mnoge organizacije prelaze na korištenje softvera otvorenog koda. Ovo smanjuje troškove i minimizira mogućnost hakovanja sistema.

Ali svaka medalja, kao što znate, ima dvije strane, reći ćemo o nedostacima otvorenog koda programe.

Ako imate bilo kakvih problema sa softverom, obično kontaktirate tehničku podršku. Softver otvorenog koda ga nema. Ovaj problem nastaje jer su program modificirali različiti programeri iz cijele zemlje ili čak svijeta. Dakle, morat ćete tražiti rješenje problema na otvorenim prostorima mreže. Internet ili sami shvatite.

Drugi minus opet nastaje zbog činjenice da svako može promijeniti programski kod. Često se pogledi ljudi možda ne poklapaju, a to uzrokuje sukobe u modificiranju proizvoda. To može dovesti do propasti projekta na kojem su mnogi ljudi radili dugo vremena.

Također ispod open sourcečesto prerušen malware, razlikovati ih od stvarnog sigurnog softvera ponekad može biti vrlo teško.

Unatoč činjenici da takvi programi imaju neke nedostatke, sve više korisnika je zainteresirano za njih. Sve više i više proizvoda danas se stvara pomoću otvorenog koda. To znači da takvi programi imaju budućnost i da su vrijedni pažnje.