Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 8
  • Tipi di licenze per il diritto di utilizzare software open source. Software gratuito e open source

Tipi di licenze per il diritto di utilizzare software open source. Software gratuito e open source

Il software open source ha i suoi ammiratori e recentemente, quando si parla di sviluppo di alcuni prodotti “nazionali”, si intende principalmente open source. Paradossalmente l'interesse per questo tipo di software ha dato origine a molte distorsioni e malintesi, che di fatto ne impediscono la diffusione.

La nostra azienda è coinvolta in progetti open source dal 2005, sia attraverso lo sviluppo delle nostre soluzioni open source (progetti OpenVZ, CRIU), sia partecipando ad altri progetti open (QEMU, OpenStack, libvirt, libcontainer, ecc.). Nel corso di 10 anni abbiamo raccolto alcuni dei miti più comuni sul software open source. Ti parlerò di ciascuno dei malintesi e spiegherò perché sono sbagliati. Sicuramente ricorderete lo stesso numero, ma secondo me questi cinque sono i più “infernali”.


Un progetto open source è un progetto open source.

Qualsiasi progetto software è costituito da molti artefatti: codice sorgente del progetto, informazioni sui difetti non corretti, codice sorgente di test, documentazione. Il codice sorgente di un progetto è solo una parte di esso, il cui accesso gratuito non dà il diritto di rendere aperto l'intero progetto. Oltre al codice sorgente, altri artefatti di sviluppo dovrebbero essere liberamente accessibili e più artefatti sono aperti, più aperto sarà il progetto ai contributori (persone che vogliono contribuire al progetto). Inoltre sono necessari processi trasparenti tra tutti i membri della comunità, comunicazioni aperte nel progetto, ecc. Tutte queste misure contribuiranno solo allo sviluppo del progetto e alla fruttuosa cooperazione tra i membri della comunità.

La qualità del software open source è peggiore perché chiunque può scriverne il codice

Il principio fondamentale del software open source - lo sviluppo collaborativo aperto - di per sé è una garanzia che codice, stampelle e patch di bassa qualità semplicemente non possono essere nascosti agli altri partecipanti. Una persona che partecipa a questo tipo di progetto è pronta a sottoporre il suo lavoro sia ad analisi che a critiche e, quindi, non taglierà gli angoli. È in gioco la sua reputazione e nessuno vuole perderla.

Inoltre, in alcune comunità (ad esempio, la comunità attorno allo sviluppo del kernel Linux) esiste un principio rigoroso: solo il codice migliore, testato e ideale viene accettato nel kernel sorgente. Un tentativo di aggiungere modifiche di bassa qualità verrà rifiutato; un secondo tentativo è irto di perdita di reputazione per la persona o l'azienda che ha contribuito.

Cioè, un progetto aperto offre davvero a chiunque l'opportunità di prendere parte alla scrittura del codice, ma nei progetti seri, a causa dell'elevata soglia di ingresso, il codice non sarà accettato da persone con un livello di competenza insufficiente.
La maggior parte delle grandi aziende IT (IBM, Google, Canonical, Parallels, ecc.) hanno interi dipartimenti in cui gli specialisti vengono pagati per lavorare su progetti open source e quindi lavorare indirettamente sui prodotti dell'azienda.

Vale anche la pena ricordare che le aziende che sviluppano prodotti basati su progetti open source sono interessate a migliorare il codice dei progetti open source che utilizzano durante i test. Pertanto, tutti i problemi rilevati devono essere corretti e assicurarsi che questa correzione venga aggiunta al ramo principale del progetto in modo da avere meno differenze possibili nel codice e nel codice del progetto aperto. I nostri prodotti utilizzano codice di altri progetti open source, quindi risolviamo i problemi riscontrati nel codice di questi progetti e li inviamo a monte. Questo è stato il caso delle vulnerabilità nel kernel RHEL: Red Hat ha segnalato Vladimir Davydov per aver scoperto le gravi vulnerabilità CVE-2014-0203 e CVE-2014-4483 in uno degli aggiornamenti del kernel RHEL6 (il secondo problema, tra l'altro, è stato riscontrato utilizzando uno dei nostri test automatizzati, utilizzando Linux Test Project). Vasily Averin ha ricevuto i ringraziamenti per aver scoperto l'errore CVE-2014-5045, Dmitry Monakhov - per CVE-2012-4508. Il fatto del buon test del kernel Linux è stato notato anche da Andrew Morton (chi è questo?): “Sono interessato. Negli ultimi mesi, le persone di @openvz.org hanno trovato (e corretto) un mucchio di bug incomprensibili, ma seri e piuttosto antichi. Come hai scoperto questi bug?"

Linea di fondo

In effetti, tutti i miti sopra elencati nascono soprattutto tra gli utenti che hanno appena iniziato a lavorare con il software OpenSource o che non lo hanno mai provato. Il modo migliore per sbarazzarsi dei pregiudizi è iniziare a lavorare a stretto contatto con tali decisioni.
Abbiamo recentemente rilasciato una nuova versione del nostro prodotto Virtuozzo 7. Se anche tu sei interessato a creare la migliore tecnologia di virtualizzazione dei container, allora

L'emergere di programmi di questa classe è associato all'idea di creare software libero da restrizioni di circolazione. Nel 1998, su suggerimento degli sviluppatori americani Bruce Perens ed Eric Raymond, è stata creata l'organizzazione Open Source Initiative.

(Iniziativa Open Source, OSI). Questo movimento ha sviluppato e pubblicato la "Definizione del software Open Source".

Una licenza software open source fornisce i seguenti diritti:

  • 1) accesso al codice sorgente;
  • 2) modificare il programma del computer;
  • 3) distribuire il programma modificato alle stesse condizioni alle quali questo software è stato ricevuto dal licenziatario;
  • 4) il licenziatario ad utilizzare il programma per computer per lo scopo previsto;
  • 5) per l'ulteriore distribuzione da parte dell'utente del programma senza pagare royalties e commissioni.

