Razlika između besplatnog softvera i softvera otvorenog koda. Što je open source i zašto je važan za kriptovalute i otvoreni blockchain

Otvoreni kod i besplatni softver
07.07.2009 12:25

Među programerima ima ljudi koji su spremni da besplatno obezbede rezultate svog rada, uz mogućnost da ih promene i unaprede. Radi se o o proizvođačima takozvani softver otvorenog koda, koji je dugi niz godina bio predmet kontroverzi u globalnoj IT zajednici. Neki kažu da je softver otvorenog koda budućnost, dok ga drugi, naprotiv, smatraju opasnim i nepotrebnim. Ali ko je na kraju u pravu? Teško da postoji definitivan odgovor na ovo pitanje.

Dakle, šta je softver otvorenog koda? Možda najčešća definicija ovog pojma otkriva njegove glavne karakteristike. Softver otvorenog koda je sav softver otvorenog koda, softverski proizvodi na osnovu kojih su dostupni ne samo za gledanje, već i za modifikaciju, što vam omogućava da koristite već kreirani kod za pisanje novih verzija softvera, za ispravke grešaka i poboljšanja otvorenog koda program. Vrijedi to napomenuti ovu definiciju, prema pristašama otvorenog koda, ne odražavaju u potpunosti samu suštinu koncepta. Sa njihove tačke gledišta, softver otvorenog koda je, pored izvornog koda dostupnog za uređivanje, i čitava filozofija čiji je smisao stvaranje informacionog društva kroz sveobuhvatnu primenu otvorene programe ny proizvodi u svim sferama ljudske djelatnosti.

U čemu je ljepota softvera otvorenog koda? Prema predstavnicima ovog trenda, softver otvorenog koda omogućava:

  1. prilagoditi softverski proizvod zahtjevima određenog korisnika ili grupe korisnika;
  2. popraviti greške prethodnih programera;
  3. rafinirati i poboljšati softver.

Osim toga, softver otvorenog koda je uglavnom besplatan, što je posebno privlačno malim i srednjim preduzećima koja, na primjer, trenutno nisu u mogućnosti sama sebi obezbijediti licence za komercijalne softverske proizvode. Također, pobornici ideje otvorenog koda ističu njegovu sigurnost kao prednost, odnosno softver otvorenog koda, zbog svoje nepopularnosti, praktički nije podložan virusnim napadima. A ako se prijetnja ipak otkrije, ona se eliminira u najkraćem mogućem roku, jer u pravilu dosta profesionalaca i amatera koji su u kontaktu jedni s drugima imaju pristup izvornom kodu. Shodno tome, sigurnosna prijetnja, koja je već otkrivena, brzo se eliminira od strane nekog od članova zajednice ili zajedničkim naporima.

Vrijedi napomenuti da u globalnom pogledu softver otvorenog koda uključuje direktno softver otvorenog koda, kao i druge vrste softverskih proizvoda koji se mogu besplatno distribuirati i dati izvorni kod za promjene. Takav softver uključuje besplatne (besplatni softver) i besplatne (slobodni softver) programe.

Dakle, termin open source (softver otvorenog koda) prvi su upotrijebili 1998. godine programeri Eric Raymond (Eric Steven Raymond) i Bruce Perens (Bruce Perens). Bili su sigurni da je termin slobodni softver (slobodni softver) na engleskom dvosmislen i da u nekom smislu može čak i uplašiti poduzetnike koji su potencijalni korisnici takvog softvera. Open Source je sada zaštitni znak Open Source Initiative, koji distribuira softver otvorenog koda. Osim toga, postoji i posebna komisija koja odlučuje da li se licenca određenog programa može nazvati otvorenim kodom.

Ovdje je vrijedno pojasniti da je većina softvera otvorenog koda također besplatna. Definicije otvorenog koda i slobodnog softvera, iako nisu potpuno iste, uglavnom su slične, a većina softverskih licenci odgovara oba.

Razlika između otvorenog koda i slobodnog softvera leži u prioritetima. Na primjer, ističu zagovornici otvorenog koda za efikasnost rad sa otvorenim kodom kao metodom razvoja, modernizacije i održavanja programa. Zagovornici pojma "slobodni softver" smatraju da su prava na slobodnu distribuciju, modifikaciju i proučavanje programa glavna prednost besplatnog softvera otvorenog koda, čime se fiksira autorstvo određenog softverskog proizvoda.

Osnivač koncepta slobodnog softvera je američki programer Richard Matthew Stallman. On je prvi formulisao koncept slobodnog softvera, koji je odražavao principe otvorenog razvoja softvera u naučnoj zajednici koji su se razvili na američkim univerzitetima 1970-ih. Stallman je formulirao jasne kriterije za slobodni softver. Ovi kriterijumi određuju prava koja autor slobodnog softvera daje svakom korisniku. Tako, korištenjem slobodnog softvera, korisnik dobiva "četiri slobode": pokreće, proučava, distribuira i poboljšava program.

  • "Nulta sloboda" - program se može koristiti u bilo koju svrhu.
  • "Prva sloboda" - možete proučiti kako program radi i prilagoditi ga za svoje potrebe. Uslov za to je dostupnost izvornog koda programa.
  • "Druga sloboda" - možete distribuirati kopije programa - da pomognete programeru.
  • "Treća sloboda" - program se može poboljšati i objaviti njegovu poboljšanu verziju kako bi koristio cijeloj zajednici. Uslov za to je i dostupnost izvornog koda programa.

Program koji zadovoljava sve ove principe može se smatrati besplatnim, odnosno garantovano otvoren i pristupačan naučnoj zajednici i jednostavno zainteresovanim ljudima i organizacijama. Mora se naglasiti da ovi principi utiču samo na dostupnost programa za opštu upotrebu, kritiku i unapređenje, ali ne predviđaju srodne sa namazom programe odnosa s novcem, uključujući i ne podrazumijevaju besplatne.

Način na koji besplatni softver funkcionira je da su softverski proizvod i njegov izvorni kod po defaultu zaštićeni autorskim pravima, što nosiocu autorskih prava daje punu moć da distribuira i modificira program, čak i ako je izvorni kod javno dostupan. Odnosno, autor ima pravo, uključujući i prodaju svog proizvoda. Međutim, jednom korisnici nije predviđeno pravo na dobijanje izvornih kodova programa, njihovo modifikovanje i distribuirati dalje, tada softver postaje vlasnički - bez obzira na druge uslove.

Što se tiče uslova distribucije i korišćenja besplatnih softverskih programa, njihovo kopiranje je često zabranjeno, a obrnuti inženjering, modifikacija, redistribucija su predviđeni ugovorom o licenci.

Međutim, postoje programi koji, prema nekim stručnjacima, potpadaju pod definiciju otvorenih, ali nisu besplatni. Takvi programi uključuju, na primjer, UnRAR, raspakivač RAR arhive. Činjenica je da je njegov izvorni kod u javnom vlasništvu, ali licenca zabranjuje njegovu upotrebu za kreiranje RAR kompatibilnih arhiva.

Naravno, važna je i činjenica da su kategorije softvera otvorenog koda različite, jer uključuju različite stepene slobode u odnosu na radnje korisnika. Istovremeno, ponekad se može uočiti značajna razlika između definicije besplatnog softvera i softvera otvorenog koda. Softver otvorenog koda, odnosno softver sa (otvorenim) izvornim kodom (Open Source Software), je metoda razvoja softvera u kojoj je generisani izvorni kod programa otvoren, odnosno javno dostupan za pregled i modifikovanje. Ovo omogućava svima da koriste već kreirani kod za svoje potrebe i, možda, pomoć u razvoju programa otvorenog koda. Besplatni softver je pravo korisnika, ali ne i obaveza proizvođača, jer Otvorena licenca ne zahtijeva da se softver uvijek daje besplatno. Međutim, mnogi od najuspješnijih projekata otvorenog koda su još uvijek besplatni.

Softver otvorenog koda je takođe ključna karakteristika slobodnog softvera, tako da se kasniji termin "Open Source Software" koji je predložio Eric Raymond nekima čini čak prikladnijim za fenomen slobodnog softvera nego što je Stallman u svoje vreme predložio "slobodni softver".

Imajte na umu da se prednosti besplatnog razvoja za korisnika ne smiju preuveličavati. Nije sav besplatni softver jednako dostupan za modifikacije od strane korisnika, što, s druge strane, nema nikakve veze s licencom za njihovu distribuciju. Važnu ulogu igra obim programa: ako sadrži desetke hiljada linija (kao, na primjer, u OpenOffice.org, analogu Microsoft Officea), onda će čak i kvalificiranom stručnjaku trebati dosta vremena da pronađete i popravite grešku. count za programere, koji će odgovoriti na sve komentare i sugestije korisnika i odmah ispraviti program, takođe je nemoguće, jer ne snose nikakve obaveze prema korisniku u pogledu kvaliteta programa. U tom smislu, korisnik vlasničkog programa može biti u boljoj poziciji.

Vrijedi napomenuti da se svi učesnici u procesu otvorenog softvera obično uključuju u određeni program iz interesa ili zbog ovaj softver im je neophodan alat za bilo koju aktivnost. Vrijeme utrošeno na razvoj programa nije plačeno stoga, nema nade da se okolnosti neće promijeniti, a razvoj neće sasvim stati. Postoje slučajevi kada je razvoj programa počeo zahvaljujući jednom autoru-entuzijasti koji je privukao mnogo ljudi da u njemu učestvuju, tada entuzijazam vođe bledi, a time se obustavlja i razvoj softvera. Nažalost, danas postoje hiljade besplatnih programa koji nikada nisu uspjeli doći do pune radne verzije. Osim toga, program može biti neophodan, ali ne i interesantan, što znači da za njega nema besplatnih programera.

