Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Zanimljivo
  • Open source. Korištenje softvera otvorenog koda za stvaranje uspješnih komercijalnih proizvoda

Open source. Korištenje softvera otvorenog koda za stvaranje uspješnih komercijalnih proizvoda

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

Šta se može smatrati otvorenim kodom?

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

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

Funkcije otvorenog koda

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

Licenca softvera otvorenog koda

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

Prednosti i nedostaci programa otvorenog koda

Za razliku od klasičnih licencnih programa, razvija ih grupa besplatnih programera i zato su besplatni.

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

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

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

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

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

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

Zlonamjerni programi su također često prikriveni kao otvoreni kod i ponekad ih je vrlo teško razlikovati od stvarnog sigurnog softvera.

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


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

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

Postoji nekoliko kriterija podobnosti za programe otvorenog koda:

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

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

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

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

Sumirajući, vrijedi reći da programi koji dolaze sa svojim otvorenim kodom imaju niz nedostataka. Prije svega, ovo razne verzije, zbog čega usavršavanje jednog programa može uzrokovati stvaranje novog nezavisnog softverskog paketa. Druga stvar koju treba naglasiti je korištenje zastarjelih programa od strane korisnika, u kojem se neke greške možda neće popraviti, nije moguć rad s novim formatima datoteka i tako dalje. Primjer takvog slučaja 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 softverima otvorenog koda ne postoje tzv specijalnih paketa za knjigovodstvo i izvještavanje. Još jedan nedostatak je direktno vezan za hardver, činjenica je da se pri prelasku sa Windowsa na Linux mora uzeti u obzir da Linux drajveri ne postoje za sve modele računarskih uređaja, što će uzrokovati kvar sistema.

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

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

Još 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 veoma 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 trud oko razvoja 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 neoborive 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 glavne igrače u industriji da podrže i izgrade 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 tržište za velike ekosisteme programera i alata trećih strana kroz 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. Tako se ova tehnologija pokazala kao univerzalna platforma za integraciju svih vrsta razvojnih alata. Zasnovan je na otvorenoj, proširivoj arhitekturi i jasno je licenciran kao proizvod bez naknade i koji se može slobodno distribuirati. 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šestruke platforme 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.

Grupi su data neophodna ovlaštenja za donošenje odluka, uspostavljen je strog raspored rada koji nije sklon 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 bio u mogućnosti da lako kreira 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 suradnji zajednice programera i stalnom poboljšanju baze koda. Ako kompanija prihvati i dobro koristi open source, onda jednostavno ima obavezu da doprinese zajednici. U tu svrhu, 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 prave prave inovacije.

QNX nastavlja da održava CDT projekat, koji je sa inicijalno skromnih 80.000 linija koda narastao na preko 700.000 linija koda danas. Početkom 2006. godine, Eclipse CDT dnevnik napretka projekta procijenio je doprinos QNX-a na 52%. Sledeć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 ispostavi da je funkcionalnost vašeg proizvoda korisna, zašto je ne biste doprinijeli zajednici korisnika otvorenog koda. Poduzimajući ovaj korak, možete imati koristi od takve "standardne" ponude implementacije, zajedno sa prednostima stručnosti 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 je da iskoristi svoju uključenost u Eclipse 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 (plug-ins), pomažući da se zadovolje stvarne potrebe 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 kupe 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 za upravljanje ciljnim sistemima. 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. Klijent takođe može imati koristi od Eclipse platforme u sopstvenim 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 manje 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 za softver 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 kontrolišu (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 odbrambene 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 baze kodova.

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 porodica) 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 često baziraju svoju konkurentsku prednost na određenom skupu funkcija, veličini, performansama, cijeni, vijeku trajanja baterije, pouzdanosti, interoperabilnosti i skalabilnosti. Ove karakteristike se obično implementiraju u softver niskog nivoa, koji u slučaju Linuxa zahtijeva direktno povezivanje sa jezgrom OS-a. Prilagođavanje softvera niskog nivoa potrebama korisnika je norma, a ne izuzetak, tako da programeri često postižu potrebnu funkcionalnost promjenom jezgre 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 otežavaju zaštitu vlasničkog koda pod licencama kao što je GPL (javna domena).

