Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Vijesti
  • Softver otvorenog koda. Vrste licenci za pravo korištenja softvera otvorenog koda

Softver otvorenog koda. Vrste licenci za pravo korištenja softvera otvorenog koda


Većina korištenog softvera distribuira se u kompajliranom obliku. To sugerira da izvorni kod takvih programa prolazi kroz poseban prevodilac koji ga pretvara u jezik razumljiv računalu. Zauzvrat, softver koji koristi otvoreni izvor, potpuna je suprotnost.

Takav se kod u pravilu distribuira zajedno s kompajliranom verzijom programa, što omogućuje njegovu modifikaciju ili poboljšanje na sve načine kako bi mogao obavljati širi raspon zadataka. Programeri takvih programa vjeruju da će s vremenom otvoreni kod omogućiti softverskom proizvodu da postane korisniji i osloboditi ga velikog broja pogrešaka.

Postoji nekoliko kriterija prihvatljivosti za programe otvorenog koda:

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

Razmotrimo jedan od najupečatljivijih primjera softvera koji prati kod otvorenog koda koji je dobio svjetsku distribuciju. Početkom 1990-ih, finski student Linus Torvalds razvio je potpuno novi operativni sustav temeljen na Unixu, koji je danas poznat kao linux. Sustav je objavljen pod licencnim ugovorom GNU Opća javna licenca, koji je sadržavao definiciju otvorenog koda s pravnog stajališta. Prilično velik broj programera počeo je koristiti i poboljšavati ovaj operativni sustav. Sakupivši poboljšanja programera diljem svijeta u jednu cjelinu, 1994. Linus Torvalds izdaje verziju 1.0 Linuxa. Prije toga, numeriranje verzija se provodilo počevši od nule.

S vremenom je došlo do opće zabrinutosti potrošača u vezi s nedostatkom jamstva, kao i tehničke podrške za takav softver. Tako Red Hat Software stvara službeni softverski paket Red Hat Linux koji uspijeva prodati. Najznačajnija značajka takvog tržišno vrijednog operativnog sustava bila je jamstvo i tehničku podršku, što nije manje važno.

Nekoliko drugih tvrtki također je razvijalo nove verzije Linuxa za prodaju, a ovi paketi su bili dodatno opremljen raznim softverom, među kojima su: Mozilla Internet preglednik, kreiran na Netscape jezgri, Apache web poslužitelj, Perl web skriptni jezik, PNG format slikovnih datoteka i mnogi drugi. Osim toga, postoje verzije navedenih programskih paketa razvijene za Windows i Android operativne sustave. To sugerira da su programi otvorenog koda dostupni ne samo za računala, već i za mobilne uređaje.

Ukratko, vrijedi reći da programi koji dolaze sa svojim otvorenim kodom imaju niz nedostataka. Prije svega ovo raznolikost verzija, zbog čega dorada jednog programa može uzrokovati stvaranje novog samostalnog programskog paketa. Druga stvar koju treba naglasiti je korištenje zastarjelih programa od strane korisnika, u kojem neke pogreške možda neće biti ispravljene, nije moguće raditi s novim formatima datoteka i tako dalje. Primjer takvog slučaja su Microsoft Word i Open Office. Ako je u prvom paketu napisana neka složena formula, onda je drugi jednostavno ne može pročitati.

Također među softverom otvorenog koda nema tzv posebna pakiranja za knjigovodstvo i izvještavanje. Još jedna mana je izravno povezana s hardverom, činjenica je da se pri prelasku s Windowsa na Linux mora uzeti u obzir da Linux driveri ne postoje za sve modele računalnih uređaja, što će uzrokovati kvarove sustava.

Međutim, ne zaboravimo na pozitivne aspekte takvog softvera, jer open source ima puno prednosti. Prvo, sav softver otvorenog koda se distribuira je besplatan. Drugo, takav programi se ponekad pojavljuju mnogo brže komercijalni zbog činjenice da je nekoliko tisuća ljudi uključeno u razvoj odjednom, a nije svaka tvrtka u mogućnosti platiti rad nekoliko tisuća programera. Zadnje što treba napomenuti je zabrinutost mogućnosti brzog rješavanja problema, zahvaljujući kojem programi otvorenog koda rade stabilnije od komercijalnih.

Mark Roberts
Direktor upravljanja proizvodima (direktor, upravljanje proizvodima)
QNX softverski sustavi
e-mail: [e-mail zaštićen]

anotacija

Ovaj se članak usredotočuje na prednosti, strateška razmatranja, prepreke i mogućnosti povezane s korištenjem softvera otvorenog koda u komercijalnoj proizvodnji. Koristeći integrirano razvojno okruženje (IDE) temeljeno na platformi Eclipse kao primjer, raspravljat ćemo o razlikama između zaštitnih (protective) i nezaštitnih (nonprotective) licenci izvornog koda softvera. Pri integraciji ili povezivanju otvorenog izvornog koda s "vlasničkim" zatvorenim izvornim kodom često je potrebna pažnja i pažnja. Postoje i različita pravna pitanja kojih treba biti svjestan, kao što je mogućnost kršenja patenta. Također ćemo pokušati objasniti zašto se osnovna načela korištenja softvera otvorenog koda u okruženju informacijske tehnologije (IT) ne odnose na komercijalne proizvode za ugrađene uređaje.