Come diritti aggiuntivi, le licenze del software open source possono includere:

  • 1) una descrizione delle modifiche apportate da ciascuno dei licenziatari;
  • 2) rifiuto di fornire garanzie,
  • 3) esclusione di responsabilità per perdite;
  • 4) regolamentazione delle questioni brevettuali;
  • 5) disposizioni riguardanti la compatibilità di questa licenza con altre licenze;
  • 6) regolamentazione del diritto d'autore sul testo di una licenza aperta;
  • 7) l'indicazione delle modifiche apportate al codice open source risultante;
  • 8) disposizioni in materia di legge applicabile e foro competente.

Tuttavia, ciò non significa che la licenza per un programma open source sia necessariamente fornita gratuitamente; potrebbero esserci opzioni per la fornitura a pagamento (ad esempio, supporto di servizio a pagamento o una licenza commerciale per l'utilizzo di codice gratuito per lo sviluppo di software). Usare un programma open source significa che il codice è aperto, può essere rielaborato e sulla base di tale codice è possibile creare il proprio programma - un "lavoro derivato". Il software che non garantisce agli utenti il ​​diritto di modificare il codice open source è un software proprietario, indipendentemente da qualsiasi altro termine.

Dal gennaio 2012, la Federazione Russa ha introdotto per la prima volta il concetto di programma open source, come software distribuito secondo i termini di una licenza semplice (licenza non esclusiva) o esclusiva che fornisce all'utente l'accesso al codice sorgente del programma.

Diverse licenze software open source comportano diritti e responsabilità diversi. Alcune licenze software open source, quando ridistribuiscono un programma rivisto e modificato, richiedono che l'autore di tali modifiche riveli quali funzionalità o procedure del programma originale sono state modificate o appena create. Tali azioni sono previste per informare gli altri utenti in modo da non danneggiare gli autori del programma originale nel caso in cui il programma derivato risulti di scarsa qualità e non funzionante.

Il concetto di software libero si basa su quattro libertà fondamentali:

  • 1) libertà di riprodurre su computer ed eseguire il programma per qualsiasi scopo;
  • 2) libertà di studiare il funzionamento del programma e adattarlo alle esigenze dell'utente;
  • 3) libertà di replicare e distribuire le copie ricevute del software libero;
  • 4) libertà di migliorare il programma, vale a dire modificarlo e distribuirlo in una forma modificata.

Solo un programma per computer che soddisfa tutti i principi può essere considerato libero. Le libertà includono la libertà di determinare la remunerazione di un siffatto contratto di licenza per l'uso di un programma per computer. Pertanto, si può sostenere che il software libero può essere distribuito a pagamento, pur rispettando la libertà dell'utente di ottenere il codice sorgente dei programmi, modificarli e distribuirli ulteriormente.

Esistono i seguenti tipi di licenze open source:

  • – Licenza pubblica generale (GPL);
  • – Licenza software Apache;
  • – Licenza Berkeley Software Distribution (BSD);
  • – licenze del Massachusetts Institute of Technology (MIT);
  • – Licenza pubblica Mozilla (MPL), ecc.

Il significato generale di GPL, BSD, MIT è quello di espandere i poteri dell'utente del programma e allo stesso tempo assegnargli alcune responsabilità che non sono caratteristiche delle licenze previste dalle leggi della Federazione Russa e di paesi stranieri. Ma ora lo sviluppo di tale software ha iniziato a essere supportato nella Federazione Russa. Inoltre sono stati adottati il ​​concetto di riforma amministrativa nella Federazione Russa e il programma target federale "Russia elettronica".

Elenchiamo le principali caratteristiche del software open source.

1. Distribuzione gratuita

Il contratto di licenza non deve limitare il diritto di vendere o distribuire software che fa parte di un programma software composito che include programmi provenienti da fonti diverse.

2. Fonte

