Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Oct 2009 16:27:58 +0200
From:      "Simon L. Nielsen" <simon@FreeBSD.org>
To:        stef@memberwebs.com
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Is the FreeBSD ABI compatibility policy documented anywhere
Message-ID:  <20091010142758.GB1225@arthur.nitro.dk>
In-Reply-To: <4ABBD5FA.5070507@memberwebs.com>
References:  <4ABBD5FA.5070507@memberwebs.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091010142758.GB1225>