Avoimen lähdekoodin C -kääntäjä on ohjelmisto, jonka tarkoituksena on muuttaa ihmisen luettava ohjelmointikoodi binaarikoodiksi, joka voidaan suorittaa natiivisti tietyn tietokonejärjestelmän avulla. C -ohjelmointikieli ja kääntäjät pyrkivät olemaan alustasta riippumattomia, mikä mahdollistaa ohjelmointiparadigman kirjoittaa kerran, ajaa missä tahansa. Tämä saavutetaan ottamalla ihmisen luettavissa olevat lähdetiedostot ja kääntämällä ne uudelleen kääntäjän kanssa jokaiselle järjestelmälle, jolla koodi voidaan suorittaa. Avoimen lähdekoodin C-kääntäjien kehittäminen on johtanut vankkaan valikoimaan ammattilaistason kääntäjiä, jotka ovat lähes jatkuvassa parantumistilassa.
Avoimen lähdekoodin C -kääntäjä eroaa kaupallisesti saatavista ohjelmistoista siinä, että sen luo ja ylläpitää ilmaiseksi toimiva kehitysyhteisö. Lähes kuka tahansa yhteisössä voi yrittää antaa parannusehdotuksia. Lisäksi kääntäjän lähdekoodi on ilmainen kaikille, jotka haluavat luoda varianttikääntäjän tai jotka haluavat opiskella koodia.
Yksi avoimen lähdekoodin C -kääntäjän ominaispiirteistä on se, että kehitysyhteisön jäsenillä on usein erilainen tekninen tausta. Monet ihmiset käyttävät samanaikaisesti monia käyttöjärjestelmiä. Tämä monimuotoisuus auttaa pitämään kehitetyt C -kääntäjät ajan tasalla, jotta suorituskyky kaikilla alustoilla on yhdenmukainen. Toisin kuin ei-avoimen lähdekoodin kääntäjät, jotka usein kohdistavat tiettyyn käyttöjärjestelmään, avoimen lähdekoodin C-kääntäjät on suunniteltu alusta alkaen kohdentamaan erilaisia järjestelmiä.
Toinen avoimen lähdekoodin C -kääntäjän näkökohta on, että yhteisö on usein erittäin suuri. Niiden lisäksi, jotka todella kirjoittavat kääntäjäkoodin, on myös testaajia ja loppukäyttäjiä, jotka lähettävät virheraportteja ja parannuspyyntöjä. Tämän jatkuvan toiminnan ansiosta yksittäistä kääntäjää voidaan parantaa ja siihen voidaan lisätä useita ominaisuuksia samanaikaisesti.
Kaikki avoimen lähdekoodin hankkeet eivät kuitenkaan näy loppuun asti. On hankkeita, joiden ohjelmointiyhteisö on saanut vahvan alun ja hyväksynnän, mutta jotka on hylätty eikä koskaan saatu päätökseen. Joskus ilmenee myös ongelma, jossa todellinen ohjelman kehitys ylittää dokumentoinnin ja testauksen. Tämä on joskus seurausta kehitysyhteisöstä, joka on kasvanut liian suureksi tehokkaaseen hallintaan.
Yksi vahva motivaatio avoimen lähdekoodin C -kääntäjän kehittämiseen on se, että sitä käytetään hyvin usein alustana muiden avoimen lähdekoodin ohjelmistojen kirjoittamiseen. Tällä tavoin koko avoimen lähdekoodin yhteisö on erittäin kiinnostunut näkemään vakaa kääntäjä henkilökohtaiseen käyttöön. Vaikka itse kääntäjillä voisi olla erilaisia ominaisuuksia ja kykyjä, ne noudattavat yleensä julkaistuja C -kielistandardeja.