QNX Momentics razvojno okruženje kao primjer otvorenog koda

Davne 2001. godine, kada su se mnoge softverske tvrtke borile za opstanak u uvjetima općeg kolapsa na burzi IT tvrtki, posebice onih povezanih s elektroničkim poslovanjem na Internetu, QNX Software Systems donio je stratešku odluku započeti s razvojem novog integriranog razvojno okruženje (IDE) za tržište.ugrađeni sustavi. Tvrtka je već imala solidno iskustvo u razvoju niza alata koji se koriste u razvoju ugrađenih uređaja, ali je uprava tvrtke shvatila da će im stvaranje IDE omogućiti da ostanu na vrhuncu vala u visoko konkurentnom okruženju. Odluka o stvaranju IDE-a također je bila potaknuta pomakom naglaska u zahtjevima korisnika. Tijekom pada poslovanja, kupci bez novca postali su zainteresiraniji za rješenja koja bi mogla povećati produktivnost i učiniti ih mobilnijima (fleksibilnijima) u radu, što bi poboljšalo ukupnu ekonomsku učinkovitost.

Za QNX je razvoj IDE-a bio "ulog za budućnost" jer su u to vrijeme troškovi i trud za razvoj projekta bili nedostižni za većinu dobavljača alata ugrađenih sustava. Srećom, QNX je blisko surađivao s IBM-om na raznim segmentima tržišta ugrađenih uređaja. Kroz blisku suradnju, IBM je s QNX-om podijelio svoje planove za izdavanje integriranog razvojnog okruženja otvorenog koda koje je kasnije postalo osnova za Eclipse platformu.

IBM je ponudio korištenje iskustva QNX-a za prilagodbu IDE tehnologije potrebama programera uključenih u kreiranje ugrađenih aplikacija temeljenih na jeziku C/C++. Stručnjaci QNX-a gotovo su odmah istaknuli nepobitne atraktivne aspekte korištenja otvorenog koda 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 prilagodbu potrebama kupca;
  • privući ozbiljne igrače u industriji da podrže i stvore ekosustav komplementarnih tehnologija i dodataka;
  • pružiti kupcima stabilnu arhitekturu koja može podržati diferencijaciju proizvoda;
  • omogućiti programerima ugrađenih uređaja da kao razvojnu platformu koriste standardne radne stanice pogodne za rad s aplikacijama informacijske tehnologije (u najširem spektru aplikacija).

Konačno, postojala je zasebna mogućnost da se IDE platforma uhvati i postane de facto standard, omogućujući QNX-u da iskoristi veliki ekosustav programera i alata treće strane koji koriste takvu platformu.

Osnovan projekt otvorenog koda Eclipse.org

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

Od samog početka, Eclipse je bio projekt istinski otvorenog koda. Projekt je ponudio i besplatne tehnologije otvorenog koda i pristup zajednici najobrazovanijih i najnaprednijih programera u svom području. Tako se ova tehnologija pokazala kao univerzalna platforma za integraciju svih vrsta razvojnih alata. Temelji se na otvorenoj, proširivoj arhitekturi i jasno je licenciran kao proizvod bez naknade, koji se može slobodno distribuirati. Doprinosi članova zajednice projektu Eclipse temelje se na standardnom razvojnom modelu softvera otvorenog koda (OSS), ali većina članova također doprinosi komercijalnim razvojima temeljenim na platformi Eclipse.

Projekt skladištenja alata

U prosincu 2001. QNX je počeo graditi svoj QNX® Neutrino® RTOS temeljen na Eclipse IDE. Vizija tvrtke bila je da IDE bude visoko funkcionalan, C/C++ orijentiran, s duboko integriranim alatima za ispravljanje pogrešaka, profiliranje, analizu i izgradnju ugrađenih aplikacija. Od samog početka, QNX tim je namjeravao da bude višenamjenski, višejezični IDE koji podržava više platformi alata. Ovo uključuje:

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

Od tada, IDE je nastavio rasti kako bi uključio podršku za Linux platformu i podršku za dodatne procesorske arhitekture, uključujući XScale procesore.

Provedba projekta pokrenuta je u stilu "ekstremnog programiranja". Tvrtka je odabrala tim od 12 najboljih inženjera. Dobili su posebnu prostoriju, bili su izolirani od svih smetnji, projekt im je dan na potpuno raspolaganje.

Grupa je dobila potrebnu ovlast za donošenje odluka, uveden je strog raspored rada koji nije sklon riziku, s beta izdanjem proizvoda za 16 tjedana i komercijalnim izdanjem do 4. srpnja 2002. Grupa je upoznala sve postavili su prekretnice i izdali novi proizvod - nazvan QNX Momentics® IDE - točno prema planu, demonstrirajući potencijal softvera otvorenog koda za smanjenje vremena izlaska na tržište.

