Open source aperto. Cos’è l’open source e perché è importante per la criptovaluta e la blockchain aperta. Pacchetto software per ufficio aperto

Come vengono creati i programmi per computer

Un programma per computer è un elenco di istruzioni fornite a un computer per fargli eseguire un'attività specifica o una serie di attività. I computer non capiscono l'inglese, quindi i programmatori devono comunicare queste istruzioni al computer in una lingua comprensibile dal computer. I computer, tuttavia, possono funzionare solo con i numeri, il che rende il linguaggio informatico molto difficile da comprendere per gli esseri umani.

La soluzione a questo problema è creare un linguaggio intermedio che possa essere compreso sia dagli esseri umani che dai computer. Questi sono i cosiddetti linguaggi di programmazione. I programmatori creano un elenco di istruzioni per un computer in un linguaggio di programmazione come C, Pascal o Fortran. Questo elenco di istruzioni è noto come codice sorgente. È di natura testuale ed è leggibile dalle persone, coloro che parlano la lingua. I programmatori svolgono tutto il loro lavoro in questo codice sorgente, modificando le istruzioni per correggere bug, aggiungere funzionalità o apportare modifiche aspetto programmi.

Quando un programmatore ritiene di aver perfezionato le istruzioni per il suo programma, utilizza un programma speciale chiamato compilatore per tradurre i suoi testi leggibili dall'uomo in numeri leggibili dalla macchina che corrispondono alle stesse istruzioni. Il file risultante è utilizzabile sui computer, ma incomprensibile per gli esseri umani. Questo è chiamato codice oggetto. Il file eseguibile risultante è spesso chiamato binario, dal nome del sistema numerico utilizzato dal computer. Questa traduzione dal codice sorgente al codice oggetto binario è un processo unidirezionale. Non è possibile ricondurre un eseguibile binario nel codice sorgente.

File eseguibile- cosa ti serve se vuoi avviare e utilizzare il programma. Questo di solito è ciò che otterrai quando acquisti software in pellicola termoretraibile da un negozio al dettaglio. Il codice sorgente è ciò di cui hai bisogno se vuoi capire come funziona internamente il programma o se desideri modificare, aggiungere o migliorare il programma. Se disponi del codice sorgente e del compilatore appropriato, puoi creare un eseguibile binario, ma non è vero il contrario.

Cos'è l'Open Source?

Il software disponibile solo in formato eseguibile binario è proprietario.

Il software open source è un software protetto da copyright distribuito sotto forma di codice sorgente in base a un contratto di licenza che garantisce diritti speciali agli utenti Software, diritti che generalmente sono riservati all'autore. Questa licenza consente a tutti gli utenti di creare e distribuire copie dei file binari e del codice sorgente del software senza il permesso specifico dell'autore. Inoltre, consente agli utenti di modificare il codice sorgente e distribuire copie modificate.

Cosa significa questo

Ti stai chiedendo perché l'Open Source è importante? L'importanza sta nel fatto che qualsiasi programmatore in qualsiasi parte del mondo può visualizzare il codice sorgente, correggere bug, aggiungere nuove funzionalità e personalizzare il sistema senza restrizioni. Questo è il modo in cui Linux è stato progettato fin dall'inizio, ed è per questo che Linux è un sistema molto stabile con pochi bug, un ampio supporto hardware e un set di funzionalità che sta crescendo così rapidamente da ingelosire i fornitori di sistemi operativi proprietari. Il fatto che il codice sorgente sia disponibile per la revisione da parte di esperti di tutto il mondo garantisce che eventuali problemi vengano individuati e risolti rapidamente e che le correzioni possano essere distribuite senza restrizioni. Questo è molto più efficiente ed efficace che fare affidamento su un'azienda per inserire un "pacchetto di aggiornamento" da qualche parte nel suo fitto programma di rilascio. Dopotutto, non vengono pagati per i pacchetti di aggiornamento.

Ciò che conta davvero è che il software open source appartenga alla comunità. È un software gestito da una comunità di persone (o aziende) che lo utilizzano. È disponibile gratuitamente su Internet e chiunque può utilizzarlo. Ancora più importante, gli utenti sono incoraggiati a migliorarlo. Condividendo i nostri miglioramenti e le nostre idee, collegando le nostre risorse con migliaia e persino milioni di persone in tutto il mondo tramite Internet, la comunità open source può creare software potente, stabile e affidabile a un costo minimo.

