LA CAMPANA

C’è chi ha letto questa notizia prima di te.
Iscriviti per ricevere nuovi articoli.
E-mail
Nome
Cognome
Come vuoi leggere La Campana?
Niente spam

Molte persone acquistano vari software o ne utilizzano versioni piratate e compromesse. Gli utenti vedono l'interfaccia grafica del programma, ma il codice del prodotto è solitamente nascosto. A questo proposito è quasi impossibile modificare il software, il che garantisce la protezione dell'autore da chi vuole copiare il codice del programma e appropriarsene. Ma nonostante ciò, nel mondo moderno esistono sempre più programmi cosiddetti “Open Source”. Capiamo cosa sono i programmi open source e quali sono i loro aspetti positivi e negativi.

Cosa può essere considerato open source?

Quasi tutto il software raggiunge l'utente finale come software già pronto. Si tratta di programmi completamente funzionali con un'interfaccia gradevole e facili da usare. Se il codice di questo prodotto è aperto, chiunque può modificarlo, offrire le proprie opzioni per correggere gli errori rilevati o introdurre qualche tipo di innovazione. Pertanto, la qualità di questo prodotto migliora nel tempo. Esempi di sistemi operativi open source sono Linux, Unix, Ubuntu.

Tutti lo conoscono Microsoft Office, un analogo del quale, ma con open source, è Ufficio aperto. Anche i browser Mozilla Firefox e Google Chrome sono software open source. Esistono moltissimi prodotti simili, molti utilizzano una grande quantità di software e non sospettano che alcuni di questi possano essere un programma Open Source.

Funzionalità open source

Perché un software possa essere definito programma non è sufficiente che il suo codice sia aperto a tutti. Un programma del genere dovrebbe esserlo assolutamente gratuito. Inoltre, anche per ulteriori utilizzi e tentativi di modifica del codice, l'utente non dovrà pagare nulla. Chiunque ha il diritto di distribuire liberamente questo prodotto e, come affermato sopra, di modificarlo. Tali programmi non hanno restrizioni sulla portata e sulla durata di utilizzo. Possono essere utilizzati per fare affari, ricerca scientifica, formazione o per scopi personali per un periodo di tempo illimitato.

Licenza software open source

Anche la licenza per tali programmi è gratuita. Non ci sono assolutamente restrizioni sull'applicazione, modifica, distribuzione, utilizzo con altri software compatibili. Inoltre, è tecnologicamente neutrale rispetto a tutti gli altri programmi esistenti.

Pro e contro dei programmi Open Source

A differenza dei classici programmi su licenza, sono sviluppati da un gruppo di programmatori liberi, ed è per questo che sono gratuiti.

Il secondo vantaggio importante è che possiamo aggiornare i dati del programma. Un buon programmatore, dopo aver compreso il codice, può aggiungere nuove opzioni al programma o migliorare il funzionamento delle funzioni esistenti. Ad esempio, utente MacOS non può cambiare il suo sistema operativo, a differenza Linux, che ognuno può non solo personalizzare a propria discrezione, ma anche aggiungere eventuali funzioni individuali. Di conseguenza, otterrà un prodotto completamente nuovo, molto comodo da usare. Se il programma risultante è davvero valido, può essere brevettato e persino venduto (!)

Un altro vantaggio innegabile dei programmi è la loro protezione dai virus. Quasi tutti i virus sono scritti per le applicazioni Finestre e malware per lo stesso Linux un importo trascurabile. Pertanto, la possibilità di contrarre un virus utilizzando un sistema operativo open source è molto bassa.

Oggi molte organizzazioni stanno passando al software open source. Ciò consente di ridurre i costi e ridurre al minimo la probabilità di hacking del sistema.

Ma, come sai, ogni medaglia ha due facce, te lo diremo sugli svantaggi dell’Open Source programmi.

Se riscontri problemi con il software, di solito contatti il ​​supporto tecnico. I programmi open source non hanno questo. Questo problema si verifica perché il programma è stato modificato da diversi programmatori provenienti da tutto il paese o addirittura dal mondo. Quindi dovrai cercare una soluzione al problema su Internet. Internet o capirlo da solo.

Il secondo svantaggio si presenta nuovamente perché chiunque può modificare il codice del programma. Spesso i punti di vista delle persone potrebbero non coincidere e ciò causa conflitti nella modifica del prodotto. Ciò può portare al collasso di un progetto su cui molte persone lavorano da molto tempo.

Inoltre, i programmi dannosi sono spesso camuffati da codice open source e talvolta può essere molto difficile distinguerli dai software veramente sicuri.

Nonostante tali programmi presentino alcuni svantaggi, sempre più utenti sono interessati a loro. Sempre più prodotti oggi vengono creati con codice open source. Ciò significa che tali programmi hanno un futuro e meritano attenzione.

Marco Roberts
Direttore, gestione del prodotto
Sistemi software QNX
e-mail: [e-mail protetta]

Annotazione

Questo articolo si concentra sui vantaggi, sulle considerazioni strategiche, sugli ostacoli e sulle opportunità associati all'uso del software open source nei prodotti commerciali. Utilizzando l'ambiente di sviluppo integrato (IDE) basato su Eclipse come esempio, discuteremo le differenze tra le licenze del codice sorgente del software protettive e non protettive. Quando si integra o si collega codice open source con codice closed source "proprietario", spesso sono necessarie la dovuta attenzione e cautela. Ci sono anche varie questioni legali di cui essere consapevoli, come la potenziale violazione di brevetti. Cercheremo anche di spiegare perché i principi di base dell'utilizzo del software open source nell'ambiente della tecnologia dell'informazione (IT) non si applicano ai prodotti embedded commerciali.

L'ambiente di sviluppo QNX Momentics come esempio di utilizzo di software open source