Mjesto slobodnog softvera na današnjem softverskom tržištu je veoma značajno, a mnogo i komercijalno i država preduzeća koriste besplatni softver direktno ili indirektno. Na primjer, svi korisnici interneta, doduše indirektno, koriste besplatni program Bind, koji pruža DNS uslugu. Osim toga, mnoge organizacije (posebno one koje pružaju usluge putem World Wide Weba) koriste besplatni Apache web server, od čijeg rada može direktno ovisiti profit poduzeća, a da ne spominjemo servere na Linux platformi.

Prednosti korišćenja besplatnog softvera otvorenog koda su očigledne: obično ne morate da ga plaćate, a ako jeste, košta mnogo manje od vlasničkog softvera. Glavni nedostatak, sa stanovišta komercijalnog korisnika, je to što programeri slobodnog softvera nemaju nikakve obaveze osim moralnih. To jest, oni, u stvari, nisu odgovorni za kvalitet softvera.

Na primjer, u jednoj od javnih licenci (GNU) postoji čak i standardna formulacija koja navodi odsustvo garancija: „Ovaj program se pruža na osnovu „kao što jeste“. Osim ako nije drugačije navedeno u pisanoj formi, autor i/ili drugi nosilac autorskih prava ne prihvata nikakve garancijske obaveze, bilo izričite ili i podrazumevano program, uključujući implicirana jamstva za prodaju i prikladnost za određenu namjenu, i sve druge garancije."

Inače, trenutno je GNU sistem, poznatiji kao GNU/Linux ili jednostavno Linux, prilično uobičajen, posebno na tržištu servera, i predstavlja kompletan softverski proizvod. Sastoji se od velikog broja GNU projektnih programa (prvenstveno sistemskih uslužnih programa i GNU alata), Linux kernela - dijela sistema koji je odgovoran za pokretanje drugih programa, uključujući drajvere uređaja i slično - i niz drugih besplatnih programa .

Stoga danas postoji tendencija da velike IT korporacije poput Intela, Oraclea ili IBM-a pokušavaju da podrže projekte razvoja besplatnog softvera tako što plaćaju rad zaposlenih na tim projektima tako da stepen odgovornosti programera bude na visokom nivou. Zašto to rade, jer im je otvoreni i besplatni softver konkurentan? Odgovor je jednostavan - u tome vide prednost, koju pokušavaju da ne propuste, jer se svakodnevno pojavljuju mnogi programi bazirani na softveru otvorenog koda, od kojih neki kasnije mogu postati jaki komercijalni proizvodi.

Postoji nekoliko glavnih licenci koje se trenutno koriste za distribuciju besplatnog softvera: AROS javna licenca, BSD licenca, CDDL, zajednička javna licenca, GNU licenca za slobodnu dokumentaciju, GNU opšta javna licenca, GNU manja opšta javna licenca, MIT licenca, Mozilla javna licenca, otvoreni imenik Licenca, itd. Sve slobodne licence, na ovaj ili onaj način, karakteriše usklađenost sa principima copyleft-a (copyleft je igra reči copyright). U kontrastu Tradicionalni pristup autorskim pravima koji ograničava slobodu kopiranja djela, princip copyleft-a koristi zakone o autorskim pravima kako bi osigurao da je nemoguće da bilo ko ograniči pravo na korištenje, modificiranje i distribuirati i sam rad i djela zasnovana na njemu. Ideja copyleft-a je da svako ko distribuira program, sa ili bez promjena, nema pravo ograničavati slobodu njegove dalje distribucije ili modifikacije. Copyleft jamči da je svaki korisnik slobodan u svojim akcijama.

Broj licenci koje su u skladu sa definicijom otvorenog koda (otvorenog softvera), u ovom trenutku ima više od pedeset. Open Source je zaštitni znak Open Source Initiative. Postoji posebna komisija koja odlučuje da li se licenca može nazvati otvorenim kodom. Jedna od najvećih svjetskih web stranica za programere otvorenog koda je dobro poznati portal SourceForge.net. Na ovoj stranici programeri mogu objavljivati ​​i zajednički razvijati svoje softverske projekte. Trenutno na SourceForge.net hostuje nekoliko stotina hiljada projekata, a broj registrovanih korisnika prelazi milion.

Naravno, otvoreni i besplatni softver sve više osvaja publiku. Programe otvorenog koda prilično uspješno koriste i privatni korisnici i i komercijalni državne i javne organizacije. Softver baziran na open source i besplatnom softveru već se koristi kao predinstalacija za neke modele laptopa i netbooka različitih proizvođača. Osim toga, softver otvorenog koda postepeno osvaja tržište sistema automatizacije za mala i srednja preduzeća.

Pojava programa ove klase povezana je s idejom stvaranja softvera koji je oslobođen ograničenja cirkulacije. 1998. godine, na prijedlog američkih programera Brucea Perensa i Erica Raymonda, stvorena je Open Source Initiative.

(Inicijativa otvorenog koda, OSI). Ovaj pokret je razvio i objavio "Definiciju softvera otvorenog koda". programski kod".

Licenca softvera otvorenog koda pruža sljedeća ovlaštenja:

  • 1) pristup izvornom kodu;
  • 2) da promeni kompjuterski program;
  • 3) distribuirati izmenjeni program pod istim uslovima pod kojima je softver primio korisnik licence;
  • 4) korisnik licence da koristi računarski program za njegovu namenu;
  • 5) za dalju distribuciju od strane korisnika programa bez plaćanja odbitaka i naknade.

Kao dodatna ovlašćenja, licence za softver otvorenog koda mogu uključivati:

  • 1) opis promena koje je izvršio svaki od imaoca licence;
  • 2) odbijanje davanja garancija,
  • 3) odricanje od odgovornosti za štetu;
  • 4) regulisanje pitanja patenata;
  • 5) odredbe o usklađenosti ove dozvole sa drugim licencama;
  • 6) regulisanje autorskog prava u tekstu otvorene licence;
  • 7) naznaku izvršenih promena u primljenom otvorenom kodu;
  • 8) odredbe o merodavnom zakonu i nadležnom sudu.

Međutim, to ne znači da je licenca otvorenog koda nužno besplatna, mogu postojati opcije za plaćeno pružanje (na primjer, plaćena servisna podrška ili komercijalna licenca za korištenje besplatnog koda za razvoj softvera). Upotreba programa otvorenog koda znači da je kod otvoren, da se može obraditi i na osnovu takvog koda kreirati sopstveni program – „izvedeni rad“. Softver čiji korisnici nemaju pravo da modifikuju otvoreni kod je neslobodan softver, bez obzira na bilo koje druge uslove.

Od januara 2012. godine, po prvi put u Ruskoj Federaciji, uveden je koncept programa otvorenog koda, kao softvera koji se distribuira pod uslovima jednostavne (neekskluzivne licence) ili ekskluzivne licence, koji korisniku omogućava pristup izvorni kodovi programa.

Različite licence otvorenog koda pružaju različita prava i obaveze. U nekim licencama za korišćenje programa otvorenog koda, prilikom distribucije revidiranog, modifikovanog programa, autor takvih izmena je dužan da obavesti o tome koje su funkcije, procedure originalnog programa izmenjene ili novokreirane. Takve radnje su predviđene za informiranje drugih korisnika, kako se ne bi naštetili autorima originalnog programa u slučaju da se izvedeni program pokaže da je nekvalitetan i nefunkcionalan.

Koncept slobodnog softvera zasnovan je na četiri osnovne slobode:

  • 1) slobodu umnožavanja na računaru i pokretanja programa u bilo koju svrhu;
  • 2) slobodu proučavanja rada programa i prilagođavanja potrebama korisnika;
  • 3) slobodu umnožavanja i distribucije primljenih primeraka slobodnog softvera;
  • 4) sloboda unapređenja programa, tj. modificirati i distribuirati u modificiranom obliku.

Samo kompjuterski program koji zadovoljava sve principe može se smatrati slobodnim softverom. Slobode uključuju slobodu određivanja naknade po takvom licencnom ugovoru za korištenje kompjuterskog programa. Dakle, može se tvrditi da se besplatni softver može distribuirati uz nadoknadu, uz poštovanje slobode korisnika da dobije izvorni kod programa, modificira ih i dalje distribuira.

Postoje sljedeće vrste licenci otvorenog koda:

  • – Opšta javna licenca (GPL);
  • – Apache softverska licenca;
  • – licenca Berkeley Software Distribution (BSD);
  • – licenciran od strane Massachusetts Institute of Technology (MIT);
  • – Mozilla javna licenca (MPL) itd.

Opći smisao GPL, BSD, MIT je proširiti ovlaštenja korisnika programa i istovremeno mu nametnuti neke obaveze koje nisu karakteristične za licence predviđene zakonima Ruske Federacije i stranih zemalja. Ali trenutno je razvoj takvog softvera počeo da se podržava u Ruskoj Federaciji. Osim toga, usvojeni su Koncept administrativne reforme u Ruskoj Federaciji i Federalni ciljni program „Elektronska Rusija“.

Hajde da navedemo glavne karakteristike softvera otvorenog koda.

1. besplatna distribucija

Ugovor o licenci ne smije ograničavati pravo na prodaju ili distribuciju softvera koji je komponenta kompozitnog softvera koji uključuje programe iz različitih izvora.

2. Izvor