Il programma deve contenere codice sorgente che, come i moduli compilati, possa essere distribuito. Alcune varianti di prodotto sono distribuite senza codice sorgente. In questo caso devono essere disponibili metodi conosciuti per ottenere il codice sorgente a un prezzo ragionevole oppure la possibilità di ottenerlo gratuitamente tramite Internet. Il codice sorgente deve essere in una forma tale che il programmatore possa modificare il programma. Non sono consentiti codice sorgente deliberatamente "oscuro", forme intermedie come l'output del preprocessore o del traduttore.

  • 3. Prodotti secondari. Il contratto di licenza deve dare il diritto di modificare e sviluppare i propri prodotti derivati, di distribuire il software secondo gli stessi termini della licenza del programma originale.
  • 4. Conservazione del codice sorgente dell'autore. Il contratto di licenza può limitare la distribuzione di un prodotto il cui codice sorgente è stato modificato da terzi. L'accordo può consentire la distribuzione di allegati di codice sorgente per modificare il programma durante la creazione. La licenza deve dare il diritto di distribuire il proprio programma creato modificando il codice sorgente. Il contratto di licenza potrebbe richiedere la modifica del nome del software o del numero di versione dei prodotti derivati.
  • 5. Nessuna restrizione su individui o gruppi di utenti. Il contratto di licenza deve essere disponibile per tutti i richiedenti.
  • 6. Non ci sono restrizioni riguardo al campo di applicazione. L'accordo di licenza non dovrebbe limitare l'uso del programma in un'area specifica di attività, come la ricerca commerciale o di altro tipo.
  • 7. Distribuzione delle licenze. I diritti forniti con un programma devono applicarsi a chiunque lo utilizzi. Per questo non è necessaria alcuna licenza aggiuntiva.
  • 8. Il contratto di licenza non deve essere specifico per una parte del prodotto. I diritti ottenuti con il complesso software si applicano ad ogni singolo elemento del complesso. Se un programma viene preso da una distribuzione e utilizzato al di fuori di essa, al programma si applicano i termini del contratto di licenza della distribuzione.
  • 9. Il contratto di licenza non deve contenere restrizioni riguardanti altri software, cioè. software distribuito insieme al software concesso in licenza. La licenza inoltre non dovrebbe contenere requisiti per l'apertura del software non creato ai sensi del presente contratto di licenza.
  • 10. La licenza deve essere neutrale dal punto di vista tecnologico. I termini del contratto di licenza non possono basarsi su singole tecnologie e stili di interfaccia.

Il rispetto delle condizioni di cui sopra al momento della conclusione di un contratto di licenza ci consente di giudicare il programma per computer come software aperto.

Il software open source è simile al software libero, ma con una differenza significativa: nel caso del software libero, i diritti esclusivi sul codice sorgente rimangono di proprietà del detentore del copyright del programma, mentre nel caso del software open source tali diritti sono non vengono mantenuti dal detentore del copyright del programma, ma vengono mantenuti solo i diritti morali, sia dello sviluppatore originale che di tutti gli sviluppatori successivi.

Nel 2006, nella Federazione Russa, in esecuzione dell'ordinanza del Ministero delle Comunicazioni dell'Informazione della Russia del 29 giugno 2006 n. 83 “Sulle attività del Ministero delle Comunicazioni dell'Informazione della Russia per il 2006 per attuare le principali disposizioni della Discorso del Presidente della Federazione Russa all'Assemblea Federale della Federazione Russa”, è stato sviluppato un piano d'azione per promuovere lo sviluppo e l'utilizzo da parte delle autorità pubbliche del software libero (open source). Il piano prevedeva le seguenti attività:

  • 1) sviluppo di requisiti e raccomandazioni per l'uso di standard e specifiche aperte nello sviluppo di programmi informatici per esigenze statali e municipali;
  • 2) valutazione del rapporto costo-efficacia dell'implementazione della norma ISO/IEC 26300:2006 (formato di documento aperto per applicazioni d'ufficio);
  • 3) organizzare la partecipazione dei rappresentanti dell'amministrazione delle comunicazioni della Federazione Russa alle organizzazioni internazionali per la standardizzazione nel campo della tecnologia dell'informazione, nonché facilitare e coordinare la partecipazione dei rappresentanti delle aziende russe alle organizzazioni internazionali per la standardizzazione (se la partecipazione di enti governativi in ​​tali organizzazioni non è previsto);
  • 4) sviluppo e attuazione di una procedura per l'ottenimento (compresa la determinazione dell'ambito e della valutazione) e uno schema per la gestione dei diritti sul software informatico ricevuto dai clienti a seguito dell'esecuzione di lavori per esigenze statali e municipali;
  • 5) migliorare i meccanismi di monitoraggio delle condizioni della concorrenza al fine di controllare la fornitura di condizioni di mercato paritarie agli sviluppatori di vari software;
  • 6) sviluppo di un concetto e di un piano d'azione al fine di migliorare il livello di istruzione e formazione professionale degli utenti nel campo delle tecnologie dell'informazione e della comunicazione;
  • 7) sviluppo di un elenco di tipi (varietà) di programmi per computer gratuiti, la cui fattibilità e validità dell'uso primario è stata dimostrata dalla pratica mondiale e (o) riconosciuta da un numero significativo di partecipanti al mercato, nonché lo sviluppo di altri classificatori per vari scopi, compresi scopi di standardizzazione;
  • 8) sviluppo di un concetto e di un piano d'azione per lo sviluppo nella Federazione Russa, anche per le esigenze statali e municipali, di un modello orientato ai servizi per la distribuzione di programmi informatici.
  • anti corruzione;
  • sicurezza;
  • tutela degli interessi nazionali;
  • cordialità verso i cittadini;
  • facilità di adattamento;
  • beneficio economico.