Tornando al 2001, quando molte aziende di software stavano lottando per sopravvivere in mezzo al collasso generale del mercato azionario IT, in particolare quelle relative all'e-business su Internet, QNX Software Systems prese la decisione strategica di iniziare a sviluppare un nuovo ambiente di sviluppo integrato (IDE) per il mercato. L'azienda aveva già una solida esperienza nello sviluppo di una serie di strumenti utilizzati nello sviluppo di dispositivi embedded, ma il management dell'azienda si rese conto che la creazione di un IDE l'avrebbe aiutata a stare al passo con la forte concorrenza. La decisione di creare un IDE è stata dettata anche dalle mutevoli richieste dei clienti. Durante la crisi dell’attività commerciale, i clienti a corto di soldi sono diventati più interessati a soluzioni che potessero massimizzare la produttività e renderli più mobili (flessibili) nel loro lavoro, migliorando così l’efficienza economica complessiva.

Per QNX, lo sviluppo dell'IDE era una "scommessa sul futuro" perché i costi e gli sforzi per sviluppare il progetto erano al di fuori della portata della maggior parte dei fornitori di strumenti per sistemi embedded dell'epoca. Fortunatamente, QNX ha lavorato a stretto contatto con IBM su vari segmenti del mercato embedded. Attraverso una stretta collaborazione, IBM ha condiviso con QNX i suoi piani per rilasciare un ambiente di sviluppo integrato open source che in seguito è diventato la base per la piattaforma Eclipse.

IBM ha proposto di utilizzare l'esperienza di QNX per adattare la tecnologia IDE alle esigenze degli sviluppatori che creano applicazioni embedded basate sul linguaggio C/C++. Gli esperti QNX hanno sottolineato quasi immediatamente gli interessanti vantaggi derivanti dall'utilizzo di un IDE open source. Ad esempio, per un ambiente del genere sarebbe possibile:

  • eliminare la dipendenza da un unico fornitore, che di solito è associata alla necessità di concedere in licenza una piattaforma finestra;
  • offrire il codice del programma sorgente per la personalizzazione in base alle esigenze del cliente;
  • attrarre attori industriali seri per fornire supporto e creare un ecosistema di tecnologie e plug-in complementari;
  • fornire ai clienti un'architettura stabile in grado di supportare la differenziazione del prodotto;
  • consentire agli sviluppatori di dispositivi embedded di utilizzare workstation standard come piattaforma di sviluppo, adatta per lavorare con applicazioni di tecnologia dell'informazione (in un'ampia gamma di applicazioni).

Infine, esisteva la possibilità che la piattaforma IDE potesse guadagnare popolarità e diventare uno standard di fatto, consentendo a QNX di conquistare il mercato per ampi ecosistemi di sviluppatori e strumenti di terze parti attraverso tale piattaforma.

Fondazione del progetto open source Eclipse.org

Nel novembre 2001, Borland, IBM, Merant, QNX Software Systems, Red Hat e SUSE hanno fondato il Consorzio Eclipse. All'inizio del 2004, il Consiglio di Amministrazione ha riorganizzato il Consorzio Eclipse in una società senza scopo di lucro chiamata Eclipse Foundation.

Fin dall'inizio, Eclipse è stato un vero progetto open source. Il progetto ha offerto sia tecnologie open source gratuite che l'accesso a una comunità di sviluppatori più istruiti e avanzati nel loro campo. Pertanto, questa tecnologia si è rivelata una piattaforma universale per l'integrazione di tutti i tipi di strumenti di sviluppo. Si basa su un'architettura aperta ed estensibile ed è chiaramente concesso in licenza come prodotto gratuito ed esente da royalty. I contributi della comunità al progetto Eclipse si basano sul modello di sviluppo standard del software Open Source (OSS), ma la maggior parte dei membri contribuisce anche a sviluppi commerciali basati sulla piattaforma Eclipse.

Progetto di archivio di strumenti

Nel dicembre 2001, QNX ha iniziato a costruire il suo RTOS QNX® Neutrino®, basato sulla piattaforma Eclipse IDE. Nella visione dell'azienda, l'IDE avrebbe dovuto avere maggiori funzionalità, concentrarsi sull'utilizzo dei linguaggi C/C++ e disporre di strumenti profondamente integrati per il debug, la profilazione, l'analisi e la creazione di applicazioni integrate. Fin dall'inizio, il team QNX lo ha immaginato come un IDE multiuso e multilingue che supportasse più piattaforme di strumenti. Ciò includeva:

  • diverse piattaforme di strumenti: Windows, Solaris, QNX Neutrino RTOS (sviluppo self-hosted);
  • diverse architetture target: ARM, MIPS, PowerPC, SH-4, x86;
  • linguaggi di programmazione C, C++, Java.

Da allora, l'IDE ha continuato a crescere fino a includere il supporto per la piattaforma Linux e il supporto per ulteriori architetture di processori, inclusi i processori XScale.

Il progetto è stato lanciato nello stile di "programmazione estrema". Dall'azienda è stato selezionato un team di 12 migliori ingegneri. È stata assegnata loro una stanza speciale, sono stati isolati da ogni distrazione, il progetto è stato affidato loro completamente.

Al team è stata data la necessaria autorità decisionale e un programma di lavoro serrato e ad alto rischio per rilasciare la versione beta del prodotto in 16 settimane e la versione commerciale entro il 4 luglio 2002. Il gruppo ha rispettato tutte le scadenze previste. e ha rilasciato un nuovo prodotto, chiamato QNX Momentics® IDE, nei tempi previsti, dimostrando il potenziale del software open source per ridurre il time-to-market.

Dall'idea alla consegna del prodotto: meno di 7 mesi

Basandosi sulla piattaforma Eclipse, il team QNX ha completato in sei mesi un IDE molto potente e completo per lo sviluppo di software incorporato. L'IDE supportava lo sviluppo multipiattaforma per più piattaforme di strumenti e più linguaggi di programmazione e supportava anche le schede processore più popolari per dispositivi di destinazione incorporati. Utilizzando la piattaforma Eclipse, QNX è stata in grado di:

  • utilizzare compilatori GNU e strumenti da riga di comando per lo sviluppo incrociato;
  • fornire supporto per plug-in di terze parti, come IBM WebSphere per applicazioni Java integrate e Rational ClearCase per lo sviluppo basato su modello;
  • creare strumenti aggiuntivi per costruire sistemi, gestire dispositivi di destinazione, analizzare memoria, profilare sistemi e applicazioni, ecc.

