Odprta koda je filozofija, ki nakazuje, da mora biti izvorna koda, ki stoji za nečim, prosto dostopna javnosti. Načelo je nastalo v industriji programske opreme v poznih devetdesetih letih prejšnjega stoletja z več izdajami odprtokodne programske opreme in operacijskih sistemov, od takrat pa se je razširilo tudi v druge skupnosti. Obstajajo številni močni argumenti za izdajo nečesa v odprti obliki, pa naj bo to posnetek, programsko orodje ali celoten operacijski sistem.
Glavna prednost objavljanja nečesa na ta način je, da končnim uporabnikom omogoča neposredno interakcijo z virom in ga potencialno spreminja glede na svoje želje. To spodbuja stalen razvoj in inovacije, hkrati pa ustvarja skupnost skupnih informacij. Mnoga podjetja, ki proizvajajo odprtokodne izdelke, se zanašajo na inovacije uporabnikov za razširitev funkcij ter odkrivanje in popravljanje potencialnih šibkih točk, ta podjetja pa aktivno spodbujajo modifikacijo svojih izdelkov.
Obstajajo različne ravni odprte kode. V nekaterih primerih ima lahko izdaja na primer določene omejitve, v tem primeru nekateri ljudje raje uporabljajo izraz »skupni vir« ali »skupna skupna lastnina«. Nekdo lahko na primer izda posnetek v odprtokodni obliki, vendar prosi ljudi, naj ne dobijo koristi od njihove preoblikovanja albuma. Mnogi zagovorniki filozofije odprte kode imajo raje resnično brezplačne predmete, ki ljudem omogočajo, da z izvorno kodo in končnim izdelkom počnejo, kar hočejo.
Nekateri ljudje zmotno verjamejo, da je vse odprtokodno gradivo tudi samodejno brezplačno. To pravzaprav ni tako. Več podjetij proizvaja odprte izdelke, ki zahtevajo, da jih ljudje plačajo, pri čemer pristojbine podpirajo razvoj novih izdelkov in dodatnih funkcij. Prav tako je običajno videti licence skupnega vira za stvari, ki jih ljudje plačujejo. Apple Computer, na primer, izdaja nekaj svoje tehnologije pod odprtimi licencami.
Ta filozofija ima svoje kritike, zlasti v skupnosti intelektualne lastnine. Večina teh kritikov trdi, da je za resnično delovanje razvoja in distribucije potreben močan osrednji organizator in ni nerazumno, da veliki razvijalci pričakujejo nadomestila za svoje delo na projektih. Ko je gradivo resnično odprtokodno, je težko ugotoviti, kako strukturirati takšna nadomestila, kar pogosto vodi do zapletenih težav s skupnimi licencami in omejitvami, ki se nekaterim zdijo moteče.