Re: [OT] ABI vs. API

Artikeln förklarar skillnaden mellan API (Application Programmer Interface) och ABI (Application Binary Interface). API definieras som källkodsgränssnittet till ett bibliotek, medan ABI är gränssnittet som ses av kompilerad kod, inklusive lågnivådetaljer som byteordning och stackhantering. Kompatibilitet är en viktig aspekt; att lägga till nya funktioner eller element kan bibehålla bakåtkompatibilitet. Bakåtinkompatibla ändringar i ABI kräver att bibliotekets soname ändras, och Debian hanterar detta via shlibs-filer. Att ändra API på ett bakåtinkompatibelt sätt anses generellt vara dåligt då det kräver källkodsändringar från utvecklare, men förekommer i stora bibliotek som GNOME och KDE.