Avatud lähtekoodiga C-kompilaator on tarkvara, mis on mõeldud inimloetava programmeerimiskoodi muutmiseks kahendkoodiks, mida konkreetne arvutisüsteem saab natiivselt käivitada. Programmeerimiskeel C ja kompilaatorid püüavad olla platvormist sõltumatud, võimaldades programmeerimisparadigmat kirjutada üks kord ja käivitada kõikjal. See saavutatakse, võttes inimloetavad lähtefailid ja kompileerides need uuesti kompilaatoriga iga süsteemi jaoks, milles koodi saab käitada. Avatud lähtekoodiga C-kompilaatorite arendamine on toonud kaasa tugeva valiku professionaalse taseme kompilaatoreid, mida täiustatakse peaaegu pidevalt.
Avatud lähtekoodiga C-kompilaator erineb kaubanduslikult saadavast tarkvarast selle poolest, et selle loob ja haldab tasuta töötav arenduskogukond. Peaaegu kõik kogukonna liikmed võivad proovida anda soovitusi parendusteks. Lisaks tehakse kompilaatori lähtekood tasuta kättesaadavaks kõigile, kes soovivad luua kompilaatori variandi või kellel on soov seda koodi uurida.
Avatud lähtekoodiga C-kompilaatori üheks tunnuseks on see, et arenduskogukonna liikmed on sageli erineva tehnilise taustaga. Paljud inimesed kasutavad korraga mitut operatsioonisüsteemi. See mitmekesisus aitab väljatöötatud C-kompilaatoreid ajakohastada, nii et jõudlus kõigil platvormidel on ühtlane. Erinevalt mitteavatud lähtekoodiga kompilaatoritest, mis sihivad sageli ühte kindlat operatsioonisüsteemi, on avatud lähtekoodiga C-kompilaatorid loodud algusest peale sihtima mitmesuguseid süsteeme.
Teine avatud lähtekoodiga C-kompilaatori aspekt on see, et kogukond on sageli väga suur. Lisaks neile, kes tegelikult kompilaatori koodi kirjutavad, on ka testijaid ja lõppkasutajaid, kes saadavad veateateid ja täiustustaotlusi. See pidev tegevus võimaldab üht kompilaatorit täiustada ja korraga lisada mitmeid funktsioone.
Kõik avatud lähtekoodiga projektid ei ole siiski lõpuni viidud. On projekte, mida programmeerimisringkond on tugevalt alustanud ja heaks kiitnud, kuid need on siiski maha jäetud ja kunagi lõpetatud. Mõnikord tekib ka probleem, mille puhul tegelik programmiarendus ületab dokumenteerimise ja testimise jõupingutused. Mõnikord on see arenduskogukonna tulemus, mis on kasvanud liiga suureks, et seda tõhusalt juhtida.
Üks tugev motivatsioon avatud lähtekoodiga C-kompilaatori arendamisel on see, et seda kasutatakse väga sageli platvormina muu avatud lähtekoodiga tarkvara kirjutamiseks. Sel moel on avatud lähtekoodiga kogukonnal tervikuna suur huvi näha stabiilset kompilaatorit individuaalseks kasutamiseks. Kuigi kõigil kompilaatoritel võivad olla erinevad funktsioonid ja võimed, vastavad nad üldiselt välja antud C-keelestandarditele.