Nella fig. La Figura 1 fornisce un esempio di come l’utilizzo della piattaforma Eclipse riduca i costi di creazione di un IDE, consentendo alle aziende di focalizzare la propria attenzione sui livelli superiori di sviluppo, dove vengono create le vere innovazioni. Ad esempio, utilizzando la piattaforma Eclipse, QNX è stata in grado di creare facilmente diversi strumenti di visualizzazione innovativi in ​​grado di approfondire un sistema embedded e mostrarne il comportamento.

Restituire alla comunità

La forza di un progetto open source di successo risiede nella collaborazione della comunità di sviluppatori e nel costante miglioramento del codice base. Se un'azienda adotta e fa buon uso del codice open source, ha semplicemente l'obbligo di contribuire alla comunità. A tal fine, QNX ha assunto la guida del progetto Eclipse CDT nel giugno 2002.

L'obiettivo del progetto Eclipse CDT (C/C++ Development Tools) è creare un set comune di strumenti interoperabili del linguaggio C/C++ per la piattaforma Eclipse. Eclipse CDT è stato posizionato come progetto open source, con diritti di gestione da parte della Eclipse Corporation. Per lanciare il progetto CDT, QNX ha donato le sue risorse di sviluppo e il codice sorgente al progetto IDE QNX Momentics. Anche Rational e Red Hat, in quanto membri della comunità, hanno fornito un supporto significativo al progetto.

Riso. 1. Utilizzando la piattaforma Eclipse, i fornitori di strumenti possono concentrare la loro attenzione sul livello più alto dello stack di lavoro, dove viene creata la vera innovazione.

QNX continua a mantenere il progetto CDT, che è passato da modeste 80.000 righe di codice a oltre 700.000 righe di codice. All'inizio del 2006, il registro dei progressi del progetto Eclipse CDT stimava che il contributo di QNX fosse del 52%. Segue IBM con un contributo del 36%. Il progetto CDT è il secondo progetto più popolare della società Eclipse dopo la stessa piattaforma Eclipse.

Puoi permetterti di “donare” il codice?

Può sembrare che “donare” il proprio codice significhi agire contrariamente al buon senso. Tuttavia, se la funzionalità del tuo prodotto si rivela utile, perché non contribuire alla comunità open source. Facendo questo passo, puoi trarre vantaggio dall'offerta di un'implementazione "standard" insieme all'utilizzo delle competenze di supporto del prodotto. Potrai beneficiare del lavoro dell'intera community volto al miglioramento del codebase. Questa strategia può liberare le tue risorse per condurre ulteriori ricerche focalizzate su sviluppi innovativi per aggiungere ulteriori funzionalità ai tuoi prodotti.

Inoltre, potresti ottenere un certo controllo sulla direzione della piattaforma "standard", guadagnato, ovviamente, attraverso i tuoi servizi alla comunità! Se stai mantenendo un progetto, comportati come un buon cittadino della comunità, rispetta le opinioni degli altri e apprezza il contributo e il consiglio degli altri membri. Non pensare che qualcuno proverà a "saccheggiarti le tasche" a causa dell'utilizzo del codice e assumerà la tua leadership nella direzione dello sviluppo della piattaforma.

Ad esempio, la strategia di QNX Software Systems è quella di trarre vantaggio dalla sua partecipazione in Eclipse sviluppando allo stesso tempo nuove funzionalità attraverso punti di estensione standardizzati già disponibili nelle piattaforme Eclipse e CDT. A tal fine, QNX intende rimanere un membro attivo della comunità Eclipse, beneficiando della base di codice esistente e del lavoro di terze parti (plug-in) per aiutare a soddisfare le reali esigenze dei clienti creando le proprie estensioni proprietarie. La strategia descritta è illustrata in Fig. 2.

Riso. 2. Puoi contribuire al lavoro della comunità con il tuo lavoro.

Riepilogo dei vantaggi

La piattaforma di strumenti basata su Eclipse è vantaggiosa sia per gli sviluppatori di applicazioni come QNX che per i clienti che acquistano strumenti della piattaforma.

Il vantaggio per gli sviluppatori è la riduzione dei tempi necessari per immettere i propri prodotti sul mercato e la possibilità di trarre vantaggio dalla ricerca di altri (a basso costo). Questi risultati possono includere codice di alta qualità classificato come "IP pulito" da aziende rispettabili come IBM e QNX. Un altro vantaggio per lo sviluppatore è che riceve uno schema di licenza semplice e chiaro, che include diritti commerciali e una certa protezione brevettuale. Inoltre, lo sviluppatore ha l'opportunità di lavorare su più piattaforme OS supportate in Eclipse e ha anche a sua disposizione punti di estensione ben definiti nel progetto Eclipse.

I clienti che acquistano un IDE basato su Eclipse beneficiano di una piattaforma di strumenti progettata per lo sviluppo di applicazioni integrate, con un forte supporto per la compilazione incrociata, un debug semplice ed estensioni per gestire i sistemi di destinazione. Il team di sviluppo del cliente apprezzerà le numerose funzionalità che semplificano il lavoro, i brevi tempi di formazione richiesti, le buone prestazioni del prodotto e una piattaforma solida in grado di gestire progetti di grandi dimensioni. I clienti possono anche trarre vantaggio dall'utilizzo della piattaforma Eclipse nelle proprie applicazioni (ad esempio RCP, eRCP, ecc.).

Il futuro della Eclipse Corporation

Eclipse Corporation è una comunità attiva e vivace. Introduce continuamente nuovi progetti, rende disponibili nuove architetture ad aziende affermate e innovative e anche le piccole aziende possono trarre vantaggio commerciale dalla piattaforma Eclipse creando in modo economicamente vantaggioso nuovi plug-in che estendono le funzionalità esistenti (vedere Figura 3).

Riso. 3. Eclipse Corporation è una comunità vivace e in rapida crescita di sviluppatori di plug-in.

Confronto delle licenze open source

