Misiuni open source. Tipuri de licențe pentru dreptul de a utiliza software open source

Peter Van Valkenburg, șeful de cercetare la Coin Center și membru al consiliului de administrație al Fundației Zcash, explică de ce Dezvoltarea de software open source este importantă pentru construirea încrederii și asigurarea securității în rețelele blockchain.

Codul de calculator care stă la baza tuturor proiectelor majore de criptomonede și blockchain deschis este dezvoltat ca software open source. Autoritățile de reglementare și factorii de decizie care încearcă să înțeleagă criptomonedele, dar nu sunt familiarizați cu astfel de software, pot fi induși în eroare să creadă că aceste sisteme sunt (și ar trebui să fie) dezvoltate de una sau mai multe companii comerciale. În timp ce mult software-ul bine-cunoscut este într-adevăr dezvoltat în acest fel (cum ar fi Windows-ul Microsoft sau RDBMS-ul Oracle), acesta nu este cazul proiectelor open source, iar această diferență poate și ar trebui să modeleze opinia publică. Software-ul open source este creat în colaborare, distribuit gratuit, publicat în mod deschis și dezvoltat ca un produs al comunității, mai degrabă decât proprietatea unei singure companii sau individ. În acest caz, nu există monopol, nu există o singură companie sau persoană care să creeze și să vândă software-ul sau să-l dețină. Așa cum nu există o singură companie care să dețină rețeaua Bitcoin, nu există o singură companie care să producă software-ul care rulează pe computere conectate la Internet pentru a forma rețeaua. Această descentralizare are câteva beneficii fundamentale care pot fi greu de înțeles pentru persoanele care nu sunt familiarizate cu dezvoltarea de software. Pentru a înțelege mai bine puterea și natura open source, poate fi util să obțineți o perspectivă asupra unei piese deosebit de reușite de software open source. Vorbim despre sistemul de operare Linux.

Open source peste tot

Este dificil să calculezi de câte ori pe zi folosești Linux, deoarece acest sistem de operare este cel care stă la baza funcționării majorității serverelor de pe Internet. Ori de câte ori vizitezi Facebook, Google, Pinterest, Wikipedia și miile de alte site-uri majore, servicii pe care aceste site-uri (atât de diferite) ți le oferă, ai de-a face cu computere care rulează cel mai probabil sistemul de operare Linux. Linux poate fi găsit mult mai aproape; Sunt șanse să o aveți la îndemână. Să presupunem că sistemul de operare al smartphone-urilor Android se bazează pe Linux. Dacă aveți un Chromebook, atunci utilizați un laptop bazat pe Linux. Acest sistem de operare este din ce în ce mai utilizat în televizoare, termostate, sisteme multimedia din avioane, mașini etc.

De ce este asta interesant? Pentru că Linux nu este produsul unui programator sau chiar al unui grup de programatori; spre deosebire de MacOS sau Windows, nu a fost dezvoltat de una sau chiar de o duzină de corporații. Linux are mii de colaboratori. După cum a raportat în 2015 Linux Foundation, o organizație non-profit care promovează dezvoltarea deschisă a sistemului de operare, aproximativ 14.000 de dezvoltatori din peste 1.300 de companii diferite au contribuit cu fragmente de cod. Numai în 2015, 2.355 de dezvoltatori au participat pentru prima dată la îmbunătățirea codului. Astfel, prin extrapolare, se poate calcula că până în 2017 au contribuit aproximativ 18.000 de persoane, iar acest număr va crește.

Cine ar fi crezut chiar și acum cinci ani (în 1991) că un sistem de operare de talie mondială ar putea, ca prin farmec, să fie împrăștiat într-un singur întreg din fragmente din munca independentă a câtorva mii de dezvoltatori împrăștiați pe tot globul și conectați doar de firele fantomatice ale internetului?

Beneficiile Open Source

În cartea sa, Raymond vorbește despre modul în care open source este o modalitate revoluționară de a crea tehnologie. Linux, cu mii de dezvoltatori independenți care lucrează într-un mod de colaborare publică, exemplifica modelul open source. Criptomonedele urmează același model, dar despre asta vom vorbi mai jos.

Raymond a subliniat câteva beneficii ale modelului open source. Cele cheie în contextul discuției noastre sunt următoarele:

  • Fiecare bucată bună de software începe cu satisfacerea unei dorințe personale a dezvoltatorului. Majoritatea dezvoltatorilor de proiecte open source sunt motivați de dorința de a folosi personal produsele pe care le creează. Nu sunt obligați printr-un contract care îi obligă să creeze ceva pentru altul; au o nevoie personală pe care o satisfac. Astfel, apare o motivație calitativ diferită, generând cunoaștere detaliată a problemei.
  • Programatorii buni știu ce să scrie. Cei mari știu ce să rescrie (și să refolosească). Când dezvoltarea se face în mod deschis, redundanța poate fi evitată, iar codul problematic, complex sau redundant poate fi identificat și simplificat.
  • Când vă pierdeți interesul pentru un program, ultima dvs. datorie față de acesta este să îl transferați în mâinile unui succesor competent. Oamenii se alătură și părăsesc un proiect open source pe baza intereselor și competențelor lor. Nimeni nu se blochează lucrând la proiecte care nu mai sunt interesante. Apar capete proaspete, care oferă puncte de vedere diferite asupra problemelor de lungă durată sau a noilor perspective de dezvoltare.
  • A vedea utilizatorii ca colegi dezvoltatori este cel mai simplu mod de a îmbunătăți codul și de a depana eficient software-ul. Mulți utilizatori open source ajută la identificarea problemelor și chiar oferă soluții. Linia dintre consumatorul și producătorul de software open source este neclară: munca la software este transparentă, se desfășoară în ochii publicului, iar participarea la procesul de creare este disponibilă tuturor.
  • Dacă există o bază suficient de mare de testeri și dezvoltatori beta, aproape orice problemă va fi identificată rapid, iar soluția ei va fi probabil evidentă pentru cineva. Acest postulat se numește Legea lui Linus în onoarea lui Linus Torvalds, creatorul nucleului Linux, care a rămas multă vreme principalul dezvoltator al acestui sistem de operare. Când procesul de dezvoltare a codului este închis, dezvoltatorii riscă să rateze un punct slab sau să nu observe o anumită eroare. Dezvoltarea în rândul utilizatorilor experimentați cu o perspectivă unică crește probabilitatea ca erorile să fie identificate și remediate, făcând software-ul open source mai sigur și mai rezistent.

Rezultatul acestei dezvoltări este un cod software extrem de fiabil creat de utilizatori pentru utilizatori. Scopul nu este de a crea ceva care să îmbogățească compania care produce și vinde produsele, ci mai degrabă de a rezolva o problemă care este suficient de comună încât o mare comunitate de programatori talentați să fie bucuroasă să contribuie. Persoanele fără abilități de programare beneficiază foarte mult de acest model. Software-ul gratuit pare să se materializeze din aer, disponibil gratuit pentru toată lumea și păstrat actualizat atâta timp cât utilizatorii la nivel de experți sunt, de asemenea, interesați să îl folosească.

Drept și Software Liber

Legislația actuală susține și în unele cazuri încurajează dezvoltarea de software open source. El, la fel ca orice software, este protejat de drepturi de autor, dar autorii săi eliberează codul sub o licență care permite oricui să-l folosească și să-l modifice fără permisiunea specifică sau nicio plată către autori (adică licența dezvoltată de Massachusetts Institute of Technology). - MIT).

Unele licențe includ cerințe ca derivatele software-ului să fie eliberate în aceleași condiții. Datorită acestei scheme, baza de cod sursă deschisă crește și se răspândește. Acest fenomen este cunoscut sub numele de licență pentru software liber sau LGPL-3 - Licența publică generală mai mică.

Sursă deschisă în proiecte de criptomonede și token

Linux poate fi cel mai mare și mai important exemplu de model open source, dar există și altele. Acestea includ toate proiectele majore de criptomonede și blockchain. Toți creează rețele de computere care permit participanților să ajungă la un acord asupra datelor partajate (blockchain criptomonede).

Software-ul care oferă oricărui participant posibilitatea de a se conecta la rețea se numește client și este un software open source. Adesea, software-ul client este dezvoltat de mai mulți participanți neînrudiți ca cea mai simplă versiune a software-ului de rețea (adică așa-numitul client de referință), pe baza căreia software-ul de mining, portofelul, schimbul sau alt software compatibil cu rețeaua poate fi construit.

