Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows 7, XP
  • Softver otvorenog koda. Stotinu korisnih programa otvorenog koda

Softver otvorenog koda. Stotinu korisnih programa otvorenog koda

Da bismo razumjeli šta za našu organizaciju znači korištenje softvera otvorenog/zatvorenog koda, potrebno je razumjeti po čemu se oni međusobno razlikuju. Ovaj članak naglašava glavne razlike, ali zapamtite da je ovo vrlo pojednostavljeno objašnjenje. Za više informacija, pogledajte Wikipediju ili pogledajte specifične slučajeve upotrebe za obje vrste softvera.

Prije svega, softver otvorenog koda podrazumijeva da možemo modificirati i razvijati naš program sve dok imamo znanja i kvalifikacije za to. Naprotiv, nije moguće samostalno modificirati program zatvorenog koda, jer izvorni kod programa/aplikacije nije dostupan. Iako nismo svi programeri, ipak možemo imati koristi od rada sa softverom otvorenog koda.

Takav softver se korisnicima daje besplatno, i to ne samo programi, već i operativni sistemi. Kreiraju ga i razvijaju sami korisnici koji svoje kreacije postavljaju na internet. Najpopularniji programi se redovno ažuriraju jer ih mnogo ljudi koristi. Mozilla Firefox ili Thunderbird su primjeri. Ako se program ne ažurira redovno, možda mu nedostaju potrebni tehnički resursi - cijelo je pitanje koliko korisnika program ima. Velika učestalost ažuriranja je definitivno jamstvo sigurnosti korištenja programa. Iako, ako se nakon instaliranja ažuriranja ispostavi da program ne radi (na primjer, nova verzija operativnog sistema nije podržana od strane Skypea), postoje dva načina za rješavanje problema: pokušajte pronaći pomoć na forumima na internetu ili sami riješite problem, što je relativno teško.

Softver zatvorenog koda je mnogo popularniji od softvera otvorenog koda. Prije svega, zbog jednostavnosti korištenja, ali i zbog toga što smo jednostavno navikli na to - po pravilu, u školi, na poslu i kod kuće koristimo Windows. U slučaju programa i operativnih sistema zatvorenog koda, radi se o gotovom proizvodu koji ne zahtijeva nikakvu intervenciju s naše strane. Prosječnom korisniku je mnogo zgodnije raditi s njima. Korisnici softvera zatvorenog koda često naglašavaju koliko je jednostavan za instalaciju i korištenje, koliko je zgodno imati jasnu pomoć o programu i mogućnost kontaktiranja tehničke podrške u slučaju problema. Takve sisteme i proizvode izdaju kompanije, i to tek nakon nekoliko faza testiranja. Korisnik jednostavno kupuje cijeli softverski paket spreman za instaliranje na računar. Takav softver se plaća: kupujemo licencu, a često i ažuriranje programa.

Neki programeri softvera podržavaju društvene organizacije i nude im programe besplatno ili po sniženim cijenama preko odgovarajućih neprofitnih organizacija, na primjer, putem opsežne mreže partnera TechSoup, čiji se članovi nalaze u različitim zemljama. U Rusiji program implementira Staklenička bašta društvenih tehnologija (Spiro LLC). Kontaktiranjem programa infoDonor možete saznati može li vaša organizacija sudjelovati u programu. Takođe treba imati na umu da kada biramo operativni sistem, mi takođe biramo način na koji radimo u našoj organizaciji. Na primjer, ako bismo odabrali Linux, ne bismo mogli koristiti Adobe rješenja, a ako bismo odabrali Windows, morali bismo kupiti licence po broju računara. Svaki slučaj ima svoje prednosti i nedostatke. Moramo pažljivo razmotriti šta je tačno potrebno našoj organizaciji, koji su kriterijumi za efikasno korišćenje opreme i doneti odluku nakon detaljne analize.

Naravno, softver otvorenog ili zatvorenog koda nije ograničen na Microsoft, Mac ili Linux. Problem licenciranja javlja se u vezi sa bilo kojom vrstom softvera koji se koristi u organizaciji. Kao opšte pravilo, pažljivo pročitajte sve licence i ugovore o uslugama. Mnogo je primjera kada su se organizacije suočavale sa ozbiljnim problemima sa softverom koji je bio praktično beskorisan zbog uslova licenciranja, ili kada su i najmanje promjene na stranici bile veoma skupe.

Mnogi ljudi kupuju razne softvere ili koriste njihove krekovane piratske verzije. Korisnici mogu vidjeti grafičko sučelje programa, ali je kod za taj proizvod obično skriven. S tim u vezi, gotovo je nemoguće promijeniti softver, što garantuje autorsku zaštitu od onih koji žele kopirati programski kod i prisvojiti ga sebi. Ali, uprkos tome, u savremenom svetu sve je više takozvanih „Open Source“ programa. Pogledajmo šta je softver otvorenog koda i koje su njegove pozitivne i negativne strane.