Ma la comunità open source è molto più che semplici persone che scrivono software. Tutti coloro che utilizzano il software partecipano a una vera comunità e hanno voce in capitolo. Non è necessario essere un programmatore. Segnalando semplicemente un bug all'autore del programma o scrivendo un semplice articolo informativo, contribuirai alla comunità e aiuterai a migliorare il software. Il software open source è scritto, documentato, distribuito e gestito dalle persone che lo utilizzano. Ciò significa che è sensibile alle tue esigenze, non alle esigenze dell’azienda che cerca di vendertelo.

Naturalmente, anche molte aziende contribuiscono al software open source, mettendo il proprio lavoro a disposizione dell'intera comunità perché conoscono i vantaggi dell'Open Source. Il software supportato da un'intera comunità è intrinsecamente migliore e più stabile e sempre più aziende stanno iniziando ad apprezzare questo fatto.

Il punto è che il software open source è scritto da persone che lo usano ogni giorno, persone che hanno un interesse particolare a farlo funzionare e a farlo funzionare bene. Non stanno cercando di aggiungere funzionalità di moda, stanno cercando di aggiungere qualità. Non spendono tempo e denaro cercando di convincere le persone che il loro software è eccezionale, li spendono cercando di rendere eccezionale il loro software.

Risorse

"Open Source" è una frase registrata che descrive le licenze software che soddisfano la definizione Open Source. Il marchio è gestito dalla Open Source Initiative, l'organizzazione collaborativa che ha lanciato Linux e il movimento del software libero. Solo il software che soddisfa i criteri descritti nella definizione di open source può definirsi open source.

Molto prima che il termine "open source" entrasse in uso, esisteva una comunità di persone impegnate nell'idea di "Software Libero", una frase che si riferisce non al costo ma alla libertà di usarlo e modificarlo (si pensi alla libertà come in "libertà di parola" e non "birra gratis"). Questa comunità continua a promuovere attivamente gli ideali del software libero. Per saperne di più, puoi visitare la Free Software Foundation https://www.fsf.org/.

Per uno sguardo approfondito su come e perché viene sviluppato il software open source, leggi l'eccellente saggio di Eric S. Raymond "La cattedrale e il bazaar".

Se stai considerando un software open source per la tua azienda, dovresti visitare The Open Source Initiative per saperne di più. Dai comunque un'occhiata e scopri come la comunità open source può migliorare la stabilità, la scalabilità e la potenza della tua azienda riducendo effettivamente i costi.


La maggior parte del software utilizzato è distribuito in forma compilata. Ciò significa che il codice sorgente di tali programmi passa attraverso uno speciale compilatore che lo converte in un linguaggio comprensibile al computer. A sua volta, il software che utilizza fonte aperta, è l'esatto contrario.

Tale codice, di regola, viene distribuito insieme alla versione compilata del programma, che consente di modificarlo o migliorarlo in ogni modo possibile per eseguire una gamma più ampia di attività. Gli sviluppatori di tali programmi ritengono che nel tempo il codice open source consentirà al prodotto software di diventare più utile e liberarlo da un gran numero di errori.

Esistono diversi criteri di ammissibilità per i programmi open source:

  • distribuzione gratuita del pacchetto software, ma allo stesso tempo può far parte di un progetto commerciale;
  • allegato obbligatorio del codice sorgente;
  • la possibilità per chiunque di modificare il codice sorgente;
  • la capacità di distribuire versioni modificate dei programmi;
  • Non dovrebbe esserci alcun obbligo di escludere altri software o di interferire con il loro funzionamento.

Diamo un'occhiata a uno degli esempi più sorprendenti di software che accompagna il codice open source e ha ottenuto una distribuzione mondiale. All'inizio degli anni '90 del secolo scorso, lo studente finlandese Linus Torvalds sviluppò un metodo completamente nuovo sistema operativo, basato su Unix, oggi conosciuto come Linux. Il sistema è stato rilasciato con un contratto di licenza Licenza pubblica generale GNU, che ha fornito una definizione giuridica di open source. Abbastanza un gran numero di i programmatori iniziarono a utilizzare e migliorare questo sistema operativo. Dopo aver raccolto in un unico insieme i miglioramenti dei programmatori di tutto il mondo, nel 1994 Linus Torvalds ha rilasciato la versione 1.0 di Linux. Prima di ciò, la numerazione delle versioni veniva effettuata partendo da zero.