Od ideje do isporuke proizvoda - manje od 7 mjeseci

Gradeći na platformi Eclipse, QNX tim je u šest mjeseci dovršio vrlo moćan i svestran IDE za razvoj ugrađenog softvera. IDE je podržavao međuplatformski razvoj za više platformi alata i programskih jezika te je podržavao najpopularnije ugrađene ciljne procesorske ploče. S platformom Eclipse QNX je uspio:

  • koristiti GNU prevoditelje i alate naredbenog retka za unakrsni razvoj;
  • implementirati podršku za dodatke trećih strana, kao što je IBM WebSphere za ugrađene Java aplikacije i Rational ClearCase za razvoj vođen modelom;
  • stvoriti dodatne alate za izgradnju sustava, upravljanje ciljnim uređajima, analizu memorije, profiliranje sustava i aplikacija itd.

Na sl. Slika 1 prikazuje primjer kako platforma Eclipse može smanjiti troškove izgradnje IDE-a, omogućujući tvrtkama da se usredotoče na više razine razvoja gdje se stvaraju prave inovacije. Na primjer, korištenjem platforme Eclipse, QNX je uspio jednostavno stvoriti nekoliko inovativnih alata za vizualizaciju koji vam omogućuju da uđete duboko u ugrađeni sustav i prikažete njegovo ponašanje.

Povratak doprinosa radu zajednice

Snaga uspješnog projekta otvorenog koda leži u suradnji zajednice programera i stalnom poboljšanju baze koda. Ako tvrtka prihvati i dobro koristi open source, onda jednostavno ima obvezu doprinijeti zajednici. U tu je svrhu QNX preuzeo vodstvo nad projektom Eclipse CDT u lipnju 2002.

Cilj projekta Eclipse CDT (C/C++ Development Tools) je stvoriti zajednički skup interoperabilnih C/C++ jezičnih alata za Eclipse platformu. Eclipse CDT je ​​pozicioniran kao projekt otvorenog koda, s pravima upravljanja od Eclipse Corporation. Za početak CDT projekta, QNX je donirao svoje razvojne resurse i izvorni kod za QNX Momentics IDE projekt. Rational i Red Hat, kao članovi zajednice, također su pružili značajnu podršku projektu.

Riža. 1. Uz Eclipse platformu, dobavljači alata mogu se usredotočiti na najvišu razinu radnog skupa, gdje se zapravo stvaraju prave inovacije.

QNX nastavlja održavati CDT projekt, koji je narastao s početnih skromnih 80.000 linija koda na više od 700.000 linija koda danas. Početkom 2006., Eclipse CDT dnevnik napretka projekta procijenio je QNX-ov doprinos na 52%. Sljedeći je bio IBM s doprinosom od 36%. CDT projekt je drugi najpopularniji Eclipse projekt nakon same Eclipse platforme.

Mogu li si priuštiti "poklon" koda?

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 doprinijeti zajednici korisnika otvorenog koda. Poduzimajući ovaj korak, možete imati koristi od takve "standardne" implementacijske ponude, zajedno s prednostima stručnosti podrške za proizvode. Moći ćete imati koristi od rada cijele zajednice usmjerenog na poboljšanje baze koda. Takva strategija može osloboditi vaše vlastite resurse za dodatna istraživanja usmjerena na inovacije i dodavanje funkcionalnosti vašim proizvodima.

Štoviše, mogli biste dobiti određenu kontrolu nad smjerom "standardne" platforme - koju ste zaradili, naravno, svojim doprinosom zajednici! Ako podržavate projekt, ponašajte se kao dobar građanin zajednice, poštujte tuđa mišljenja, cijenite doprinose i savjete drugih članova. Nemojte misliti da će vam netko pokušati "očistiti džepove" korištenjem koda i preuzeti kontrolu nad smjerom razvoja platforme od vas.

Na primjer, strategija QNX Software Systemsa je iskoristiti Eclipseovo sudjelovanje dok razvija nove funkcionalnosti koje se uključuju kroz standardizirane točke proširenja koje su već uključene u Eclipse i CDT platforme. U tu svrhu, QNX namjerava ostati aktivan član Eclipse zajednice, kapitalizirajući postojeću bazu koda i rad trećih strana (plugins), pomažući u ispunjavanju stvarnih potreba korisnika stvaranjem vlasničkih proširenja. Opisana strategija ilustrirana je na sl. 2.

Riža. 2. Svojim radom možete doprinijeti radu zajednice.

Sažetak prednosti

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

Razvojni programeri imaju koristi od smanjenog vremena za plasiranje svojih proizvoda na tržište i mogućnosti da imaju koristi od istraživanja drugih ljudi (po niskoj cijeni). Ovi rezultati mogu uključivati ​​visokokvalitetni "clean IP" kod koji osiguravaju renomirane tvrtke kao što su IBM i QNX. Još jedna prednost za programera je ta što dobiva jednostavnu i jasnu shemu licenciranja, uključujući komercijalna prava i određenu zaštitu patenta. Štoviše, programer dobiva mogućnost rada na više OS platformi koje podržava Eclipse, kao i pristup dobro definiranim točkama proširenja u Eclipse projektu.