Obično se ovi problemi licenciranja ne odnose na IT aplikacije, jer se vlasnički 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, međutim, oni uvijek distribuiraju derivati ​​softver koji podliježe klauzuli „prisilnog otvaranja“ licenci otvorenog koda, što može ugroziti ključne aspekte vrijednih ponuda otvorenog koda.

Osim toga, ugrađeni proizvodi često imaju dug vijek trajanja, kako u proizvodnji, tako iu službi. 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 utješnim riječima nekih zagovornika licenci otvorenog koda, mnoge od ključnih zabrinutosti koje su izrazili programeri za ugradnju još uvijek nisu detaljno testirani od strane pravosuđa. Kao što je spomenuto, definicija "derivativnog rada" ključna je za sprovođenje određenih uslova licence, iako mnogi pojedinci i organizacije koje prihvataju uslove korišćenja otvorenog koda imaju malo ili nimalo razumevanja značenja ovog izraza.

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 stvar na takav način da se Linux kodna baza može predstaviti kao beskorisna za većinu praktičnih aplikacija 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 posebno 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, provjera IP prava na otvorenom kodu, 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 prekršiti tuđu IP adresu ili čak izgubiti prava na svoj softver.

Bez patentnih licenci i kompenzacije, dugovječni ugrađeni 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 gore 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 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. Potražite projekte koji nude obeštećenje i koji na ekranu prikazuju poruku o novčanim donacijama za razvoj koda za kompenzaciju troškova povezanih sa kršenjem autorskih prava ili patenta, itd. 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 predstavlja više izazova nego korištenje 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!

Sav softver na LiveCD-u i DVD-u je besplatan softver otvorenog koda (besplatan i otvoreni kod), sa nekim izuzecima (Flash, Opera, Acrobat Reader i drugi) koji se nalazi u spremištu bez oss. Kada govorimo o besplatni softver, Mislimo sloboda, a ne cijena.

Šta je besplatni softver