Šta se može smatrati otvorenim kodom?

Gotovo sav softver dolazi do krajnjeg korisnika kao gotov softver. Ovo su prilično efikasni programi sa prijatnim interfejsom i jednostavnim za korišćenje. Ako je kod ovog proizvoda otvoren, onda ga svako može promijeniti, ponuditi vlastite opcije za ispravljanje pronađenih grešaka ili napraviti neku inovaciju. Dakle, kvaliteta ovog proizvoda se vremenom poboljšava. Primjeri operativnih sistema otvorenog koda su Linux, Unix, Ubuntu.

Svima je poznato microsoft office, čiji analog, ali već sa otvorenim kodom, jeste Otvorena kancelarija... Mozilla Firefox i Google Chrome pretraživači 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.

Karakteristike otvorenog koda

Da bi se softver mogao nazvati programom, nije dovoljno samo 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.

Drugi važan plus je da možemo nadogradite programske podatke... Dobar programer koji razumije kod može dodati nove opcije programu ili poboljšati performanse 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 vlastitom nahođenju, već i dodati bilo koje pojedinačne funkcije. Kao rezultat toga, on će imati 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 za isto Linux zanemarljiv iznos. Stoga je vjerovatnoća da ćete dobiti virus koristeći operativni sistem otvorenog koda vrlo mala.

Danas mnoge organizacije prelaze na korištenje softvera otvorenog koda. To vam omogućava da smanjite troškove i minimizirate vjerovatnoću proboja sistema.

Ali svaka medalja, kao što znate, ima dvije strane, hajde da kažemo o nedostacima otvorenog koda programe.

Ako naiđete na bilo kakve probleme sa softverom, obično kontaktiraju tehničku podršku. Softver otvorenog koda ga nema. Ovaj problem nastaje zbog činjenice da su program modificirali različiti programeri iz cijele zemlje ili čak svijeta. Dakle, morat ćete tražiti rješenje problema u prostranstvu mreže. Internet ili sami shvatite.

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

Također, zlonamjerni programi se često maskiraju kao otvoreni kod 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 je sve više proizvoda otvorenog koda. To znači da takvi programi imaju budućnost i da su vrijedni pažnje.

Mark Roberts
Direktor upravljanja proizvodima (direktor, upravljanje proizvodima)
od QNX Software Systems
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 komercijalnim proizvodima. Koristeći Eclipse-bazirano Integrirano razvojno okruženje (IDE) kao primjer, raspravljat ćemo o razlikama između zaštitnih i nezaštitnih softverskih licenci izvornog koda. Prilikom integracije ili povezivanja otvorenog koda sa "vlasničkim" zatvorenim izvorom, često je potrebna odgovarajuća briga i oprez. Takođe treba imati na umu različita pravna pitanja, kao što je mogućnost kršenja patenta. Pokušaćemo i da objasnimo 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.

QNX Momentics IDE kao studija slučaja za korištenje softvera otvorenog koda

Još 2001. godine, kada su se mnoge softverske kompanije borile da se izbore sa opštim kolapsom IT tržišta, posebno one vezane za e-poslovanje na Internetu, QNX Software Systems je doneo stratešku odluku da počne sa razvojem novog integrisanog razvojnog okruženja (IDE ) za tržište ugrađeni sistemi. Kompanija je već imala solidne rezultate u razvoju niza alata koji se koriste u razvoju ugrađenih uređaja, ali je kompanija shvatila da bi kreiranje IDE-a pomoglo da ostane na vrhu talasa u visoko konkurentnom okruženju. Odluka o kreiranju IDE-a također je vođena promjenom fokusa na zahtjeve kupaca. Tokom krize, kupci sa ograničenim budžetom postali su zainteresovaniji 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 je razvoj IDE-a bio "kladionica za budućnost" jer su u to vrijeme troškovi i trud oko razvoja projekta bili van domašaja većine proizvođača ugrađenih sistemskih alata. Na sreću, QNX je blisko sarađivao sa IBM-om u različitim segmentima tržišta ugrađenih uređaja. Kroz blisku saradnju, IBM je sa QNX-om podelio svoje planove za izdavanje IDE otvorenog koda koji će kasnije postati temelj za Eclipse platformu.

IBM je ponudio da iskoristi QNX stručnost kako bi prilagodio IDE tehnologiju potrebama programera koji grade C/C++ ugrađene aplikacije. QNX je skoro odmah ukazao na ubedljive prednosti korišćenja IDE otvorenog koda. 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;
  • angažovati 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ćiti programerima ugrađenih uređaja da koriste standardne radne stanice kao razvojnu platformu pogodnu za rad sa aplikacijama informacionih tehnologija (u najširem spektru aplikacija).