Kupci koji kupe IDE temeljen na Eclipseu imaju koristi od alatne platforme dizajnirane za razvoj ugrađenih aplikacija, sa snažnom podrškom za unakrsnu kompilaciju, jednostavnim otklanjanjem pogrešaka i proširenjima za upravljanje ciljnim sustavima. Klijentov razvojni tim cijenit će mnoge značajke koje olakšavaju rad, kratko vrijeme potrebno za dodatnu obuku, dobre performanse proizvoda i robusnu platformu koja vam omogućuje rad na velikim projektima. Kupac također može imati koristi od platforme Eclipse u vlastitim aplikacijama (npr. RCP, eRCP, itd.).

Budućnost korporacije Eclipse

Eclipse Corporation aktivna je i energična zajednica. Stalno se pojavljuju novi projekti, nove arhitekture postaju dostupne etabliranim inovativnim tvrtkama, a čak i male tvrtke mogu komercijalizirati Eclipse platformu stvaranjem novih dodataka koji proširuju postojeću funkcionalnost uz minimalne troškove (vidi sliku 3).

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

Usporedba licenci otvorenog koda

Nisu sve licence softvera otvorenog koda jednake. QNX je napravio dobro promišljen potez s javnom licencom Eclipse. Ovaj izbor djelomično su potaknule potrebe njegovih ugrađenih korisnika, a djelomično želja za stjecanjem kontrole nad (i iskorištavanjem) tehnologije koja razlikuje proizvode.

Neprofitna korporacija Open Source Initiative () osmislila je korisnu definiciju otvorenog koda od 10 točaka. Trenutno postoji više od 50 OSI odobrenih licenci na web stranici, uključujući Eclipse Public License. Ove licence mogu sadržavati značajne razlike koje treba jasno razumjeti. Te razlike mogu značajno utjecati na intelektualno vlasništvo (IP) programera i mogućnost njegove zaštite. To je najtočnije u slučaju korištenja otvorenog izvornog koda (ili izvedenih radova temeljenih na otvorenom izvornom kodu) u ugrađenim uređajima.

Zaštitna i neobrambena licenca

Prema uvjetima zaštitne licence, kao što je GPL v2, izvedeno djelo smije se distribuirati samo zajedno s odgovarajućim izvornim kodom. Prema uvjetima zaštitne licence, zajamčeno je da će izvorni kod, kada se premjesti u kategoriju otvorenog koda, ostati u ovoj kategoriji u svim sljedećim generacijama i izvedenim proizvodima. Kao što ćemo kasnije objasniti, ovaj zahtjev dovodi do određenih problema u slučaju ugrađenih sustava.

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 izmjene i neograničenu besplatnu distribuciju (ili osobnu upotrebu) softvera.

Što se podrazumijeva pod "virusnom licencom"

Neki ljudi nazivaju GPL "virusnom licencom". Ovaj naziv nastao je zbog nejasnoće zakonske definicije pojma "derivativnog razvoja". Sa striktnim tumačenjem definicije, ispada da ako je čak i mali dio koda licenciranog GPL-om ugrađen u neku vlasničku aplikaciju, onda cijela aplikacija mora biti licencirana kao GPL. Odmah mi pada na pamet analogija s virusom.

Pitanja naknade štete

Nedavno su pitanja naknade štete za povredu prava intelektualnog vlasništva (IP Indemnification) postala glavna tema rasprava programera. Kao odgovor, neki dobavljači otvorenog koda najavili su da će braniti kupce od tužbi za kršenje patenata ili autorskih prava. A najnovije licence otvorenog izvornog koda navode kazne za korisnike koji pokušaju ostvariti svoja patentna prava protiv drugih korisnika baze kodova.

Glavni problemi koji se javljaju u komercijalizaciji softvera otvorenog koda

Usporedba ugrađenih i IT aplikacija

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

S ugrađenim softverom stvari su sasvim drugačije. Softver radi na velikom broju uređaja s fiksnim skupom značajki, koristeći širok raspon hardvera s različitim arhitekturama. Dizajneri ugrađenih uređaja često temelje svoju konkurentsku prednost na određenom skupu značajki, veličini, izvedbi, cijeni, trajanju baterije, pouzdanosti, interoperabilnosti i skalabilnosti. Ove značajke razlikovanja obično se implementiraju u softver niske razine, koji u slučaju Linuxa zahtijeva izravno povezivanje s jezgrom OS-a. Prilagodba softvera niske razine potrebama korisnika je norma, a ne iznimka, tako da programeri često dobivaju funkcionalnost koju žele promjenom jezgre OS-a. Također se koristi metoda izravnog povezivanja ugradnjom u fragmente koda kako bi se smanjio trošak izrade biblioteka. Uzeti zajedno, ove prakse jako otežavaju zaštitu vlasničkog koda prema 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 poduzeće ne distribuira izvan poduzeća, već se koristi isključivo za interne potrebe. U slučaju ugrađenih uređaja, izvedeni softver uvijek se distribuira preko njih, protiv čega se pokreće klauzula o "prisilnom otvaranju" licenci otvorenog koda, što može ugroziti glavne aspekte vrijednih ponuda otvorenog koda.