Program mora sadržavati izvorni kod, koji se, kao i kompajlirani obrasci, može ponovo distribuirati. Neke varijante proizvoda se distribuiraju bez izvornog koda. U ovom slučaju, trebali bi postojati dobro poznati načini da se izvorni kod dobije po razumnoj cijeni, ili po mogućnosti besplatan račun putem interneta. Izvorni kod mora biti u takvom obliku da programer može modificirati program. Namjerno zamagljen izvorni kod, srednji oblici kao što su izlazni uređaj za pretprocesor ili prevodilac nisu dozvoljeni.

  • 3. sekundarni proizvodi. Ugovor o licenci treba da daje pravo na modifikaciju i razvoj sopstvenih izvedenih proizvoda, na distribuciju softvera pod istim uslovima kao i licenca originalnog programa.
  • 4. Očuvanje izvornog koda autora. Ugovor o licenci može ograničiti distribuciju proizvoda čiji su izvorni kod modificirala treća lica. Ugovor može dozvoliti distribuciju priloženih datoteka izvornog koda radi modifikacije programa u vrijeme kreiranja. Licenca mora dati pravo na distribuciju vašeg vlastitog programa kreiranog modificiranjem izvornog koda. Ugovor o licenci može sadržavati zahtjeve za promjenu naziva softvera ili broja verzije izvedenih djela.
  • 5. Nema ograničenja za pojedince ili grupe korisnika. Ugovor o licenci mora biti dostupan svim podnosiocima zahtjeva.
  • 6. Nema ograničenja u pogledu opsega. Ugovor o licenci ne bi trebao sadržavati ograničenja za korištenje programa u određenom području aktivnosti, kao što su komercijalna ili druga istraživanja.
  • 7. Distribucija licence. Prava vezana uz program moraju se primjenjivati ​​na sve koji ga koriste. Za ovo nije potrebna dodatna licenca.
  • 8. Ugovor o licenci ne mora biti specifičan za dio proizvoda. Prava stečena softverskim paketom odnose se na svaki pojedinačni element softverskog paketa. Ako je program preuzet iz distribucije i korišten izvan nje, na program se primjenjuju uslovi ugovora o licenci za distribuciju.
  • 9. Ugovor o licenci ne smije sadržavati ograničenja za drugi softver, tj. softverskih alata koji se distribuiraju sa licenciranim softverom. Licenca takođe ne bi trebalo da sadrži zahteve za otvorenost softverskih alata koji nisu kreirani prema ovom ugovoru o licenci.
  • 10. Licenca mora biti tehnološki neutralna. Uslovi licenciranja ne mogu se zasnivati ​​na pojedinačnim tehnologijama i stilovima interfejsa.

Usklađenost sa gore navedenim uslovima prilikom zaključivanja ugovora o licenci omogućava da se računarski program oceni kao softver otvorenog koda.

Softver otvorenog koda je sličan slobodnom softveru, ali sa značajnom razlikom - u slučaju slobodnog softvera, ekskluzivna prava na izvorni kod ostaju na nosiocu autorskih prava programa, a u slučaju softvera otvorenog koda takva prava nisu zadržava nosilac autorskih prava programa, ali se zadržavaju samo neimovinska prava, kako originalni programer tako i svi kasniji programeri.

2006. godine, u Ruskoj Federaciji, u skladu sa Naredbom br. 83 Ministarstva informacija i komunikacija Ruske Federacije od 29. juna 2006. godine „O aktivnostima Ministarstva informacija i komunikacija Rusije za 2006. godinu na implementaciji glavnih odredbi Obraćanja predsjednika Ruske Federacije Federalnoj skupštini Ruske Federacije", izrađen je akcioni plan za promicanje razvoja i korištenja u javnim organima slobodnog softvera (otvorenog koda). Plan je sadržavao sljedeće aktivnosti:

  • 1) izradu zahteva i preporuka za korišćenje otvorenih standarda i specifikacija u izradi računarskih programa za državne i opštinske potrebe;
  • 2) evaluacija isplativosti implementacije ISO/IEC 26300:2006 (otvoreni format dokumenta za kancelarijske aplikacije);
  • 3) organizovanje učešća predstavnika Uprave za komunikacije Ruske Federacije u međunarodnim organizacijama za standardizaciju u oblasti informacionih tehnologija, kao i omogućavanje i koordinaciju učešća predstavnika ruskih kompanija u međunarodnim organizacijama za standardizaciju (ukoliko je učešće državni organi u takvim organizacijama nisu predviđeni);
  • 4) izradu i sprovođenje postupka za dobijanje (uključujući određivanje obima i ocenjivanja) i šeme za upravljanje pravima na računarski softver koji korisnici dobijaju kao rezultat obavljanja poslova za državne i opštinske potrebe;
  • 5) unapređenje mehanizama praćenja uslova konkurencije u cilju kontrole obezbeđivanja jednakih tržišnih uslova programerima različitih softvera;
  • 6) razvoj koncepta i akcionog plana u cilju povećanja nivoa stručno obrazovanje i obuka korisnika u oblasti infokomunikacionih tehnologija;
  • 7) izrada liste vrsta (vrsta) slobodnog softvera za računare, čiju je svrsishodnost i valjanost pretežne upotrebe dokazala svetska praksa i (ili) prepoznat od značajnog broja učesnika na tržištu, kao i razvoj drugih klasifikatora za različite svrhe, uključujući i svrhe standardizacije;
  • 8) razvoj koncepta i akcionog plana za razvoj u Ruskoj Federaciji, uključujući državne i opštinske potrebe, uslužnog modela distribucije računarskih programa.
  • antikorupcija;
  • sigurnost;
  • zaštita nacionalnih interesa;
  • ljubaznost prema građanima;
  • lakoća prilagođavanja;
  • ekonomsku korist.

Kvalitet ovakvih kompjuterskih programa je srazmeran komercijalnim programima. To je zbog činjenice da ovaj softver svi testiraju, mijenjaju, poboljšavaju, tako da je broj programera koji rade na poboljšanju programa jednak osoblju komercijalnih programera softvera zatvorenog koda (iu nekim slučajevima značajno premašuje njihov broj) .

Pozitivno je to što se takav softver pokazao ne samo javno dostupnim, već i pouzdanim, a sloboda kreativnosti za autore takvog softvera važnija je od naknade. Naravno, neimovinska prava u takvim licencama moraju se poštovati, tj. Za autore distribuiranih softverskih licenci otvorenog koda posebno je važno poštovati neimovinska prava, kao što su stavljanje zaštitnog znaka, godina prvog objavljivanja i ime autora ili drugog nosioca autorskih prava.

Sve ovo nam omogućava da kažemo da softver otvorenog koda dobija veliku popularnost, i to ne samo vodećih svetskih korporacija kao što su IBM i Hewlett Packard, već i ruske kompanije su među onima koji koriste i razvijaju ove programe, uključujući i za strane kupce.

Uredba Vlade Ruske Federacije od 18. oktobra 2007. br. 1447-r utvrđuje pravo korištenja bilo kojeg softvera sa otvorenim kodom u školama Ruske Federacije. Federalna služba izvršitelja je 2009. godine izvijestila o uvođenju softvera otvorenog koda – Open Office, u cilju implementacije državne politike u oblasti korištenja slobodnog softvera. „U aprilu - maju 2009. godine održane su videokonferencije sa rukovodiocima teritorijalnih organa Federalne službe izvršitelja Rusije uz korišćenje slobodnog softvera.

U cilju pravovremenog i redovnog objavljivanja informacija na službenoj web stranici centralnog ureda FSSP Rusije, kako bi se sistematski informirali građani i organizacije o aktivnostima FSSP-a, Odjeljenje za informacione tehnologije je izvršilo radove na finalizaciji softverske platforme i dizajna sajta. , što je omogućilo značajno proširenje funkcionalnosti stranice, povećanje informativnog sadržaja i posjećenosti“.

Koncept razvoja slobodnog softvera u Ruskoj Federaciji pretpostavljao je stvaranje sljedećih proizvoda prije 2010. godine:

  • 1) standardna integrisana kancelarijska rešenja za državne službenike, kao i zaposlene u javnom sektoru;
  • 2) tipska rješenja za obezbjeđivanje rada obrazovno-vaspitnih ustanova;
  • 3) softver za tačke kolektivnog pristupa internetu;
  • 4) softver za internet stranice javnih servisa;
  • 5) integraciona platforma za potrebe e-uprave;
  • 6) sigurna rješenja za kritične objekte;
  • 7) razvoj servisno orijentisanog modela distribucije računarskih programa.

U ovom trenutku, mnoge od navedenih tačaka su ispunjene. Dakle, specifičnosti ugovora o licenci za korišćenje softvera otvorenog koda određene su obimom ekskluzivnih prava koja se prenose na nosioca licence. Važno je napomenuti da je takva licencni ugovori ni na koji način ne utiču na lična neimovinska prava autora programa, štoviše, štite ta prava u većoj meri. Ovi programi su pouzdaniji i sigurniji, jer se programski kod može provjeriti i po potrebi reprogramirati, što, u okviru implementacije Doktrine informacione sigurnosti Ruske Federacije, kao i Strategije nacionalne sigurnosti Ruske Federacije Federacije do 2020. godine, temeljni je zadatak osiguranja nacionalne sigurnosti. U Strategiji nacionalne bezbjednosti sredstva obezbjeđenja nacionalne sigurnosti uključuju, između ostalog, tehnologije, kao i tehnička, softverska, jezička, pravna, organizaciona sredstva, uključujući telekomunikacione kanale koji se koriste u sistemu nacionalne bezbjednosti za prikupljanje, formiranje, obradu, prenose ili primaju informacije o stanju nacionalne sigurnosti i mjerama za njeno jačanje.

Upotreba programa otvorenog koda na teritoriji Ruske Federacije ne samo da će diverzificirati kompjuterske programe, već će i povećati broj programera, čime će se smanjiti broj monopolista. Osim toga, ovo simbolizira razvoj kvalitativno novih pojava u odnosu između autora kompjuterskog programa i korisnika softvera otvorenog koda na teritoriji Ruske Federacije. Još jedan pozitivan faktor je činjenica da u programima otvorenog koda nema teritorijalnog obilježja korištenog po zakonu za ekskluzivna prava. Stoga će korištenje takve klase programa na teritoriji Ruske Federacije doprinijeti otklanjanju mnogih kršenja autorskih prava.

Sa uvođenjem 2012. Nacionalnog standarda Ruske Federacije GOST R 54593-201, besplatni softver je sigurna, pouzdana i finansijski atraktivna platforma za izgradnju informacioni sistemi u korporacijama i javnom sektoru. Besplatni softver obezbeđuje: tehnološku nezavisnost razvoja i korišćenja softvera od monopolista; nezavisnost u izboru hardverske platforme; niska početna cijena opreme; rano otkrivanje grešaka u softveru i mogućnost njihovog brzog otklanjanja; nema obaveznog plaćanja za pravo korištenja proizvoda.