Clientul Bitcoin Core este rezultatul muncii a peste 450 de dezvoltatori independenți care au contribuit cu peste 15.000 de contribuții totale la cod. Software-ul este liber de utilizat și modificat în conformitate cu Licența pentru Software Liber MIT, iar întregul istoric al dezvoltării este disponibil pentru revizuire într-un depozit public de pe Github, un serviciu cloud care permite oricui să creeze un cont, să încarce cod nou și să urmărească modificările. Dacă depozitul pe care îl creați este deschis pentru vizualizare publică, comentarii și sugestii de modificare, atunci nici măcar nu trebuie să plătiți pentru un cont Github.

Depozitul public urmărește, de asemenea, așa-numitele fork-uri ale clientului original. Un furk creează o clonă a software-ului original, care poate fi apoi modificată într-un scop sau altul fără a schimba stocarea originală. Dezvoltatorii sunt liberi să forkeze depozitul Bitcoin Core pe Github pentru a crea fie aplicații specifice care sunt compatibile cu Bitcoin (de exemplu, un portofel pentru smartphone-uri), fie o nouă criptomonedă care nu mai este compatibilă cu rețeaua Bitcoin și implică crearea unui o nouă rețea de criptomonede (de exemplu, aceasta a fost cu Litecoin sau Zcash). Până în prezent, clientul original Bitcoin Core a fost bifurcat de peste 10.000 de ori, iar noi depozite care apar arată că crearea de produse derivate continuă.

Ethereum are în prezent cel puțin 121 de depozite, fiecare dintre ele concentrându-se pe un aspect specific al proiectului (de exemplu, limbaje de programare pentru scrierea de contracte inteligente, browsere grafice pentru interacțiunea utilizatorului final cu rețeaua Ethereum, clienți compatibili pentru participarea la rețea etc.). Există nu mai puțin de opt proiecte care vizează dezvoltarea clienților compatibili cu Ethereum, iar cei mai populari clienți (go-ethereum și Parity) au sute de dezvoltatori independenți care lucrează la ei. Codul Ethereum și istoricul său complet, precum codul și istoricul Bitcoin, sunt disponibile pentru vizualizare publică pe Github și alte depozite online, iar tot codul este eliberat sub licența LGPL-3, necesitând ca toate lucrările derivate viitoare să fie lansate sub aceeași licență.

Chiar și proiectele recente conduse de startup-uri comerciale demonstrează un angajament față de crezul open source. Compania Zcash dezvoltă protocolul Zcash printr-un depozit public. Câțiva dintre dezvoltatorii principali nu lucrează pentru companie, iar o organizație non-profit special creată este dedicată să se asigure că există o tranziție treptată de la dezvoltarea condusă de companie la dezvoltarea condusă de comunitate. Baza de cod sursă Zcash este lansată sub o licență MIT. Protocol Labs, dezvoltatorul Filecoin, intenționează să creeze un model deschis similar și l-a testat deja în proiectul său IPFS, lucrând cu cod în depozite deschise și lansându-l sub licența MIT.

De ce este importantă sursa deschisă

Criptomonedele și blockchain-urile publice pot oferi funcționalități care ar fi reglementate dacă ar proveni de la o singură corporație. Emitenții centralizați de monedă digitală, cum ar fi Liberty Reserve sau E-gold, erau servicii financiare și trebuiau să se înregistreze la U.S. Treasury Crimes Enforcement Administration și să obțină o licență de transmitere de bani în fiecare stat. Dacă astfel de jetoane sunt comercializate pentru a atrage investitori, ele pot constitui titluri de valoare, caz în care va fi necesară înregistrarea la Comisia pentru Valori Mobiliare din SUA. Aceste restricții au sens, deoarece serviciile centralizate implică riscul ca partea centrală a schemei să nu își respecte promisiunile de a testa în mod adecvat produsul și de a-l asigura.

Cu toate acestea, tehnologii precum Bitcoin pot oferi funcționalități similare, fiind rețele deschise și proprietare. Nu există nicio corporație aici. Utilizatorii se alătură acestor rețele, iar software-ul open source îi încurajează să colaboreze. În cele din urmă, toți participanții sunt de acord asupra fiecărei date necesare pentru a crea moneda. Descentralizarea se bazează pe doi piloni: mecanisme deschise de consens și software open source. Dacă codul nu ar fi open source, cum ar putea participanții (persoanele care nu se cunosc pe internet) să înțeleagă și să aibă încredere în sistemul la care se alătură?

De fapt, proiectele cu simboluri bazate pe cod proprietar pot fi pur și simplu servicii centralizate care se ascund în spatele argoului profesional și al „blockchain gobbledygook”. Cu toate acestea, proiectele „adevărate” au cod care creează o rețea descentralizată care permite participanților să aibă încredere unii în alții, să aibă o motivație comună și să-i pedepsească pe cei care trișează și este el însuși descentralizat. Este dezvoltat în fața a sute de entuziaști, este disponibil pentru utilizare și modificare de către toată lumea din lume și este complet independent de interesele corporative.

Eforturile producătorilor de echipamente informatice de a promova soluții, susținute de un puternic suport de marketing, au devenit cunoscute pe scară largă software cu sursă deschisă(software open source). În uzul oficial modern în rusă, acest fenomen este de obicei numit software gratuit(SPO).

Esența conceptului constă în mai multe principii pentru crearea și distribuirea de software open source:

  • disponibilitatea codurilor sursă pentru toată lumea;
  • politica de licențiere de distribuție bazată pe una dintre licențele aprobate de comunitate (vezi opensource.org);
  • posibilitatea de a participa direct la dezvoltarea și corectarea erorilor din software pe cont propriu;
  • capacitatea de a schimba unele funcții software și de a se adapta la noile condiții (sub rezerva disponibilității modificărilor pentru întreaga comunitate);
  • compatibilitate maximă cu standardele deschise;
  • capacitatea de a lucra în diverse sisteme de operare și pe mai multe platforme (cross-platform).

Aceste principii sunt folosite pentru a crea majoritatea

SPO. Este demn de remarcat faptul că există o diferență notabilă între gratuitȘi gratuit DE. În ciuda faptului că majoritatea licențelor software open source oferă distribuție gratuită, această proprietate în sine nu este suficientă pentru ca software-ul să fie considerat gratuit.

Open source a câștigat deja o serie de victorii importante asupra celor mai puternici producători de software proprietar. Mai exact, serverul web Apache este cu mult înaintea produselor similare de la alte companii (inclusiv Microsoft) din punct de vedere al cotei de piata datorita costului scazut al acestuia, independenta fata de furnizori, prezenta multor utilizatori cu experienta in administrarea acestuia si suportul din partea dezvoltatorilor. Linux a depășit toate celelalte tipuri în ceea ce privește volumele de aprovizionare Unix pentru platformă Intel, inclusiv conducerea de lungă durată SCO. SGBD-urile cu sursă deschisă ocupă o poziție puternică pe piețele sistemelor de operare cu sursă deschisă și a soluțiilor populare de internet low-end. Amenințarea la adresa software-ului proprietar provine din beneficiile software-ului open source, care sunt similare cu cele ale internetului, de exemplu. deschidere, libertate de adaptare etc.

Software-ul gratuit are deja o prezență puternică în sectorul sistemelor de operare pentru servere, al infrastructurii Internet, al serverelor de aplicații web, al DBMS pentru întreprinderi mici și departamente bazate pe baze de date web cu generare dinamică de pagini web, sisteme tehnice și de calcul încorporate și software pentru dispozitive server. . Vorbind despre infrastructura internetului, trebuie remarcat faptul că majoritatea dispozitivelor rulează sisteme de operare și alte software-uri open source. Aceste dispozitive includ servere de nume de domeniu, routere, comutatoare, firewall-uri, gateway-uri, echilibrare de încărcare, servere de aplicații și baze de date etc.

Având în vedere aceste progrese, software-ul open source reprezintă o amenințare pentru firmele a căror sursă principală de venituri sunt taxele de acces pentru clienți și taxele de licențiere pentru software-ul proprietar. Open Source aduce în software modelul de afaceri învechit și de marfă a pieței hardware - un model la care este dificil să se adapteze unui furnizor tradițional de software, în special unui lider.

Mulți dintre furnizorii care folosesc modele de afaceri open source nu s-au dezvoltat ca furnizori tradiționali de software pentru început. Pe măsură ce cota de piață open source crește și poziția sa pe piețele online strategice crește, furnizorii de software vechi recunosc amenințările reprezentate de open source și oportunitățile prezentate de noile modele de afaceri. Desigur, furnizorii tradiționali de software au posibilitatea de a adopta aceste modele de afaceri în totalitate sau în parte, în funcție de gama lor de produse. Dar chiar și așa, open source reprezintă o amenințare tangibilă și foarte reală pentru modul în care companiile de software fac afaceri.