La qualità di tali programmi per computer è paragonabile a quella dei programmi commerciali. Ciò è dovuto al fatto che questo software viene testato, modificato, migliorato da tutti, quindi il numero di sviluppatori che lavorano per migliorare il programma è pari allo staff degli sviluppatori di software commerciale closed-source (e in alcuni casi supera significativamente il loro numero) .

Un punto positivo è che tale software si è rivelato non solo disponibile al pubblico, ma anche affidabile, e la libertà di creatività per gli autori di tale software è più importante della remunerazione. Naturalmente, i diritti morali contenuti in tali licenze devono essere rispettati, ad es. Per gli autori di licenze software open source distribuite, è particolarmente importante rispettare i diritti morali, come l'apposizione di un marchio di protezione, l'anno della prima pubblicazione e il nome dell'autore o di altro detentore del copyright.

Tutto ciò ci permette di dire che il software open source sta guadagnando grande popolarità, e non solo le aziende leader a livello mondiale, come IBM e Hewlett Packard, ma anche le aziende russe sono tra coloro che utilizzano e sviluppano questi programmi, anche per clienti stranieri.

Il decreto del governo della Federazione Russa del 18 ottobre 2007 n. 1447-r stabilisce il diritto di utilizzare qualsiasi software open source nelle scuole della Federazione Russa. Nel 2009, il Servizio ufficiale giudiziario federale ha riferito sull'introduzione del software open source - Open Office, al fine di attuare la politica statale nel campo dell'uso del software libero. "Nei mesi di aprile-maggio 2009 si sono svolte sessioni di videoconferenza con i capi degli organi territoriali della FSSP della Russia utilizzando software libero.

Al fine di pubblicare informazioni tempestivamente e regolarmente sul sito web ufficiale dell'ufficio centrale della FSSP della Russia, informare sistematicamente i cittadini e le organizzazioni sulle attività della FSSP, il dipartimento di informatica ha svolto lavori di perfezionamento della piattaforma software e del design del sito web, che ha permesso di ampliare notevolmente le funzionalità del sito, aumentare il contenuto informativo e la frequentazione".

Il concetto per lo sviluppo del software libero nella Federazione Russa prevedeva la creazione dei seguenti prodotti entro il 2010:

  • 1) soluzioni di ufficio standard integrate per i dipendenti pubblici statali e per i dipendenti del settore pubblico;
  • 2) soluzioni standard per garantire il funzionamento delle istituzioni educative;
  • 3) software per punti di accesso collettivo a Internet;
  • 4) software per siti Internet di servizi governativi;
  • 5) piattaforma di integrazione per finalità di e-government;
  • 6) soluzioni sicure per strutture critiche;
  • 7) sviluppo di un modello orientato ai servizi per la distribuzione di programmi informatici.

Attualmente molti dei punti indicati sono stati soddisfatti. Pertanto, le specificità del contratto di licenza per l'utilizzo del software open source sono determinate dall'ambito dei diritti esclusivi trasferiti al licenziatario. È importante notare che tali accordi di licenza non pregiudicano in alcun modo i diritti personali non patrimoniali degli autori dei programmi; anzi, li tutelano in misura maggiore. Questi programmi sono più affidabili e sicuri, poiché il codice del programma può essere controllato e, se necessario, riprogrammato, il che, nel quadro dell'attuazione della Dottrina sulla sicurezza dell'informazione della Federazione Russa, nonché della Strategia di sicurezza nazionale della Federazione Russa La Federazione fino al 2020 è un compito fondamentale per garantire la sicurezza nazionale. Nella Strategia di sicurezza nazionale, i mezzi per garantire la sicurezza nazionale comprendono tecnologie, nonché mezzi tecnici, software, linguistici, giuridici e organizzativi, compresi i canali di telecomunicazione utilizzati nel sistema di garanzia della sicurezza nazionale per raccogliere, generare, elaborare, trasmettere o ricevere informazioni sullo stato della sicurezza nazionale e sulle misure per rafforzarla.

L'uso di programmi open source nella Federazione Russa non solo diversificherà i programmi per computer, ma aumenterà anche il numero di sviluppatori, riducendo così il numero dei monopolisti. Inoltre, ciò simboleggia lo sviluppo di fenomeni qualitativamente nuovi nel rapporto tra l'autore di un programma per computer e l'utente di software open source sul territorio della Federazione Russa. Un fattore positivo è il fatto che l'attributo territoriale utilizzato dalla legge per i diritti esclusivi è assente nei programmi open source. Pertanto, l'uso di questa classe di programmi sul territorio della Federazione Russa aiuterà ad eliminare molte violazioni del copyright.