Konačno, razmotrena je posebna mogućnost da bi IDE mogao steći popularnost i postati de facto standard, koji bi omogućio QNX-u da koristi platformu za preuzimanje tržišta velikih ekosistema programera i alata trećih strana.

Osnivanje projekta otvorenog koda Eclipse.org

Konzorcijum Eclipse osnovali su Borland, IBM, Merant, QNX Software Systems, Red Hat i SUSE u novembru 2001. Početkom 2004. godine, 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 koji se može besplatno distribuirati bez naknade. Doprinosi zajednice projektu Eclipse zasnovani su na standardnom razvojnom modelu softvera otvorenog koda (OSS), ali većina članova nudi i komercijalni razvoj zasnovan na platformi Eclipse.

Projekat kreiranja spremišta alata

U decembru 2001. QNX je počeo da gradi svoj QNX® Neutrino® RTOS, zasnovan na Eclipse IDE. Po mišljenju kompanije, IDE bi trebao imati veliku funkcionalnost, fokusirati se na rad sa C/C++ jezicima i imati duboko integrirane alate za otklanjanje grešaka, profiliranje, analizu i izgradnju ugrađenih aplikacija. Od samog početka, QNX tim je nameravao da bude višenamenski i višejezičan IDE koji podržava više platformi alata. Ovo je uključivalo:

  • nekoliko platformi alata: Windows, Solaris, QNX Neutrino RTOS (self-hosted development);
  • nekoliko ciljnih arhitektura: 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.

Projekat je pokrenut u stilu "ekstremnog programiranja". U kompaniji je izabran tim od 12 najboljih inženjera. Dobili su posebnu prostoriju, izolovanu od svih smetnji, i stavljenu na njihovo potpuno raspolaganje.

Grupa je dobila potrebna ovlaštenja u oblasti donošenja odluka, za njih je sastavljen težak raspored rada, na ivici rizika, izdavanjem beta verzije proizvoda za 16 sedmica, a komercijalne verzije od strane 4. jul 2002. Grupa je ispoštovala sve postavljene rokove i objavila novi proizvod - nazvan QNX Momentics® IDE - tačno po planu, što je svedočanstvo potencijala softvera otvorenog koda za smanjenje vremena za izlazak na tržište.

Od ideje do isporuke proizvoda - manje od 7 mjeseci

Nadovezujući se na Eclipse platformu, QNX tim je za šest mjeseci završio veoma moćan i svestran IDE za razvoj ugrađenog softvera. IDE je podržao razvoj na više platformi na više platformi alata i više 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;
  • podržavaju dodatke treće strane kao što su IBM WebSphere za ugrađenu Javu 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 smanjuje troškove kreiranja IDE-a, omogućavajući kompanijama da se fokusiraju na gornje nivoe razvoja, gdje se zapravo stvaraju prave inovacije. Na primjer, koristeći Eclipse platformu, QNX je mogao lako kreirati nekoliko inovativnih alata za vizualizaciju koji vam omogućavaju da duboko prodrete u ugrađeni sistem i prikažete njegovo ponašanje.

Povratak doprinosa zajednici

Snaga uspješnog projekta otvorenog koda leži u suradnji zajednice programera i u stalnom poboljšanju baze koda. Ako kompanija usvoji i koristi otvoreni kod, onda jednostavno ima odgovornost da doprinese zajednici. U tu svrhu, QNX je preuzeo Eclipse CDT projekat u junu 2002.

Projekat Eclipse CDT (C/C++ razvojni alati) ima za cilj stvaranje zajedničkog skupa interoperabilnih C/C++ razvojnih alata za Eclipse platformu. Eclipse CDT se plasirao kao projekat otvorenog koda, sa upravljačkim pravima od Eclipse Corporation. Za pokretanje CDT projekta, QNX je donirao svoje razvojne resurse i izvorni kod projektu QNX Momentics IDE. Rational i Red Hat kao članovi zajednice takođe su pružili značajnu podršku projektu.

Rice. 1. Koristeći Eclipse platformu, 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 Progress Log je procijenio 52% doprinosa QNX-a. Slijedeći je IBM sa 36% doprinosa. CDT projekat je drugi najpopularniji Eclipse projekat nakon same Eclipse platforme.

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

Može se činiti da "doniranje" vašeg koda znači učiniti nešto suprotno zdravom razumu. Međutim, ako se pokaže da je funkcionalnost vašeg proizvoda korisna za primjenu, zašto onda ne dati doprinos zajednici otvorenog koda. Poduzimajući ovaj korak, možete imati koristi od ove “standardne” ponude implementacije zajedno sa stručnošću za podršku proizvoda. Moći ćete imati koristi od rada cijele zajednice na poboljšanju kodne baze. Takva strategija može osloboditi vaše vlastite resurse za provođenje dodatnih istraživanja, fokusiranih na inovacije, na dodavanje dodatne funkcionalnosti vašim proizvodima.

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