Besplatni softver koristi principe otvoreni sistemi, koji su trenutno glavni trend u razvoju oblasti informacionih tehnologija, sistema, kao i računarske tehnologije koja podržava ove tehnologije. Ideologiju otvorenih sistema u svojim najnovijim razvojima implementiraju sve vodeće kompanije - dobavljači računarske opreme, prenosa informacija, softvera i razvoja primenjenih informacionih sistema.

Dakle, hajde da otkrijemo ovlašćenja koja se prenose pod različitim vrstama licenci za kompjuterske programe sa otvorenim izvornim kodom.

  • Vidi: Nacionalni standard Ruske Federacije GOST R 54593 201 "Informaciona tehnologija. Besplatni softver. Opšte odredbe", odobren naredbom Ministarstva industrije i trgovine Ruske Federacije i Federalne agencije za tehničku regulaciju i mjeriteljstvo od 6. decembra, 2011. br. 718-st.
  • Odobren od strane predsjednika Ruske Federacije 9. septembra 2000: pogledajte web stranicu ruskog ministarstva vanjskih poslova mid.ru/ns-osndoc.nsf/d06bd3f5303124fe432569fa003a70ff/4db27000.
  • Ukaz predsjednika Ruske Federacije od 12. maja 2009. br. 537 „O Strategiji nacionalne sigurnosti Ruske Federacije do 2020. godine“.

Softver otvorenog koda je metoda razvoja softvera u kojoj je generisani izvorni kod programa otvoren, odnosno javno dostupan za pregled i modifikaciju. Ovo omogućava svima da koriste već kreirani kod za svoje potrebe i, možda, pomoć u razvoju programa otvorenog koda.

"Otvorena" licenca ne zahtijeva da se softver uvijek daje besplatno. Ali mnogi od najuspješnijih projekata otvorenog koda su ipak besplatni.

Ogromna većina otvoren programa je u isto vrijeme besplatno(GNU GPL) i obrnuto, jer su definicije otvorenog koda i slobodnog softvera bliske, a većina licenci odgovara objema.

razlika između pokreta open source I besplatni softver se uglavnom odnosi na prioritete. Zagovornici otvorenog koda se fokusiraju na efikasnost otvorenog koda programi kao razvojni metod. Zagovornici slobodnog softvera polaze od ideoloških razmatranja i smatraju da je upravo tako prava distribucija, modifikacija i proučavanje programa su glavna prednost besplatni softver.

OS Microsoft Windows

Rice. 39. OC Windows logo.

MS Windows (izgovara se Windows) je porodica Microsoftovih operativnih sistema. Šef korporacije Microsoft - Bill Gates.

Od 1995. godine Windows je najpopularniji operativni sistem na tržištu personalnih računara – de facto standard. Do 2005. godine, Microsoft Windows je instaliran na više od 89% personalnih računara.

Međutim, mnogi korisnici su se odlučili za Windows jer uopće nisu upoznati s alternativama kao što su MacOS, Linux, BSD. U Rusiji su se do početka 2000-ih gotovo svi personalni računari prodavali s unaprijed instaliranim operativnim sistemom. Windows sistem. Borba protiv distribucije piratskih verzija softverskih proizvoda dovela je do pojave interesovanja za druge operativne sisteme. Tako je, na primjer, postalo moguće kupiti personalni računar s unaprijed instaliranim Besplatni Linux OS.

Istorija izdanja Windows verzija


Windows 1.0 (1985)

1. Windows 2.0 (1987)

2. Windows/386 (1987)

3. Windows 3.0 (1990)

4. Windows 3.1 (1992)

5. Windows NT 3.1 (1993)

6. Windows NT 3.5 (1994)

7. Windows 95 (1995)

8. Windows NT 4.0 (1996)

9. Windows 98 (1998)

10. Windows 2000 (2000)

11 Windows Me (2000)

12. Windows XP (2001)

13. Windows 2003 (2003)

14. Windows Vista (2007)

15. Windows radni naslov Beč (2010)


Integrirani softverski proizvodi i aplikativni softver

Operativni sistem Microsoft Windows uključuje standardne aplikacije, kao što je Internet Explorer pretraživač, Outlook Express mail klijent, gramofon Windows Media Player.

Postoji mnogo kontroverzi i diskusija oko uključivanja takvih standardnih proizvoda u Windows OS, jer to stvara ozbiljnu prepreku distribuciji konkurentskih proizvoda.

Rice. 40. Logo paketa MS Office.

Za MS Windows postoji vrlo zgodan i savladan od strane većine korisnika Microsoft Office paket aplikacija, uključujući:

obradu teksta MS Word,

procesor tabela MS Excel,

Organizator MS Outlook,

Aplikacija za pripremu prezentacija MS PowerPoint,

Aplikacija za upravljanje bazom podataka MS Access.

Ne zaboravite da i Windows i velika većina popularnih Windows aplikacija imaju licencu za autorska prava, tj. su vlasnički BY. Shodno tome, svaki primjerak takvog programa mora se kupiti za novac. Na primjer, na kraju 2006. cijena za Windows XP Home Edition Russian BOX (SP2) bila je 185 dolara, a Office 2003 ruski CD bio je 322 dolara.

Korištenjem nelicenciranog (piratskog) softvera zaštićenog licencom za autorska prava, kršite zakone o autorskim pravima.

GNU/Linux OS

Rice. 41. Logo GNU/Linux OS-a je Tux pingvin.

GNU/Linux operativni sistem (izgovara se "gnu linux") je besplatni operativni sistem sličan UNIX-u. Obično, iz istorijskih razloga i zbog sažetosti, ovaj sistem se jednostavno naziva "Linux". To je najmoćnija alternativa MS Windows-u, popularan kao serverski operativni sistem i brzo dobija na popularnosti kao desktop operativni sistem posljednjih godina zbog povećane primjene licencirana upotreba Windows OS od Microsofta u verzijama XP i Vista.

GNU/Linux operativni sistem takođe često uključuje programe koji dopunjuju ovaj operativni sistem i aplikativne programe koji ga čine punopravnim multifunkcionalnim operativnim okruženjem.

Za razliku od većine drugih operativnih sistema, GNU/Linux ne dolazi sa jednim "zvaničnim" paketom. Umjesto toga, GNU/Linux dolazi u velikom broju tzv distribucije, koji povezuje GNU programe sa Linux kernelom i drugim programima. Najčešće distribucije u svijetu:

američko crvena kapa i njegovog naslednika Fedora Core;

njemački SuSE;

francuski Mandriva(bivši Mandragor);

Međunarodna distribucija bez nacionalnog značaja Debian GNU/Linux;

Jedna od najstarijih distribucija Slackware;

Relativno mlada distribucija koja se aktivno razvija Gentoo;

Mlada, ali obećavajuća distribucija ubuntu linux.

Kreator Linux kernela - Linus Torvalds. GNU/Linux nema centar za geografski razvoj. Ne postoji organizacija koja posjeduje ovaj sistem; čak ni jedan fokusna tačka. Programi za GNU/Linux su rezultat hiljada projekata. Neki od ovih projekata su centralizovani, neki su koncentrisani u firmama, ali većina okuplja programere iz celog sveta koji se poznaju samo preko prepiske. Svako može kreirati vlastiti projekat ili se pridružiti postojećem, a ako bude uspješan, rezultati rada će postati poznati milionima korisnika. Korisnici učestvuju u testiranju besplatnog softvera, komuniciraju direktno sa programerima, što im omogućava da brzo pronađu i poprave greške i implementiraju nove funkcije.

Na tržištu serverskih operativnih sistema u Australiji, Linux je već zauzeo oko 30%. Australijance su pratili Brazilci. Brazilska vlada odlučila je da se odmakne od trošenja novca na softver i pređe sa Microsoftovih proizvoda na sisteme otvorenog koda, posebno na operativni sistem Linux. Glavni razlog za promjene je ekonomski. Kod nas je Linux tržište još uvijek malo.

Sistem podataka

Sve informacije u računaru se pohranjuju u fajlove sa kojima operativni sistem radi.

File(fajl)- je imenovani niz bajtova, trajno skladište razne vrste informacije.

Fajlovi su organizovani u imenici, nazivaju se i direktoriji ili fascikle. Katalog je datoteka koja pohranjuje informacije o drugim datotekama: ime, veličinu, datum kreiranja, adresu datoteke na disku.

Svaki direktorij može sadržavati proizvoljan broj poddirektorijumi, od kojih svaki može pohraniti datoteke i druge direktorije.

Svaki disk ima glavni ili korijenski direktorij, koji sadrži sve ostale direktorije, zvane poddirektorije, i neke datoteke. Dakle, stvara hijerarhijska struktura. Poziva se direktorij s kojim korisnik trenutno radi struja.

Datoteke i direktoriji su najvažniji objekti u sistemu datoteka. Sistem podataka- propis kojim se definiše način organizovanja, čuvanja i imenovanja podataka o medijima. Definira format za fizičko skladištenje datoteka. Određeni sistem datoteka određuje veličinu imena datoteke, maksimalnu moguću veličinu datoteke, skup atributa datoteke.

Način na koji su podaci organizovani u bajtove naziva se format datoteke. Da biste pročitali datoteku, kao što je tabela, morate znati kako bajtovi predstavljaju brojeve (formule, tekst) u svakoj ćeliji; da biste pročitali datoteku uređivača teksta, morate znati koji bajtovi predstavljaju znakove i koji fontovi ili polja i druge informacije.

Sve datoteke se mogu uslovno podijeliti na dva dijela - tekst I binarni.

Tekstualne datoteke- najčešći tip podataka u kompjuterskom svijetu. Za pohranjivanje svakog znaka najčešće se dodjeljuje jedan bajt, a kodiranje tekstualnih datoteka se izvodi pomoću posebnih tablica kodiranja.