Există patru amenințări principale pentru companiile închise din sursă deschisă.

  • Presiunea prețurilor. Deoarece licențele open source necesită în esență distribuția gratuită a software-ului și modificările acestuia, prețurile pentru produse tradiționale similare trebuie reduse pentru a ține pasul cu software-ul open source și a combate pierderea cotei de piață. De exemplu, SCO nu poate percepe 2.000 USD pentru Unix pentru platformă Intel, in timp ce Linux disponibil gratuit, a Microsoft monopolizează sectorul desktop-urilor. Furnizorii tradiționali, totuși, își pot recupera parțial pierderile făcând produsele lor software mai bune decât SP O și taxând suplimentar pentru ele.
  • Functionalitate destul de buna. Software-ul „destul de bun” (dar nu cel mai bun) poate înlocui parțial produsele de la furnizorii tradiționali de software, care sunt prea adesea vizați de piața de masă. O funcționalitate mai complexă (și costisitoare) în stadiile sale incipiente de dezvoltare este întotdeauna destinată unui grup relativ mic de utilizatori specialiști. Dar chiar și producătorii care operează pe această piață trebuie să înțeleagă clar că piața software-ului foarte dezvoltat se va extinde și se va adânci. Dacă funcționalitatea avansată nu reușește să atragă o gamă mai largă de utilizatori, clienții vor cumpăra în mod natural alternative open source, deși mai puțin dezvoltate. Pe piețele de masă foarte mari, furnizorii dominanti de software open source, pe lângă creșterea volumelor de aprovizionare, au o mulțime de oportunități de creștere prin implementarea unor strategii suplimentare de produse și servicii. Dimensiunea pieței de masă în sine asigură prețuri mai mici datorită volumelor mari de aprovizionare, ceea ce permite consumatorilor finali să primească profituri semnificative chiar și cu o ușoară creștere a costului produselor lor.

În unele cazuri, software-ul open source poate chiar depăși produsele tradiționale în ceea ce privește funcționalitatea. De exemplu, Apache a devenit primul dintre serverele web care a introdus o funcție de Internet populară printre furnizori Aliasarea IP permițându-vă să găzduiți mai multe nume de domenii Internet pe un singur sistem.

  • „Efecte de rețea” condiționat de cunoașterea și studiul software-ului și instrumentelor de utilizare în masă. Costul instruirii utilizatorilor unei noi tehnologii constituie o parte semnificativă din costul total de proprietate, depășind prețul produsului software în sine. O companie cu o bază mare de utilizatori familiarizați cu produsul și instrumentele însoțitoare ale acestuia poate valorifica această familiaritate prin lansarea de noi versiuni sau intrarea pe piețele adiacente. Acest tip de efect de rețea poate varia în funcție de tipul de utilizator pe care îl folosesc dezvoltatorii de software API, administratorii de sistem se ocupă de instrumente de administrare specifice, utilizatorii operează interfețe grafice cu utilizatorul, iar managerii stabilesc relații cu furnizorii. Odată formată, această rețea de parteneri și utilizatori ai soluțiilor open source nu mai este distrusă și vă permite să rezolvați probleme de marketing mai mici, cum ar fi câștigarea de aderenți și loialitatea clienților.
  • Presiunea de standardizare. Ultima amenințare din partea mișcării open source sunt instrumentele și cultura acesteia, care consideră inamicul său tot felul de bariere tehnologice ridicate de furnizorii tradiționali de software.

Recent, cel mai rapid domeniu în dezvoltare în software este așa-numitul "comercialsursa deschisa", acestea. JV O susținută de societăți comerciale obișnuite. Corporația ar trebui să fie considerată unul dintre liderii în această direcție Soare, care dezvoltă mai multe proiecte mari în acest sector: OpenSolaris OS SGBD MySQL suite office OpenOffice.orgși mediul de virtualizare Cutie virtuală. De regulă, există mai multe versiuni ale unui astfel de software, inclusiv una comercială. Când plătește pentru o licență, utilizatorul primește asistență tehnică, precum și, în unele cazuri, instrumente speciale pentru lucru convenabil care nu sunt disponibile sub o licență deschisă. Adică, pentru nevoi mici, companiile pot folosi versiuni gratuite sau gratuite de software, iar când cererile cresc, cumpără extensii comerciale fără a schimba nimic în infrastructura și aplicațiile lor. Astfel, versiunea comercială a software-ului open source concurează direct cu evoluțiile companiilor tradiționale, de exemplu Microsoft, care creează în mod activ scheme speciale de licențiere pentru utilizare în mediul Internet (vorbim despre software-ul server).

Drept urmare, software-ul open source de pe Internet joacă un rol de formare a sistemului, susținând și dezvoltând principiile de bază ale construirii rețelei. În plus, utilizarea software-ului open source este relevantă din punctul de vedere al concentrării pe furnizarea de servicii în locul vânzării de bunuri. Prin urmare, atunci când creați sisteme de internet, merită să vă concentrați pe standardele deschise și pe software-ul care le implementează, deoarece numai astfel va oferi oportunitatea dezvoltării afacerilor și obținerii de noi oportunități pe piețele electronice.

Utilizarea software-ului open source pentru a susține tehnologiile Internet este firească și necesară din punctul de vedere al proprietăților de scalare, globalitate și compatibilitate. De exemplu, creșterea numărului de servere sau alte dispozitive de infrastructură nu necesită investiții suplimentare în software, ceea ce oferă o flexibilitate mai mare decât în ​​cazul software-ului proprietar. Acest lucru devine valabil mai ales atunci când costul software-ului depășește componenta hardware a proiectului. Cerințele de globalitate și compatibilitate sunt implementate datorită suportului bun pentru software-ul open source multiplatform și utilizării standardelor deschise, care permite menținerea unui nivel ridicat de compatibilitate chiar și cu multe produse și platforme concurente de pe piață.

În lumina dezvoltărilor moderne ale aplicațiilor de servicii bazate pe tehnologii web, software-ul open source în combinație cu computere ieftine (nettop-uri și netbook-uri) poate înlocui în mod semnificativ sistemele desktop și mobile tradiționale, a căror bază este sistemul de operare. Windowsși apartamente de birou tradiționale. Folosind un sistem de operare ușor, personalizat, cu o interfață grafică bazată pe kernel Linux iar browserele web moderne vă permit să efectuați majoritatea sarcinilor de zi cu zi pe platformele de rețea folosind doar software open source.

Succesul software-ului open source este destul de remarcabil. Nu a cruțat nici măcar marii producători comerciali de software. IBM, Hewlett-Packard, Oracle și Microsoft i-au recunoscut influența și, în unele cazuri, i-au adoptat metodele. Se pare că majoritatea companiilor cu o funcție IT sunt deja destul de familiare cu produsele open source și le folosesc adesea în mod activ.

Cu toate acestea, ubicuitatea software-ului open source ridică încă mai multe întrebări decât răspunsuri. Așa că să încercăm să răspundem la cele mai populare.

Ce este software-ul open source?

Să ne întoarcem la 1997. Talentatul dezvoltator de sisteme de operare Linux Bruce Perens elaborează un document legat de pregătirea și distribuirea unei versiuni de distribuție a Debian Linux. Ulterior, a eliminat toate referințele la Debian și a introdus conceptul cunoscut astăzi ca Definiția Open Source. Printre altele, documentul Definiție a precizat că software-ul open source ar trebui distribuit fără drepturi de autor către dezvoltatori, distribuitorii sunt obligați să ofere tuturor acces gratuit la codul sursă al programelor și toate îmbunătățirile și upgrade-urile ulterioare ale programelor ar trebui, de asemenea, să fie asigurate in aceleasi conditii.

În esență, mișcarea software-ului open source este o rudă apropiată a Mișcării software liber, propusă în 1983 de Richard Stallman. Scopul său principal a fost distribuirea gratuită a software-ului, eliberându-l de restricțiile standard ale programelor comerciale. Regulile de distribuire a software-ului gratuit sunt reglementate de Licența Publică Generală (GPL), care a fost aprobată la a treia ediție în octombrie 2006.

Există zeci de licențe diferite Open Source Initiative în uz în întreaga lume astăzi, fiecare cu propriile reguli specifice care necesită studii de către companiile care iau în considerare utilizarea software-ului open source. De obicei, aceste reguli nu impun restricții stricte celor care doresc să acceseze programe open source. În ceea ce privește cerințele de distribuție, trebuie să li se acorde o atenție mai serioasă pentru a evita potențialele probleme asociate cu încălcarea regulilor de licențiere.

De ce software open source?

