Amennyire rálátok, nagyjából ez a helyzet. Nagyobb struktúrák és a hozzájuk tartozó helperek gondolok itt a socketekre, netdevre, taskra, namespacere, stb. nagyon ritkán módosulnak, vagy ha igen ott elég triviálisan lehet rebasel-ni. Egyik nagyobb, globális változás nemrégről a tasklet leselejtezése a workqueue javára: gyakorlatilag sed s//g szinten cserélhető a dolog, és 5-10 évente egyszer van ekkora változás. Folyamatban a struct page -> folio migrálás ahol csak lehetséges, itt szintén egyértelmű mit mire kell cserélni. Sajnos még triviális cserék is össeadva kiadnak egy olyan fenntartási költséget, amik ellehetetlenítik, hogy egy 5-10 éve írt kernel modul legrisebb kernellel működjön.
Viszont ami egyszer upstream lett, ott sok esetben nagyobb API válrozásokat megoldja más, aki az új API-t javasolja. Az igazi gond nem az instabil API szerintem, hanem a driverekben megbújó bugok és olyan funkciók, amik nincsenek implementálva. Pl. vegyük a WWAN drivert, amihez néhány éve lett generic API, amit már nem csak Intel használ. Ha ennek a drivernek nincs maintainere, akkor hiába jelenik meg például hardveres időbélyegzés funkció és kapcsolódó beállítások az API-ban, nem biztos hogy lesz aki ezt implemetálja az Inteles WWAN driverben. Ettől függetlenül a kártya még működni fog, ahogy eddig, mert olyan változás nem jöhet, ami azt eltöri.