Non tutte le licenze dei software open source sono uguali. QNX ha fatto una mossa intelligente scegliendo la licenza pubblica Eclipse. Questa scelta è stata guidata in parte dalle esigenze dei suoi clienti integrati e in parte dal desiderio di controllare (e trarre vantaggio da) la tecnologia che differenzia i suoi prodotti.

L'organizzazione no-profit Open Source Initiative () ha proposto un'utile definizione in 10 punti di open source. Attualmente sul sito Web sono disponibili oltre 50 licenze approvate OSI, inclusa la licenza pubblica Eclipse. Queste licenze potrebbero contenere differenze significative di cui dovresti essere a conoscenza. Queste differenze possono avere un impatto significativo sulla proprietà intellettuale (IP) degli sviluppatori e sulla loro capacità di proteggerla. Ciò è particolarmente rilevante quando si utilizza codice open source (o derivati ​​open source) in dispositivi integrati.

Licenza difensiva e non difensiva

Secondo i termini di una licenza di protezione, come la GPL v2, le opere derivate possono essere distribuite solo insieme al relativo codice sorgente. La licenza di sicurezza garantisce che quando il codice sorgente sarà reso open source, rimarrà tale in tutte le generazioni successive e nelle opere derivate. Come spiegheremo più avanti, questo requisito porta ad alcuni problemi nel caso dei sistemi embedded.

Esempi di licenze non difensive sono le licenze originali MIT e BSD. Le licenze non difensive preservano il copyright del proprietario ma forniscono ampi diritti all'utente, incluso il diritto di modifica e distribuzione gratuita senza restrizioni (o uso personale) del software.

Cosa si intende per "licenza antivirus"

Alcuni chiamano la GPL una "licenza antivirus". Questo nome è nato a causa dell'incertezza della definizione giuridica del concetto di "sviluppo derivato". Un'interpretazione rigorosa della definizione significa che se anche una piccola parte di codice concesso in licenza GPL è incorporata in un'applicazione proprietaria, l'intera applicazione deve essere concessa in licenza come GPL. Mi viene subito in mente l’analogia con un virus.

Domande sulla ricezione del risarcimento

Recentemente, l'indennizzo IP (IP Indemnification) è diventato uno dei principali argomenti di discussione per gli sviluppatori. In risposta, alcuni fornitori open source hanno annunciato che proteggeranno i clienti da azioni legali relative alla violazione di brevetti o copyright. E le più recenti licenze open source prevedono sanzioni per gli utenti che tentano di far valere i propri diritti di brevetto contro altri utenti del codice.

I principali problemi incontrati nella commercializzazione di software open source

Confronto tra applicazioni embedded e IT

Il successo del settore open source è stato alimentato dall'adozione di Linux da parte delle organizzazioni IT. I vantaggi derivanti dall'utilizzo di Linux derivavano dall'esecuzione su hardware relativamente omogeneo e stabile (di solito la famiglia x86) e dall'utilizzo di una piattaforma informatica flessibile e ricca di risorse.

Con il software integrato le cose sono completamente diverse. Questo software funziona su un numero enorme di dispositivi con un insieme fisso di funzioni, utilizzando un'ampia gamma di hardware con architetture diverse. Gli sviluppatori di dispositivi integrati spesso basano il loro vantaggio competitivo su un set di funzionalità, dimensioni, prestazioni, costi, durata della batteria, affidabilità, interoperabilità ed espandibilità specifici. Queste caratteristiche distintive sono tipicamente implementate nel software di basso livello, che nel caso di Linux richiede il collegamento diretto al kernel del sistema operativo. La personalizzazione del software di basso livello per soddisfare le esigenze dei clienti è la norma, non l'eccezione, quindi gli sviluppatori spesso ottengono le funzionalità di cui hanno bisogno modificando il kernel del sistema operativo. Il metodo di collegamento diretto viene utilizzato anche incorporandolo in frammenti di codice per ridurre il costo di creazione delle librerie. Queste pratiche, nel loro insieme, rendono molto difficile proteggere il codice proprietario con licenze come la GPL.

In genere, questi problemi di licenza non influiscono sulle applicazioni IT, poiché il software proprietario e specifico dell'azienda non si estende oltre l'azienda, essendo utilizzato esclusivamente per esigenze interne. Nel caso dei dispositivi embedded, il software derivato viene sempre distribuito attraverso di essi, soggetto alla clausola di “apertura forzata” delle licenze open source, che può mettere a repentaglio gli aspetti principali delle preziose offerte open source.

Inoltre, i prodotti integrati hanno spesso una lunga durata, sia durante la produzione che durante l'uso. Un prodotto integrato soggetto a termini open source è soggetto a rischi maggiori, tra cui la mancanza di supporto tecnico a lungo termine, potenziali problemi di sicurezza e violazioni della proprietà intellettuale.

Problemi di licenza

Status giuridico incerto

Nonostante le parole rassicuranti dei sostenitori di alcune licenze open source, molte delle questioni chiave su cui gli sviluppatori di sistemi embedded esprimono preoccupazione non sono state ancora ampiamente testate nella giurisprudenza. Come accennato, la definizione di "lavoro derivato" è fondamentale per far rispettare determinate clausole di licenza, tuttavia molti individui e organizzazioni che accettano termini open source hanno poca comprensione del concetto o lo ignorano volontariamente.

Alcune soluzioni alternative che consentono ai fornitori di prodotti commerciali di introdurre driver "proprietari" in Linux (ad esempio, Loadable Kernel Modules) si basano più su argomenti "ha detto, ha detto" che sul riferimento diretto al testo dell'accordo di licenza. In effetti, tali driver che utilizzano moduli LKM sono irti di pericolose elusioni dei requisiti di licenza GPL. Per portarlo all'estremo, si potrebbe interpretare il caso dicendo che il codice base di Linux può essere presentato come inutile per la maggior parte delle applicazioni pratiche a meno che non includa alcuni di questi driver proprietari. Questa situazione può effettivamente svalutare l’idea della licenza GPL.

Nessun risarcimento per violazione della proprietà intellettuale

