Linux (ydin)
Kehitysprosessi

Torvalds johtaa edelleen Linuxin ohjelmointityötä. Linux on avoimen lähdekoodin ohjelmisto ja siihen voi kuka tahansa tehdä muutoksia. Mikäli haluaa omat muutoksensa Linuxin viralliseen versioon, ne tulee toimittaa Linux Kernel -postituslistalle, jolloin ohjelmakoodi kulkee Torvaldsin tai hänen luottohenkilöidensä kautta. Muutoksella on oltava sen tekijän allekirjoitus (Signed-off-by) ja se on toimitettava katselmoitavaksi asiaan liittyville henkilöille, joiden hyväksyntä tarvitaan muutoksen etenemiseksi ytimeen liittämiseen. Ytimen kehitysmallissa ”portinvartijoina” toimivat alijärjestelmien ylläpitäjät lähettävät Torvaldsille muutoksia pääsarjan ytimeen liitettäväksi.
Kehitysprosessin ohjeet seuraavat ytimen lähdekoodien mukana ja sisältävät joukon esimerkkejä hyvistä ja huonoista kehitystavoista.
Ytimen kehitysprosessia käsitellään Eric S. Raymondin esseessä The Cathedral and the Bazaar, jossa sitä käytetään esimerkkinä ”basaarimallista” (vastakohtana ”katedraalimallille” kuten GNU Emacsin kehityksessä). Kehitysprosessia on kuvattu jatkuvan kehityksen mallina (engl. perpetual development), jota käytetään myös useissa muissa (pääasiassa avoimen lähdekoodin) ohjelmistoprojekteissa.
Ytimen version 2.6 kehityksen aikana Torvalds ja Andrew Morton yhdistivät ytimeen muutoksia 10 MB kuukaudessa. Versioon 4.11 otettiin mukaan 12 546 muutosjoukkoa ja ydin kasvoi lähes 300 000 rivillä ohjelmakoodia. Vuosien 2011 – 2012 aikana (ytimen versiot 3.1.0 – 3.5.0) ytimeen tehtiin päivittäin 10 600 uutta riviä, 8 100 riviä poistettiin ja 2 250 riviä muutettiin. Muutoksia tuli 6,03 per tunti.
Kesällä 2015 ytimen versiossa 4.1 oli yli 19,5 miljoonaa lähdekoodiriviä. Linux-ytimen uudelleenkehittämisen arvosta on esitetty useita arvioita: maaliskuussa 2011 sen arvioitiin olevan 3 miljardia Yhdysvaltain dollaria ja kasvavan.
Linux Foundationin julkaiseman raportin mukaan kehitykseen on osallistunut yli 13 500 kehittäjää yli 1 300 yrityksestä. Ytimen kokoon vaikuttaa kaikki sen tukemat arkkitehtuurit ja laitteisto jota se tukee: Greg Kroah-Hartmanin mukaan keskimääräinen kannettava tietokone käyttää noin 2 miljoonaa koodiriviä 5 000 tiedostosta toimiakseen kunnolla.
Ydin on toteutettu pääasiassa C-kielellä. Torvaldsin mukaan vaikeat ongelmat ytimen kehityksessä eivät ratkea ohjelmointikieltä vaihtamalla. Isoimmat ongelmat ovat tyypillisesti laitteistotuessa kuten laiteajurit ja alustakohtaiset erot. Eräät henkilöt ja projektit ovat pyrkineet kehittämään tukea C++:lla toteutetuille moduuleille mukaan lukien ajonaikaisen kirjaston, poikkeuskäsittelyn ja RTTI-tyyppimekanismin lisäämisen sekä pinon käsittelyn muutoksia. C++:n käytössä käyttöjärjestelmän ytimessä on ongelmakohtia, joita neuvotaan välttämään. Ytimeen on lisätty tukea Rust-kielellä ohjelmointiin asteittain ytimen versiosta 6.1 alkaen. Ytimessä käytetään myös kääntäjien tukemia laajennuksia toimintoihin, jotka eivät ole kielen standardissa.
Torvalds on vahvan staattisen tyyppijärjestelmän kannattaja, jonka johdosta hän aloitti vuonna 2003 sparse-ohjelman kehityksen. Ytimen käyttötapauksissa kääntäjän oma tyyppitarkastus ei ole riittävä.
Ytimen testaamisessa käytetään apuna useita tarkoitukseen kehitettyjä ohjelmia. Ydintä testataan usein eri tavoin eri tavoitteiden kannalta kuten kehittäjätestaus, integraatiotestaus, regressiotestaus ja stressitestaus. Ytimen yksikkötestaamiseen on kehitetty KUnit-kehys.