Con l'introduzione dello standard nazionale della Federazione Russa GOST R 54593-201 nel 2012, il software libero è una piattaforma sicura, affidabile ed economicamente interessante per la creazione di sistemi informativi nelle aziende e nel settore pubblico. Il software libero garantisce: l'indipendenza tecnologica dello sviluppo e dell'uso del software dal monopolista; indipendenza nella scelta della piattaforma hardware; basso costo iniziale delle attrezzature; rilevamento tempestivo dei difetti del software e capacità di correggerli rapidamente; nessuna tariffa obbligatoria per il diritto di utilizzare i prodotti.

Il software libero utilizza i principi dei sistemi aperti, che attualmente rappresentano la tendenza principale nello sviluppo della tecnologia dell'informazione, dei sistemi e della tecnologia informatica che supporta queste tecnologie. L'ideologia dei sistemi aperti è implementata nei suoi ultimi sviluppi da tutte le aziende leader: fornitori di apparecchiature informatiche, trasferimento di informazioni, software e sviluppo di sistemi informativi applicati.

Quindi, riveliamo i poteri trasferiti sotto vari tipi di licenze per programmi informatici con software open source.

  • Vedi: Norma nazionale della Federazione Russa GOST R 54593 201 "Tecnologie dell'informazione. Software libero. Disposizioni generali", approvata con ordinanza del Ministero dell'Industria e del Commercio della Federazione Russa e dell'Agenzia federale per la regolamentazione tecnica e la metrologia del 6 dicembre, 2011 n. 718-st.
  • Approvato dal Presidente della Federazione Russa il 9 settembre 2000: vedere sul sito web del Ministero degli Affari Esteri della Federazione Russa mid.ru/ns-osndoc.nsf/d06bd3f5303124fe432569fa003a70ff/4db27 49a4b55f02f432569fb004872a4?OpenDocument.
  • Decreto del Presidente della Federazione Russa del 12 maggio 2009 n. 537 “Sulla strategia di sicurezza nazionale della Federazione Russa fino al 2020”.

Per capire cosa significa per la nostra organizzazione utilizzare software open source/chiuso, dobbiamo capire in cosa differiscono l'uno dall'altro. Questo articolo evidenzia le principali differenze, ma ricorda che questa è una spiegazione molto semplificata. Ulteriori informazioni possono essere raccolte da Wikipedia o leggendo esempi specifici dell'uso di entrambi i tipi di software.

Prima di tutto, il software open source significa che possiamo cambiare e sviluppare il nostro programma purché abbiamo le conoscenze e le competenze per farlo. Al contrario, non è possibile modificare da soli un programma closed source poiché il codice sorgente del programma/applicazione non è disponibile. Anche se non tutti siamo programmatori, possiamo comunque trarre vantaggio dal lavorare con software open source.

Tale software viene fornito gratuitamente agli utenti, non solo programmi, ma anche sistemi operativi. È creato e sviluppato dagli utenti stessi, che pubblicano le loro creazioni su Internet. I programmi più popolari vengono aggiornati regolarmente perché molte persone li utilizzano. Gli esempi includono Mozilla Firefox o Thunderbird. Se il programma non viene aggiornato regolarmente, è possibile che non ci siano abbastanza risorse tecniche necessarie per questo: l'intera questione è quanti utenti ha il programma. L'elevata frequenza degli aggiornamenti è una garanzia definitiva della sicurezza dell'utilizzo del programma. Tuttavia, se dopo aver installato l'aggiornamento si scopre che il programma non funziona (ad esempio, la nuova versione del sistema operativo non supporta Skype), ci sono due modi per risolvere il problema: provare a trovare aiuto nei forum sul Internet o risolvere il problema da soli, il che è relativamente difficile.

Il software closed source è molto più popolare del software open source. Innanzitutto per la facilità d'uso e anche perché ci siamo semplicemente abituati: di norma utilizziamo il sistema operativo Windows a scuola, al lavoro e a casa. Nel caso di programmi e sistemi operativi basati su codice sorgente chiuso siamo di fronte ad un prodotto finito che non necessita di alcun intervento da parte nostra. È molto più conveniente per l'utente medio lavorare con loro. Gli utenti di software closed source spesso sottolineano quanto sia facile da installare e utilizzare, quanto sia conveniente avere una guida chiara per il programma in questione e la possibilità di contattare il supporto tecnico in caso di problemi. Tali sistemi e prodotti vengono rilasciati dalle aziende e solo dopo diverse fasi di test. L'utente acquista semplicemente un intero pacchetto software, pronto per essere installato sul computer. Tale software viene pagato: acquistiamo una licenza e spesso aggiornamenti del programma.