Ali čisto tekstualne datoteke postaju sve rjeđi. Ljudi žele da dokumenti sadrže slike i dijagrame i da koriste različite fontove. Kao rezultat, pojavljuju se formati koji su različite kombinacije tekstualnih, grafičkih i drugih oblika podataka.

Binarnosti, za razliku od tekstualnih, nije tako lako pregledati i, po pravilu, u njima nema riječi koje su nam poznate - samo puno nerazumljivih znakova. Ove datoteke nisu namijenjene da ih ljudi direktno čitaju. Primjeri binarnih datoteka su izvršni programi i grafičke datoteke.

Svaki fajl na disku je označen ( puno ime), koji se sastoji od 2 dijela: ime I ekstenzije, odvojeno tačkom.

Ekstenzija naziva datoteke- opcioni niz znakova koji se dodaje imenu datoteke i ima za cilj da identifikuje tip (format) datoteke. Ovo je jedan uobičajeni način na koji korisnik ili kompjuterski softver može odrediti vrstu podataka pohranjenih u datoteci.

U ranim operativnim sistemima, dužina ekstenzije je bila ograničena na tri znaka, u modernim operativnim sistemima ovo ograničenje nije.

Operativni sistem ili upravitelj datoteka mogu mapirati ekstenzije datoteka u aplikacije.

Kada korisnik otvori datoteku sa registrovanom ekstenzijom, automatski se pokreće program koji odgovara toj ekstenziji. Neke ekstenzije ukazuju da je sama datoteka program. Često je ekstenzija datoteke prikazana korisniku ikonom.

Vozači

Različiti uređaji se mogu povezati sa računarom: video kartica, zvučna kartica, štampač, skener, manipulatori, disk jedinice, digitalne kamere, Mobiteli... Svaka od njih ima svoj skup komandi - svoj "jezik". Da bi određeni operativni sistem mogao da kontroliše određeni uređaj, pribegavaju se pomoći programa „prevodilaca“ koji znaju, s jedne strane, komandni jezik. određeni uređaj, a sa druge strane, jezik određenog operativnog sistema pod kojim bi ovaj uređaj trebao raditi.

Takav program se zove vozač(driver) i isporučuje se s uređajem od strane njegovog proizvođača. Proizvođači hardvera obično također objavljuju upravljačke programe uređaja koje kreiraju na svojim web stranicama.

Peter Van Valkenburgh, šef istraživanja u Coin Centeru, član upravnog odbora Zcash fondacije, objašnjava zašto Razvoj softvera otvorenog koda važan je za izgradnju povjerenja i sigurnosti u blockchain mrežama.

Računalni kod koji stoji iza svih glavnih kriptovaluta i otvorenih blockchain projekata razvija se kao softver otvorenog koda. Regulatori i kreatori politike koji pokušavaju da shvate šta su kriptovalute, ali nisu upoznati sa takvim softverom, mogu biti u zabludi verujući da ove sisteme razvija (i treba da ih) razvija jedna ili više komercijalnih kompanija. Iako je mnogo poznati softver zaista razvijen na ovaj način (na primjer, Microsoftov Windows ili Oracle RDBMS), stvari su drugačije s projektima otvorenog koda i ova razlika može i treba da se formira javno mnjenje. Softver otvorenog koda kreira se u saradnji, slobodno se distribuira, javno objavljuje i razvija kao proizvod zajednice, a ne vlasništvo jedne kompanije ili pojedinca. U ovom slučaju nema monopola, nema nijedne kompanije ili pojedinca koji bi kreirao i prodavao softver, koji bi ga posjedovao. Kao što ne postoji nijedna kompanija koja posjeduje bitcoin mrežu, ne postoji ni jedna kompanija koja proizvodi softver koji, radeći na kompjuterima povezanim s internetom, formira mrežu. Ova vrsta decentralizacije donosi neke fundamentalne prednosti koje je teško razumjeti ljudima koji nisu upoznati s razvojem softvera. Da biste bolje razumjeli snagu i prirodu otvorenog koda, korisno je imati uvid u jedan posebno uspješan dio softvera otvorenog koda. Govorimo o Linux operativnom sistemu.

Otvoren izvor svuda

Teško je izračunati koliko puta dnevno koristite Linux, jer je ovaj operativni sistem osnova većine servera na Internetu. Kad god posjetite Facebook, Google, Pinterest, Wikipedia i hiljade drugih velikih stranica, usluge koje vam pružaju ovi (tako različiti) sajtovi, imate posla sa računarima koji najvjerovatnije rade na Linux operativnom sistemu. Linux se može naći mnogo bliže; najvjerovatnije ga imate na dohvat ruke. Recimo da je operativni sistem Android pametnih telefona baziran na Linuxu. Ako imate Chromebook, onda koristite laptop zasnovan na Linuxu. Ovaj operativni sistem se sve više koristi u televizorima, termostatima, multimedijalnim sistemima u avionima, automobilima itd.

Zašto je zanimljivo? Jer Linux nije proizvod jednog programera, pa čak ni grupe programera; za razliku od MacOS-a ili Windows-a, nije ga razvila jedna ili čak desetak korporacija. Linux ima hiljade saradnika. Kako je 2015. godine objavila Linux fondacija (neprofitna organizacija koja promoviše otvoreni razvoj operativnog sistema), otprilike 14.000 programera iz više od 1.300 različitih kompanija dalo je isječke koda. Samo u 2015. godini, 2.355 programera je po prvi put doprinijelo poboljšanju koda. Tako se ekstrapolacijom može izračunati da je do 2017. godine oko 18.000 ljudi dalo doprinos, a taj broj će rasti.

Ko bi rekao i prije pet godina (1991.) da se operativni sistem svjetske klase može, kao magijom, oblikovati u jedinstvenu cjelinu od fragmenata slobodnog rada nekoliko hiljada programera raštrkanih po cijelom svijetu i povezanih samo pomoću sablasne teme interneta?

Prednosti otvorenog koda

U svojoj knjizi, Raymond govori o tome kako je open source revolucionaran način stvaranja tehnologije. Linux, sa hiljadama nezavisnih programera koji rade u javnoj saradnji, predstavlja primer modela otvorenog koda. Kriptovalute slijede isti obrazac, ali o tome ćemo govoriti u nastavku.

Raymond je istakao nekoliko prednosti modela otvorenog koda. Ključne u kontekstu naše rasprave su sljedeće:

  • Svaki dobar komad softvera počinje sa zadovoljenjem lične želje programera. Većina programera otvorenog koda motivirana je željom da lično koriste proizvode koje kreiraju. Oni nisu vezani ugovorom koji ih obavezuje da stvore nešto za drugoga; imaju ličnu potrebu koju zadovoljavaju. Tako se javlja kvalitativno drugačija motivacija koja stvara detaljno poznavanje problema.
  • Dobri programeri znaju šta da napišu. Veliki znaju šta da prepišu (i ponovo upotrebe). Kada se razvoj odvija otvoreno, redundantnost se može izbjeći, a problematični, komplikovani ili suvišni kodovi mogu se identificirati i pojednostaviti.
  • Kada izgubite interesovanje za program, vaša posljednja dužnost prema njemu je da ga predate kompetentnom nasljedniku. Ljudi ulaze i izlaze iz projekta otvorenog koda na osnovu svojih interesa i stručnosti. Niko ne zaglavi radeći na projektima koji više nisu interesantni. Pojavljuju se svježi umovi koji nude različita gledišta na stare probleme ili nove perspektive.
  • Doživljavanje korisnika kao kolega programera je najlakši način da se poboljša kod i efikasno otklanjaju greške u softveru. Mnogi korisnici otvorenog koda pomažu u prepoznavanju problema, pa čak i predlažu rješenja. Granica između potrošača i proizvođača softvera otvorenog koda je zamagljena: rad na softveru je transparentan, odvija se pred očima javnosti, a učešće u procesu kreiranja dostupno je svima.
  • Uz dovoljno veliku bazu beta testera i programera, skoro svaki problem će biti brzo kvalifikovan, a njegovo rešenje će nekome sigurno biti očigledno. Ovaj postulat je nazvan Linusov zakon po Linusu Torvaldsu, tvorcu Linux kernela, koji je dugo vremena ostao glavni programer ovog operativnog sistema. Kada je proces razvoja koda zatvoren, programeri rizikuju da propuste slabu tačku ili ne primjete određenu grešku. Razvoj u okruženju naprednog korisnika sa jedinstvenom vizijom povećava verovatnoću da se greške identifikuju i poprave, čineći softver otvorenog koda sigurnijim i otpornijim.

Rezultat ovog razvoja je vrlo robustan kod kreiran od strane korisnika za korisnike. Cilj nije stvoriti nešto što obogaćuje kompaniju koja proizvodi i prodaje proizvode, već rješavanje problema koji je dovoljno uobičajen da velika zajednica talentiranih programera rado da svoj doprinos. Ljudi bez vještina programiranja imaju velike koristi od takvog modela. Čini se da se besplatni softver materijalizira iz ničega, besplatan je za svako korištenje i prima ažuriranja sve dok su korisnici na nivou stručnjaka također zainteresirani za korištenje.

Zakon i slobodni softver

Postojeće zakonodavstvo podržava i u nekim slučajevima podstiče razvoj softvera otvorenog koda. On je, kao i sav softver, zaštićen autorskim pravima, ali njegovi autori izdaju kod uz licencu koja dozvoljava svakome da ga koristi i modificira bez posebne dozvole ili bilo kakvog plaćanja autorima (tj. uz licencu koju je razvio Massachusetts Institute of Tehnologija - MIT).

Neke licence uključuju zahtjeve da se derivati ​​softvera izdaju pod istim uslovima. Kroz ovu šemu, baza otvorenog koda raste i širi se. Ovaj fenomen je poznat kao licenca slobodnog softvera, ili LGPL-3, manja opšta javna licenca.

Otvoreni kod u kriptovalutama i projektima tokena

Linux je možda najveći i najvažniji primjer modela otvorenog koda, ali postoje i drugi. To uključuje sve glavne kriptovalute i blockchain projekte. Svi oni stvaraju kompjuterske mreže, omogućavajući učesnicima da postignu dogovor o zajedničkim podacima (blokchain kriptovalute).