Na primjer, strategija QNX Software Systems je da kapitalizira prednosti sudjelovanja u Eclipse-u dok razvija novu funkcionalnost koja se uključuje kroz standardizirane tačke proširivosti koje su već dostupne na Eclipse i CDT platformama. U tom cilju, QNX namjerava da ostane aktivan član Eclipse zajednice, koristeći postojeće baze koda i razvoj trećih strana (plug-ins), pomažući u ispunjavanju stvarnih potreba korisnika kreiranjem vlasničkih ekstenzija. Opisana strategija je ilustrovana na Sl. 2.

Rice. 2. Svojim iskustvom 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 manje vremena za izlazak na tržište i od mogućnosti da iskoriste tuđa istraživanja (po niskoj cijeni). Ovi rezultati mogu uključivati ​​visokokvalitetni "čist IP" kod koji obezbjeđuju renomirani proizvođači 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 tačke proširivosti koje su dobro definisane u Eclipse projektu.

Kupci koji kupuju IDE zasnovan na Eclipse-u imaju koristi od platforme alata posvećene ugrađenom razvoju, moćnoj podršci za unakrsnu kompilaciju, jednostavnom otklanjanju grešaka i proširenjima za upravljanje ciljnim sistemima. Klijentov razvojni tim će cijeniti mnoge karakteristike koje olakšavaju rad, malo vremena potrebnog za dodatnu obuku, dobre performanse proizvoda i pouzdanu platformu za rukovanje velikim projektima. Klijent također može korisno iskoristiti Eclipse okvir u svojim vlastitim aplikacijama (npr. RCP, eRCP, itd.).

Budućnost Eclipse Corporation

Eclipse Corporation je aktivna i energična zajednica. Kontinuirano uvodi nove projekte, pruža nove arhitekture etabliranim inovativnim kompanijama, a čak i male kompanije mogu komercijalizirati Eclipse platformu stvaranjem novih dodataka uz minimalne troškove koji proširuju postojeću funkcionalnost (vidi sliku 3).

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

Poređenje licenci otvorenog koda

Nisu sve licence otvorenog koda kreirane jednake. QNX je napravio dobro osmišljen potez sa Eclipse javnom licencom. Ovaj izbor je dijelom diktiran potrebama njegovih ugrađenih kupaca, a dijelom željom da preuzmu kontrolu (i imaju koristi od) tehnologija koje razlikuju proizvode.

Neprofitna Open Source Initiative () je smislila korisnu definiciju otvorenog koda od 10 tačaka. Trenutno postoji preko 50 odobrenih OSI licenci navedenih na web stranici, uključujući Eclipse javnu licencu. Ove licence mogu sadržavati značajne razlike koje treba jasno razumjeti. Ove razlike mogu imati značajan uticaj na intelektualno vlasništvo (IP) programera i njihovu sposobnost da ga zaštite. Ovo je posebno tačno kada se koristi otvoreni izvorni kod (ili izvedeni rad zasnovan na otvorenom izvornom kodu) u ugrađenim uređajima.

Zaštitna i nezaštitna dozvola

Pod uslovima odbrambene licence kao što je GPL v2, izvedeni rad može se redistribuirati samo sa povezanim izvornim kodom. Prema uslovima odbrambene licence, garantuje se da će izvorni kod, kada se pusti u otvorenu kategoriju, ostati u toj kategoriji u svim narednim generacijama i izvedenim radovima. Kao što ćemo kasnije objasniti, ovaj zahtjev dovodi do određenih problema u slučaju ugrađenih sistema.

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

Šta znači "licenca za virus"

Neki ljudi GPL nazivaju "virusnom licencom". Ovaj naziv je nastao zbog dvosmislenosti pravne definicije pojma "derivativni razvoj". Uz striktno tumačenje definicije, ispada da je čak i mali dio koda pokriven GPL-om ugrađen u neku vlasničku aplikaciju, tada cijela aplikacija mora biti licencirana pod GPL-om. Odmah mi pada na pamet analogija sa virusom.

Pitanja o primanju naknade

Nedavno je IP obeštećenje postala glavna tema razgovora za programere. Kao odgovor, neki dobavljači otvorenog koda najavili su da će zaštititi kupce od tužbi za kršenje patenata ili autorskih prava. A najnovije licence otvorenog koda pojašnjavaju kazne za korisnike koji pokušavaju da ostvare svoja patentna prava protiv drugih korisnika kodne baze.

