Otvorena arhitektura, u odnosu na računalno programiranje, odnosi se na hardverski sustav, mrežu ili čak softver koji korisnici mogu proširiti kako bi pružili novu ili proširenu funkcionalnost. Kada se radi o softveru, otvorena arhitektura znači da, dok program radi samostalno, dostupan je ili cijeli izvorni kod programa ili razvojni komplet kako bi korisnici mogli prepisati dijelove softvera ili razviti dodatke i proširenja kako bi omogućili program za obavljanje novih zadataka. Računalni ili drugi hardverski sustav koji koristi otvorenu arhitekturu obično je konstruiran na način da korisnici mogu mijenjati, uklanjati ili nadograditi komponente unutar sustava. Također omogućuje korisnicima da dodaju dodatni hardver ili modificiraju elemente sustava kako bi povećali ono što stroj može učiniti ili ga usmjerili prema jednom zadatku. Sustav ili dio softvera koji je postavljen i ne može se mijenjati poznat je kao korištenje zatvorene arhitekture, ali se također može nazvati vlasničkim sustavom.
Jedna od značajki korištenja otvorene arhitekture je da se sustav ili softver koji prima krajnji korisnik može promatrati više kao generički alat. Ako se potrebe korisnika ili tvrtke promijene, tada se hardver ili softver može promijeniti kako bi ostao relevantan bez potrebe potpunog uklanjanja cijelog sustava koji je već uspostavljen. Ovisno o vrsti sustava, kao što je mreža ili operativni sustav, moguće je u potpunosti promijeniti osnovno funkcioniranje kako bi se prilagodile tehnologijama koje se razvijaju ili novim poslovnim paradigmama. To može biti osobito važno za računala i mrežni hardver, gdje se komponente mogu redovito nadograđivati kako tehnologija napreduje bez uništavanja postojećeg okvira koji je već instaliran.
Koncept otvorene arhitekture proizašao je iz razvoja sustava koji su bili potpuno zatvoreni. Najraniji tipovi sustava nisu nudili način za nadogradnju komponenti, a softver nije imao mehanizam za proširenja. Ovi vlasnički sustavi imali su ograničenu upotrebu i, kako se tempo napretka povećavao, zastarjeli su sve brže.
Iako još uvijek postoje propisni sustavi u širokoj upotrebi u računalnoj industriji, mnogi od tih sustava nude mogućnost nadogradnje ili proširenja osnovne funkcionalnosti. Za razliku od sustava otvorene arhitekture, u kojem nekoliko dobavljača može osigurati različite i konkurentne nadogradnje, vlasničke nadogradnje obično su dostupne samo preko proizvođača sustava i mogu zahtijevati visoku cijenu za pristup. Oslanjanje na jednog proizvođača kao izvora za sve dijelove, dodatke i nadogradnje sustava jedan je od razloga zašto se otvorena arhitektura preferira u odnosu na vlasničke sustave u aplikacijama velikih razmjera.