Pokret slobodnog softvera započeo je Richard M. Stallman, koji je osnovao GNU projekat (rekurzivni akronim: GNU's Not Unix) 1984. Godinu dana kasnije, osnovao je Fondaciju za slobodni softver (Free Software Foundation, također poznat kao FSF).

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

  • sloboda koristiti programa na bilo koji način.(sloboda 0)
  • sloboda učenje kako se radi program, kao i prilagođavanje vašim potrebama (sloboda 1) Za to je potreban pristup izvornom kodu.
  • sloboda distribucija kopija programe. Možete podijeliti sa komšijom. (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 sa besplatnim, to su različite stvari.

Šta je softver otvorenog koda

Pokret slobodnog softvera i otvorenog koda 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 slobodnog softvera. Međutim, postoji mala količina koda koju je Open Source Society priznalo kao slobodan softver, pa se često koristi termin FOSS (Free and Open Source Software). Jer, strogo govoreći, koncepti "slobodnog softvera" (slobodnog softvera) i "softvera sa otvorenim izvornim kodom" (softver otvorenog koda) uopšte nisu identični, kao što bi se moglo pomisliti. Na primjer, ugovor o licenci za softverski proizvod može vam omogućiti da pregledate njegov izvorni kod, dok vam zabranjuje da unosite izmjene u njega i/ili distribuirate njegove kopije. U ovom slučaju, proizvod je otvoren (Open Source), ali nije besplatan (Besplatan).

Prednosti korištenja besplatnog softvera

Besplatni softver je koristan iz više razloga, a glavni su navedeni u nastavku.

Ispravljanje greške

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

Dijeljenje

Besplatni softver vam daje pravo da distribuirate njegove kopije, pomažući tako vašim prijateljima da koriste besplatni softver bez dobijanja licenci.

Znati i kontrolirati šta i kako program radi

U velikoj većini slučajeva, ne možete tačno znati šta vlasnički program radi. Dakle, ne možete biti sigurni da program radi samo ono što od njega tražite, jer neke radnje može obavljati bez vašeg znanja (na primjer, 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 ovakvih nevolja. Na kraju krajeva, imate na raspolaganju izvorni kod programa koji vam omogućava da tačno znate šta i kako program radi. Ako vam neke njegove karakteristike i/ili karakteristike rada ne odgovaraju, možete izvršiti potrebne promjene u kodu.

Tehničke prednosti

Otvoreni izvorni kod slobodnog softverskog proizvoda dostupan je velikom broju ljudi, što im daje priliku da poprave greške pronađene u njemu; ovo doprinosi razvoju i poboljšanju proizvoda. Takav sistem „peer review” može se uporediti sa naučnim metodom istraživanja. Nasuprot tome, zatvoreni izvorni kod vlasničkog proizvoda čuva se u tajnosti i gotovo ga nikada ne vidi niko izvan kompanije za razvoj.

Ekonomske koristi

Besplatni softver pruža kompanijama mogućnost da podijele troškove razvoja softvera. Na primjer, Novell i RedHat se takmiče u razvoju istih programa, ali pritom pomažu jedni drugima. IBM i HP su takođe konkurenti, ali su takođe dali značajan doprinos razvoju Linux kernela, dijeleći tako troškove razvoja. Besplatni softver vam omogućava da imate konkurentno tržište za tehničku podršku, pa je stoga kvalitet istog obično vrlo visok. Sa vlasničkim softverom, situacija je upravo suprotna: samo razvojna kompanija ima pristup izvornom kodu i može ponuditi odgovarajuću tehničku podršku, a to pokazuje određeni stepen monopola. Osim toga, pitanje troškova nabavke softverskog proizvoda treba uključiti u ekonomske koristi. U slučaju da je besplatan, možete ga jednom preuzeti sa Interneta (ili kupiti na tvrdom mediju), instalirati na bilo koji broj računara i koristiti ga neograničeno. Ako je proizvod vlasnički, onda uslovi ugovora o licenci mogu ozbiljno ograničiti upotrebu proizvoda (na primjer, ograničavanjem broja instalacija i/ili vremena korištenja).

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

Zaista, većinu sloboda i mogućnosti navedenih iznad mogu koristiti samo programeri koji mogu čitati i pisati kod. Međutim, nemojte misliti da je besplatni softver samo za programere. Ako vi, koji niste jedan od njih, želite na neki način izmijeniti besplatni softver koji koristite kako biste proširili njegovu funkcionalnost, možete (sam ili u saradnji sa drugim korisnicima) unajmiti programera da to uradi umjesto vas. Ova praksa je vrlo česta. Takođe, ne morate biti programer da biste distribuirali besplatni program.

Napori proizvođača računara da promovišu rješenja podržana snažnom marketinškom podrškom postali su nadaleko poznati. softver otvorenog koda(softver otvorenog koda). U savremenoj službenoj upotrebi na ruskom, ovaj fenomen se obično naziva besplatni softver(SPO).

Suština koncepta se sastoji u nekoliko principa za kreiranje i distribuciju softvera otvorenog koda:

  • dostupnost izvornih kodova za svakoga;
  • politika licenciranja distribucije zasnovana na jednoj od licenci koje je odobrila zajednica (pogledajte web stranicu opensource.org);
  • mogućnost direktnog učešća u razvoju i samostalnom ispravljanju grešaka u softveru;
  • mogućnost promjene nekih softverskih funkcija i prilagođavanja novim uvjetima (u zavisnosti od dostupnosti promjena za cijelu zajednicu);
  • maksimalna kompatibilnost sa otvorenim standardima;
  • sposobnost rada u različitim operativnim sistemima i na više platformi (cross-platform).

Ovi principi se koriste u stvaranju većine

SPO. Treba napomenuti da postoji značajna razlika između besplatno i besplatno ON. Iako većina licenci slobodnog softvera pretpostavlja slobodnu distribuciju, samo ovo svojstvo nije dovoljno da se softver smatra slobodnim softverom.

Otvoreni kod je već postigao neke važne pobjede protiv najjačih dobavljača vlasničkog (vlasničkog) softvera. Konkretno, web server Apache daleko ispred sličnih proizvoda drugih kompanija (uključujući Microsoft) u tržišnom udjelu zbog niske cijene, nezavisnosti od dobavljača, velikog broja iskusnih korisnika i podrške za programere. linux zaobišla sve druge vrste u pogledu ponude Unix za platformu intel, uključujući i dugogodišnjeg lidera SCO. Baze podataka otvorenog koda su snažno prisutne na tržištima operativnih sistema otvorenog koda i popularnih jeftinih internet rješenja. Prijetnja vlasničkom softveru dolazi iz prednosti besplatnog softvera koje su slične onima na Internetu, tj. otvorenost, sloboda prilagođavanja itd.

Besplatni softver već je snažno prisutan u serverskim operativnim sistemima, Internet infrastrukturi, serverima web aplikacija, DBMS-u za mala preduzeća i odjelima baziranim na web bazama podataka sa dinamičkom generiranjem web stranica, tehničkim i ugrađenim računarskim sistemima, te softveru za serverske uređaje. Govoreći o infrastrukturi Interneta, treba napomenuti da većina uređaja pokreće operativne sisteme i drugi softver otvorenog koda. Ovi uređaji uključuju servere imena domena, rutere, prekidače, firewall, gatewaye, balansere opterećenja, servere aplikacija i baza podataka itd.

S obzirom na ovaj napredak, softver otvorenog koda ugrožava firme čiji glavni izvor prihoda dolazi od naknada za pristup klijentima i naknada za licence za vlasnički softver. Otvoreni kod donosi softveru poslovni model zastarjelosti i komodifikacije na tržištu hardvera, model kojem je teško prilagoditi se tradicionalnom dobavljaču softvera, posebno lideru.

Mnogi dobavljači koji koriste poslovne modele otvorenog koda nisu se od samog početka razvijali kao tradicionalni proizvođači softvera. Kako softver otvorenog koda raste u tržišnom udjelu i snazi ​​na strateškim Internet tržištima, tradicionalni proizvođači softvera identificiraju prijetnje iz otvorenog koda i mogućnosti koje predstavljaju novi poslovni modeli. Naravno, tradicionalni proizvođači softvera imaju priliku da usvoje ove poslovne modele u cijelosti ili djelimično, u zavisnosti od njihovog portfelja proizvoda. Ali čak i tada, open source predstavlja opipljivu i vrlo stvarnu prijetnju načinu poslovanja softverskih kompanija.

Postoje četiri glavne prijetnje zatvorenim kompanijama iz otvorenog koda.

  • Pritisak cijena. Budući da licence otvorenog koda u suštini zahtijevaju slobodnu distribuciju softvera i njegovih modifikacija, cijene sličnih tradicionalnih proizvoda moraju biti smanjene kako ne bi bili inferiorni u odnosu na softver otvorenog koda i kako bi se borili protiv gubitka tržišnog udjela. Na primjer, SCO ne mogu uzeti $2,000 za Unix za platformu intel, dok linux dostupan besplatno, a Microsoft monopolizira desktop sektor. Tradicionalni dobavljači mogu, međutim, nadoknaditi neke od gubitaka tako što će svoje softverske proizvode učiniti boljim od softvera otvorenog koda i dodatno naplatiti za to.
  • Prilično dobra funkcionalnost.„Dovoljno dobar“ softver (ali ne i najbolji) može djelomično istisnuti proizvode tradicionalnih proizvođača softvera, koji su prečesto usmjereni na masovno tržište. Složenija (i skuplja) funkcionalnost u ranim fazama svog razvoja uvijek je usmjerena na relativno malu grupu specijaliziranih korisnika. Ali čak i proizvođači koji posluju na ovom tržištu i dalje moraju jasno shvatiti da će se tržište visokorazvijenog softvera proširiti i produbiti. Ako napredna funkcionalnost ne uspije privući širi krug korisnika, kupci će prirodno kupiti alternative otvorenog koda, iako manje razvijene. Na veoma velikim masovnim tržištima, dominantni proizvođači softvera otvorenog koda, pored povećanja obima ponude, imaju mnogo prostora za rast kroz implementaciju komplementarnih strategija u oblasti proizvoda i usluga. Veličina masovnog tržišta sama po sebi osigurava smanjenje cijena zbog velikog obima ponude, što krajnjim korisnicima omogućava da ostvare opipljiv profit čak i uz neznatno povećanje cijene njihovih proizvoda.

U nekim slučajevima softver otvorenog koda može čak zaobići tradicionalne proizvode u smislu funkcionalnosti. Na primjer, Apache postao prvi od web servera u kojem se pojavila Internet funkcija popularna među provajderima IP aliasing, omogućavajući hostovanje nekoliko imena internet domena na jednom sistemu.

  • "mrežni efekti" zbog poznavanja i proučavanja softvera i alata za masovnu upotrebu. Troškovi obuke korisnika o novoj tehnologiji predstavljaju značajan dio ukupnih troškova vlasništva, nadmašujući cijenu samog softverskog proizvoda. Kompanija s velikom bazom korisnika upoznata s proizvodom i pratećim alatima može iskoristiti to poznavanje izdavanjem novih verzija ili ulaskom na susjedna tržišta. Ova vrsta mrežnih efekata može varirati ovisno o vrsti korisnika - programeri softvera koje koriste api, administratori sistema - određeni administrativni alati, korisnici rade sa grafičkim korisničkim interfejsima, a menadžeri uspostavljaju odnose sa dobavljačima. Jednom uspostavljena, ova mreža partnera i korisnika open source rješenja se ne urušava i omogućava rješavanje marketinških problema manjeg reda, poput sticanja pristalica i lojalnosti kupaca.
  • Pritisak standardizacije. Najnovija prijetnja pokreta otvorenog koda su njegovi alati i kultura, koja kao svoje neprijatelje vidi sve vrste tehnoloških barijera koje su postavili tradicionalni proizvođači softvera.

U posljednje vrijeme, oblast softvera koja se najbrže razvija smatra se tzv "komercijalnootvorenog koda", one. JV podržan od strane običnih komercijalnih kompanija. Jedan od lidera u ovom pravcu treba smatrati korporacijom sunce, koja razvija nekoliko velikih projekata u ovom sektoru: OpenSolaris OS, DBMS mysql, uredski paket openoffice.org i okruženje virtuelizacije virtuelna kutija. U pravilu postoji nekoliko verzija takvog softvera, uključujući i komercijalne. Prilikom plaćanja licence korisnik dobija tehničku podršku, kao i, u nekim slučajevima, posebne alate za praktičan rad koji nisu dostupni pod otvorenom licencom. Odnosno, ako su potrebe male, kompanije mogu koristiti besplatne ili besplatne verzije softvera, a ako se povećaju zahtjevi, mogu kupiti komercijalna proširenja bez promjene bilo čega u svojoj infrastrukturi i aplikacijama. Tako se komercijalna verzija slobodnog softvera direktno nadmeće s razvojem tradicionalnih kompanija, na primjer microsoft, koji aktivno kreira posebne šeme licenciranja za upotrebu u Internet okruženju (govorimo o serverskom softveru).

Kao rezultat toga, softver otvorenog koda na Internetu igra ulogu u formiranju sistema, podržavajući i razvijajući osnovne principe izgradnje Mreže. Osim toga, upotreba softvera otvorenog koda je relevantna sa stanovišta fokusiranja na pružanje usluga umjesto na prodaju robe. Stoga, prilikom kreiranja Internet sistema, vrijedi se fokusirati na otvorene standarde i softver koji ih implementira, jer će samo na taj način pružiti mogućnost za razvoj poslovanja i dobijanje novih mogućnosti za elektronska tržišta.

Upotreba softvera otvorenog koda za podršku Internet tehnologijama je prirodna i neophodna u smislu skalabilnosti, globalnosti i kompatibilnosti. Na primjer, povećanje broja servera ili drugih infrastrukturnih uređaja ne zahtijeva dodatno ulaganje u softver, što pruža veću fleksibilnost nego kod vlasničkog softvera. Ovo postaje posebno istinito kada cijena softvera premašuje hardversku komponentu projekta. Zahtjevi globalnosti i kompatibilnosti ostvaruju se zahvaljujući dobroj podršci cross-platform open source softvera i korištenja otvorenih standarda, što omogućava održavanje visokog nivoa kompatibilnosti čak i sa mnogim konkurentskim proizvodima i platformama na tržištu.

U svjetlu savremenog razvoja uslužnih aplikacija zasnovanih na web tehnologijama, softver otvorenog koda u kombinaciji sa jeftinim računarima (nettop i netbook) može značajno zamijeniti tradicionalne desktop i mobilne sisteme, koji su bazirani na operativnom sistemu. Windows i tradicionalnim uredskim apartmanima. Upotreba laganog specijalizovanog OS-a sa GUI-jem baziranim na kernelu linux i moderni web pretraživači omogućavaju vam da obavljate većinu svakodnevnih zadataka na mrežnim platformama koristeći samo softver otvorenog koda.

Top Related Articles