Nella maggior parte dei casi di utilizzo dell'open source, esiste la possibilità reale di violare inavvertitamente i diritti di brevetto di qualcun altro. Poche licenze open source fanno esplicito riferimento ai brevetti e le licenze implicite non possono essere giudicate. È necessario concedere in licenza separatamente eventuali brevetti che coprano, ad esempio, i codec open source che implementano algoritmi MP3 o altre soluzioni proprietarie. Nel frattempo, i “cattivi ragazzi” (inclusa Microsoft) si preoccupano di creare un portafoglio di brevetti che, secondo molti esperti, possa essere utilizzato per “sparare” ai sostenitori dell’open source.

Alcune licenze contengono riferimenti espliciti a brevetti. Ad esempio, la licenza pubblica Eclipse menziona esplicitamente i diritti di brevetto e contiene una clausola sulle sanzioni se qualcuno tenta di far valere i diritti di brevetto in un modo diverso. Eclipse si impegna inoltre molto nella revisione del codice e nella determinazione della sua fonte dal punto di vista della licenza, dei brevetti o del copyright.

Ulteriore sforzo per preservare la proprietà intellettuale

Per utilizzare il codice open source, un'azienda deve dedicare sforzi significativi nelle seguenti aree:

  • gestione della distribuzione dei prodotti;
  • gestione delle licenze;
  • risoluzione dei conflitti legali riguardanti gli obblighi del cliente;
  • Prestare la dovuta attenzione alle questioni legali: mantenimento della purezza dei diritti IP, controllo dei diritti IP per l'open source, identificazione della fonte del codice, monitoraggio delle modifiche nelle versioni di licenza, come GPL v3, ecc.

Accettazione delle richieste del cliente

Alcuni grandi clienti, di fronte alla complessità e all'incertezza del software open source, si sono rifiutati di trattare prodotti che includono codice open source. Se desideri lavorare con tali client, devi ottenerli o invitarli a includere i termini della licenza commerciale per il tuo codice.

Problemi di proprietà intellettuale

I termini della tua licenza open source coprono la proprietà intellettuale che rende diverso il tuo prodotto? Se è così, il tuo IP è a rischio.

Se i sistemi embedded utilizzano una combinazione di software proprietario e software open source, è necessario comprendere la natura, l'origine e la relazione di tutti i componenti del software embedded. Senza questa profonda conoscenza dell'argomento, potresti inavvertitamente violare l'IP di qualcun altro o addirittura perdere i diritti sul tuo stesso software.

Senza licenze e compensi sui brevetti, il software di lunga durata dei sistemi embedded, il prezzo di vendita relativamente alto e il volume di vendite di dispositivi incorporati con funzionalità fisse li rendono un obiettivo ovvio per le denunce di violazione di brevetto da parte dei suddetti ragazzacci e dei principali concorrenti.

Come dimostra l'IDE QNX Momentics, ci sono molti vantaggi immediati nel software open source, tra cui tempi di commercializzazione ridotti, costi di sviluppo inferiori e maggiore libertà di aggiungere ulteriori funzionalità e innovazioni al tuo prodotto. Se offri il tuo software come servizio che risolve qualche problema per il cliente, al cliente non importa se hai utilizzato o meno software open source, paga semplicemente per la funzione ricevuta di cui ha bisogno.

Tuttavia, dovresti comprendere le differenze tra le diverse licenze open source e scegliere quella più adatta alla tua applicazione e alle esigenze del cliente. Inoltre, preparati a soddisfare gli obblighi di licenza del software che scegli. Dovresti essere a conoscenza di altri requisiti IP (come i diritti di brevetto) associati al codice software. Diffidare di una codebase che non visualizza un messaggio sulle conseguenze della violazione dell'IP. Cercate invece progetti che offrano un risarcimento per possibili danni e in cui venga visualizzato un messaggio sullo schermo relativo a donazioni in denaro per lo sviluppo di codice per compensare i costi associati alla violazione del copyright o dei brevetti, e così via. Assicurati inoltre che il software open source che utilizzi sia coerente con le tue politiche sulla proprietà intellettuale ed evita licenze di protezione che potrebbero costringerti a rivelare parti distintive del tuo codice. Se il tuo prodotto è incorporato nel sistema, valuta anche la possibilità di offrire termini di licenza commerciale per il tuo IP.

L'utilizzo del codice open source nei dispositivi embedded comporta problemi più complessi rispetto al caso dell'utilizzo di tale software nelle applicazioni IT, poiché la prima opzione è più pericolosa. Prima di decidere di utilizzare qualsiasi software open source, considera il suo vero costo di proprietà (TTCO) e la sua idoneità al tuo progetto.

Infine, unisciti alla comunità open source di utenti e sviluppatori per ottenere il massimo!

Il successo del software open source è davvero notevole. Non ha risparmiato nemmeno i grandi produttori di software commerciale. IBM, Hewlett-Packard, Oracle e Microsoft hanno riconosciuto la sua influenza e, in alcuni casi, hanno adottato i suoi metodi. Sembra che la maggior parte delle aziende con una funzione IT abbia già una certa familiarità con i prodotti open source e spesso li utilizzi attivamente.

Tuttavia, l’ubiquità del software open source solleva ancora più domande che risposte. Proviamo quindi a rispondere a quelli più popolari.

Cos'è il software open source?

Torniamo al 1997. Il talentuoso sviluppatore di sistemi operativi Linux Bruce Perens sta mettendo insieme un documento relativo alla preparazione e alla distribuzione di una versione di distribuzione di Debian Linux. Successivamente rimosse tutti i riferimenti a Debian e introdusse il concetto conosciuto oggi come The Open Source Definition. Tra le altre cose, il documento di definizione affermava che il software open source dovrebbe essere distribuito senza alcuna royalty agli sviluppatori, i distributori dovrebbero fornire a tutti accesso gratuito al codice sorgente dei programmi e tutti gli ulteriori miglioramenti e aggiornamenti dei programmi dovrebbero essere forniti anche sotto le stesse condizioni.

In sostanza, il movimento del software open source è un parente stretto del movimento del software libero, proposto nel 1983 da Richard Stallman. Il suo obiettivo principale era la distribuzione gratuita del software, liberandolo dalle restrizioni standard dei programmi commerciali. Le regole per la distribuzione del software libero sono regolate dalla General Public License (GPL), approvata nella sua terza edizione nell'ottobre 2006.