Osim toga, ugrađeni proizvodi često imaju dug životni vijek, kako u proizvodnji tako iu upotrebi. Ugrađeni proizvod koji podliježe uvjetima 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.

Problemi s licenciranjem

Nesigurnost pravnog statusa

Unatoč utješnim riječima nekih zagovornika licence otvorenog koda, mnoga ključna pitanja oko kojih su razvijači ugrađenih sustava izrazili zabrinutost još nisu opsežno ispitana od strane pravosuđa. Kao što je već spomenuto, definicija "izvedenog rada" ključna je za provedbu određenih licencnih uvjeta, iako mnogi pojedinci i organizacije koji prihvaćaju uvjete korištenja otvorenog koda imaju malo ili nimalo razumijevanja značenja ovog pojma.

Neka zaobilazna rješenja koja komercijalnim dobavljačima omogućuju ugradnju "vlasničkih" upravljačkih programa u Linux (kao što su moduli jezgre koji se mogu učitavati) oslanjaju se na argumente "on je rekao, ona je rekla" umjesto na izravne veze na tekst licencnog ugovora. Zapravo, takvi upravljački programi koji koriste LKM module opasno su zaobilaženje zahtjeva GPL licence. Idući u krajnost, stvar se može protumačiti na takav način da se baza koda Linuxa može prikazati beskorisnom za većinu praktičnih aplikacija ako ne uključuje neke od ovih vrlo "vlasničkih" upravljačkih programa. Ova situacija može učinkovito obezvrijediti ideju GPL licence.

Nedostatak naknade za povredu prava intelektualnog vlasništva

U većini slučajeva kada se koristi otvoreni izvorni kod, postoji stvarna mogućnost da ćete nenamjerno povrijediti tuđa patentna prava. Nekoliko licenci otvorenog koda eksplicitno se pozivaju na patente, a implicirane licence ne mogu se ocjenjivati. 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, zločesti dečki (uključujući i Microsoft) zauzeti su izgradnjom portfelja patenata za koje mnogi stručnjaci vjeruju da bi zagovornici otvorenog koda mogli dobiti otkaz.

Neke licence izričito upućuju na patente. Na primjer, Eclipse Public License eksplicitno spominje patentna prava i sadrži klauzulu o kaznama u slučaju da netko pokuša ostvariti patentna prava na drugačiji način. Eclipse Corporation također ulaže velike napore u provjeru koda i utvrđivanje njegovog izvora u smislu licenciranja, patenta ili autorskih prava.

Dodatni napori za očuvanje IP-a

Da bi koristila otvoreni kod, tvrtka mora uložiti značajne napore u sljedećim područjima:

  • upravljanje distribucijom proizvoda;
  • upravljanje licencama;
  • rješavanje pravnih sukoba u pogledu obveza kupaca;
  • posvećivanje dužne pozornosti pravnim pitanjima: održavanje čistoće IP prava, provjera IP prava na otvoreni kod, utvrđivanje izvora podrijetla koda, praćenje promjena u verzijama licence, na primjer, GPL v3, itd.

Prihvaćanje zahtjeva kupaca

Neki veliki kupci, suočeni sa složenošću i neizvjesnošću softvera otvorenog koda, odbili su raditi s proizvodima koji uključuju otvoreni kod. Ako i dalje želite raditi s tim klijentima, morate ih dobiti ili pozvati da uključe uvjete komercijalne licence za vaš kod.

Pitanja povezana s IP-om

Utječu li uvjeti vaše licence otvorenog koda na intelektualno vlasništvo koje ističe vaš proizvod? Ako da, onda je vaš IP u opasnosti.

Ako ugrađeni sustavi koriste mješavinu vašeg vlastitog softvera i softvera otvorenog koda, tada morate razumjeti bit, porijeklo i odnos svih komponenti ugrađenog softvera. Bez ovog dubokog uvida u predmet, mogli biste nenamjerno prekršiti tuđu IP ili čak izgubiti prava na vlastiti softver.

Bez patentnih licenci i kompenzacije, dugotrajni softver ugrađenog sustava, relativno visoka prodajna cijena i obujam prodaje ugrađenog uređaja s fiksnom funkcijom čine takve sustave očitom metom za tužbe za kršenje patenata od strane navedenih "zločestih dečki" i glavnih konkurenata.

