From owner-freebsd-hackers@FreeBSD.ORG Sat Oct 10 14:28:00 2009 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C19D4106566B for ; Sat, 10 Oct 2009 14:28:00 +0000 (UTC) (envelope-from simon@nitro.dk) Received: from mx.nitro.dk (zarniwoop.nitro.dk [83.92.207.38]) by mx1.freebsd.org (Postfix) with ESMTP id 818AA8FC1F for ; Sat, 10 Oct 2009 14:28:00 +0000 (UTC) Received: from arthur.nitro.dk (arthur.bofh [192.168.2.3]) by mx.nitro.dk (Postfix) with ESMTP id 95B8E2D4890; Sat, 10 Oct 2009 14:27:59 +0000 (UTC) Received: by arthur.nitro.dk (Postfix, from userid 1000) id 55D385C05; Sat, 10 Oct 2009 16:27:59 +0200 (CEST) Date: Sat, 10 Oct 2009 16:27:58 +0200 From: "Simon L. Nielsen" To: stef@memberwebs.com Message-ID: <20091010142758.GB1225@arthur.nitro.dk> References: <4ABBD5FA.5070507@memberwebs.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4ABBD5FA.5070507@memberwebs.com> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: freebsd-hackers@freebsd.org Subject: Re: Is the FreeBSD ABI compatibility policy documented anywhere X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Oct 2009 14:28:00 -0000 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