Esistono dozzine di licenze diverse dell'iniziativa Open Source in uso oggi in tutto il mondo, ciascuna con le proprie regole specifiche che richiedono uno studio da parte delle aziende che valutano l'utilizzo di software open source. In genere, queste regole non impongono rigide restrizioni a coloro che desiderano accedere ai programmi open source. Per quanto riguarda i requisiti di distribuzione, è necessario prestare loro maggiore attenzione per evitare potenziali problemi associati alla violazione delle regole di licenza.

Perché il software open source?

Il primo motivo per cui le aziende guardano al software open source è molto semplice: il prezzo. E il ROI di un modello open source lo dimostra chiaramente. Il software open source può essere scaricato, installato e utilizzato completamente gratuitamente. Inizialmente i costi bassi attiravano gli sviluppatori che volevano provare nuovi strumenti o progettare nuove applicazioni senza investire denaro. La nuova libertà ha portato molti di loro a sostenere il movimento open source. Di conseguenza, software open source di livello industriale come il sistema operativo Linux, il server Web Apache, il server di applicazioni Java JBoss e l'ambiente di sviluppo Eclipse iniziarono ad apparire in tutto il mondo, insieme a migliaia di altri progetti.

Alla fine degli anni ’90, il management aziendale cominciò finalmente a prestare attenzione al software open source. Con i budget IT in costante riduzione, gli sviluppatori si vantavano della qualità e dei risparmi ottenuti utilizzando il software open source e molte aziende iniziarono a prendere seriamente in considerazione l'utilizzo di componenti software open source nei progetti aziendali. Le prime grandi aziende a implementare software open source sono state The Weather Channel, Cendant Travel, Employease e Sabre.

In un'epoca di crescita globale di Internet, il software open source consente alle aziende di espandere rapidamente le proprie operazioni elettroniche senza dover acquistare costantemente nuove licenze per software commerciale. I vantaggi si estendono anche allo sviluppo e al test. In questo modo, le aziende possono provare cose nuove senza i costi aggiuntivi associati al software commerciale e il processo di riduzione del budget richiesto in questi casi.

Probabilmente non è un segreto che poche persone traggono vantaggio dalla disponibilità del codice sorgente nei prodotti open source. Sembrerebbe che il diritto di modificare e correggere liberamente il codice software sia da considerare un serio plus, ma in realtà, invece di manutenere il software da sole, è molto più semplice per le aziende affidarsi ad una comunità di sviluppatori che aggiornano e debuggano tempestivamente il software. codice di programma di tutti i prodotti più diffusi.

Ragioni per rifiutare il software open source

Gli argomenti contro il software open source sono solitamente facili da contare sulle dita di una mano.

    Ottenere software gratuito è come "regalare cuccioli gratis". Puoi scaricarlo e installarlo in modo completamente gratuito, ma la formazione e il supporto utente finiscono per costare più del costo totale del software commerciale o di un importo comparabile. Questo argomento, che Microsoft ama particolarmente sostenere, opera a livello inconscio. Che ciò sia giusto o meno dipende dalla situazione specifica e dal rapporto analitico che stai leggendo in questo momento.

    Organizzare il supporto tecnico è difficile. Agli albori del movimento open source, quando lo sviluppo e il supporto erano in gran parte effettuati da gruppi di volontari o “comunità”, questo era davvero un problema urgente. Ma mentre molte organizzazioni hanno scoperto che il sostegno della comunità è sufficiente a soddisfare le loro esigenze, oggi si aprono loro molte altre opportunità, compreso il supporto per grandi progetti open source di Hewlett-Packard e IBM. Di conseguenza, l’affermazione secondo cui “per soffocare basta tapparsi la gola” perde di attualità.

    Lo sviluppo di nuove funzionalità richiede più tempo rispetto al software commerciale. Dipende davvero molto dal tipo specifico di software che stai utilizzando. Il browser web Firefox è il miglior esempio di quanto velocemente il software open source possa essere adattato alle esigenze degli utenti. Puoi anche ricordare la rapidità con cui gli sviluppatori Linux hanno organizzato il supporto per le nuove tecnologie, in particolare le porte USB. A questo proposito, Linux praticamente non è rimasto indietro rispetto a Windows. Ma quando si tratta di software aziendale, la creazione di meccanismi per supportare la scheda video o il chip audio più recenti gioca un ruolo molto meno importante rispetto a garantire stabilità e prestazioni elevate.

    Incertezza di ulteriore sviluppo e ramificazione. L’ampia varietà di licenze software open source, così come la possibilità di intervento attivo dell’utente finale nel codice software, dissuade i clienti aziendali dall’implementare tali programmi. Ma un attento esame delle licenze delle applicazioni open source da parte degli avvocati allevia la maggior parte di questi timori. Alcuni fornitori di software open source e società terze offrono addirittura un risarcimento danni, quindi le applicazioni open source utilizzate potrebbero essere oggetto di una causa legale.

Da dove cominciare?

Oggi quasi ogni tipo di software aziendale è disponibile come prodotto open source, dai server di posta elettronica ai sistemi VoIP. Molte aziende prestano attenzione innanzitutto alle applicazioni Web, dove esistono prodotti che esistono da molto tempo e sono già riusciti a dimostrare il loro valore. Un riferimento comune è allo stack LAMP (Linux, Apache, MySQL e PHP, Perl o Python a seconda della situazione specifica). Il sistema operativo Linux simile a Unix è diventato molto diffuso. Uno dei server Web più popolari oggi è Apache. Il sistema di gestione del database MySQL compete con successo con costosi prodotti commerciali. E i linguaggi di programmazione e scripting PHP, Perl e Python sono ampiamente utilizzati come strumenti per lo sviluppo di applicazioni Web open source. I siti Web open source basati su Java spesso si affidano al server delle applicazioni JBoss. Man mano che acquisisci maggiore familiarità con gli strumenti open source e scopri le somiglianze e le differenze tra loro e i prodotti commerciali, scoprirai altre possibilità. Potrebbe anche essere sorprendente apprendere che i tuoi sviluppatori occasionalmente si rivolgono a determinati prodotti open source a proprio rischio.