Primul motiv pentru care companiile se uită la software open source este foarte simplu - prețul. Și rentabilitatea investiției unui model open source demonstrează clar acest lucru. Software-ul open source este complet gratuit de descărcat, instalat și utilizat. La început, costurile reduse au atras dezvoltatorii care doreau să încerce noi instrumente sau să proiecteze noi aplicații fără a investi bani. Noua libertate i-a determinat pe mulți dintre ei să susțină mișcarea software-ului open source. Ca urmare, software-ul open source de calitate industrială, cum ar fi sistemul de operare Linux, serverul Apache Web, serverul de aplicații Java JBoss și mediul de dezvoltare Eclipse au început să apară în întreaga lume, împreună cu alte mii de proiecte.

La sfârșitul anilor 1990, managementul întreprinderii a început în sfârșit să acorde atenție software-ului open source. Cu bugetele IT în continuă scădere, dezvoltatorii s-au lăudat cu calitatea și economiile obținute prin utilizarea software-ului open source, iar multe companii au început să ia în considerare serios utilizarea componentelor software open source în proiectele de întreprindere. Primele întreprinderi mari care au implementat software open source au fost The Weather Channel, Cendant Travel, Employease și Sabre.

Într-un moment de creștere globală a internetului, software-ul open source permite companiilor să-și extindă rapid operațiunile electronice fără a cumpăra în mod constant noi licențe pentru software comercial. Beneficiile se extind și la dezvoltare și testare. În acest fel, companiile pot încerca lucruri noi fără costurile suplimentare asociate cu software-ul comercial și procesul de scădere a bugetului care este necesar în astfel de cazuri.

Probabil că nu este un secret pentru nimeni că puțini oameni profită de disponibilitatea codului sursă în produsele open source. S-ar părea că dreptul de a modifica și corecta liber codul software ar trebui considerat un plus serios, dar în realitate, în loc să întrețină software-ul în sine, este mult mai ușor pentru companii să se bazeze pe o comunitate de dezvoltatori care actualizează și depanează prompt codul de program al tuturor produselor populare.

Motive pentru respingerea software-ului open source

Argumentele împotriva software-ului open source sunt de obicei ușor de numărat pe o mână.

    Obținerea de software gratuit este ca „a da puși gratuiti”. Îl puteți descărca și instala complet gratuit, dar instruirea și asistența utilizatorilor ajung să coste mai mult decât costul total al software-ului comercial sau o sumă comparabilă. Acest argument, pe care Microsoft îi place în mod special să îl facă, operează la nivel subconștient. Dacă acest lucru este corect sau nu, depinde de situația specifică și de raportul analitic pe care îl citiți în acest moment.

    Organizarea suportului tehnic este dificilă. În primele zile ale mișcării open source, când dezvoltarea și sprijinul erau în mare parte realizate de grupuri de voluntari sau „comunități”, aceasta era într-adevăr o problemă presantă. Dar, în timp ce multe organizații au considerat că sprijinul comunității este suficient pentru a-și satisface nevoile, astăzi le sunt deschise multe alte oportunități, inclusiv suport pentru proiecte open source mari de către Hewlett-Packard și IBM. Drept urmare, afirmația că „pentru a te sufoca, este suficient să blochezi un gât” își pierde relevanța.

    Dezvoltarea de noi funcționalități durează mai mult în comparație cu software-ul comercial. Într-adevăr, depinde foarte mult de tipul specific de software pe care îl utilizați. Browserul web Firefox este cel mai bun exemplu al rapidității cu care software-ul open source poate fi adaptat nevoilor utilizatorilor. De asemenea, vă puteți aminti cât de repede dezvoltatorii Linux au organizat suportul pentru noile tehnologii, în special porturile USB. În acest sens, Linux practic nu a rămas în urmă cu Windows. Dar când vine vorba de software-ul de întreprindere, integrarea mecanismelor pentru a susține cea mai recentă placă video sau cip audio joacă un rol mult mai puțin important aici, în comparație cu asigurarea unei stabilități și performanțe ridicate.

    Incertitudinea dezvoltării ulterioare și a ramificării. Varietatea largă de licențe software open source, precum și posibilitatea de intervenție activă a utilizatorului final în codul programului, descurajează clienții corporativi să implementeze astfel de programe. Dar o examinare atentă a licențelor aplicațiilor open source de către avocați atenuează majoritatea acestor temeri. Unii furnizori de software cu sursă deschisă și companii terțe oferă chiar daune, astfel încât aplicațiile open source pe care le utilizați pot face foarte bine obiectul unui proces.

Unde sa încep?

Astăzi, aproape orice tip de software de afaceri este disponibil ca produse open source, de la servere de e-mail la sisteme VoIP. Multe companii acordă în primul rând atenție aplicațiilor Web, unde există produse care există de destul de mult timp și au reușit deja să-și demonstreze valoarea. O referință comună este la stiva LAMP (Linux, Apache, MySQL și PHP, Perl sau Python în funcție de situația specifică). Sistemul de operare Linux asemănător Unix a devenit larg răspândit. Unul dintre cele mai populare servere web de astăzi este Apache. Sistemul de gestionare a bazelor de date MySQL concurează cu succes cu produse comerciale scumpe. Iar limbajele de programare și scripting PHP, Perl și Python sunt utilizate pe scară largă ca instrumente pentru dezvoltarea aplicațiilor web open source. Site-urile Web cu sursă deschisă bazate pe Java se bazează adesea pe serverul de aplicații JBoss. Pe măsură ce vă familiarizați mai mult cu instrumentele open source și descoperiți asemănările și diferențele dintre acestea și produsele comerciale, veți descoperi alte posibilități. De asemenea, poate fi surprinzător să aflați că dezvoltatorii dvs. apelează ocazional la anumite produse open source pe propriul risc.

Serverele de aplicații sunt grozave, sigur, dar cum rămâne cu software-ul desktop open source?

Este destul de comun ca utilizatorii finali să folosească diverse instrumente desktop open source. Un exemplu izbitor de astfel de soluție este browserul web Mozilla Firefox. Unele organizații guvernamentale și comerciale preferă suita de birou Sun OpenOffice decât Microsoft Office. Dar, în timp ce unii jucători se aventurează în necunoscut instalând sistemul de operare Linux pe computerele lor desktop, Windows rămâne de departe jucătorul dominant. Versiunile de Linux prietenoase pentru utilizatorii finali (cum ar fi LinSpire) nu pot rupe status quo-ul, deoarece instruirea utilizatorilor necesită timp și bani. În plus, majoritatea pachetelor software comerciale, de care depind multe companii, sunt dezvoltate pentru Windows în primul rând și pentru Linux în al doilea rând (dacă este lansată vreodată o versiune Linux).

Pot fi vândute produse open source?

Da, desigur, dar regulile Open Source Initiative interzic împiedicarea vânzării codului dvs. către alții. Și totuși, multe companii găsesc modalități de a câștiga bani din produse open source. Mulți, pe lângă codul propriu-zis, oferă servicii de asistență corporativă, care sunt foarte ușor achiziționate de companii. Alții oferă două versiuni ale codului software: una într-o formă deschisă și gratuită și alta care include funcții utile suplimentare, conține componente proprietare și trebuie plătită de clienți. Acest model mixt devine din ce în ce mai popular. Este utilizat în mod activ de companii precum SourceFire, SugarCRM, Alfresco și o serie de altele.

Alte resurse open source

Multe programe open source pot fi găsite pe Internet:

    Carne proaspătă. Baza de date uriașă de software descărcabil, o mare parte sub formă de sursă deschisă.

    SourceForge. Un site gigant pentru dezvoltatorii de software open source, care reunește mii de proiecte open source. Unele dintre ele continuă să se dezvolte, în timp ce altele au încetat deja să mai existe.

Resurse open source - oficiale și neoficiale

    Inițiativa Open Source. O organizație non-profit care consideră ca sarcina sa principală dezvoltarea în continuare a software-ului open source și este finanțată de o serie de jucători care activează de mult timp în acest domeniu.

    Grupul de tehnologie open source. Probabil cel mai important promotor mondial al tehnologiilor open source. Această asociație deține site-ul de știri Slashdot, precum și resursele SourceForge și FreshMeat.

    Gestionarea riscurilor cu sursă deschisă. Oferă mecanisme pentru a asigura conformitatea cu cerințele de reglementare.

    Laboratoare de dezvoltare open source. O organizație al cărei obiectiv principal este promovarea sistemului de operare Linux în rândul clienților corporativi.

Mark Roberts
Director, Managementul Produsului
Sisteme software QNX
e-mail: [email protected]

adnotare