Softver koji omogućava bilo kom učesniku da se poveže na mrežu naziva se klijent i to je softver otvorenog koda. Često klijentski softver razvija nekoliko nepovezanih strana kao jednostavnu verziju mrežnog softvera (tj. tzv. referentni klijent), na osnovu kojeg se može izgraditi softver za rudarenje, novčanik, razmjenu ili drugi softver kompatibilan s mrežom.

Klijent bitcoin jezgro- rezultat rada više od 450 nezavisnih programera koji su doprinijeli više od 15.000 puta razvoju koda. Softver je dostupan za besplatnu upotrebu i modifikaciju u skladu sa MIT licencom za slobodan softver, a celokupna istorija razvoja dostupna je za gledanje u javnom repozitoriju na Githubu - cloud usluga, omogućavajući svakome da kreira nalog, učita novi kod i prati promjene. Ako je spremište koje kreirate otvoreno za javnost za pregled, komentare i sugestije za izmjene, onda ne morate čak ni plaćati Github račun.

Javno spremište takođe prati takozvane viljuške originalnog klijenta. Fork stvara klon originalnog softvera, koji se onda može modificirati za jednu ili drugu svrhu bez promjene originalnog spremišta. Programeri slobodno razdvoje Bitcoin Core Github spremište kako bi kreirali ili specifične aplikacije kompatibilne s bitcoinima (kao što je novčanik za pametni telefon) ili novu kriptovalutu koja više nije kompatibilna s bitcoin mrežom i uključuje stvaranje nove mreže kriptovaluta (kao što je bila s Litecoin ili Zcash). Do danas, originalni Bitcoin Core klijent je forkiran više od 10.000 puta, a nova spremišta koja se pojavljuju pokazuju da se rad na derivatima nastavlja.

Sada postoji najmanje 121 spremište na Ethereumu, od kojih se svako fokusira na određeni aspekt projekta (na primjer, programski jezici za pisanje pametnih ugovora, grafički pretraživači za interakciju krajnjeg korisnika sa Ethereum mrežom, kompatibilni klijenti za sudjelovanje u mreža, itd.). Postoji najmanje osam projekata fokusiranih na razvoj ethereum kompatibilnih klijenata, sa stotinama nezavisnih programera koji rade na najpopularnijim klijentima (go-ethereum i Parity). Ethereum kod i njegova potpuna istorija, kao i kod i istorija Bitcoin-a, javno su dostupni na Githubu i drugim mrežnim repozitorijumima, a svi kodovi su objavljeni pod licencom LGPL-3, što zahteva da svi budući izvedeni radovi budu objavljeni pod ista licenca..

Čak i nedavni projekti koje su pokrenuli komercijalni start-upovi pokazuju privrženost kredu otvorenog koda. Kompanija Zcash razvija Zcash protokol putem javnog spremišta. Nekoliko vodećih programera ne radi za kompaniju, a namenski izgrađena neprofitna organizacija je pozvana da osigura da postoji postepeni prelazak sa razvoja koji vodi kompanija na razvoj koji vodi zajednica. Baza izvornog koda Zcash objavljena je pod licencom Massachusetts Institute of Technology. Protocol labs, programer Filecoina, namjerava kreirati sličan otvoreni model i već ga je testirao u svom IPFS projektu, radeći s kodom u otvorenim repozitorijumima i puštajući ga pod MIT licencom.

Zašto je open source važan

Kriptovalute i otvoreni blockchains mogu pružiti funkcionalnost koja bi bila regulirana da dolazi iz jedne korporacije. Centralizovani izdavaoci digitalnih valuta, kao što su Liberty Reserve ili E-gold, bili su finansijski servisi i morali su se registrovati u Uredu za sprovođenje finansijskih kriminala Ministarstva finansija SAD i dobiti dozvolu za prenos novca u svakoj državi. Ako se takvi tokeni promoviraju na tržištu kako bi privukli investitore, oni se mogu izjednačiti sa vrijednosne papire, u kom slučaju će biti potrebna registracija kod američke Komisije za hartije od vrijednosti. Ova ograničenja imaju smisla jer centralizirane usluge riskiraju da strana u središtu cijele šeme neće moći ispuniti svoja obećanja adekvatnim testiranjem proizvoda i njegovom sigurnošću.

Međutim, tehnologije poput bitcoina mogu ponuditi sličnu funkcionalnost budući da su otvorene mreže bez vlasništva. Ovde nema korporacije. Korisnici se pridružuju ovim mrežama, a softver otvorenog koda stimuliše njihovu spremnost za saradnju. Na kraju, svi učesnici se dogovore oko svakog podatka koji je potreban za kreiranje valute. Decentralizacija počiva na dva stuba: otvorenim mehanizmima konsenzusa i softveru otvorenog koda. Da kod nije otvorenog koda, kako bi učesnici (ljudi koji se ne poznaju jedni druge na internetu) mogli razumjeti i vjerovati sistemu kojem se pridružuju?

Zapravo, projekti tokena zasnovani na vlasničkom kodu mogu se pokazati kao samo centralizirane usluge koje se kriju iza profesionalnog slenga i "blokčejn gluposti". Međutim, za “prave” projekte, kod koji stvara decentraliziranu mrežu, omogućavajući učesnicima da vjeruju jedni drugima, imaju zajedničku motivaciju i kažnjavaju prevarante, sam je decentraliziran. Razvijaju ga pred svima stotine entuzijasta, dostupan je svima u svijetu za korištenje i modifikacije i potpuno je nezavisan od korporativnih interesa.

Mark Roberts
Direktor upravljanja proizvodima (direktor, upravljanje proizvodima)
QNX softverski sistemi
e-mail: [email protected]

anotacija

Ovaj članak se fokusira na prednosti, strateška razmatranja, prepreke i mogućnosti povezane s korištenjem softvera otvorenog koda u komercijalnoj proizvodnji. Koristeći Integrisano razvojno okruženje (IDE) zasnovano na Eclipse platformi kao primjer, raspravljat ćemo o razlikama između zaštitnih (zaštitnih) i nezaštitnih (nezaštitnih) licenci izvornog softvera. Kada se integriše ili povezuje otvoreni izvorni kod sa "vlasničkim" zatvorenim izvornim kodom, često je potrebna dužna pažnja i pažnja. Postoje i različita pravna pitanja kojih treba biti svjesna, kao što je mogućnost kršenja patenta. Pokušaćemo da objasnimo i zašto se osnovni principi korišćenja softvera otvorenog koda u okruženju informacionih tehnologija (IT) ne primenjuju na komercijalne proizvode za ugrađene uređaje.

Razvojno okruženje QNX Momentics kao primjer otvorenog koda

Davne 2001. godine, kada su se mnoge softverske kompanije borile da prežive suočene sa opštim kolapsom na berzi IT kompanija, posebno onih povezanih sa elektronskim poslovanjem na Internetu, QNX Software Systems je doneo stratešku odluku da počne razvoj novog integrisanog razvojno okruženje (IDE) za tržište, ugrađeni sistemi. Kompanija je već imala solidno iskustvo u razvoju niza alata koji se koriste u razvoju ugrađenih uređaja, ali je menadžment kompanije shvatio da će im kreiranje IDE-a omogućiti da ostanu na vrhu talasa u visoko konkurentnom okruženju. Odluka o kreiranju IDE-a također je vođena promjenom naglaska na zahtjevima korisnika. Tokom poslovnog pada, kupci s nedostatkom novca postali su zainteresiraniji za rješenja koja bi mogla maksimizirati produktivnost i učiniti ih mobilnim (fleksibilnijim) u svom radu, što bi poboljšalo ukupnu ekonomsku efikasnost.

Za QNX, razvoj IDE-a je bio "klađenje za budućnost" jer su u to vrijeme troškovi i napori za razvoj projekta bili nedostižni za većinu dobavljača alata za ugrađene sisteme. Na sreću, QNX je blisko sarađivao sa IBM-om na različitim segmentima tržišta ugrađenih uređaja. Kroz blisku saradnju, IBM je sa QNX-om podelio svoje planove za izdavanje integrisanog razvojnog okruženja otvorenog koda koje je kasnije postalo osnova za Eclipse platformu.

IBM je ponudio da iskoristi iskustvo QNX-a za prilagođavanje IDE tehnologije potrebama programera uključenih u kreiranje ugrađenih aplikacija zasnovanih na jeziku C/C++. Stručnjaci QNX-a su gotovo odmah ukazali na nepobitne privlačne aspekte korištenja open source kodova za IDE. Na primjer, za takvo okruženje bilo bi moguće:

  • eliminirati ovisnost o jednom dobavljaču, što je obično povezano s potrebom licenciranja prozorske platforme;
  • ponuditi izvorni kod za prilagođavanje potrebama kupca;
  • privući ozbiljne igrače u industriji da podrže i stvore ekosistem komplementarnih tehnologija i dodataka;
  • pružiti kupcima stabilnu arhitekturu koja može podržati diferencijaciju proizvoda;
  • omogućavaju programerima ugrađenih uređaja da koriste standardne radne stanice pogodne za rad sa aplikacijama informacionih tehnologija (u najširem spektru aplikacija) kao razvojnu platformu.

Konačno, postojala je posebna mogućnost da IDE platforma uhvati i postane de facto standard, omogućavajući QNX-u da iskoristi veliki ekosistem programera i alata trećih strana koji koriste takvu platformu.

Osnovan projekat otvorenog koda Eclipse.org

U novembru 2001. Borland, IBM, Merant, QNX Software Systems, Red Hat i SUSE osnovali su Eclipse Consortium. Početkom 2004. Upravni odbor je reorganizirao Eclipse Consortium u neprofitnu korporaciju pod nazivom Eclipse Foundation.