Najveći izazovi za komercijalizaciju softvera otvorenog koda

Poređenje ugrađenih i IT aplikacija

Uspjeh industrije otvorenog koda potaknut je usvajanjem Linuxa od strane IT organizacija. Prednosti korištenja Linuxa bile su povezane s radom na relativno uniformnom i stabilnom hardveru (obično x86 porodica) i korištenjem fleksibilne računarske platforme bogate resursima.

Ovo nije slučaj sa ugrađenim softverom. Softver radi na širokom spektru uređaja s fiksnim funkcijama u širokom rasponu hardverskih arhitektura. Dizajneri ugrađenih uređaja često baziraju svoju konkurentsku prednost na specifičnom skupu funkcija, veličini, performansama, cijeni, vijeku trajanja baterije, pouzdanosti, interoperabilnosti i proširivosti. Ove karakteristične 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 kako bi se zadovoljile potrebe korisnika je norma, a ne izuzetak, tako da programeri često dobijaju funkcionalnost koja im je potrebna promjenom kernela OS-a. Metoda direktnog povezivanja se također koristi ugrađivanjem u fragmente koda kako bi se smanjili troškovi kreiranja biblioteka. Ova praksa, uzeta zajedno, otežava zaštitu vlasničkog koda pod GPL (javno dostupnim) licencama.

Obično se ovi problemi licenciranja ne odnose na IT aplikacije jer vlasnički softver specifičan za preduzeća ne izlazi iz okvira preduzeća i koristi se isključivo za interne potrebe. S druge strane, ugrađeni uređaji uvijek distribuiraju derivati ​​softver koji se kvalifikuje za "prisilno otvaranje" licenci otvorenog koda, što bi moglo ugroziti ključne aspekte vrijednih ponuda otvorenog koda.

Osim toga, ugrađeni proizvodi često imaju dug vijek trajanja, kako tokom proizvodnje tako i upotrebe. 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 zagovornika nekih licenci otvorenog koda, mnoga ključna pitanja koja zabrinjavaju programere ugrađenih sistema još uvek nisu opširno verifikovana forenzičkom praksom. Kao što je spomenuto, definicija izvedenog rada ključna je u primjeni određenih klauzula licence, iako mnogi pojedinci i organizacije koji prihvataju uslove korištenja otvorenog koda imaju malo ili nimalo razumijevanja koncepta.

Neka zaobilazna rješenja koja dozvoljavaju komercijalnim dobavljačima da implementiraju "vlasničke" drajvere u Linux (npr. moduli kernela koji se mogu učitati) oslanjaju se na argumente "on je rekao, rekla je" umjesto na direktne veze s tekstom ugovora o licenci. U stvari, takvi vozači koji koriste LKM module prepuni su opasnih zaobilaženja zahtjeva GPL licence. Idući u krajnost, može se protumačiti da Linux kodna baza može biti predstavljena kao beskorisna za većinu praktičnih upotreba, ako neki od ovih "vlasničkih" drajvera nisu uključeni u nju. Ova situacija može efektivno obezvrijediti ideju GPL licence.

Nedostatak naknade za kršenje prava intelektualne svojine

U većini slučajeva korištenja otvorenog koda, postoji realna mogućnost da nehotice kršite tuđa patentna prava. Samo mali dio licenci otvorenog koda eksplicitno se odnosi na patente, a ne može se donijeti odluka o impliciranim licencama. 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) zaokupljeni su izgradnjom portfelja patenata koji se, prema mišljenju mnogih stručnjaka, mogu "pucati" na pristalice otvorenog koda.

Neke licence se eksplicitno odnose na patente. Na primjer, Eclipse javna licenca eksplicitno pominje patentna prava i sadrži klauzulu o kazni ako neko pokuša drugačije ostvariti patentna prava. Eclipse se takođe trudi da pregleda kod i otkrije odakle je došao u smislu licenciranja, patenta ili zakona o autorskim pravima.

Dodatni napori za očuvanje IP-a

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

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

Prihvatanje zahtjeva kupaca

Neki veliki klijenti, suočeni sa složenošću i nesigurnošću softvera otvorenog koda, odbili su da se bave proizvodima otvorenog koda. Ako želite da radite sa takvim klijentima, morate da pribavite ili im ponudite da uključe uslove za vaš kod koji odgovara komercijalnoj licenci.

IP pitanja

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

Ako vaši ugrađeni sistemi koriste mješavinu vašeg vlastitog softvera i softvera otvorenog koda, tada morate razumjeti prirodu, porijeklo i odnos svih komponenti ugrađenog softvera. Bez tako dubokog uvida, mogli biste nenamjerno povrijediti nečija prava intelektualne svojine ili čak izgubiti svoja prava na vlastiti softver.