Alcuni sviluppatori di software supportano le organizzazioni della comunità e offrono programmi gratuitamente o con sconti attraverso le rispettive organizzazioni no-profit, come l'ampia rete di partner di TechSoup, i cui membri si trovano in diversi paesi. In Russia, il programma è implementato dalla Greenhouse of Social Technologies (Spiro LLC). Contattando il programma infoDonor potrai scoprire se la tua organizzazione può partecipare al programma. Dovremmo anche ricordare che quando scegliamo un sistema operativo, scegliamo anche il modo in cui lavoriamo nella nostra organizzazione. Ad esempio, se scegliamo Linux, non potremo utilizzare le soluzioni Adobe, mentre se scegliamo Windows, dovremo acquistare le licenze in base al numero di computer. Ogni caso ha i suoi pro e i suoi contro. Dobbiamo considerare attentamente di cosa ha esattamente bisogno la nostra organizzazione, quali sono i criteri per l'uso efficace delle attrezzature e prendere una decisione dopo un'analisi approfondita.

Naturalmente, il software open source o closed source non riguarda solo Microsoft, Mac o Linux. La questione della licenza emerge in relazione a qualsiasi tipo di software utilizzato in un'organizzazione. La regola principale è leggere attentamente tutte le licenze e i contratti di servizio. Esistono molti esempi in cui le organizzazioni hanno riscontrato seri problemi con software reso praticamente inutilizzabile a causa delle condizioni di licenza, o in cui anche le più piccole modifiche a un sito sono risultate molto costose.

Software aperto e gratuito
07.07.2009 12:25

Tra i programmatori ci sono persone disposte a fornire gratuitamente i risultati del proprio lavoro, con la possibilità di modificarli e migliorarli. Riguarda sui produttori il cosiddetto software open source, che da molti anni è oggetto di dibattito nella comunità informatica globale. Alcuni sostengono che il software open source sia il futuro, mentre altri, al contrario, lo considerano pericoloso e non necessario. Ma chi ha ragione alla fine? Difficilmente esiste una risposta definitiva a questa domanda.

Allora, cos’è il software open source? Forse la definizione più comune di questo termine ne rivela le caratteristiche principali. Per software open source si intende tutto il software open source, i prodotti software basati sui quali sono disponibili non solo per la visualizzazione, ma anche per la modifica, che consente di utilizzare codice già creato per scrivere nuove versioni del software, per correzioni di bug e miglioramenti al programma aperto . Vale la pena notare che questa definizione, secondo i sostenitori dell'open source, non riflette pienamente l'essenza stessa del concetto. Dal loro punto di vista, il software aperto rappresenta, oltre al codice sorgente modificabile, anche un'intera filosofia, il cui significato è la creazione di una società dell'informazione attraverso l'uso completo di prodotti software aperti in tutte le sfere dell'attività umana.

Qual è la bellezza del software open source? Secondo i rappresentanti di questo movimento, il software open source consente di:

  1. adattare il prodotto software ai requisiti di uno specifico utente o gruppo di utenti;
  2. eliminare gli errori degli sviluppatori precedenti;
  3. finalizzare e migliorare Software.

Inoltre, il software open source è per lo più gratuito, il che è particolarmente interessante per le piccole e medie imprese che, ad esempio, attualmente non sono in grado di ottenere licenze per prodotti software commerciali. Inoltre, i sostenitori dell'idea del codice open source evidenziano la sua sicurezza come un vantaggio del software open source, ovvero il software open source, a causa della sua scarsa popolarità, non è praticamente suscettibile agli attacchi di virus. E se viene comunque rilevata una minaccia, questa viene eliminata il prima possibile, poiché, di norma, molti professionisti e dilettanti che sono in contatto tra loro hanno accesso al codice sorgente. Di conseguenza, una minaccia alla sicurezza, già rilevata, viene rapidamente eliminata da uno dei membri della comunità o attraverso sforzi congiunti.

Vale la pena notare che, nella visione globale, il software open source include direttamente il software open source, nonché altri tipi di prodotti software che possono essere distribuiti gratuitamente e forniscono il codice sorgente per apportare modifiche. Tale software include freeware e software gratuito.

Quindi, il termine open source (software aperto) è stato utilizzato per la prima volta nel 1998 dai programmatori Eric Steven Raymond e Bruce Perens. Erano sicuri che il termine software libero in inglese fosse ambiguo e in un certo senso potesse persino spaventare gli imprenditori che sono potenziali utenti di tale software. Attualmente, open source è un marchio della Open Source Initiative, un'organizzazione che distribuisce software open source. Inoltre, esiste anche un comitato speciale che decide se la licenza di un particolare programma può essere definita open source.

Vale la pena chiarire qui che anche la maggior parte del software open source è gratuita. Le definizioni di software aperto e libero, sebbene non del tutto identiche, sono vicine in termini generali e la maggior parte delle licenze software sono conformi a entrambe le tipologie.

La differenza tra software open source e software libero è prioritaria. Ad esempio, sottolineano i sostenitori dell'open source per l'efficienza lavorare con il codice open source come metodo per sviluppare, modernizzare e mantenere i programmi. I sostenitori del termine "software libero" ritengono che il vantaggio principale del software open source gratuito sia il diritto di distribuire, modificare e studiare liberamente i programmi, garantendo così la paternità di uno specifico prodotto software.