Acest articol se concentrează pe beneficiile, considerentele strategice, barierele și oportunitățile asociate cu utilizarea software-ului open source în produsele comerciale. Folosind mediul de dezvoltare integrat (IDE) bazat pe Eclipse ca exemplu, vom discuta despre diferențele dintre licențele de cod sursă software de protecție și neprotectoare. Când se integrează sau se leagă codul sursă deschis cu codul sursă închis „proprietar”, este adesea necesară atenția și precauția cuvenită. Există, de asemenea, diverse aspecte juridice de care trebuie să fii conștient, cum ar fi potențialul de încălcare a brevetului. Vom încerca, de asemenea, să explicăm de ce principiile de bază ale software-ului open source în mediul tehnologiei informației (IT) nu se aplică produselor comerciale încorporate.

Mediul de dezvoltare QNX Momentics ca exemplu de utilizare a software-ului open source

Întorcându-se în 2001, când multe firme de software se luptau să supraviețuiască pe fondul prăbușirii generale a pieței de valori IT, în special cele legate de e-business pe Internet, QNX Software Systems a luat o decizie strategică de a începe dezvoltarea unui nou mediu de dezvoltare integrat (IDE) pentru sisteme încorporate. Compania avea deja o experiență solidă în dezvoltarea unei serii de instrumente utilizate în dezvoltarea dispozitivelor încorporate, dar conducerea companiei și-a dat seama că crearea unui IDE o va ajuta să rămână în fața concurenței acerbe. Decizia de a crea un IDE a fost determinată și de schimbările în cerințele clienților. În perioada de scădere a activității de afaceri, clienții lipsiți de numerar au devenit mai interesați de soluții care ar putea maximiza productivitatea și să-i facă mai mobili (flexibili) atunci când își desfășoară activitatea, ceea ce ar îmbunătăți eficiența economică generală.

Pentru QNX, dezvoltarea IDE-ului a fost un „pariu pe viitor”, deoarece costul și efortul de dezvoltare a proiectului erau dincolo de accesul majorității furnizorilor de instrumente de sisteme încorporate la acea vreme. Din fericire, QNX a lucrat îndeaproape cu IBM pe diferite segmente ale pieței încorporate. Printr-o strânsă colaborare, IBM a împărtășit cu QNX planurile sale de a lansa un mediu de dezvoltare integrat cu sursă deschisă, care a devenit ulterior baza pentru platforma Eclipse.

IBM a propus utilizarea expertizei QNX pentru a adapta tehnologia IDE la nevoile dezvoltatorilor care creează aplicații încorporate bazate pe limbajul C/C++. Experții QNX au subliniat aproape imediat avantajele convingătoare ale utilizării unui IDE cu sursă deschisă. De exemplu, pentru un astfel de mediu ar fi posibil să:

  • eliminați dependența de un singur furnizor, care este de obicei asociată cu necesitatea de a licenția o platformă fereastră;
  • oferi cod de program sursă pentru personalizare la nevoile clienților;
  • atrage jucători industriali serioși pentru a oferi sprijin și pentru a crea un ecosistem de tehnologii și plug-in-uri complementare;
  • oferi clienților o arhitectură stabilă care poate sprijini diferențierea produselor;
  • permite dezvoltatorilor de dispozitive încorporate să utilizeze stații de lucru standard ca platformă de dezvoltare, potrivită pentru lucrul cu aplicații de tehnologie a informației (într-o gamă largă de aplicații).

În cele din urmă, a existat posibilitatea separată ca platforma IDE să câștige popularitate și să devină un standard de facto, permițând QNX să capteze piața pentru ecosisteme mari de dezvoltatori și instrumente terțe printr-o astfel de platformă.

Fondarea proiectului open source Eclipse.org

În noiembrie 2001, Borland, IBM, Merant, QNX Software Systems, Red Hat și SUSE au fondat Consorțiul Eclipse. La începutul lui 2004, Consiliul de Administratori a reorganizat Consorțiul Eclipse într-o corporație non-profit numită Fundația Eclipse.

De la bun început, Eclipse a fost un proiect cu adevărat open source. Proiectul a oferit atât tehnologii open source gratuite, cât și acces la o comunitate a celor mai educați și avansați dezvoltatori din domeniul lor. Astfel, această tehnologie s-a dovedit a fi o platformă universală pentru integrarea tuturor tipurilor de instrumente de dezvoltare. Se bazează pe o arhitectură deschisă, extensibilă și este licențiat în mod clar ca un produs gratuit, fără drepturi de autor. Contribuțiile comunității la proiectul Eclipse se bazează pe modelul standard de dezvoltare Open Source Software (OSS), dar majoritatea membrilor contribuie și la dezvoltări comerciale bazate pe platforma Eclipse.

Proiect de depozit de instrumente

În decembrie 2001, QNX a început să construiască QNX® Neutrino® RTOS, bazat pe platforma IDE Eclipse. În viziunea companiei, IDE-ul trebuia să aibă o funcționalitate mai mare, să se concentreze pe lucrul cu limbaje C/C++ și să aibă instrumente profund integrate pentru depanare, profilare, analiza și crearea de aplicații încorporate. Încă de la început, echipa QNX și-a imaginat ca acesta să fie un IDE multifuncțional, în mai multe limbi, care să suporte mai multe platforme de instrumente. Aceasta a inclus:

  • mai multe platforme de instrumente: Windows, Solaris, QNX Neutrino RTOS (dezvoltare self-hosted);
  • mai multe arhitecturi tinta: ARM, MIPS, PowerPC, SH-4, x86;
  • limbaje de programare C, C++, Java.

De atunci, IDE-ul a continuat să crească pentru a include suport pentru platforma Linux și suport pentru arhitecturi suplimentare de procesoare, inclusiv procesoare XScale.

Proiectul a fost lansat în stilul „programarii extreme”. O echipă de 12 cei mai buni ingineri a fost selectată din companie. Li s-a oferit o cameră specială, au fost izolați de toate distragerile, proiectul le-a fost dat în totalitate.

Echipa a primit autoritatea de decizie necesară și a primit un program de lucru strâns, cu risc ridicat pentru a lansa versiunea beta a produsului în 16 săptămâni, iar versiunea comercială până la 4 iulie 2002. Grupul a îndeplinit toate termenele-țintă. și a lansat un nou produs - numit QNX Momentics® IDE - la timp, demonstrând potențialul software-ului open source de a reduce timpul de lansare pe piață.

De la idee la livrarea produsului - mai puțin de 7 luni

Bazându-se pe platforma Eclipse, echipa QNX a finalizat un IDE foarte puternic și cuprinzător pentru dezvoltarea de software încorporat în șase luni. IDE-ul a susținut dezvoltarea multiplatformă pentru mai multe platforme de instrumente și mai multe limbaje de programare și a susținut, de asemenea, cele mai populare plăci de procesor pentru dispozitivele țintă încorporate. Folosind platforma Eclipse, QNX a reușit să:

  • utilizați compilatoare GNU și instrumente de linie de comandă pentru dezvoltare încrucișată;
  • oferi suport pentru plug-in-uri de la terți, cum ar fi IBM WebSphere pentru aplicații Java încorporate și Rational ClearCase pentru dezvoltare bazată pe model;
  • creați instrumente suplimentare pentru construirea sistemelor, gestionarea dispozitivelor țintă, analizarea memoriei, crearea de sisteme și aplicații de profilare etc.

În fig. Figura 1 oferă un exemplu despre modul în care utilizarea platformei Eclipse reduce costul creării unui IDE, ceea ce permite companiilor să-și concentreze atenția asupra nivelurilor superioare de dezvoltare, unde sunt create inovațiile reale. De exemplu, folosind platforma Eclipse, QNX a reușit să creeze cu ușurință mai multe instrumente inovatoare de vizualizare care pot pătrunde adânc într-un sistem încorporat și pot arăta comportamentul acestuia.

Dați înapoi comunității

Puterea unui proiect open source de succes constă în colaborarea comunității de dezvoltatori și îmbunătățirea constantă a bazei de cod. Dacă o companie adoptă și folosește bine codul open source, atunci pur și simplu are obligația de a contribui la comunitate. În acest scop, QNX a preluat conducerea proiectului Eclipse CDT în iunie 2002.

Scopul proiectului Eclipse CDT (C/C++ Development Tools) este de a crea un set comun de instrumente de limbaj C/C++ interoperabile pentru platforma Eclipse. Eclipse CDT a fost poziționat ca un proiect open source, cu drepturi de management de la Eclipse Corporation. Pentru a lansa proiectul CDT, QNX și-a donat resursele de dezvoltare și codul sursă proiectului QNX Momentics IDE. Rational și Red Hat, în calitate de membri ai comunității, au oferit de asemenea un sprijin semnificativ pentru proiect.

Orez. 1. Prin utilizarea platformei Eclipse, furnizorii de instrumente își pot concentra atenția asupra nivelului superior al stivei de lucru, unde este creată inovația reală.