Bez plaćenih patentnih licenci ili kompenzacije, dugovječni ugrađeni softver, relativno visoka prodajna cijena i obim ugrađenih uređaja sa fiksnim funkcijama čine takve sisteme očiglednom metom za zahtjeve za kršenje patenta od strane loših momaka i glavnih konkurenata.

Kao što ilustruje studija slučaja QNX Momentics IDE, postoje mnoge neposredne prednosti softvera otvorenog koda, uključujući brže vreme 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 neki problem za klijenta, onda klijenta nije briga da li ste koristili open source softver ili ne, on samo plaća 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 odgovorite za obaveze licenciranja softvera koji ste odabrali. Trebali biste biti svjesni drugih zahtjeva za intelektualnu svojinu (kao što su patentna prava) u vezi sa softverskim kodom. Budite oprezni s kodnom bazom koja ne prikazuje poruku o kršenju IP-a. Potražite projekte koji nude nadoknadu za moguću štetu i prikažite na ekranu 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 natjerati 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 izvornog koda u ugrađenim uređajima dovodi do složenijih problema nego u slučaju korištenja takvog softvera u IT aplikacijama, budući da prva opcija nosi više opasnosti. 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 i programera otvorenog koda kako biste povećali svoju vrijednost i korist!

Otvoreni kod i besplatni softver
07.07.2009 12:25

Među programerima ima ljudi koji su spremni da doniraju rezultate svog rada zajedno sa mogućnošću da ih promene i unaprede. TO JE o proizvođačima takozvani softver otvorenog koda, koji je već dugi niz godina predmet kontroverzi u globalnoj IT zajednici. Neki kažu da budućnost pripada otvorenom softveru, 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 programa. Vrijedi napomenuti da ova definicija, po mišljenju pristalica otvorenog koda, ne odražava 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 čije je značenje stvaranje informacionog društva kroz sveobuhvatnu upotrebu softvera otvorenog koda u svim sferama ljudskog života. aktivnost.

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. finalizirati i poboljšati softver.

Osim toga, softver otvorenog koda je uglavnom besplatan, što je posebno privlačno za mala i srednja preduzeća koja, na primjer, trenutno nisu u mogućnosti da sebi obezbijede komercijalne softverske licence. Također, pristalice ideje otvorenog koda ističu njegovu sigurnost kao prednost open source softvera, odnosno softver otvorenog koda, zbog svoje nedovoljne popularnosti, praktički nije podložan napadima virusa. A ako se prijetnja ipak otkrije, ona se eliminira što je prije moguće, jer u pravilu mnogi profesionalci i amateri imaju pristup izvornom kodu, koji su u kontaktu jedni s drugima. 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 direktno uključuje softver otvorenog koda, kao i druge vrste softverskih proizvoda koji se mogu besplatno distribuirati i dati izvorni kod za unošenje promjena. Takav softver uključuje besplatni i besplatni softver.

Dakle, termin open source (softver otvorenog koda) prvi su upotrijebili programeri Eric Steven Raymond i Bruce Perens 1998. godine. Bili su uvjereni da je termin 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 trenutno zaštitni znak Open Source Initiative, koja 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 besplatan softver. Definicije otvorenog koda i slobodnog softvera, iako se ne poklapaju u potpunosti jedna s drugom, općenito su slične, a većina softverskih licenci odgovara objema varijantama.

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

Koncept slobodnog softvera osnovao 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 dodeljuje bilo kom korisniku. Tako, korištenjem slobodnog softvera, korisnik dobiva "četiri slobode": da 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 njegova poboljšana verzija može biti objavljena kako bi koristila cijeloj zajednici. Uslov za to je i dostupnost izvornog koda programa.

Program koji zadovoljava sve ove principe može se smatrati besplatnim, odnosno garantovano otvorenim i pristupačnim za naučnu zajednicu i jednostavno za zainteresovane ljude i organizacije. Treba naglasiti da ovi principi utiču samo na dostupnost programa za opštu upotrebu, kritiku i poboljšanje, ali ni na koji način ne predviđaju srodne sa namazom programe odnosa s novcem, uključujući i ne podrazumijevaju besplatno.

Mehanizam rada slobodnog softvera je da su softverski proizvod i njegov izvorni kod po defaultu zaštićeni autorskim pravom, što nosiocu autorskih prava daje potpunu moć nad distribucijom i modifikacijom programa, čak i kada je izvorni kod javno dostupan. Odnosno, autor ima pravo, između ostalog, da prodaje svoj proizvod. Međutim, jednom korisnici nije predviđeno pravo na primanje izvornih kodova programa, njihovo mijenjanje i distribuirati dalje, 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 razvoj, modifikacija, redistribucija su predviđeni ugovorom o licenci.