Nel corso del tempo è emersa una certa preoccupazione generale tra i consumatori riguardo alla mancanza di garanzia, nonché di supporto tecnico per tali software. Pertanto, Red Hat Software crea un pacchetto software ufficiale, Official Red Hat Linux, che riesce a vendere. La caratteristica più significativa di un sistema operativo così commercializzato era disponibilità di garanzia e supporto tecnico, cosa non meno importante.

Anche diverse altre società stavano sviluppando nuove versioni di Linux da vendere, e questi pacchetti lo erano inoltre dotato di vari software, tra cui: il browser Internet Mozilla realizzato sul kernel Netscape, il server web Apache, il linguaggio per la preparazione degli script web Perl, il formato grafico File PNG e molti altri. Inoltre esistono versioni dei pacchetti software elencati sviluppate per la sala operatoria. Sistemi Windows eAndroid. Ciò suggerisce che i programmi open source sono disponibili non solo per i computer, ma anche per i dispositivi mobili.

Per riassumere, vale la pena dire che i programmi forniti con il loro codice open source presentano una serie di svantaggi. Prima di tutto questo varietà di versioni, per cui la modifica di un programma può portare alla creazione di un nuovo pacchetto software indipendente. La seconda cosa da sottolineare è utilizzo dell'utente programmi obsoleti , in cui alcuni errori potrebbero non essere eliminati, non è possibile lavorare con nuovi formati di file e così via. Un esempio di tale caso è il programma Microsoft Word e Ufficio aperto. Se nel primo pacchetto è scritta una formula complessa, il secondo semplicemente non sarà in grado di leggerla.

Anche tra i software open source non esistono i cosiddetti pacchetti speciali progettato per la contabilità e il reporting. Un altro inconveniente è direttamente correlato all'hardware; il fatto è che quando si passa da Windows a Linux, è necessario tenere presente che non esistono driver Linux per tutti i modelli di dispositivi informatici, il che causerà il malfunzionamento del sistema.

Tuttavia, non dimentichiamoci degli aspetti positivi di tale software, perché l'open source ha molti vantaggi. Innanzitutto, tutto il software open source è distribuito gratuito. In secondo luogo, tale i programmi a volte appaiono molto più veloci commerciale a causa del fatto che diverse migliaia di persone sono coinvolte nello sviluppo contemporaneamente e non tutte le aziende sono in grado di pagare il lavoro di diverse migliaia di programmatori. L'ultima cosa da notare riguarda capacità di risolvere rapidamente gli errori, rendendo i programmi open source più stabili di quelli commerciali.

Il software open source (OSS) è un software per computer distribuito con il codice sorgente disponibile per la modifica. In genere il software include una licenza che consente ai programmatori di modificare il software in qualsiasi modo. Possono correggere bug, migliorare funzionalità o adattare il software in base alle proprie esigenze. L'Open Source Initiative (OSI) è l'organismo leader nel campo degli OSS; la loro definizione di software open source soddisfa le regole secondo 10 criteri.

Questi includono:

  • Distribuzione del software
  • Disponibilità del codice sorgente
  • Distribuzione delle licenze
  • Proprietà della licenza
  • Antidiscriminazione

Licenze

Licenze diverse consentono ai programmatori di modificare il software in condizioni diverse. L'OSI approva le licenze che soddisfano la loro definizione di software open source. 5 delle licenze più popolari secondo la knowledge base di Black Duck:

  1. Licenza del MIT
  2. Licenza pubblica generale GNU (GPL) 2.0
  3. Licenza Apache 2.0
  4. Licenza pubblica generale GNU (GPL) 3.0
  5. Licenza BSD 2.0 (3 clausole, nuova o rivista)

Quando modifichi il codice sorgente, uno dei requisiti dell'OSS è includere ciò che hai modificato insieme ai tuoi metodi. Il software creato dopo la modifica del codice può essere freeware o freeware.