I server delle applicazioni sono fantastici, certo, ma per quanto riguarda il software desktop open source?

Gli utenti finali utilizzano molto spesso vari strumenti desktop open source. Un esempio lampante di tale soluzione è il browser Web Mozilla Firefox. Alcune organizzazioni governative e commerciali preferiscono la suite per ufficio Sun OpenOffice rispetto a Microsoft Office. Ma mentre alcuni player si avventurano verso l’ignoto installando il sistema operativo Linux sui propri computer desktop, Windows rimane di gran lunga il player dominante. Le versioni di Linux user-friendly (come LinSpire) non possono rompere lo status quo perché la formazione degli utenti richiede tempo e denaro. Inoltre, la maggior parte dei pacchetti software commerciali, da cui dipendono molte aziende, sono sviluppati prima per Windows e poi per Linux (ammesso che venga mai rilasciata una versione Linux).

I prodotti open source possono essere venduti?

Sì, certo, ma le regole dell'Open Source Initiative vietano di ostacolare la vendita del tuo codice ad altri. Tuttavia, molte aziende stanno trovando modi per guadagnare con prodotti open source. Molti, oltre al codice vero e proprio, offrono servizi di supporto aziendale, che le aziende acquistano molto facilmente. Altri forniscono due versioni del codice software: una in forma aperta e gratuita e un'altra che include funzioni utili aggiuntive, contiene componenti proprietari e deve essere pagata dai clienti. Questo modello misto sta diventando sempre più popolare. Viene utilizzato attivamente da aziende come SourceFire, SugarCRM, Alfresco e molte altre.

Altre risorse open source

Molti programmi open source possono essere trovati su Internet:

    Carne Fresca. Enorme database di software scaricabile, gran parte del quale in formato open source.

    SourceForge. Un sito gigante per sviluppatori di software open source, che riunisce migliaia di progetti open source. Alcuni di essi continuano a svilupparsi, mentre altri hanno già cessato di esistere.

Risorse open source: ufficiali e non ufficiali

    Iniziativa Open Source. Un'organizzazione senza scopo di lucro che considera il suo compito principale l'ulteriore sviluppo del software open source ed è finanziata da numerosi attori che operano in questo campo da molto tempo.

    Gruppo di tecnologia open source. Probabilmente il principale promotore mondiale di tecnologie open source. È questa associazione che possiede il sito di notizie Slashdot, nonché le risorse SourceForge e FreshMeat.

    Gestione del rischio open source. Offre meccanismi per garantire la conformità ai requisiti normativi.

    Laboratori di sviluppo open source. Un'organizzazione il cui obiettivo principale è promuovere il sistema operativo Linux tra i clienti aziendali.

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. Si tratta di 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.

  1. Allora, cos’è il software open source? Forse la definizione più comune di questo termine ne svela 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. .
  2. Qual è la bellezza del software open source? Secondo i rappresentanti di questo movimento, il software open source consente di:
  3. adattare il prodotto software ai requisiti di uno specifico utente o gruppo di utenti; eliminare gli errori degli sviluppatori precedenti; finalizzare

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 assicurarsi 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, 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 corrispondono ad entrambi i tipi. 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

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 nulla a che vedere con la licenza d'uso. la loro distribuzione.È 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 esso.

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). Al contrario 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.

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.

Il mercato del software offre un'ampia scelta di software (software). Oltre alle applicazioni acquistabili a pagamento, esiste la possibilità di utilizzare programmi gratuiti.

Software gratuito

Il termine “freeware” è apparso per la prima volta nel 1982, è stato registrato come marchio dal programmatore americano Andrew Flegleman per un programma di comunicazione da lui sviluppato.

Puoi scaricarlo gratuitamente:

  • versioni beta dei programmi
  • analoghi semplificati di pacchetti completi
  • autisti
  • programmi, il cui utilizzo incoraggerà l’acquisizione di risorse aggiuntive.

Il freeware ha un vantaggio: non devi pagare, ma ci sono alcuni altri svantaggi:

  • nessun aggiornamento automatico del programma
  • nessun supporto tecnico
  • sono possibili errori durante il funzionamento.

Quasi tutti i programmi commerciali per Windows hanno i loro analoghi gratuiti:

  • Archiviatori (7-Zip)
  • Software per lavorare con FTP (FileZilla)
  • Antivirus (CureIt, Avast!, AVZ)
  • Editor di testo (Blocco note++)
  • Browser (Mozilla, Firefox, Opera, GoogleChrome)
  • Lettori audio (WinAmp)
  • Lettori video (VLC, Miro, Media Player Classic)
  • Transcodificatori (MediaCoder)
  • Editor grafici (GIMPshop)
  • Software per ufficio (Apache OpenOffice, LibreOffice)

Le applicazioni Windows gratuite sono disponibili su Internet nei siti degli sviluppatori. Dopo aver scaricato l'archivio e installato il software, tutte le directory e i file in esso contenuti necessari per il normale funzionamento dell'applicazione vengono creati automaticamente sul computer. Le applicazioni gratuite per Android e iOS possono essere scaricate utilizzando i marketplace PlayStore e AppStore.

Quando si scaricano programmi gratuiti si corre il rischio di riscontrare l'effetto "cavallo di Troia": lo sviluppatore include nel pacchetto distribuito gratuitamente altri programmi che vengono automaticamente inseriti sul computer durante l'installazione del pacchetto. Questo software non è sempre sicuro!

I progetti open source occupano un posto speciale nella categoria del software libero. Alcuni dei software sopra menzionati (Mozilla Firefox, 7-Zip, FileZilla, Notepad++, Miro, VLC, Apache OpenOffice, LibreOffice, Media Player Classic, GIMPshop, Google Chrome) appartengono specificamente a questa categoria.

Software open source

Il software può essere distribuito come closed source (Microsoft Windows, MS Office - software proprietario) o open source. Coniato nel 1984, il termine “software libero” si riferisce al software che può essere ottenuto gratuitamente, modificato utilizzando il codice sorgente disponibile e ridistribuito.