Ipak, postoje programi koji, prema nekim stručnjacima, potpadaju pod definiciju otvorenog koda, ali nisu besplatni. Takvi programi uključuju, na primjer, UnRAR, raspakivač za 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žno je i da se kategorije softvera otvorenog koda razlikuju, jer podrazumijevaju različite stepene slobode u odnosu na radnje korisnika. Istovremeno, ponekad možete uočiti značajnu razliku 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 modifikaciju. Ovo omogućava svakome da koristi već kreirani kod za svoje potrebe i, eventualno, pomoć u razvoju programa otvorenog koda. Besplatni softver je pravo korisnika, ali ne i obaveza proizvođača. licenca otvorenog koda ne zahtijeva da se softver uvijek daje besplatno. Međutim, mnogi od najuspješnijih projekata otvorenog koda su još uvijek besplatni.

Pristup otvorenog koda je također ključna karakteristika slobodnog softvera, pa se nekima čini da je termin "softver otvorenog koda", koji je kasnije predložio Eric Raymond, još prikladniji za označavanje fenomena slobodnog softvera nego što ga je u to vrijeme predložio Stallman. . slobodni softver".

Imajte na umu da se prednosti besplatnog razvoja za korisnika ne smiju precijeniti. Nije sav besplatni softver podjednako dostupan za modifikacije od strane korisnika, što, s druge strane, nije u potpunosti povezano s licencom za njihovu distribuciju. Važnu ulogu u tome igra veličina programa: ako u njemu ima desetina hiljada linija (kao, na primjer, u OpenOffice.org - analogu Microsoft Officea), onda će čak i kvalificirani stručnjak potrajati prilično dugo vremena da se pronađe i otkloni greška. Izračunati na programerima, koji će reagovati 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 patentiranog programa može biti u boljoj poziciji.

Vrijedi napomenuti da se svi učesnici u procesu softvera otvorenog koda obično uključuju u određeni program iz interesa ili zato što im je ovaj softver neophodan alat za bilo koju aktivnost. Vrijeme utrošeno na finalizaciju programa, nije plačeno stoga nema nade da se okolnosti neće promijeniti i razvoj potpuno stati. Postoje slučajevi kada je razvoj programa počeo zahvaljujući jednom entuzijastičnom autoru koji privlači mnoge da sudjeluju u njemu, tada entuzijazam vođe zamre, a razvoj softvera s njim prestaje. Nažalost, danas postoje hiljade besplatnih softvera koji nikada nisu mogli doći do pune radne verzije. Osim toga, program može biti neophodan, ali ne izaziva zanimanje, što znači da za njega neće biti 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 kojeg može direktno ovisiti profit poduzeća, a da ne spominjemo servere na Linux platformi.

Prednosti korištenja besplatnog softvera otvorenog koda su očigledne: u pravilu ga ne morate platiti, a ako je potrebno, mnogo je jeftiniji od vlasničkih kolega. Glavni nedostatak, sa stanovišta komercijalnog korisnika, jeste to što programeri slobodnog softvera nemaju nikakve druge obaveze osim moralnih obaveza. To jest, oni, u stvari, nisu odgovorni za kvalitet softvera.

Na primjer, u jednoj od javnih licenci (GNU) postoji čak i standardna formulacija u kojoj se navodi odsustvo garancija: „Ovaj program se pruža 'kako jest'. Osim ako nije drugačije navedeno u pisanoj formi, autor i/ili drugi nosilac autorskih prava ne preuzima nikakve garancijske obaveze, bilo izričito izražene ili i implicirano u vezi s programom, 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/Linuks ili jednostavno Linux, prilično rasprostranjen, posebno na tržištu servera, i predstavlja potpuno kompletan softverski proizvod. Sastoji se od velikog broja programa iz GNU projekta (prvenstveno sistemskih uslužnih programa i GNU alata), Linux kernela - dijela sistema koji je odgovoran za izvršavanje drugih programa, uključujući drajvere uređaja, itd. - i mnogih drugih besplatnih softvera .

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 zaposlenike na tim projektima tako da stepen odgovornosti programera bude na visokom nivou. Zašto to rade, jer im je open source i besplatni softver konkurentan? Odgovor je jednostavan - u tome vide prednost, koju nastoje da ne propuste, jer se svakodnevno pojavljuje veliki broj programa na bazi softvera otvorenog koda, od kojih neki kasnije mogu postati jaki komercijalni proizvodi.

