L’architettura aperta, in relazione alla programmazione del computer, si riferisce a un sistema hardware, rete o persino software che può essere esteso dagli utenti per fornire funzionalità nuove o ampliate. Quando si tratta di software, architettura aperta significa che, mentre un programma funziona da solo, è disponibile l’intero codice sorgente del programma o un kit di sviluppo in modo che gli utenti possano riscrivere parti del software o sviluppare plug-in ed estensioni per consentire il programma per eseguire nuovi compiti. Un computer o un altro sistema hardware che utilizza un’architettura aperta è solitamente costruito in modo tale che gli utenti siano in grado di modificare, rimuovere o aggiornare i componenti all’interno del sistema. Consente inoltre agli utenti di aggiungere hardware aggiuntivo o modificare elementi del sistema per aumentare ciò che una macchina può fare o per semplificarla verso una singola attività. Un sistema o un pezzo di software che è impostato e non può essere modificato è noto come utilizzo di un’architettura chiusa, ma può anche essere chiamato sistema proprietario.
Una delle caratteristiche dell’utilizzo dell’architettura aperta è che il sistema o il software che un utente finale riceve può essere visto più come uno strumento generico. Se le esigenze di un utente o di un’azienda cambiano, l’hardware o il software possono essere modificati per rimanere rilevanti senza la necessità di rimuovere completamente un intero sistema già in uso. A seconda del tipo di sistema, come una rete o un sistema operativo, è possibile modificare completamente il funzionamento di base per adattarsi a tecnologie in evoluzione o nuovi paradigmi di business. Questo può essere particolarmente importante per i computer e l’hardware di rete, dove i componenti possono essere aggiornati regolarmente man mano che la tecnologia avanza senza distruggere un framework esistente che è già stato installato.
Il concetto di architettura aperta è nato dallo sviluppo di sistemi completamente chiusi. I primi tipi di sistemi non offrivano alcun modo per aggiornare i componenti e il software non disponeva di alcun meccanismo per le estensioni. Questi sistemi proprietari avevano un uso limitato e, con l’aumentare del ritmo dei progressi, diventavano obsoleti sempre più velocemente.
Sebbene esistano ancora sistemi proprietari ampiamente utilizzati nell’industria informatica, molti di questi sistemi offrono la possibilità di aggiornare o espandere le funzionalità principali. A differenza di un sistema ad architettura aperta, in cui diversi fornitori potrebbero fornire aggiornamenti diversi e competitivi, gli aggiornamenti proprietari sono generalmente disponibili solo tramite il produttore del sistema e possono richiedere un prezzo elevato per l’accesso. La dipendenza da un unico produttore come fonte per tutte le parti, i plug-in e gli aggiornamenti di un sistema è uno dei motivi per cui l’architettura aperta è preferita rispetto ai sistemi proprietari nelle applicazioni su larga scala.