From owner-freebsd-current@FreeBSD.ORG Wed May 28 03:03:14 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3E58A37B401 for ; Wed, 28 May 2003 03:03:14 -0700 (PDT) Received: from mail.gmx.net (imap.gmx.net [213.165.65.60]) by mx1.FreeBSD.org (Postfix) with SMTP id B8A3343F75 for ; Wed, 28 May 2003 03:03:12 -0700 (PDT) (envelope-from mdcki@gmx.net) Received: (qmail 2255 invoked by uid 65534); 28 May 2003 10:03:11 -0000 Received: from pD9E2D193.dip.t-dialin.net (EHLO gmx.net) (217.226.209.147) by mail.gmx.net (mp006) with SMTP; 28 May 2003 12:03:11 +0200 Message-ID: <3ED489A1.6090609@gmx.net> Date: Wed, 28 May 2003 12:04:17 +0200 From: Marcin Dalecki User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.4b) Gecko/20030517 X-Accept-Language: en-us, en, pl, ru MIME-Version: 1.0 To: Harti Brandt References: <200305281147.53271.doconnor@gsoft.com.au> <1054090968.1429.10.camel@boxster> <3ED4294B.4040108@btc.adaptec.com> <1054092793.1429.39.camel@boxster> <3ED4315F.8080709@btc.adaptec.com> <3ED4756C.4090402@gmx.net> <20030528104451.X12305@beagle.fokus.fraunhofer.de> In-Reply-To: <20030528104451.X12305@beagle.fokus.fraunhofer.de> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: Scott Long cc: Q cc: freebsd-current@freebsd.org Subject: Re: policy on GPL'd drivers? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 May 2003 10:03:14 -0000 Harti Brandt wrote: > MD>NO no and again no. This would repeat the same design mistake > MD>that is already in Linux. On API level you DO NOT WANT versioning. > MD>What you really want is: type signature cheking. Like for example > MD>done through C++ symbol mangling rules. If you can't do it like that > MD>then better leave it off as it is. Versioning in itself > > Type signature checking doesn't help you if the semantics of an API change > without type changes. APIs should be semantically and syntactically stable > in -STABLE. In -CURRENT they are expected to change. Managing a 3rd party > driver for current is a nightmare, but may no be necessary once we have a > -STABLE based on FreeBSD5. Sure sure. Perhaps I wasn't clear enough. Versioning doesn't help you *anything* at all, but it is introducing new problems instead. Tons of them in fact, if one looks at the Linux pain in this area. I suggested type signature cheking in C++ style just to show how fundamentally flawed the idea of version cheking is, but I can perfectly life with the situation as it is. Symbol versioning is good to implement "multi-flavoured" single binary objects (glibc uses it this way) and *not* for interface cheking. Again my main point is versioning on the symbol level simply makes no sense and worsens the situation. It's the fundamentally wrong approach to the actual problem. The fact that Linux does something like this is only showing that Alan Cox and Keith Owens didn't get it either and one shouldn't repeat the mistake. No more no less.