Il fondatore del concetto di software libero è il programmatore americano Richard Matthew Stallman. Fu lui a formulare per primo il concetto di software libero, che rifletteva i principi dello sviluppo del software aperto nella comunità scientifica emersi nelle università statunitensi negli anni '70. Stallman formulò criteri chiari per il software libero. Questi criteri specificano i diritti che l'autore di un programma gratuito trasferisce a qualsiasi utente. Pertanto, utilizzando il software libero, l'utente riceve le “quattro libertà”: eseguire, studiare, distribuire e migliorare il programma.

  • "Zero Freedom": il programma può essere utilizzato per qualsiasi scopo.
  • "First Freedom": puoi studiare come funziona il programma e adattarlo ai tuoi scopi. Una condizione per ciò è la disponibilità del codice sorgente del programma.
  • "Seconda libertà": puoi distribuire copie del programma per aiutare lo sviluppatore.
  • "Terza Libertà" - il programma può essere migliorato e la sua versione migliorata può essere pubblicata a beneficio dell'intera comunità. Una condizione per questo è anche la disponibilità del codice sorgente del programma.

Un programma che soddisfa tutti questi principi può essere considerato gratuito, cioè garantito aperto e accessibile alla comunità scientifica e semplicemente alle persone e alle organizzazioni interessate. Va sottolineato che questi principi riguardano solo la disponibilità di programmi per uso generale, critica e miglioramento, ma non stabiliscono in alcun modo i relativi con la diffusione i programmi di relazioni monetarie, compresi quelli, non implicano che siano gratuiti.

Il modo in cui funziona il software libero è che il prodotto software e il suo codice sorgente sono protetti di default dal diritto d'autore, che dà al detentore del copyright il potere completo di distribuire e modificare il programma, anche quando il codice sorgente è pubblicamente disponibile. Cioè, l'autore ha il diritto, tra le altre cose, di vendere il suo prodotto. Tuttavia, non appena gli utenti non è fornito il diritto di ottenere i codici sorgente dei programmi e di modificarli e distribuire inoltre, il software diventa non libero, indipendentemente da altre condizioni.

Per quanto riguarda le condizioni per la distribuzione e l'utilizzo del software libero, la loro copia è spesso vietata e nel contratto di licenza sono stipulati il ​​reverse engineering, la modifica e la ridistribuzione.

Tuttavia, ci sono programmi che, secondo alcuni esperti, rientrano nella definizione di open source, ma non sono gratuiti. Tali programmi includono, ad esempio, UnRAR, un decompressore di archivi RAR. Il fatto è che il suo codice sorgente è di pubblico dominio, ma la licenza vieta di utilizzarlo per creare archiviatori compatibili con RAR.

Naturalmente è anche importante che esistano diverse categorie di software open source, poiché implicano diversi gradi di libertà in relazione alle azioni dell’utente. Tuttavia, a volte è possibile osservare una differenza significativa tra la definizione di software libero e quello di open source. Il software Open Source è un metodo di sviluppo software in cui il codice sorgente dei programmi creati è aperto, ovvero disponibile pubblicamente per la visualizzazione e la modifica. Ciò consente a chiunque di utilizzare il codice già creato per le proprie esigenze ed, eventualmente, contribuire allo sviluppo di un programma open source. Il software libero è un diritto dell'utente, ma non un obbligo del produttore, perché Una licenza aperta non richiede che il software sia sempre fornito gratuitamente. Tuttavia, molti dei progetti open source di maggior successo sono ancora gratuiti.

Anche l'accesso aperto al codice sorgente dei programmi è una caratteristica fondamentale del software libero, per cui il termine "software open source", proposto successivamente da Eric Raymond, sembra ad alcuni avere ancora più successo nel denotare il fenomeno del software libero rispetto a quello proposto all'epoca da Stallman.software libero".

Tieni presente che i vantaggi dello sviluppo gratuito per l'utente non dovrebbero essere esagerati. Non tutti i programmi gratuiti sono ugualmente disponibili per la modifica da parte dell'utente, il che, d'altro canto, non ha alcuna relazione con la licenza di utilizzo. la loro distribuzione. La dimensione del programma gioca un ruolo importante: se contiene decine di migliaia di righe (come, ad esempio, in OpenOffice.org - un analogo di Microsoft Office), anche uno specialista qualificato avrà bisogno di molto tempo per trovare e correggere l'errore. Calcolare sugli sviluppatori,È anche impossibile che rispondano a tutti i commenti e suggerimenti dell'utente e correggano immediatamente il programma, poiché non hanno alcun obbligo nei confronti dell'utente in merito alla qualità del programma. A questo proposito, l’utente del programma brevettato potrebbe trovarsi in una posizione migliore.