QNX continuă să mențină proiectul CDT, care a crescut de la 80.000 de linii de cod modeste la peste 700.000 de linii de cod în prezent. La începutul lui 2006, jurnalul de progres pentru proiectul Eclipse CDT estima că contribuția QNX este de 52%. Urmează IBM cu o contribuție de 36%. Proiectul CDT este al doilea cel mai popular proiect al corporației Eclipse, după platforma Eclipse în sine.

Vă permiteți să „donați” codul?

Poate părea că „donarea” codului dumneavoastră înseamnă acționarea contrar bunului simț. Cu toate acestea, dacă funcționalitatea produsului dvs. se dovedește utilă, atunci de ce să nu contribuiți la comunitatea open source. Făcând acest pas, puteți beneficia de această ofertă de implementare „standard” împreună cu utilizarea expertizei de asistență pentru produse. Veți putea beneficia de munca întregii comunități care vizează îmbunătățirea bazei de cod. Această strategie vă poate elibera propriile resurse pentru a efectua cercetări suplimentare axate pe dezvoltări inovatoare pentru a adăuga funcționalități suplimentare produselor dumneavoastră.

Mai mult, ai putea obține un anumit control asupra direcției platformei „standard” - câștigat, desigur, prin serviciile tale pentru comunitate! Dacă mențineți un proiect, comportați-vă ca un bun cetățean al comunității, respectați opiniile altora și apreciați contribuția și sfaturile altor membri. Să nu credeți că cineva va încerca să vă „strângă buzunarele” ca urmare a utilizării codului și să vă preia conducerea asupra direcției de dezvoltare a platformei.

De exemplu, strategia QNX Software Systems este de a profita de participarea sa la Eclipse în timp ce dezvoltă noi funcționalități prin puncte de extensie standardizate deja disponibile în platformele Eclipse și CDT. În acest scop, QNX intenționează să rămână un membru activ al comunității Eclipse, beneficiind de baza de cod existentă și de munca terță parte (plug-in-uri) pentru a ajuta la satisfacerea nevoilor reale ale clienților prin crearea propriilor extensii proprietare. Strategia descrisă este ilustrată în Fig. 2.

Orez. 2. Puteți contribui la munca comunității prin munca dvs.

Rezumatul Beneficiilor

Platforma de instrumente bazată pe Eclipse este un câștig de câștig atât pentru dezvoltatorii de aplicații, cum ar fi QNX, cât și pentru clienții care achiziționează instrumente de platformă.

Beneficiul pentru dezvoltatori este reducerea timpului pentru a-și aduce produsele pe piață și capacitatea de a beneficia de cercetările altor persoane (la costuri reduse). Aceste rezultate pot include cod de înaltă calitate clasificat ca „IP curat” de la firme de renume precum IBM și QNX. Un alt avantaj pentru dezvoltator este că primește o schemă de licențiere simplă și clară, inclusiv drepturi comerciale și o anumită protecție prin brevet. Mai mult, dezvoltatorul are posibilitatea de a lucra pe mai multe platforme OS suportate în Eclipse și are, de asemenea, la dispoziție puncte de extensie bine definite în proiectul Eclipse.

Clienții care achiziționează un IDE bazat pe Eclipse beneficiază de o platformă de instrumente concepută pentru dezvoltarea aplicațiilor încorporate, cu suport puternic de compilare încrucișată, depanare ușoară și extensii pentru gestionarea sistemelor țintă. Echipa de dezvoltare a clientului va aprecia numeroasele caracteristici care ușurează munca, timpul scurt de instruire necesar, performanța bună a produsului și o platformă robustă care poate gestiona proiecte mari. Clienții pot beneficia și de utilizarea platformei Eclipse în propriile aplicații (ex. RCP, eRCP etc.).

Viitorul Eclipse Corporation

Eclipse Corporation este o comunitate activă și vibrantă. Introduce continuu noi proiecte, pune la dispoziția companiilor consacrate și inovatoare noi arhitecturi și chiar și companiile mici pot beneficia comercial de pe platforma Eclipse prin crearea de noi plug-in-uri care extind funcționalitățile existente (vezi Figura 3).

Orez. 3. Eclipse Corporation este o comunitate vibrantă și în creștere rapidă de dezvoltatori de plug-in-uri.

Comparația licențelor open source

Nu toate licențele software open source sunt egale. QNX a făcut o mișcare inteligentă utilizând licența publică Eclipse. Această alegere a fost condusă parțial de nevoile clienților săi încorporați și parțial de dorința de a controla (și de a beneficia de) tehnologia care diferențiază produsele sale.

Inițiativa nonprofit Open Source () a propus o definiție utilă în 10 puncte a sursei deschise. În prezent, pe site sunt disponibile peste 50 de licențe aprobate OSI, inclusiv Licența Publică Eclipse. Aceste licențe pot conține diferențe semnificative de care ar trebui să știți. Aceste diferențe pot avea un impact semnificativ asupra proprietății intelectuale (IP) a dezvoltatorilor și asupra capacității acestora de a o proteja. Acest lucru este cel mai relevant atunci când utilizați cod sursă deschisă (sau derivate open source) în dispozitive încorporate.

Licență defensivă și non-defensivă

În conformitate cu termenii unei licențe de protecție, cum ar fi GPL v2, lucrările derivate pot fi distribuite numai împreună cu codul sursă corespunzător. Licența de securitate garantează că atunci când codul sursă este făcut open source, acesta va rămâne open source în toate generațiile și lucrările derivate ulterioare. După cum vom explica mai târziu, această cerință duce la anumite probleme în cazul sistemelor încorporate.

Exemple de licențe non-defensive sunt licențele originale MIT și BSD. Licențele non-defensive păstrează drepturile de autor ale proprietarului, dar oferă drepturi largi utilizatorului, inclusiv dreptul de a modifica și distribuirea gratuită (sau utilizarea personală) fără restricții a software-ului.

Ce se înțelege prin „licență de virus”

Unii oameni numesc GPL o „licență de virus”. Această denumire a apărut din cauza incertitudinii definiției legale a conceptului de „dezvoltare derivată”. O interpretare strictă a definiției înseamnă că, dacă chiar și o mică bucată de cod cu licență GPL este încorporată într-o aplicație proprietară, atunci întreaga aplicație trebuie să fie licențiată ca GPL. Imediat îmi vine în minte analogia cu un virus.

Întrebări despre primirea despăgubirilor

Recent, IP Indemnification (IP Indemnification) a devenit un subiect major de discuție pentru dezvoltatori. Ca răspuns, unii furnizori de surse deschise au anunțat că vor proteja clienții de procese legate de încălcarea brevetelor sau a drepturilor de autor. Și cele mai noi licențe open source prevăd penalități pentru utilizatorii care încearcă să-și afirme drepturile de brevet împotriva altor utilizatori ai bazei de cod.

Principalele probleme întâmpinate la comercializarea software-ului open source

Comparație între aplicațiile încorporate și IT

Succesul industriei open source a fost alimentat de adoptarea Linux de către organizațiile IT. Beneficiile utilizării Linux au venit din rularea pe hardware relativ omogen și stabil (de obicei familia x86) și din utilizarea unei platforme de calcul flexibile, bogate în resurse.

Cu software-ul încorporat, lucrurile stau complet diferit. Acest software rulează pe un număr mare de dispozitive cu un set fix de funcții, folosind în același timp o gamă largă de hardware cu arhitecturi diferite. Dezvoltatorii de dispozitive încorporate își bazează adesea avantajul competitiv pe un set specific de caracteristici, dimensiune, performanță, cost, durata de viață a bateriei, fiabilitate, interoperabilitate și extindere. Aceste caracteristici distinctive sunt implementate în mod obișnuit în software-ul de nivel scăzut, care în cazul Linux necesită conectarea directă la nucleul sistemului de operare. Personalizarea software-ului de nivel scăzut pentru a se potrivi nevoilor clienților este norma, nu excepția, astfel încât dezvoltatorii obțin adesea funcționalitatea de care au nevoie prin schimbarea nucleului sistemului de operare. Metoda legării directe prin încorporare în fragmente de cod este, de asemenea, utilizată pentru a reduce costul creării bibliotecilor. Aceste practici, luate împreună, fac foarte dificilă protejarea codului proprietar sub licențe precum GPL.

De obicei, aceste probleme de licențiere nu afectează aplicațiile IT, deoarece software-ul proprietar, specific întreprinderii, nu se extinde dincolo de întreprindere, fiind utilizat numai pentru nevoi interne. În cazul dispozitivelor încorporate, software-ul derivat este întotdeauna distribuit prin intermediul acestora, sub rezerva clauzei „force open” a licențelor open source, care poate pune în pericol principalele aspecte ale ofertelor open source valoroase.