Kao što pokazuje primjer korištenja QNX Momentics IDE, postoje mnoge neposredne prednosti softvera otvorenog koda, uključujući skraćeno vrijeme izlaska na tržište, niže troškove razvoja i više slobode dodavanja značajki i inovacija vašem proizvodu. Ako nudite svoj softver kao uslugu koja rješava problem klijenta, tada kupca nije briga koristite li softver otvorenog koda ili ne, oni samo plaćaju za značajku koja im 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. Štoviše, budite spremni snositi odgovornost za licencne obveze softvera koji odaberete. Trebali biste biti svjesni drugih zahtjeva za IP (kao što su patentna prava) koji se odnose na programski kod. Budite oprezni s bazom kodova koja ne prikazuje poruku o posljedicama povrede IP-a. Potražite projekte koji nude obeštećenje i koji prikazuju poruku na zaslonu o novčanim donacijama za razvoj koda kako bi se nadoknadili troškovi povezani s kršenjem autorskih prava ili patenata i tako dalje. Također provjerite je li softver otvorenog koda koji koristite u skladu s vašom politikom intelektualnog vlasništva i izbjegavajte obrambene licence koje bi vas mogle prisiliti da otkrijete karakteristične dijelove svog koda. Ako je vaš proizvod ugrađen u sustav, razmislite o ponudi komercijalnih uvjeta licenciranja za svoj IP.

Korištenje otvorenog koda u ugrađenim uređajima postavlja složenija pitanja nego korištenje softvera otvorenog koda u IT aplikacijama, budući da je prvo riskantnije. Prije nego što odlučite koristiti bilo koji softver otvorenog koda, procijenite njegov pravi trošak vlasništva (TTCO) i njegovu prikladnost za vaš projekt.

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

Softver otvorenog koda ima svoje obožavatelje, au posljednje vrijeme kada je u pitanju razvoj nekakvih "nacionalnih" proizvoda, uglavnom se misli na open-source. Paradoksalno, interes za ovu vrstu softvera generirao je mnogo iskrivljenja i zabluda koje u praksi sprječavaju njegovu distribuciju.

Naša tvrtka je uključena u projekte otvorenog koda od 2005. godine - i to kroz razvoj vlastitih rješenja otvorenog koda (OpenVZ , CRIU projekti), sudjelovanje u drugim projektima otvorenog koda (QEMU , OpenStack , libvirt , libcontainer itd.). Tijekom 10 godina prikupili smo neke od najčešćih mitova o softveru otvorenog koda. Govorit ću o svakoj od zabluda i objasniti zašto je pogrešna. Sigurno ćete se sjetiti još toliko, ali, po meni, ovih pet je “najpaklenijih”.


Projekt otvorenog koda je projekt otvorenog koda.

Svaki softverski projekt sastoji se od mnogih artefakata: izvornog koda projekta, informacija o neispravljenim nedostacima, testnog izvornog koda, dokumentacije. Izvorni kod projekta samo je njegov dio, čiji slobodan pristup ne daje pravo nazvati cijeli projekt otvorenim kodom. Osim izvornog koda, drugi razvojni artefakti trebaju biti besplatno dostupni, a što je više artefakata otvoreno, to je projekt otvoreniji suradnicima (ljudima koji žele pridonijeti projektu). Osim toga, potrebni su transparentni procesi između svih članova zajednice, otvorena komunikacija u projektu itd. Sve ove mjere samo će doprinijeti razvoju projekta i plodnoj suradnji članova zajednice.

Kvaliteta softvera otvorenog koda lošija je jer svatko može napisati kod za njega

Glavno načelo softvera otvorenog koda - otvoreni zajednički razvoj - samo po sebi jamstvo je da se nekvalitetni kod, štake i zakrpe jednostavno ne mogu sakriti od drugih sudionika. Osoba koja sudjeluje u takvim projektima spremna je na činjenicu da će njegov rad biti podvrgnut i analizi i kritici, što znači da neće hakirati. Njegov je ugled u pitanju i nitko ga ne želi izgubiti.

Osim toga, u nekim zajednicama (primjerice, zajednica oko razvoja Linux kernela) postoji striktno načelo - samo najbolji, testirani i idealni kod prihvaća se u izvorni kernel. Pokušaj dodavanja nekvalitetnih izmjena bit će odbijen, drugi pokušaj je prepun gubitka ugleda osobe ili tvrtke koja doprinosi.

Odnosno, otvoreni projekt doista omogućuje svakome da sudjeluje u pisanju koda, ali u ozbiljnim projektima, zbog visokog ulaznog praga, kod neće biti prihvaćen od ljudi s nedovoljnom razinom stručnosti.
Većina velikih informatičkih tvrtki (IBM, Google, Canonical, Parallels itd.) ima čitave odjele u kojima su stručnjaci plaćeni za rad na projektima otvorenog koda te tako posredno rade na proizvodima tvrtke.

