Is the FreeBSD ABI compatibility policy documented anywhere

Simon L. Nielsen simon at FreeBSD.org
Sat Oct 10 14:28:00 UTC 2009


On 2009.09.24 15:26:34 -0500, Stef Walter wrote:
> It seems that FreeBSD has an ABI compatibility policy where major
> versions remain ABI and API compatible throughout minor point versions.
> That is to say that the kernel interfaces and libraries for (eg)
> 7-STABLE, 7.1-RELEASE, 7.2-RELEASE are not supposed to change.

It's not entirely that simple.  The ABI on a stable branch like 7.x
should be backward compatible, but there isn't a guarantee of forward
compatibility.  IE, 7.0 binary should be able to run on 7.x, but a 7.2
binary might not run on 7.0.  It should be more or less the same with
the API's.

PS. do note that there is no 100% guarantee.  At times the defacto
policy might be violated if there are very good reasons for doing so.
This would e.g. an important fix for something where the changed ABI,
more likely K(kernel)BI, change should affect few people and the
change is required for fixing some important bug.

> Is this a policy of the project? If so, is it documented anywhere? Or is
> it just a convention?

I don't remember seeing it ever documented, just discussed.  What I
wrote above is also just my understanding of curreny defact policy.

-- 
Simon L. Nielsen


More information about the freebsd-hackers mailing list