Od samog početka, Eclipse je bio istinski open source projekat. Projekat je ponudio i besplatne tehnologije otvorenog koda i pristup zajednici najobrazovanijih i najnaprednijih programera u svojoj oblasti. dakle, ovu tehnologiju pokazalo se kao univerzalna platforma za integraciju svih vrsta razvojnih alata. Zasnovan je na otvorenoj, proširivoj arhitekturi i jasno je licenciran kao proizvod koji se može slobodno distribuirati bez naknade. Doprinosi članova zajednice projektu Eclipse zasnovani su na standardnom modelu razvoja softvera otvorenog koda (OSS), ali većina članova takođe doprinosi komercijalnom razvoju zasnovanom na Eclipse platformi.

Projekat skladištenja alata

U decembru 2001, QNX je počeo da gradi svoj QNX® Neutrino® RTOS zasnovan na Eclipse IDE. Vizija kompanije je bila da IDE bude visoko funkcionalan, orijentisan na C/C++, sa duboko integrisanim alatima za otklanjanje grešaka, profilisanje, analizu i izgradnju ugrađenih aplikacija. Od samog početka, QNX tim je nameravao da bude višenamenski, višejezični IDE koji podržava više platformi alata. Ovo je uključivalo:

  • nekoliko instrumentalnih platformi: Windows, Solaris, QNX Neutrino RTOS (self-hosted development);
  • višestruke ciljne arhitekture: ARM, MIPS, PowerPC, SH-4, x86;
  • programski jezici C, C++, Java.

Od tada, IDE je nastavio da raste i uključuje podršku za Linux platformu i podršku za dodatne arhitekture procesora, uključujući XScale procesore.

Realizacija projekta pokrenuta je u stilu "ekstremnog programiranja". Kompanija je odabrala tim od 12 najboljih inženjera. Dobili su posebnu prostoriju, bili su izolovani od svih smetnji, projekat im je dat na potpuno raspolaganje.

Grupa je dobila potrebna ovlaštenja za donošenje odluka, uspostavljen je tanak raspored rada, nesklon riziku, sa beta izdanjem proizvoda za 16 sedmica i komercijalnim izdavanjem do 4. jula 2002. Grupa je ispunila sve postavili prekretnice i objavili novi proizvod - nazvan QNX Momentics® IDE - tačno po planu, demonstrirajući potencijal softvera otvorenog koda za smanjenje vremena izlaska na tržište.

Od ideje do isporuke proizvoda - manje od 7 mjeseci

Nadovezujući se na Eclipse platformu, QNX tim je završio veoma moćan i svestran IDE za razvoj ugrađenog softvera za šest meseci. IDE je podržao razvoj među platformama za više platformi alata i programskih jezika i podržao je najpopularnije ugrađene ciljne procesorske ploče. Sa platformom Eclipse, QNX je mogao:

  • koristiti GNU kompajlere i alate komandne linije za unakrsni razvoj;
  • implementirati podršku za dodatke treće strane, kao što su IBM WebSphere za ugrađene Java aplikacije i Rational ClearCase za razvoj vođen modelom;
  • kreirati dodatne alate za izgradnju sistema, upravljanje ciljnim uređajima, analizu memorije, profilisanje sistema i aplikacija itd.

Na sl. Slika 1 daje primjer kako Eclipse platforma može smanjiti troškove izgradnje IDE-a, omogućavajući kompanijama da se fokusiraju na više nivoe razvoja gdje se prave prave inovacije. Na primjer, koristeći Eclipse platformu, QNX je mogao lako kreirati nekoliko inovativnih alata za vizualizaciju koji vam omogućavaju da uđete duboko u ugrađeni sistem i prikažete njegovo ponašanje.

Vratite doprinos radu zajednice

Snaga uspješnog projekta otvorenog koda leži u zajednički rad zajednice programera iu stalnom poboljšanju kodne baze. Ako kompanija prihvati i dobro koristi open source, onda jednostavno ima obavezu da doprinese zajednici. U tom cilju, QNX je preuzeo vodstvo Eclipse CDT projekta u junu 2002.

Cilj projekta Eclipse CDT (C/C++ razvojni alati) je stvaranje zajedničkog skupa interoperabilnih C/C++ jezičkih alata za Eclipse platformu. Eclipse CDT je ​​pozicioniran kao projekat otvorenog koda, sa upravljačkim pravima od Eclipse Corporation. Da bi započeo CDT projekat, QNX je donirao svoje razvojne resurse i izvorni kod za QNX Momentics IDE projekat. Značajnu podršku projektu dali su i Rational i Red Hat, kao članovi zajednice.

Rice. 1. Sa platformom Eclipse, prodavci alata mogu se fokusirati na najviši nivo radne grupe, gdje se zapravo stvara prava inovacija.

QNX nastavlja da održava CDT projekat, koji je sa inicijalno skromnih 80.000 linija koda porastao na preko 700.000 linija koda danas. Početkom 2006. godine, Eclipse CDT dnevnik napretka projekta procijenio je doprinos QNX-a na 52%. Sljedeći je bio IBM sa doprinosom od 36%. CDT projekat je drugi najpopularniji Eclipse projekat nakon same Eclipse platforme.

Mogu li sebi priuštiti da "poklonim" kod?

Može se činiti da "donirati" svoj kod - znači djelovati suprotno zdravom razumu. Međutim, ako se pokaže da je funkcionalnost vašeg proizvoda korisna za korištenje, zašto je onda ne biste doprinijeli zajednici korisnika otvorenog koda. Poduzimajući ovaj korak, možete imati koristi od takve "standardne" ponude implementacije, zajedno s prednostima iskustva podrške za proizvode. Moći ćete imati koristi od rada cijele zajednice usmjerene na poboljšanje kodne baze. Takva strategija može osloboditi vaše vlastite resurse za dodatna istraživanja usmjerena na inovacije i dodavanje funkcionalnosti vašim proizvodima.

Štaviše, mogli biste dobiti određenu kontrolu nad smjerom "standardne" platforme - zarađenu, naravno, svojim doprinosima zajednici! Ako podržavate projekat, ponašajte se kao dobar građanin zajednice, poštujte mišljenja drugih ljudi, cijenite doprinose i savjete drugih članova. Nemojte misliti da će vam neko pokušati "očistiti džepove" kao rezultat korištenja koda i od vas preuzeti kontrolu nad smjerom razvoja platforme.

Na primjer, strategija QNX Software Systems-a je da iskoristi Eclipseov angažman dok razvija novu funkcionalnost koja se uključuje kroz standardizirane tačke proširivosti koje su već uključene u Eclipse i CDT platforme. U tu svrhu, QNX namjerava da ostane aktivan član Eclipse zajednice, koristeći postojeću bazu koda i rad trećih strana (dodaci), pomažući u ispunjavanju stvarnih potreba korisnika kreiranjem vlasničkih ekstenzija. Opisana strategija je ilustrovana na sl. 2.

Rice. 2. Svojim radom možete doprinijeti radu zajednice.

Sažetak pogodnosti

Platforma alata zasnovana na Eclipse je obostrano korisna i za programere aplikacija kao što je QNX i za kupce koji kupuju alate platforme.

Programeri imaju koristi od skraćenog vremena za izlazak na tržište za svoje proizvode i mogućnosti da imaju koristi od istraživanja drugih ljudi (po niskoj cijeni). Ovi rezultati mogu uključivati ​​visokokvalitetni "čist IP" kod koji obezbjeđuju renomirane firme kao što su IBM i QNX. Još jedna prednost za programera je to što dobija jednostavnu i jasnu šemu licenciranja, uključujući komercijalna prava i određenu zaštitu patenta. Štaviše, programer dobija mogućnost rada na više OS platformi koje podržava Eclipse, kao i pristup dobro definisanim tačkama proširenja u Eclipse projektu.

Kupci koji kupuju IDE zasnovan na Eclipse-u imaju koristi od platforme alata dizajnirane za razvoj ugrađenih aplikacija sa snažnom podrškom za unakrsnu kompilaciju, lako otklanjanje grešaka i proširenja upravljanja. ciljni sistemi. Klijentov razvojni tim će cijeniti mnoge karakteristike koje olakšavaju rad, kratko vrijeme potrebno za dodatnu obuku, dobre performanse proizvoda i robusnu platformu koja vam omogućava rad na velikim projektima. Korisnik takođe može imati koristi od Eclipse platforme u svojim aplikacijama (npr. RCP, eRCP, itd.).

Budućnost korporacije Eclipse

Eclipse Corporation je aktivna i energična zajednica. Novi projekti se stalno pojavljuju, nove arhitekture se stavljaju na raspolaganje etabliranim inovativnim kompanijama, a čak i male kompanije mogu komercijalizirati Eclipse platformu stvaranjem novih dodataka koji proširuju postojeću funkcionalnost uz minimalne troškove (vidi sliku 3).

Rice. 3. Eclipse Corporation je živahna i brzo rastuća zajednica programera dodataka.

Poređenje licenci otvorenog koda

Nisu sve licence softvera otvorenog koda jednake. QNX je napravio dobro osmišljen potez sa Eclipse javnom licencom. Ovaj izbor je dijelom vođen potrebama njegovih ugrađenih kupaca, a dijelom željom da steknu kontrolu nad (i kapitaliziraju) tehnologiju koja razlikuje proizvode.

Neprofitna korporacija Open Source Initiative () smislila je korisnu definiciju otvorenog koda od 10 tačaka. Trenutno postoji preko 50 OSI odobrenih licenci na web stranici, uključujući Eclipse javnu licencu. Ove licence mogu sadržavati značajne razlike koje treba jasno razumjeti. Ove razlike mogu značajno uticati na intelektualno vlasništvo (IP) programera i sposobnost da ga zaštite. Ovo je najviše istinito u slučaju korištenja otvorenog koda (ili izvedenih djela zasnovanih na otvorenom kodu) u ugrađenim uređajima.

Zaštitna i neodbrambena dozvola