Zasebno je vrijedno spomenuti da su tvrtke koje razvijaju proizvode temeljene na otvorenim projektima zainteresirane za poboljšanje koda otvorenih projekata koji koriste tijekom testiranja. Stoga se svi otkriveni problemi moraju popraviti i osigurati da se ovaj popravak doda u glavnu granu projekta kako bi bilo što manje razlika u vašem kodu i kodu otvorenog projekta. Naši proizvodi koriste kod drugih otvorenih projekata, tako da popravljamo probleme pronađene u kodu tih projekata i šaljemo ih uzvodno. To je bio slučaj s ranjivostima u jezgri RHEL: Red Hat je istaknuo Vladimira Davydova za otkrivanje ozbiljnih ranjivosti CVE-2014-0203 i CVE-2014-4483 u jednom od ažuriranja jezgre RHEL6 (drugi problem, usput, pronađen je korištenjem jedan od naših automatiziranih testova, koristeći Linux Test Project). Vasilij Averin dobio je pohvale za pronalazak CVE-2014-5045, Dmitrij Monakhov za CVE-2012-4508. Dobro testiranje Linux kernela primijetio je čak i Andrew Morton (tko je ovo?): “Zanima me. Tijekom proteklih nekoliko mjeseci, ljudi na @openvz.org pronašli su (i popravili) hrpu opskurnih, ali ozbiljnih i prilično starih grešaka. Kako ste otkrili te greške?"

Ishod

Zapravo, svi ovi mitovi većinom proizlaze iz korisnika koji su ili tek počeli raditi s OpenSource softverom ili ga uopće nisu isprobali. Najbolji način da se riješite predrasuda je da počnete blisko surađivati ​​s takvim odlukama.
Nedavno smo najavili otvoreni razvojni proces za novu verziju našeg proizvoda Virtuozzo 7. Ako ste također zainteresirani za stvaranje najbolje tehnologije virtualizacije spremnika, onda

Sav softver na LiveCD-u i DVD-u je besplatan i otvorenog koda (free and open source), uz neke iznimke (Flash, Opera, Acrobat Reader i drugi) koji se nalaze u ne-oss repozitoriju. Kada govorimo o besplatni softver, Mi mislimo sloboda, a ne cijena.

Što je besplatni softver