I programmi sono distribuiti sotto licenza GNU GPL e devono soddisfare i seguenti requisiti:

  1. Non ci sono restrizioni sull'uso del software in determinate aree di attività.
  2. Il codice sorgente è distribuito con l'eseguibile o può essere ottenuto da una fonte accessibile a un prezzo gratuito/ragionevole. Il codice deve essere leggibile.
  3. La versione modificata è distribuita alle condizioni generali. Il nome o il numero di versione potrebbero essere modificati.
  4. Il programma è disponibile per tutti.

Nel 1998 è stato introdotto il concetto di “software open source”. Formalmente, tutto il software libero può essere considerato software open source. È consuetudine classificare i programmi open source come gratuiti, sebbene non sia vietato utilizzarli per scopi commerciali. In genere, è distribuito con la licenza Apache 2.0. Ma ci sono altre opzioni (per maggiori informazioni sulle licenze nel mondo open source, vedere).

Vantaggi di lavorare con progetti open source:

  • questo è un buon materiale educativo
  • non è vietato che le funzioni descritte nel progetto siano integrate nelle vostre applicazioni
  • gli errori rilevati possono essere corretti e il codice corretto inserito nel repository appropriato
  • Durante la compilazione di un programma è consentito apportare modifiche al testo e modernizzarlo per adattarlo a specifiche condizioni di utilizzo.

Screpolatura:

  • la compilazione potrebbe richiedere librerie aggiuntive che dovrai cercare su Internet
  • Se hai domande sull'utilizzo di questo software, dovrai cercare la risposta nei forum su Internet.

Il concetto Open Source si basa sull'aumento dell'affidabilità e della qualità del software rilevando e correggendo gli errori di molti utenti. Il progetto open source viene costantemente testato da un numero enorme di programmatori.

Google implementa ampiamente la tecnologia open source da molto tempo. Tutti i suoi progetti di questo tipo, circa 200 (Kubernetes è stato originariamente sviluppato qui e poi trasferito al gestionale della Cloud Native Computing Foundation), sono disponibili sul portale GOOGLE OPEN SOURCE dell'azienda. La risorsa contiene non solo codici di programma, ma anche documentazione sul loro utilizzo e supporto. L'ampiezza con cui è possibile utilizzare il codice fornito apertamente è indicato nella licenza, solitamente inserita direttamente nel testo del programma.

Apple, aprendo i codici sorgente del linguaggio Swift, sta cercando di aumentare il numero di applicazioni disponibili per Apple. La versione attuale del linguaggio presenta attualmente delle limitazioni: per caricare il tuo sviluppo sull'AppStore, dovrai acquistare Swift con licenza. Tutte le informazioni necessarie per la lingua sono pubblicate sul sito swift.org e nel cloud storage GitHub. Swift è stato rilasciato per Linux.

Shareware

Alcuni programmi distribuiti gratuitamente presentano restrizioni:

  • in base al periodo di lavoro
  • per numero di lanci
  • per funzionalità

Per limitare il periodo di funzionamento e il numero di avvii, viene utilizzata la protezione di prova: contatori speciali. Come software con funzionalità limitate, viene fornita una versione demo o una versione con servizio limitato. A volte lo sviluppatore inserisce pubblicità nel codice del programma, rendendo difficile lavorare con il pacchetto. Per sbarazzarti di un banner pubblicitario dovrai pagare.

Esempi di programmi con licenza shareware:

  • Archiviatore WinRAR (30 giorni)
  • Antivirus Nod32 (30 giorni)

AcrobatReader è un esempio di programma con funzionalità limitate. Questo programma, l'estremità inferiore della suite AdobeAcrobat, consente solo la visualizzazione di file PDF. Per funzionare completamente con questi tipi di file, è necessario acquistare una versione più completa di Acrobat.

I principali sviluppatori forniscono i loro prodotti gratuitamente per uso personale a fini di studio. Se prevedi di utilizzare il loro software per scopi commerciali, devi acquistare una licenza.

Ad esempio, Oracle ti consente di scaricare gratuitamente un kit di distribuzione DBMS e utilità per lavorarci. In questo caso vengono imposte restrizioni sul volume dell'array di dati elaborati. Ma per apprendere i principi di lavoro con un database e praticare l'abilità di scrivere procedure, questa opzione per lavorare con il software è adatta.

Infatti, quando scarichi il “codice sorgente” di un software open source, devi essere disposto a sostenere determinati costi per poterlo utilizzare. Non è necessario acquistare una licenza, ma dovrai pagare per il lavoro dei programmatori che creeranno prodotti software basati su di essa per un'attività specifica.

Conclusioni

Acquistando software a pagamento con licenza, hai automaticamente l'opportunità di contattare lo sviluppatore per il supporto tecnico e aggiornare regolarmente il tuo prodotto secondo necessità. Per installarlo sul tuo computer non è necessario avere conoscenze approfondite nel campo dell'IT.

Quando installi software gratuito, presta attenzione alla data di creazione/aggiornamento e assicurati di controllare la presenza di virus nel software. Tali programmi sono utilizzati sia da specialisti IT che da utenti di PC di vari livelli.

I progetti open source interessano le persone interessate alla programmazione e ai professionisti. Di solito i testi di questi programmi possono essere scaricati gratuitamente. La compilazione di un modulo eseguibile e la creazione dell'ambiente di lavoro necessario richiede determinate competenze da parte di uno specialista IT.

L'indubbio vantaggio dei progetti open source è la loro indipendenza dal fornitore; le grandi aziende preferiscono creare software aziendale basato su di essi; Ciò diventa particolarmente rilevante per le società statali a causa delle possibili difficoltà nell’acquisto di prodotti proprietari a causa delle sanzioni economiche. Un fattore limitante nell'implementazione dell'open source è l'incertezza associata alla sicurezza delle informazioni: potrebbero sorgere problemi durante l'ottenimento della certificazione da parte dell'FSTEC.

LA CAMPANA

C’è chi ha letto questa notizia prima di te.
Iscriviti per ricevere nuovi articoli.
E-mail
Nome
Cognome
Come vuoi leggere La Campana?
Niente spam