Odprta arhitektura se v zvezi z računalniškim programiranjem nanaša na sistem strojne opreme, omrežje ali celo programsko opremo, ki jo lahko uporabniki razširijo, da zagotovi novo ali razširjeno funkcionalnost. Ko gre za programsko opremo, odprta arhitektura pomeni, da je program, medtem ko deluje samostojno, na voljo bodisi celotna izvorna koda programa bodisi razvojni komplet, tako da lahko uporabniki prepišejo dele programske opreme ali razvijejo vtičnike in razširitve, ki omogočajo program za izvajanje novih nalog. Računalniški ali drug sistem strojne opreme, ki uporablja odprto arhitekturo, je običajno zgrajen tako, da lahko uporabniki spreminjajo, odstranijo ali nadgrajujejo komponente znotraj sistema. Prav tako omogoča uporabnikom, da dodajo dodatno strojno opremo ali spremenijo elemente sistema, da povečajo, kaj lahko naredi stroj, ali da ga poenostavijo za eno nalogo. Sistem ali del programske opreme, ki je nastavljen in ga ni mogoče spreminjati, je znan kot uporaba zaprte arhitekture, lahko pa se imenuje tudi lastniški sistem.
Ena od značilnosti uporabe odprte arhitekture je, da je sistem ali programsko opremo, ki jo prejme končni uporabnik, mogoče videti bolj kot generično orodje. Če se potrebe uporabnika ali podjetja spremenijo, se lahko strojna ali programska oprema spremeni tako, da ostane ustrezna, ne da bi bilo treba popolnoma odstraniti celoten sistem, ki je že vzpostavljen. Glede na vrsto sistema, kot je omrežje ali operacijski sistem, je mogoče v celoti spremeniti osnovno delovanje, da se prilagodi razvijajočim se tehnologijam ali novim poslovnim paradigmam. To je lahko še posebej pomembno za računalnike in omrežno strojno opremo, kjer je mogoče komponente redno nadgrajevati, ko tehnologija napreduje, ne da bi uničili obstoječi okvir, ki je že nameščen.
Koncept odprte arhitekture je nastal z razvojem sistemov, ki so bili popolnoma zaprti. Najzgodnejše vrste sistemov niso ponujale načina za nadgradnjo komponent, programska oprema pa ni imela vzpostavljenega mehanizma za razširitve. Ti lastniški sistemi so imeli omejeno uporabo in so z naraščanjem hitrosti napredovanja postajali vse hitreje zastareli.
Čeprav v računalniški industriji še vedno obstajajo primerni sistemi, mnogi od teh sistemov ponujajo možnost nadgradnje ali razširitve osnovne funkcionalnosti. Za razliko od sistema odprte arhitekture, pri katerem bi lahko več ponudnikov zagotovilo različne in konkurenčne nadgradnje, so lastniške nadgradnje običajno na voljo samo pri proizvajalcu sistema in lahko zahtevajo visoko ceno za dostop. Zanašanje na enega samega proizvajalca kot vir za vse dele, vtičnike in nadgradnje sistema je eden od razlogov, zakaj je odprta arhitektura prednost pred lastniškimi sistemi v obsežnih aplikacijah.