Differenza tra software open source e commerciale

Il software disponibile in commercio o il software proprietario non fornisce l'accesso al proprio codice sorgente perché il software è estraneo proprietà intellettuale.

Di conseguenza, gli utenti spesso pagano per questo.

L'OSS, d'altro canto, è uno sforzo collaborativo: il software è una proprietà intellettuale condivisa tra tutti coloro che hanno contribuito a svilupparlo o modificarlo.

Software open source vs. Software gratis

Contrariamente alla credenza popolare, nessuno di loro si concentra sui costi o sugli svantaggi di questi programmi.

L'Open Source implica la libera disponibilità del codice sorgente e della distribuzione. Il software libero, allo stesso modo, implica la modifica del codice, ma sottolinea che agli utenti a cui piace il software libero piace fare ciò che vogliono. La Free Software Foundation stabilisce 4 condizioni affinché il software possa essere considerato completamente libero.

Inoltre, il software può essere classificato come freeware. Ciò significa che gli utenti scaricano il software gratuitamente, ma non possono apportare alcuna modifica al codice sorgente.

Vantaggi del software open source

Sebbene il costo sia la forza trainante, l’OSS presenta numerosi vantaggi aggiuntivi:

  • Risultati di alta qualità quando il codice sorgente viene condiviso, testato e corretto.
  • Questa è una preziosa opportunità di formazione per i programmatori. Possono apprendere e applicare competenze ai programmi più popolari oggi disponibili.
  • Molte persone considerano il software open source più sicuro del software proprietario perché i bug vengono identificati e risolti rapidamente.
  • Poiché il software open source è di dominio pubblico, ci sono poche possibilità che diventi non disponibile. Questo è importante per i progetti a lungo termine che si basano su questi strumenti per tutta la durata del progetto.
  • La maggior parte del software è gratuita. Tuttavia, in seguito potrebbero verificarsi dei costi, come abbonamenti o commissioni di supporto.

Tipi popolari di software open source

Le tecnologie open source hanno contribuito a creare gran parte di Internet.

Inoltre, molti dei programmi che tu ed io utilizziamo ogni giorno sono basati su tecnologie open source. Ad esempio, il sistema operativo Android e Apple OS X sono basati rispettivamente sul kernel e sull'open source Unix/BSD.

Altri popolari software open source:

  • programma di navigazione in rete Mozilla Firefox
  • Client di posta elettronica Thunderbird
  • Linguaggio di scripting PHP
  • Linguaggio di programmazione Python
  • Server Web Apache
  • > Open Source e sviluppatori

I progetti OSS sono opportunità di collaborazione che migliorano le competenze e creano connessioni sul campo. Gli sviluppatori devono essere esperti negli strumenti di sviluppo open source standard.

Mezzi di comunicazione

  • - E-mail, messaggistica in tempo reale, forum e wiki aiutano gli sviluppatori a trovare soluzioni o a scambiarsi idee. Sistemi di controllo di versione distribuiti
  • - Quando più sviluppatori in diverse posizioni geografiche modificano dati e file, questi sistemi gestiscono versioni e aggiornamenti diversi. Monitoraggio dei bug ed elenchi di attività
  • - Consentire a progetti su larga scala di monitorare i problemi e tracciarne le soluzioni. Strumenti di test e debug
  • - Automazione dei test durante l'integrazione del sistema e il debug di altri programmi. Conclusione

Migliaia di progetti open source forniscono un'alternativa al software proprietario. Lavorare a un progetto OSS come percorso verso una carriera nello sviluppo di software. Inoltre, i programmatori possono affinare le proprie competenze lavorando su alcuni dei più grandi prodotti software al mondo. Facebook, Google e LinkedIn come Open Source in modo che gli sviluppatori possano condividere conoscenze, implementare soluzioni e contribuire a prodotti stabili e funzionali.

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ò, sono sempre più presenti i cosiddetti programmi “Open Source”. mondo moderno. 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. Browser Mozilla Firefox e Google Chrome sono anche 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 del classico 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 Mac OS 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 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.

Anche sotto fonte aperta spesso mimetizzato malware, distinguerli dai software veramente sicuri a volte può essere molto difficile.

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.