Postoji nekoliko glavnih licenci koje se trenutno koriste za distribuciju slobodnog softvera: AROS javna licenca, BSD licenca, CDDL, zajednička javna licenca, GNU slobodna licenca za dokumentaciju, GNU opšta javna licenca, GNU manja opšta javna licenca, MIT licenca, Mozilla javna licenca, Open Directory License, itd. Za sve slobodne licence, na ovaj ili onaj način, karakteristično je poštovanje principa copyleft-a (copyleft je igra riječi od riječi copyright). Za razliku od tradicionalni pristup autorskom pravu, u kojem je sloboda kopiranja djela ograničena, princip copyleft-a koristi zakone o autorskim pravima kako bi osigurao da je nemoguće ograničiti nečija prava na korištenje, modificiranje i distribuirati, kako samo djelo tako i djela zasnovana na njemu. Ideja copyleft-a je da svako ko distribuira program, i sa izmjenama i bez njih, nema pravo ograničavati slobodu njegove dalje distribucije ili modifikacije. Copyleft jamči da je svaki korisnik slobodan da radi svoje.

Broj licenci koje zadovoljavaju definiciju otvorenog koda (open source), 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 hostirati i zajednički razvijati svoje softverske projekte. SourceForge.net trenutno ima nekoliko stotina hiljada projekata i ima preko milion registrovanih korisnika.

Naravno, otvoreni kod i besplatni softver sve više privlače publiku. Programe otvorenog koda prilično uspješno koriste i privatni korisnici i i komercijalni, državne i javne organizacije. Otvoreni kod i besplatni softver se već koriste kao predinstalacioni softver za neke modele laptopa i netbooka različitih proizvođača. Osim toga, softver otvorenog koda postepeno osvaja tržište automatizacije za mala i srednja preduzeća.


Većina korištenog softvera distribuira se u kompajliranom obliku. Ovo sugeriše da izvorni kod takvih programa prolazi kroz poseban kompajler, koji ga pretvara u jezik koji računar može da razume. Zauzvrat, softver koji koristi open source, je sušta suprotnost.

Takav se kod, u pravilu, distribuira zajedno sa kompajliranom verzijom programa, što omogućava njegovu modifikaciju ili poboljšanje na svaki mogući način kako bi se omogućilo obavljanje šireg spektra zadataka. Programeri takvih programa vjeruju da će s vremenom otvoreni izvor omogućiti da softverski proizvod postane korisniji i spasiti ga od velikog broja grešaka.

Postoji nekoliko kriterija podobnosti za softver otvorenog koda:

  • besplatna distribucija softverskog paketa, ali istovremeno može biti i dio komercijalnog projekta;
  • obavezno prilaganje 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.

Razmotrite jedan od najupečatljivijih primjera softvera koji prati open source koji je dobio distribuciju širom svijeta. Početkom 90-ih godina prošlog veka, finski student Linus Torvalds razvio je potpuno novi operativni sistem zasnovan na Unixu, koji je danas poznat kao Linux... Sistem je pušten pod licencnim ugovorom GNU Opća javna licenca, koji je sadržavao definiciju otvorenog koda sa pravne tačke gledišta. Prilično veliki broj programera je počeo da koristi i poboljšava ovaj operativni sistem. Prikupljajući poboljšanja programera širom svijeta u jedinstvenu cjelinu, 1994. Linus Torvalds je objavio 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 ovakvog tržišnog operativnog sistema je dostupnost garancije i tehničke podrške, što nije manje važno.

Nekoliko drugih kompanija je takođe razvijalo nove verzije Linuxa za prodaju, sa ovim paketima dodatno opremljen raznim softverom, uključujući: Mozilla Internet pretraživač izgrađen na Netscape jezgri, Apache web server, Perl web skript jezik, PNG format datoteke slike i mnoge druge. Osim toga, postoje verzije navedenih softverskih paketa razvijene za Windows i Android operativne sisteme. Ovo sugerira da softver otvorenog koda nije dostupan samo za računare, već i za mobilne uređaje.

Sumirajući, vrijedi reći da programi koji dolaze sa svojim otvorenim kodom imaju brojne nedostatke. Prije svega jeste razne verzije, zbog čega revizija 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 eliminirati, nije moguć rad s novim formatima datoteka i tako dalje. Microsoft Word i Open Office su primjeri za to. 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, namijenjen za računovodstvo i izvještavanje. Još jedan nedostatak je direktno vezan za hardver, činjenica je da se pri prelasku sa Windowsa na Linux mora imati na umu da Linux drajveri ne postoje za sve modele računarskih uređaja, što će uzrokovati kvar sistema.

Međutim, ne zaboravimo na pozitivne aspekte takvog softvera, jer open source ima mnogo prednosti... Prvo se distribuira 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 i ne može svaka kompanija da priušti da plati rad nekoliko hiljada programera. Posljednja stvar koju treba napomenuti mogućnost brzog otklanjanja grešaka, zahvaljujući čemu programi otvorenog koda rade stabilnije od komercijalnih.

Top srodni članci