Pokret za slobodni softver započeo je Richard M. Stallman, koji je 1984. godine utemeljio projekt GNU (rekurzivni akronim: GNU's Not Unix). Godinu dana kasnije, osnovao je Zakladu za besplatni softver (Free Software Foundation, također poznatu kao FSF) .

Besplatni softver se može podijeliti u 4 glavna "stupnja slobode":

  • sloboda koristiti programa na bilo koji način (sloboda 0)
  • sloboda učenje kako raditi programa, kao i prilagodba prema vašim potrebama (sloboda 1) Ovo zahtijeva pristup izvornom kodu.
  • sloboda distribucija primjeraka programa. Možete podijeliti sa susjedom. (sloboda 2)
  • sloboda poboljšati program i objavite svoja poboljšanja, za dobrobit cijele zajednice (sloboda 3). Ovo zahtijeva pristup izvornom kodu.

Neslobodni softver naziva se vlasnički softver. Važno je ne brkati shareware i besplatne (freeware) programe s besplatnim, to su različite stvari.

Što je softver otvorenog koda

Pokret za besplatni i otvoreni softver započeo je ranih 1990-ih od strane ljudi koji su naglašavali tehničke i ekonomske prednosti korištenja otvorenog koda i otvorenog modela razvoja besplatnog softvera. Međutim, postoji mala količina koda koju Open Source Society priznaje kao besplatni softver, pa se često koristi izraz FOSS (Free and Open Source Software). Jer, strogo govoreći, pojmovi "slobodnog softvera" (Free Software) i "softvera s otvorenim izvornim kodom" (Open Source Software) nisu nimalo identični, kako bi se moglo pomisliti. Na primjer, licencni ugovor za softverski proizvod može vam dopustiti da ispitate njegov izvorni kod, dok vam zabranjuje da ga mijenjate i/ili distribuirate njegove kopije. U ovom slučaju proizvod je otvoren (Open Source), ali nije besplatan (Free).

Prednosti korištenja besplatnog softvera

Besplatni softver je koristan iz niza razloga, a glavni su navedeni u nastavku.

Ispravak pogreške

Ako je softverski proizvod besplatan, to vam daje pravo da popravite greške koje nađete u njemu, kao i da ga modificirate kako bi odgovarao vašim potrebama. Ako je program vlasnički, tada ne možete sami popraviti pronađene pogreške ili proširiti funkcionalnost. U tom ćete slučaju biti prisiljeni kontaktirati vlasnika softverskog proizvoda sa zahtjevom da napravite potrebne ispravke i dodate značajke koje su vam potrebne. Međutim, nema jamstva da će vlasnik to učiniti.

Dijeljenje

Besplatni softver vam daje pravo da distribuirate njegove kopije, pomažući tako svojim prijateljima da koriste besplatni softver bez dobivanja licenci.

Znati i kontrolirati što i kako program radi

U velikoj većini slučajeva ne možete točno znati što vlasnički program radi. Dakle, ne možete biti sigurni da program radi samo ono što od njega tražite, jer može raditi neke radnje bez vašeg znanja (primjerice, slati podatke o vama kao korisniku svojim kreatorima ili imati nedokumentirane mogućnosti različitog karaktera) . Naravno, u slučaju korištenja besplatnog programa, potpuno ste osigurani od takvih problema. Uostalom, na raspolaganju vam je izvorni kod programa koji vam omogućuje da točno znate što i kako program radi. Ako vam neke njegove značajke i / ili značajke rada ne odgovaraju, možete izvršiti potrebne izmjene koda.

Tehničke prednosti

Otvoreni izvorni kod besplatnog softverskog proizvoda dostupan je velikom broju ljudi, što im daje mogućnost da poprave bugove pronađene u njemu; to doprinosi razvoju i poboljšanju proizvoda. Takav sustav "peer review" može se usporediti sa znanstvenom metodom istraživanja. Nasuprot tome, zatvoreni izvorni kod vlasničkog proizvoda drži se u tajnosti i gotovo ga nikad nitko izvan razvojne tvrtke ne vidi.

Ekonomske koristi

Besplatni softver pruža tvrtkama priliku da podijele troškove razvoja softvera. Na primjer, Novell i RedHat se natječu u razvoju istih programa, ali pritom pomažu jedni drugima. IBM i HP su također konkurenti, ali su i oni dali značajan doprinos razvoju Linux kernela, dijeleći tako troškove razvoja. Besplatni softver vam omogućuje da imate konkurentno tržište za tehničku podršku, pa je stoga njegova kvaliteta obično vrlo visoka. S vlasničkim softverom situacija je upravo suprotna: samo tvrtka koja razvija program ima pristup izvornom kodu i može ponuditi odgovarajuću tehničku podršku, a to pokazuje određeni stupanj monopola. Osim toga, pitanje troška nabave softverskog proizvoda treba uključiti u ekonomske koristi. U slučaju da je besplatan, možete ga jednom preuzeti s interneta (ili kupiti na tvrdom mediju), instalirati na neograničen broj računala i koristiti neograničeno dugo. Ako je proizvod vlasnički, tada uvjeti licencnog ugovora mogu ozbiljno ograničiti korištenje proizvoda (na primjer, ograničavanjem broja instalacija i/ili vremena korištenja).

Ja nisam programer. Zašto bi me bilo briga za gore navedeno?

Doista, većinu gore navedenih sloboda i mogućnosti mogu koristiti samo programeri koji znaju čitati i pisati kod. Međutim, nemojte misliti da je besplatni softver samo za programere. Ako vi, koji to niste, želite nekako modificirati besplatni softver koji koristite kako biste proširili njegovu funkcionalnost, možete (sam ili u suradnji s drugim korisnicima) unajmiti programera da to učini za vas. Ova praksa je vrlo česta. Također, ne morate biti programer da biste distribuirali besplatni program.

Mnogi ljudi kupuju razne programe ili koriste hakirane piratske verzije. Korisnici vide grafičko sučelje programa, ali kod za ovaj proizvod obično je skriven. S tim u vezi, gotovo je nemoguće promijeniti softver, što autoru jamči zaštitu od onih koji žele kopirati programski kod i dodijeliti ga sebi. No, unatoč tome, u suvremenom svijetu sve je više takozvanih "Open Source" programa. Hajdemo razumjeti što su programi otvorenog koda i koje su njihove pozitivne i negativne strane.

Što se može smatrati otvorenim kodom?

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

Svima je poznato Microsoft Office, čiji je analogni, ali već otvoreni kod otvoreni ured. Preglednici Mozilla Firefox i Google Chrome također su softver otvorenog koda. Postoji puno sličnih proizvoda, mnogi koriste veliku količinu softvera i ne sumnjaju da bi bilo što od toga moglo biti program otvorenog koda.

Značajke otvorenog koda

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

Licenca softvera otvorenog koda

Licenca takvih programa također je besplatna. Nema apsolutno nikakvih ograničenja za primjenu, modificiranje, distribuciju, korištenje s drugim kompatibilnim softverom. Također, tehnološki je neutralan u odnosu na sve ostale postojeće programe.

Za i protiv programa otvorenog koda

Za razliku od klasičnih licenciranih programa, razvija ih skupina slobodnih programera, te su zato besplatni.

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

Još jedna neosporna prednost programa je njihova zaštita od virusa. Gotovo svi virusi napisani su za aplikacije Windows, i malware na istom linux zanemariv iznos. Stoga je vjerojatnost dobivanja virusa korištenjem otvorenog operativnog sustava vrlo mala.

Danas mnoge organizacije prelaze na korištenje softvera otvorenog koda. To smanjuje troškove i smanjuje mogućnost hakiranja sustava.

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

Ako imate 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. Stoga ćete morati potražiti rješenje problema na otvorenim prostorima mreže. Internet ili shvatite sami.

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

Zlonamjerni programi također su često prerušeni u open source i ponekad ih je vrlo teško razlikovati od stvarnog sigurnog softvera.

Unatoč činjenici da takvi programi imaju neke nedostatke, sve je više korisnika zainteresirano za njih. Danas se sve više i više proizvoda stvara s otvorenim kodom. To znači da takvi programi imaju budućnost i da su vrijedni pažnje.

Najpopularniji povezani članci