În plus, produsele încorporate au adesea durate de viață lungi, atât în ​​timpul producției, cât și în timpul utilizării. Un produs încorporat care este supus termenilor open source este supus unor riscuri mai mari, inclusiv lipsa suportului tehnic pe termen lung, potențiale probleme de securitate și încălcări ale IP.

Probleme de licențiere

Statut juridic incert

În ciuda cuvintelor liniștitoare ale susținătorilor unor licențe open source, multe dintre problemele cheie despre care dezvoltatorii de sisteme încorporate își exprimă îngrijorarea nu au fost încă testate pe scară largă în jurisprudență. După cum sa menționat, definiția „lucrării derivate” este cheia pentru asigurarea conformității cu anumite clauze de licență, deși multe persoane și organizații care acceptă termenii open source înțeleg puțin conceptul sau îl ignoră în mod intenționat.

Unele soluții care permit vânzătorilor de produse comerciale să introducă drivere „proprietate” în Linux (cum ar fi Loadable Kernel Modules) se bazează mai mult pe argumente „a spus el, a spus ea” decât pe referirea directă la textul acordului de licență. De fapt, astfel de șoferi care folosesc module LKM sunt plini de ocolirea periculoasă a cerințelor de licență GPL. Pentru a duce la extrem, s-ar putea interpreta problema ca spunând că baza de cod Linux poate fi prezentată ca inutilă pentru majoritatea aplicațiilor practice, cu excepția cazului în care include unele dintre aceste drivere proprietare. Această situație poate devaloriza destul de eficient ideea licenței GPL.

Nicio compensație pentru încălcarea IP

În majoritatea cazurilor de utilizare open source, există o posibilitate reală ca să încălcați din neatenție drepturile de brevet ale altcuiva. Puține licențe open source fac referire explicită la brevete, iar licențele implicite nu pot fi adjudecate. Trebuie să licenți separat orice brevete care acoperă, de exemplu, codecuri open source care implementează algoritmi MP3 sau alte soluții proprietare. Între timp, „băieții răi” (inclusiv Microsoft) sunt preocupați să creeze un portofoliu de brevete care, potrivit multor experți, pot fi folosite pentru a „trage” în susținătorii open source.

Unele licențe conțin trimiteri explicite la brevete. De exemplu, Eclipse Public License menționează în mod explicit drepturile de brevet și conține o clauză despre penalități în cazul în care cineva încearcă să-și afirme drepturile de brevet într-un mod diferit. De asemenea, Eclipse depune mult efort în revizuirea codului și în determinarea sursei acestuia din perspectiva licenței, brevetului sau dreptului de autor.

Efort suplimentar pentru păstrarea IP

Pentru a utiliza codul open source, o companie trebuie să depună un efort semnificativ în următoarele domenii:

  • managementul distribuției produselor;
  • managementul licentei;
  • soluționarea conflictelor juridice privind obligațiile clienților;
  • Acordarea atenției cuvenite problemelor legale: menținerea purității drepturilor IP, verificarea drepturilor IP pentru codul sursă deschisă, identificarea sursei de origine a codului, urmărirea modificărilor versiunilor de licență, cum ar fi GPL v3 etc.

Acceptarea cerințelor clienților

Unii clienți mari, confruntați cu complexitatea și incertitudinea software-ului open source, au refuzat să se ocupe de produse care includ cod open source. Dacă doriți să lucrați cu astfel de clienți, trebuie să obțineți sau să oferiți ca aceștia să includă termeni comerciali de licență pentru codul dvs.

Probleme IP

Termenii licenței dumneavoastră open source acoperă proprietatea intelectuală care face produsul dvs. diferit? Dacă da, IP-ul tău este în pericol.

Dacă sistemele dumneavoastră încorporate utilizează un amestec de software propriu și software open source, trebuie să înțelegeți natura, originile și relațiile tuturor componentelor software-ului încorporat. Fără această înțelegere profundă a subiectului, puteți încălca din neatenție IP-ul altcuiva sau chiar puteți pierde drepturile asupra propriului software.

Fără licențiere de brevet și compensare, software-ul cu durată lungă de viață al sistemelor încorporate, prețul de vânzare relativ ridicat și volumul vânzărilor de dispozitive încorporate cu caracteristici fixe le fac să fie o țintă evidentă pentru pretențiile de încălcare a brevetelor de către băieții răi și concurenții majori menționați anterior.

După cum demonstrează QNX Momentics IDE, există multe beneficii imediate pentru software-ul open source, inclusiv timpul redus de lansare pe piață, costuri mai mici de dezvoltare și o libertate mai mare de a adăuga funcționalități și inovații suplimentare produsului dumneavoastră. Dacă oferiți software-ul dvs. ca un serviciu care rezolvă o problemă client, atunci clientului nu-i pasă dacă ați folosit software open source sau nu, el plătește doar pentru funcția de care are nevoie.

Cu toate acestea, ar trebui să înțelegeți diferențele dintre diferitele licențe open source și să alegeți pe cea care se potrivește aplicației dvs. și nevoilor clientului. Mai mult, fiți pregătit să îndepliniți obligațiile de licențiere ale software-ului pe care îl alegeți. Ar trebui să fiți conștient de alte cerințe IP (cum ar fi drepturile de brevet) asociate codului software. Fiți atenți la o bază de cod care nu afișează un mesaj despre consecințele încălcării IP. În schimb, căutați proiecte care oferă despăgubiri pentru posibile daune și în care pe ecran este afișat un mesaj despre donațiile bănești pentru dezvoltarea codului pentru a compensa costurile asociate cu încălcarea drepturilor de autor sau a brevetului și așa mai departe. De asemenea, asigurați-vă că software-ul open source pe care îl utilizați este în concordanță cu politicile dvs. de proprietate intelectuală și evitați licențele de protecție care v-ar putea obliga să dezvăluiți părți distinctive ale codului dvs. Dacă produsul dvs. este încorporat în sistem, luați în considerare și să oferiți termeni de licență comerciale pentru IP-ul dvs.

Utilizarea codului open source în dispozitivele încorporate duce la probleme mai complexe decât în ​​cazul utilizării unui astfel de software în aplicațiile IT, întrucât prima opțiune este mai periculoasă. Înainte de a vă decide să utilizați orice software open source, luați în considerare costul real de proprietate (TTCO) și adecvarea acestuia pentru proiectul dvs.

În cele din urmă, alăturați-vă comunității open source de utilizatori și dezvoltatori pentru a profita la maximum de ea!

Software-ul cu sursă deschisă este o metodă de dezvoltare software în care codul sursă al programelor create este deschis, adică disponibil public pentru vizualizare și modificare. Acest lucru permite oricui să folosească codul deja creat pentru propriile nevoi și, eventual, să ajute la dezvoltarea unui program open source.

O licență „deschisă” nu necesită ca software-ul să fie furnizat gratuit în orice moment. Dar multe dintre cele mai de succes proiecte de software open source sunt încă gratuite.

Majoritate covârșitoare deschis programe este simultan gratuit(GNU GPL) și invers, deoarece definițiile de software deschis și liber sunt similare, iar majoritatea licențelor respectă ambele.

Diferențăîntre mișcări sursa deschisaȘi software gratuit se află în principal în priorităţi. Susținătorii software-ului open source subliniază eficiența codurilor open source programele ca metodă de dezvoltare. Susținătorii software-ului liber se bazează pe considerații ideologice și cred că este drepturi distribuirea, modificarea și studiul programelor sunt principalul avantaj software gratuit.

Sistemul de operare Microsoft Windows

Orez. 39. Sigla OC Windows.

MS Windows (pronunțat Vindouz) este o familie de sisteme de operare de la Microsoft (Microsoft). Șeful Microsoft Corporation - Bill Gates.

Din 1995, Windows este cel mai popular sistem de operare de pe piața computerelor personale - standardul de facto. Până în 2005, Microsoft Windows a fost instalat pe mai mult de 89% din computerele personale.

Cu toate acestea, mulți utilizatori au ales sistemul de operare Windows pentru că nu sunt deloc familiarizați cu alternative precum MacOS, Linux, BSD. În Rusia, până la începutul anilor 2000, aproape toate computerele personale erau vândute cu sistemul de operare Windows preinstalat. Lupta împotriva răspândirii versiunilor piratate ale produselor software a dus la apariția interesului pentru alte sisteme de operare. De exemplu, a devenit posibil să achiziționați un computer personal cu preinstalat sistem de operare Linux gratuit.

Cronologia versiunii Windows


Windows 1.0 (1985)

1. Windows 2.0 (1987)

2. Windows/386 (1987)

