Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • U kontaktu sa
  • Datoteka softvera otvorenog koda. Stotinu korisnih programa otvorenog koda

Datoteka softvera otvorenog koda. Stotinu korisnih programa otvorenog koda

Softver otvorenog koda ima svoje poklonike, a u posljednje vrijeme kada je u pitanju razvoj nekakvih "nacionalnih" proizvoda, u osnovi se misli na open source. Paradoksalno, interesovanje za ovu vrstu softvera izazvalo je mnogo distorzija i zabluda koje u praksi onemogućavaju njegovu distribuciju.

Naša kompanija učestvuje u projektima otvorenog koda od 2005. godine - i zahvaljujući razvoju sopstvenih open source rešenja (OpenVZ, CRIU projekti), učestvujući u drugim projektima otvorenog koda (QEMU, OpenStack, libvirt, libcontainer, itd.). U proteklih 10 godina prikupili smo neke od najčešćih mitova o softveru otvorenog koda. Proći ću preko svake od zabluda i objasniti zašto je to pogrešno. Sigurno ćete još toliko pamtiti, ali, po mom mišljenju, ovih pet je najpaklenijih.


Projekat otvorenog koda je projekat otvorenog koda.

Svaki softverski projekat sastoji se od mnogih artefakata: izvornog koda projekta, informacija o neispravljenim defektima, testnog izvornog koda, dokumentacije. Izvorni kod projekta je samo njegov dio, slobodan pristup kojem ne daje pravo da se cijeli projekt naziva otvorenim. Pored izvornog koda, drugi razvojni artefakti bi trebali biti slobodno dostupni, a što je više artefakata otvoreno, to je projekat otvoreniji za saradnike (ljude koji žele doprinijeti 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 plodonosnoj saradnji članova zajednice.

Kvalitet softvera otvorenog koda je lošiji jer svako može napisati kod za njega.

Glavni princip open source softvera - otvoreni zajednički razvoj - sam po sebi je garancija da se nekvalitetni kod, štake i zakrpe jednostavno ne mogu sakriti od drugih učesnika. Osoba, koja učestvuje u takvim projektima, spremna je na činjenicu da će njegov rad biti podvrgnut i analizi i kritici, te stoga neće varati. Njegova reputacija je na kocki i niko je ne želi izgubiti.

Osim toga, u nekim zajednicama (na primjer, zajednica oko razvoja Linux kernela) postoji strogi princip - samo najbolji, testirani i idealni kod se prihvata u originalni kernel. Pokušaj dodavanja nekvalitetnih izmjena bit će odbijen, drugi pokušaj je prepun gubitka ugleda osobe ili kompanije koja doprinosi.

Odnosno, projekat otvorenog koda zaista omogućava bilo kojoj osobi da učestvuje u pisanju koda, ali u ozbiljnim projektima, zbog visokog ulaznog praga, kod neće biti prihvaćen od ljudi sa nedovoljnim nivoom stručnosti.
Većina velikih IT kompanija (IBM, Google, Canonical, Parallels, itd.) imaju čitave odjele u kojima su stručnjaci plaćeni da rade na projektima otvorenog koda i tako indirektno rade na proizvodima kompanije.

Odvojeno, vrijedi spomenuti da su kompanije koje razvijaju proizvode zasnovane na open source projektima, tokom testiranja, zainteresirane za poboljšanje koda open source projekata koji koriste. Stoga se svi otkriveni problemi moraju popraviti i osigurati da je ovaj popravak dodat u glavnu granu projekta kako bi bilo što manje razlika u vašem kodu i kodu otvorenog projekta. Naši proizvodi koriste kod drugih projekata otvorenog koda, tako da popravljamo probleme pronađene u kodu ovih projekata i šaljemo ih na gore. To je bio slučaj sa ranjivostima u RHEL kernelu: Red Hat je primetio Vladimira Davidova da je otkrio ozbiljne propuste CVE-2014-0203 i CVE-2014-4483 u jednom od ažuriranja jezgra RHEL6 (drugi problem je, inače, bio pronađeni pomoću jednog od naših automatiziranih testova, koristeći Linux Test Project). Vasilij Averin je dobio zahvalnost za pronalaženje greške CVE-2014-5045, Dmitry Monakhov za CVE-2012-4508. Činjenicu dobrog testiranja Linux kernela je čak primijetio i Andrew Morton (ko je ovo?): „Zanima me. Tokom proteklih nekoliko mjeseci, ljudi na @ openvz.org su pronašli (i popravili) gomilu nejasnih, ali ozbiljnih i prilično starih grešaka. Kako ste pronašli ove bube?"

Ishod

Zapravo, svi ovi mitovi nastaju uglavnom među korisnicima koji ili tek počinju raditi sa 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 rješenjima.
Nedavno smo najavili otvoreni proces razvoja za sljedeću verziju našeg proizvoda Virtuozzo 7. Ako ste također zainteresirani za stvaranje najbolje tehnologije virtualizacije kontejnera, onda

Uz pomoć open source projekata možete poboljšati svoje vještine, ispraviti tuđe greške i stvoriti nešto novo. Možete pronaći projekt koji će biti koristan za vaš vlastiti posao, na primjer, u medicini ili e-trgovini. Takođe, kao programeri praktičari, jedan od najboljih načina da se motivišete da se bavite programiranjem je rad sa projektima otvorenog koda. Posebno za čitatelje Geekbrains bloga, sastavili smo listu takvih projekata iz različitih područja djelovanja:

Softverski paket za medicinsko snimanje. 3D Slicer je dostupan na više platformi uključujući Windows, Linux i OS X.

Alat koji vam omogućava da distribuirate obradu velikih količina podataka po klasterima računara koristeći jednostavne modele programiranja.

Popularni softverski paket za obradu teksta, izradu tabela, prezentacije, grafiku, baze podataka i još mnogo toga. Potpuno otvoren proces razvoja znači da svako može prijaviti greške, zatražiti nove funkcije ili poboljšati softver. Napisan je u međunarodnom formatu otvorenog standarda, stoga prihvata datoteke iz drugih open office softverskih paketa.

Platforma za upravljanje sadržajem koju pokreću milioni web stranica i aplikacija.

Medijski menadžer za izgradnju velikih, centralizovanih medija biblioteka.

Besplatan operativni sistem kao što je Unix.

Office paket za kolaborativni razvoj sa funkcijama kao što su Microsoft Office ili OpenOffice.org.

Sistem za kreiranje kurseva. Besplatna web aplikacija koju edukatori mogu koristiti za kreiranje učinkovitih web stranica za učenje. Moodle je postao veoma popularan među nastavnicima širom svijeta kao alat za kreiranje dinamičnih web stranica za svoje učenike.

Softver za kreiranje i upravljanje obrazovnim audio i video sadržajem.

Višeplatformski sistem upravljanja sadržajem preduzeća napisan na Javi. Radi sa više baza podataka (uključujući MySQL, Oracle, PostgreSQL, SQLLite i druge) i podržava više metoda provjere autentičnosti.

Softver za kreiranje privatnih i javnih oblaka.

Usluga vam omogućava da kreirate ankete i delite ih sa kontaktima na sajtu. Pogodan način za prikupljanje podataka za dalju analizu.

DICOM server za zdravstvenu zaštitu i medicinska istraživanja. Dizajniran da olakša upravljanje medicinskim slikovnim podacima. Dobar alat za automatizaciju zadataka medicinskog snimanja specifičnih za svaku zdravstvenu ustanovu.

Pokrenut od strane zajednice otvorenog koda, projekat je dizajniran da obezbedi najbolja rešenja za preduzeća kroz poslovnu inteligenciju.
Glavna područja primjene:

  • izvještavanje
  • analiza
  • prikupljanje podataka
  • platforma za poslovnu inteligenciju

Java™ programeri mogu koristiti komponente projekta za brzo kreiranje vlastitih rješenja poslovne inteligencije.

Modularni sistem za upravljanje digitalnim podacima otvorenog koda.

Besplatni softver za e-trgovinu.

Biblioteka za brzo filtriranje i sortiranje velikih kolekcija - do 100.000 stavki u pretraživaču.

Jezici otvorenog koda

Programski jezik otvorenog koda i razvojno okruženje za ljude koji žele da kreiraju slike i animacije.

R je otvoreni programski jezik i softversko okruženje za statističke proračune i grafiku. R jezik se široko koristi među statističarima za razvoj statističkog softvera i analizu podataka.

Gdje mogu pronaći još projekata otvorenog koda?

Jedan od najvećih web servisa za zajednički razvoj IT projekata. Potpuno besplatno za projekte otvorenog koda. Moto usluge “Društveno kodiranje” može se prevesti kao “Kodirajte zajedno”.

Dizajniran za popularizaciju projekata otvorenog koda. Sa alatima koji su tamo obezbeđeni, programeri su kreirali moćan softver u preko 430.000 projekata; resurs ima više od 3,7 miliona registrovanih korisnika. Popularni direktorij okuplja preko 41,8 miliona klijenata sa projektima otvorenog koda i opslužuje preko 4.800.000 preuzimanja dnevno.

Fossdroidov cilj je promovirati Android aplikacije otvorenog koda kroz F-Droid projekat. Fossdroid preuzima svoje podatke od F-Droida i organizira aplikacije na način sličan Google Playu, s opcijom da ih pregledate prema popularnosti.

Kako znati da li je softver otvorenog koda i koja su pravila za njegovu upotrebu?

Potrebno je shvatiti da se svi projekti otvorenog koda ne mogu koristiti u komercijalne svrhe ili slobodno modificirati.Da biste saznali da li je softver otvorenog koda i koja su pravila za njegovo korištenje, potrebno je pogledati njegovu licencu. Obično se njegov puni tekst nalazi direktno u kodu.

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 mobilnijima (fleksibilnijima) 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 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 podijelio 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, razmatrana 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.

Projekt 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, fokusiran 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 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 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 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 open source, onda jednostavno ima odgovornost da doprinese zajednici. U tu svrhu, QNX je preuzeo Eclipse CDT projekat u junu 2002.

Cilj projekta Eclipse CDT (C/C++ Development Tools) je kreiranje 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 narastao 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đenu, naravno, zahvaljujući vašim doprinosima zajednici! Ako podržavate projekat, ponašajte se kao dobar građanin zajednice, poštujte tuđa mišljenja, 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-a je da iskoristi prednosti sudjelovanja u Eclipse-u dok razvija novu funkcionalnost koja se uključuje kroz standardizirane tačke proširenja koje su već dostupne na Eclipse i CDT platformama. U tu svrhu, QNX namjerava da ostane aktivan član Eclipse zajednice, koristeći postojeću bazu koda i stručnost trećih strana (plug-ins), pomažući da se zadovolji stvarne potrebe kupaca 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 imaju koristi od istraživanja drugih ljudi (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ćne podrške za unakrsnu kompilaciju, lakog otklanjanja grešaka i proširenja 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 uspostavljenim 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 stvorene jednake. QNX je napravio dobro osmišljen potez sa Eclipse javnom licencom. Ovaj izbor je dijelom diktiran potrebama njegovih ugrađenih kupaca, a dijelom i ž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.

Primjeri 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 s 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 svoju konkurentsku prednost često zasnivaju 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 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. 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 izvedeni 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 od strane forenzičke prakse. 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 Linuxu (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. Zapravo, takvi drajveri 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 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 znatne 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 IP prava, provjeru IP prava za otvoreni kod, uspostavljanje 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 neizvjesnošć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 odgovaraju 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 nehotice 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 ponudite svoj softver kao uslugu koja rješava neki problem za klijenta, onda klijenta nije briga da li ste koristili softver otvorenog koda 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, uvjerite se da je 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 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!

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 znanje 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 pokaže 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 - po pravilu, u školi, na poslu i kod kuće koristimo Windows. U slučaju zatvorenih programa i operativnih sistema, radi se o gotovom proizvodu koji ne zahtijeva nikakvu intervenciju s naše strane. Prosječnom korisniku je mnogo praktičnije 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 pri ruci i mogućnost kontaktiranja tehničke podrške u slučaju problema. Takve sisteme i proizvode objavljuju 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 izmjene na stranici bile veoma skupe.

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 godinama 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.

Koja 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 softvera.

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 licence za komercijalni softver. 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, onda se ona eliminira u najkraćem mogućem roku, 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 obezbjeđivati ​​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, koji distribuira softver otvorenog koda. Osim toga, postoji i posebna komisija koja odlučuje da li se licenca određenog programa može nazvati otvorenim kodom.

Ovdje je vrijedno pojasniti da je većina softvera otvorenog koda također 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 leži 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 u cilju dobrobiti cijele zajednice. 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 programi odnosa s novcem, uključujući i ne podrazumijevaju besplatne.

Mehanizam rada slobodnog softvera je da su softverski proizvod i njegov izvorni kod podrazumevano 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. To svakome omogućava korištenje već kreiranog koda 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, tako da se pojam "Open Source Software", koji je kasnije predložio Eric Raymond, nekima čini čak prikladnijim 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 jednako 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 učestvuju u njemu, tada entuzijazam vođe nestaje, a razvoj softvera s tim 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, o čijem radu 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 ne morate platiti za njega, a ako je potrebno, košta mnogo manje od vlasničkih kolega. Glavni nedostatak, sa stanovišta komercijalnog korisnika, jeste to što programeri slobodnog softvera nemaju nikakve druge obaveze osim moralnih. To jest, oni, u stvari, nisu odgovorni za kvalitet softvera.

Na primjer, u jednoj od javnih licenci (GNU) postoji čak i standardna formulacija 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 autorskog prava ne preuzima nikakve garancijske obaveze, bilo izričito izražene ili i podrazumevano u vezi s programom, uključujući podrazumijevanu garanciju za prodaju i prikladnost za određenu namjenu, kao i sve druge garancije."

Inače, trenutno je GNU sistem, poznatiji kao GNU/Linux 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 zaposlene 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 – oni u tome vide prednost, koju nastoje da ne zanemare, 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 autorskim pravima, 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.

Top srodni članci