Vale la pena notare che tutti i partecipanti al processo del software aperto di solito lavorano su un programma specifico per interesse o perché questo software è per loro uno strumento necessario per qualche attività. Il tempo impiegato per finalizzare il programma non pagato pertanto, non vi è alcuna speranza che le circostanze non cambino e che lo sviluppo non si fermi del tutto. Ci sono casi noti in cui lo sviluppo di un programma è iniziato grazie a un autore entusiasta, che attira molti a parteciparvi, poi l'entusiasmo del leader svanisce e con esso lo sviluppo del software viene sospeso. Purtroppo oggi esistono migliaia di programmi gratuiti che non sono mai riusciti a raggiungere una versione completamente funzionante. Inoltre, il programma potrebbe essere necessario, ma non suscitare interesse, il che significa che non ci saranno sviluppatori gratuiti per questo.

Il posto del software libero nel mercato odierno del software è molto significativo e molto commerciale e governo le aziende utilizzano il software libero direttamente o indirettamente. Ad esempio, tutti gli utenti di Internet, anche se indirettamente, utilizzano il programma gratuito Bind, che fornisce il servizio DNS. Inoltre molte organizzazioni (soprattutto quelle che forniscono servizi tramite il World Wide Web) utilizzano il server web gratuito Apache, il cui funzionamento può influire direttamente sul profitto dell'azienda, per non parlare dei server sulla piattaforma Linux.

I vantaggi derivanti dall’utilizzo di software gratuito e open source sono evidenti: di norma non devi pagare per averlo e, se lo fai, costa molto meno delle sue controparti proprietarie. Lo svantaggio principale, dal punto di vista dell'utente commerciale, è che gli sviluppatori di software libero non hanno altri obblighi se non quelli morali. Cioè, essenzialmente non sono responsabili della qualità del software.

Ad esempio, una delle licenze pubbliche (GNU) ha addirittura una dicitura standard che afferma che non ci sono garanzie: “Questo programma viene fornito “così com’è”. Salvo diversa indicazione scritta, l'autore e/o altro detentore del copyright non fornisce alcuna garanzia di alcun tipo, espressa o esplicita. e implicito rispetto al Programma, comprese le garanzie implicite di commerciabilità e idoneità per uno scopo particolare e qualsiasi altra garanzia."

A proposito, attualmente il sistema GNU, più conosciuto come GNU/Linux o semplicemente Linux, è piuttosto diffuso, soprattutto nel mercato dei server, ed è un prodotto software completamente completo. Consiste in un gran numero di programmi del progetto GNU (principalmente utilità di sistema e toolchain GNU), il kernel Linux - la parte del sistema responsabile dell'esecuzione di altri programmi, inclusi i driver di dispositivo, ecc. - e molti altri programmi gratuiti.

Pertanto, oggi c'è la tendenza che le grandi società IT come Intel, Oracle o IBM cercano di sostenere progetti di sviluppo di software libero pagando il lavoro dei dipendenti di questi progetti in modo che il livello di responsabilità degli sviluppatori sia ad alto livello. Perché lo fanno, dal momento che il software aperto e libero è competitivo per loro? La risposta è semplice: vedono in questo un vantaggio che cercano di non perdere, poiché ogni giorno compaiono molti programmi basati su software open source, alcuni dei quali possono successivamente diventare forti prodotti commerciali.

Esistono diverse licenze principali utilizzate oggi per distribuire software libero: AROS Public License, BSD License, CDDL, Common Public License, GNU Free Documentation License, GNU General Public License, GNU Lesser General Public License, MIT License, Mozilla Public License, Licenza Open Directory, ecc. Tutte le licenze libere, in un modo o nell'altro, sono caratterizzate dal rispetto dei principi del copyleft (copyleft è un gioco di parole sulla parola copyright). In contrasto Approccio tradizionale al diritto d'autore, in cui la libertà di copiare le opere è limitata, il principio del copyleft utilizza le leggi sul diritto d'autore per garantire che sia impossibile limitare i diritti di qualsiasi persona all'uso, alla modifica e distribuire sia l'opera stessa che le opere basate su di essa. L'idea del copyleft è che chiunque distribuisca un programma, con o senza modifiche, non ha il diritto di limitare la libertà della sua ulteriore distribuzione o modifica. Copyleft garantisce che ogni utente sia libero nelle proprie azioni.

Il numero di licenze che corrispondono alla definizione del concetto di open source (software aperto) è attualmente più di cinquanta. Open Source è un marchio della Open Source Initiative. Esiste un comitato speciale che decide se una licenza può portare il nome open source. Uno dei siti Web più grandi al mondo per sviluppatori di software open source è il noto SourceForge.net. Su questo sito, gli sviluppatori possono pubblicare e collaborare ai propri progetti software. Attualmente SourceForge.net ospita diverse centinaia di migliaia di progetti e il numero di utenti registrati supera il milione.

Naturalmente, l’open source e il software libero stanno conquistando sempre più pubblico. I programmi open source sono utilizzati con successo sia dagli utenti privati ​​che da quelli privati e commerciale statali e organizzazioni pubbliche. Software basati su software open source e gratuiti vengono già utilizzati come preinstallazione per alcuni modelli di laptop e netbook di diversi produttori. Inoltre, il software open source sta gradualmente conquistando il mercato dei sistemi di automazione per le piccole e medie imprese.

I migliori articoli sull'argomento