3. Windows 3.0 (1990)

4. Windows 3.1 (1992)

5. Windows NT 3.1 (1993)

6. Windows NT 3.5 (1994)

7. Windows 95 (1995)

8. Windows NT 4.0 (1996)

9. Windows 98 (1998)

10. Windows 2000 (2000)

11. Windows Me (2000)

12. Windows XP (2001)

13. Windows 2003 (2003)

14. Windows Vista (2007)

15. Windows titlu de lucru Viena (2010)


Produse software integrate și aplicații software

Sistemul de operare Microsoft Windows include aplicații standard precum browser Internet Explorer, Client de e-mail Outlook Express, Windows Media Player.

Au existat multe controverse și dezbateri în legătură cu includerea unor astfel de produse standard în sistemul de operare Windows, deoarece reprezintă o barieră serioasă în calea adoptării produselor concurente.

Orez. 40. Sigla pachetului MS Office.

Pentru MS Windows există o modalitate foarte convenabilă și stăpânită de majoritatea utilizatorilor Pachetul aplicației Microsoft Office, inclusiv:

Procesor de cuvinte MS Word,

Procesor de masă MS Excel,

Organizator MS Outlook,

Aplicație pentru pregătirea prezentărilor MS PowerPoint,

Aplicație de gestionare a bazelor de date MS Access.

Nu uitați că atât sistemul de operare Windows, cât și marea majoritate a aplicațiilor populare pentru Windows au o licență de drepturi de autor, de exemplu. sunt proprietate DE. În consecință, fiecare copie a unui astfel de program trebuie achiziționată pentru bani. De exemplu, la sfârșitul anului 2006, prețul pentru Windows XP Home Edition Russian BOX (SP2) era de 185 USD, Office 2003 Russian CD era de 322 USD.

Folosind software fără licență (piratat) protejat de o licență de drept de autor, încălcați legile privind drepturile de autor.

OS GNU/Linux

Orez. 41. Logo-ul GNU/Linux OS – Tux pinguin.

Sistemul de operare GNU/Linux (pronunțat „gnu Linux”) este un sistem de operare gratuit asemănător UNIX. De obicei, din motive istorice și pentru concizie, acest sistem se numește pur și simplu „Linux”. Aceasta este cea mai puternică alternativă la MS Windows, populară ca server și câștigând rapid popularitate ca sistem de operare desktop în ultimii ani, datorită controlului sporit asupra conformității cu utilizarea licențiată a sistemului de operare Windows de către Microsoft în versiunile XP și Vista.

Sistemul de operare GNU/Linux include adesea și programe care completează acest sistem de operare și programe de aplicație care îl fac un mediu de operare multifuncțional cu drepturi depline.

Spre deosebire de majoritatea altor sisteme de operare, GNU/Linux nu are un singur pachet „oficial”. În schimb, GNU/Linux vine într-un număr mare de așa-numite distribuţiile, în care programele GNU sunt combinate cu nucleul Linux și alte programe. Cele mai comune distribuții din lume:

american palarie rosieși moștenitorul lui Fedora Core;

limba germana SuSE;

limba franceza Mandriva(fost Mandrake);

Distribuție internațională non-națională Debian GNU/Linux;

Una dintre cele mai vechi distribuții Slackware;

O distribuție relativ tânără și în dezvoltare activă Gentoo;

Distribuție tânără, dar promițătoare Ubuntu Linux.

Creatorul nucleului Linux - Linus Torvalds. GNU/Linux nu are un centru de dezvoltare geografică. Nu există nicio organizație care să dețină acest sistem; Nu există nici măcar un singur centru de coordonare. Programele pentru GNU/Linux sunt rezultatul muncii a mii de proiecte. Unele dintre aceste proiecte sunt centralizate, altele sunt concentrate în companii, dar majoritatea reunesc programatori din toată lumea care se cunosc doar prin corespondență. Oricine își poate crea propriul proiect sau se poate alătura unuia existent și, dacă reușește, rezultatele muncii vor deveni cunoscute de milioane de utilizatori. Utilizatorii participă la testarea software-ului gratuit și comunică direct cu dezvoltatorii, ceea ce le permite să găsească și să repare rapid erorile și să implementeze noi funcții.

Linux a ocupat deja aproximativ 30% din piața australiană a sistemelor de operare pentru servere. Australienii au fost urmați de brazilieni. Guvernul brazilian a decis să nu mai cheltuie bani pe software și să treacă de la produsele Microsoft la sisteme open source, în special sistemul de operare Linux. Motivul principal al schimbărilor este economic. În țara noastră, piața Linux este încă mică.

Sistemul de fișiere

Toate informațiile de pe computer sunt stocate în fișiere cu care funcționează sistemul de operare.

Fişier(dosar) - aceasta este o secvență numită de octeți, un loc de stocare permanentă a diverselor tipuri de informații.

Fișierele sunt organizate în cataloage, numite și directoare sau foldere. Catalog este un fișier care stochează informații despre alte fișiere: nume, dimensiune, data creării, adresa fișierului pe disc.

Orice director poate conține orice număr subdirectoare, fiecare dintre ele poate stoca fișiere și alte directoare.

Fiecare disc are un master sau directorul rădăcină, care conține toate celelalte directoare, numite subdirectoare, și unele fișiere. Astfel, este creat structura ierarhica. Directorul cu care lucrează utilizatorul este apelat actual.

Fișierele și directoarele sunt cele mai importante obiecte din sistemul de fișiere. Sistemul de fișiere- reglementări care determină modalitatea de organizare, stocare și denumire a datelor pe suporturi. Acesta definește formatul fizic de stocare pentru fișiere. Un anumit sistem de fișiere determină dimensiunea numelui fișierului, dimensiunea maximă posibilă a fișierului și un set de atribute de fișier.

Se numește modul în care datele sunt organizate în octeți tipul fisierului. Pentru a citi un fișier, cum ar fi o foaie de calcul, trebuie să știți cum reprezintă octeții numerele (formule, text) din fiecare celulă; Pentru a citi un fișier de editor de text, trebuie să știți ce octeți reprezintă caractere, ce fonturi sau câmpuri și alte informații.

Toate fișierele pot fi împărțite în două părți - textȘi binar.

Fișiere text- cel mai comun tip de date din lumea computerelor. Un octet este cel mai adesea alocat pentru a stoca fiecare caracter, iar fișierele text sunt codificate folosind tabele speciale de codare.

Dar fișierele text pur devin din ce în ce mai rare. Oamenii doresc ca documentele să conțină imagini și diagrame și să folosească o varietate de fonturi. Ca rezultat, apar formate care sunt diverse combinații de text, grafică și alte forme de date.

Fișiere binare, spre deosebire de cele text, nu sunt atât de ușor de vizualizat și, de regulă, nu conțin cuvinte familiare nouă - doar o mulțime de simboluri de neînțeles. Aceste fișiere nu sunt destinate să fie citite direct de oameni. Exemple de fișiere binare sunt programele executabile și fișierele grafice.

Fiecare fișier de pe disc are o denumire ( Numele complet), care constă din 2 părți: NumeȘi extensii, separate printr-un punct.

Extensie de nume de fișier- o secvență opțională de caractere adăugată la numele fișierului și menită să identifice tipul (formatul) fișierului. Acesta este unul dintre modurile comune în care un utilizator sau un software de calculator poate determina tipul de date stocate într-un fișier.

În sistemele de operare timpurii, lungimea extensiei a fost limitată la trei caractere în sistemele de operare moderne, această limitare nu este prezentă.

Sistemul de operare sau managerul de fișiere poate crea mapări între extensiile de fișiere și aplicații.

Când un utilizator deschide un fișier cu o extensie înregistrată, programul corespunzător acestei extensii este lansat automat. Unele extensii indică faptul că fișierul în sine este un program. Adesea, extensia de fișier este afișată utilizatorului printr-o pictogramă.

Șoferii

O varietate de dispozitive pot fi interfațate cu un computer: placă video, placă de sunet, imprimantă, scaner, dispozitive de indicare, unități de disc, camere digitale, telefoane mobile... Fiecare dintre ele are propriul set de comenzi - propriul „limbaj” . Pentru ca un anumit sistem de operare să controleze un anumit dispozitiv, aceștia recurg la ajutorul unor programe „de traducere” care cunosc, pe de o parte, limbajul de comandă al unui anumit dispozitiv, iar pe de altă parte, limbajul specificului de operare. sistem sub care ar trebui să funcționeze acest dispozitiv.

Acest program este numit conducător auto(șofer) și este furnizat împreună cu dispozitivul de către producătorul acestuia. Producătorii de hardware, de regulă, postează și drivere pentru dispozitivele pe care le creează pe site-urile lor web.