Arhitectura deschisă, în relație cu programarea computerelor, se referă la un sistem hardware, o rețea sau chiar un software care poate fi extins de către utilizatori pentru a oferi funcționalități noi sau extinse. Când aveți de-a face cu software, arhitectura deschisă înseamnă că, în timp ce un program funcționează singur, fie întregul cod sursă al programului, fie un kit de dezvoltare este disponibil, astfel încât utilizatorii să poată rescrie părți ale software-ului sau să dezvolte pluginuri și extensii pentru a permite program pentru a efectua noi sarcini. Un computer sau alt sistem hardware care utilizează arhitectura deschisă este de obicei construit astfel încât utilizatorii să poată schimba, elimina sau actualiza componentele din sistem. De asemenea, permite utilizatorilor să adauge hardware suplimentar sau să modifice elemente ale sistemului pentru a crește ceea ce poate face o mașină sau pentru a o simplifica pentru o singură sarcină. Un sistem sau o bucată de software care este setat și nu poate fi modificat este cunoscut ca folosind arhitectură închisă, dar poate fi numit și sistem proprietar.
Una dintre caracteristicile utilizării arhitecturii deschise este că sistemul sau software-ul pe care îl primește un utilizator final poate fi văzut mai mult ca un instrument generic. Dacă nevoile unui utilizator sau companie se schimbă, atunci hardware-ul sau software-ul pot fi schimbate pentru a rămâne relevante, fără a fi nevoie să eliminați complet un întreg sistem care este deja în vigoare. În funcție de tipul de sistem, cum ar fi o rețea sau un sistem de operare, poate fi posibilă schimbarea completă a funcționării de bază pentru a se adapta tehnologiilor în evoluție sau noilor paradigme de afaceri. Acest lucru poate fi deosebit de important pentru computere și hardware de rețea, unde componentele pot fi actualizate în mod regulat pe măsură ce tehnologia avansează, fără a distruge un cadru existent care a fost deja instalat.
Conceptul de arhitectură deschisă a apărut din dezvoltarea unor sisteme care erau complet închise. Cele mai vechi tipuri de sisteme nu ofereau nicio modalitate de a actualiza componentele, iar software-ul nu avea niciun mecanism pentru extensii. Aceste sisteme proprietare au avut o utilizare limitată și, pe măsură ce ritmul progreselor a crescut, au devenit învechite din ce în ce mai repede.
Deși există încă sisteme de proprietăți utilizate pe scară largă în industria computerelor, multe dintre aceste sisteme oferă posibilitatea de a actualiza sau extinde funcționalitatea de bază. Spre deosebire de un sistem cu arhitectură deschisă, în care mai mulți furnizori ar putea oferi upgrade-uri diferite și competitive, upgrade-urile proprietare sunt de obicei disponibile numai prin producătorul sistemului și pot impune un preț ridicat pentru acces. Dependența de un singur producător ca sursă pentru toate piesele, plug-in-urile și upgrade-urile unui sistem este unul dintre motivele pentru care arhitectura deschisă este favorizată față de sistemele proprietare în aplicațiile la scară largă.