Pod uslovima zaštitne licence, kao što je GPL v2, izvedeno delo se može distribuirati samo zajedno sa odgovarajućim izvornim kodom. Prema uslovima zaštitne licence, garantuje se da će izvorni kod kada se premesti u kategoriju otvorenog koda, ostati u ovoj kategoriji u svim narednim generacijama i izvedenim proizvodima. Kao što ćemo kasnije objasniti, ovaj zahtjev dovodi do određenih problema u slučaju ugrađenih sistema.

Primjeri nezaštitnih licenci su originalne MIT i BSD licence. Nezaštitne licence zadržavaju autorska prava vlasnika, ali daju opsežna prava korisniku, uključujući pravo na modificiranje i neograničenu besplatnu distribuciju (ili ličnu upotrebu) softvera.

Šta znači "virusna licenca"

Neki ljudi GPL nazivaju "virusnom licencom". Ovaj naziv je nastao zbog nesigurnosti pravne definicije pojma "derivativni razvoj". Uz striktno tumačenje definicije, ispada da ako je čak i mali dio GPL licenciranog koda ugrađen u neku vlasničku aplikaciju, onda cijela aplikacija mora biti licencirana kao GPL. Analogija s virusom odmah mi pada na pamet.

Pitanja kompenzacije

Nedavno su pitanja obeštećenja za kršenje IP-a (IP Indemnification) postala glavna tema razgovora za programere. Kao odgovor, neki dobavljači otvorenog koda najavili su da će braniti kupce od tužbi za kršenje patenta ili autorskih prava. A najnovije licence otvorenog koda predviđaju kazne za korisnike koji pokušavaju da ostvare svoja patentna prava protiv drugih korisnika kodne baze.

Glavni problemi koji nastaju u komercijalizaciji softvera otvorenog koda

Poređenje ugrađenih i IT aplikacija

Uspjeh prostora otvorenog koda potaknut je usvajanjem Linuxa od strane IT organizacija. Prednost korištenja Linuxa proizlazi iz rada na relativno homogenom i stabilnom hardveru (obično x86 familija) i korištenja fleksibilne računarske platforme bogate resursima.

Sa ugrađenim softverom stvari su sasvim drugačije. Softver radi na ogromnom broju uređaja sa fiksnim skupom funkcija, koristeći širok spektar hardvera s različitim arhitekturama. Dizajneri ugrađenih uređaja svoju konkurentsku prednost često zasnivaju na određenom skupu karakteristika, veličini, performansama, cijeni, vijeku trajanja baterije, pouzdanosti, interoperabilnosti i skalabilnosti. Ove karakteristike se obično implementiraju u softveru niskog nivoa, koji u slučaju Linuxa zahteva direktno povezivanje sa jezgrom OS-a. Prilagođavanje softvera niskog nivoa potrebama korisnika je norma, a ne izuzetak, tako da programeri često dobijaju željenu funkcionalnost promjenom kernela OS-a. Metoda direktnog povezivanja se također koristi ugrađivanjem u fragmente koda kako bi se smanjili troškovi kreiranja biblioteka. Uzeti zajedno, ove prakse veoma otežavaju zaštitu vlasničkog koda pod licencama kao što je GPL (javna domena).

Obično se ova pitanja licenciranja ne odnose na IT aplikacije, jer se brendirani softver specifičan za preduzeća ne distribuira izvan preduzeća, već se koristi isključivo za interne potrebe. U slučaju ugrađenih uređaja, preko njih se uvijek distribuira izvedeni softver, protiv čega se pokreće klauzula „prisilnog otvaranja” licenci otvorenog koda, što može ugroziti glavne aspekte vrijednih ponuda otvorenog koda.

Osim toga, ugrađeni proizvodi često imaju dug vijek trajanja, kako u proizvodnji, tako iu servisu. Ugrađeni proizvod koji podliježe uslovima korištenja otvorenog koda izložen je većem riziku, uključujući nedostatak dugoročne tehničke podrške, potencijalne sigurnosne probleme i kršenje IP-a.

Pitanja licenciranja

Neizvjesnost pravnog statusa

Uprkos utešnim rečima nekih zagovornika licenci otvorenog koda, mnoga ključna pitanja zbog kojih su programeri ugrađenih sistema izazvali zabrinutost još uvek nisu detaljno testirana od strane pravosuđa. Kao što je već spomenuto, definicija "derivativnog rada" ključna je za provođenje određenih uslova licenciranja, iako mnogi pojedinci i organizacije koje prihvataju uslove korištenja otvorenog koda slabo ili nimalo razumiju značenje ovog pojma.

Neka zaobilazna rješenja koja dozvoljavaju komercijalnim dobavljačima da ugrade "vlasničke" drajvere u Linux (kao što su učitavi moduli kernela) oslanjaju se na argumente "on je rekao, rekla je" umjesto na direktne veze do teksta ugovora o licenci. Zapravo, takvi drajveri koji koriste LKM module su opasno zaobilaženje zahtjeva GPL licence. Idući do krajnosti, može se protumačiti slučaj na način da se Linux kodna baza može predstaviti kao beskorisna za većinu. praktične primjene, ako ne uključuje neke od ovih vrlo "vlasničkih" drajvera. Ova situacija može efektivno obezvrijediti ideju GPL licence.

Nedostatak naknade za kršenje prava intelektualne svojine

U većini slučajeva kada se koristi otvoreni izvorni kod, postoji realna mogućnost da nehotice prekršite tuđa patentna prava. Nekoliko licenci otvorenog koda eksplicitno upućuje na patente, a o impliciranim licencama se ne može suditi. Morate zasebno licencirati sve patente koji se odnose na, na primjer, kodeke otvorenog koda koji implementiraju MP3 algoritme ili druga vlasnička rješenja. U međuvremenu, loši momci (uključujući i Microsoft) su zauzeti izgradnjom portfelja patenata za koje mnogi stručnjaci vjeruju da bi mogli biti ispaljeni na zagovornike otvorenog koda.

Neke licence eksplicitno upućuju na patente. Na primjer, Eclipse javna licenca ima eksplicitno pominjanje patentnih prava, a sadrži i klauzulu o kaznama u slučaju da neko pokuša da ostvari patentna prava na drugačiji način. Eclipse Corporation se također trudi da provjeri kod i odredi njegov izvor porijekla u smislu licenciranja, patenta ili autorskih prava.

Dodatni napori za očuvanje IP-a

Da bi koristila open source, kompanija mora uložiti značajne napore u sljedećim oblastima:

  • upravljanje distribucijom proizvoda;
  • upravljanje licencama;
  • rješavanje pravnih sukoba u pogledu obaveza kupaca;
  • posvećujući dužnu pažnju pravnim pitanjima: održavanje čistoće IP prava, provjeru IP prava na otvoreni izvor, utvrđivanje izvora porijekla koda, praćenje promjena u verzijama licence, na primjer, GPL v3, itd.

Prihvatanje zahtjeva kupaca

Neki veliki kupci, suočeni sa složenošću i neizvjesnošću softvera otvorenog koda, odbili su da se bave proizvodima koji uključuju open source. Ako i dalje želite raditi s ovim klijentima, morate ih pribaviti ili pozvati da uključe uslove komercijalne licence za vaš kod.

Pitanja vezana za IP

Da li uslovi vaše licence otvorenog koda utiču na intelektualnu svojinu koja razlikuje vaš proizvod? Ako da, onda je vaša IP adresa ugrožena.

Ako ugrađeni sistemi koriste mješavinu vašeg vlastitog softvera i softvera otvorenog koda, tada morate razumjeti suštinu, porijeklo i odnos svih komponenti ugrađenog softvera. Bez ovog dubokog uvida u predmet, mogli biste nehotice povrijediti tuđu IP adresu ili čak izgubiti prava na svoj softver.

Bez patentnih licenci i kompenzacije, dugovječni ugrađeni sistemski softver, relativno visoka prodajna cijena i obim prodaje ugrađenog uređaja s fiksnom funkcijom čine takve sisteme očiglednom metom za tužbe za kršenje patenta od strane navedenih "loših momaka" i glavnih konkurenata.

Kao što pokazuje primjer korištenja QNX Momentics IDE-a, postoje mnoge neposredne prednosti softvera otvorenog koda, uključujući smanjeno vrijeme izlaska na tržište, niže troškove razvoja i više slobode za dodavanje funkcija i inovacija vašem proizvodu. Ako nudite svoj softver kao uslugu koja rješava problem korisnika, onda kupca nije briga da li koristite softver otvorenog koda ili ne, on samo plaća za funkciju koja mu je potrebna.

Međutim, trebali biste razumjeti razliku između različitih licenci otvorenog koda i odabrati onu koja najbolje odgovara vašoj aplikaciji i potrebama korisnika. Štaviše, budite spremni da budete odgovorni za obaveze licenciranja softvera koji odaberete. Trebali biste biti svjesni drugih zahtjeva za intelektualnu svojinu (kao što su patentna prava) u vezi sa programskim kodom. Budite oprezni s kodnom bazom koja ne prikazuje poruku o posljedicama kršenja IP adrese. Tražiti bolji dizajni, gdje se predlaže obeštećenje eventualne štete i gdje se prikazuje poruka na ekranu o novčanim donacijama za razvoj koda za kompenzaciju troškova povezanih s kršenjem autorskih prava ili patenta i tako dalje. Također provjerite je li softver otvorenog koda koji koristite u skladu s vašom politikom intelektualnog vlasništva i izbjegavajte odbrambene licence koje bi vas mogle prisiliti da otkrijete karakteristične dijelove vašeg koda. Ako je vaš proizvod ugrađen u sistem, razmislite i o ponudi komercijalnih uslova licenciranja za vaš IP.

Upotreba otvorenog koda u ugrađenim uređajima postavlja složenija pitanja od korištenja softvera otvorenog koda u IT aplikacijama, jer je prvo rizičnije. Prije nego što odlučite da koristite bilo koji softver otvorenog koda, procijenite njegovu stvarnu cijenu vlasništva (TTCO) i njegovu prikladnost za vaš projekat.

Konačno, pridružite se zajednici korisnika otvorenog koda i programera kako biste dobili najveću vrijednost i koristi za sebe!



Učitavanje...
Top