From owner-freebsd-current@FreeBSD.ORG Thu May 29 04:41: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 47F0B37B401 for ; Thu, 29 May 2003 04:41:14 -0700 (PDT) Received: from haldjas.folklore.ee (Haldjas.folklore.ee [193.40.6.121]) by mx1.FreeBSD.org (Postfix) with ESMTP id 392B443F75 for ; Thu, 29 May 2003 04:41:12 -0700 (PDT) (envelope-from narvi@haldjas.folklore.ee) Received: from haldjas.folklore.ee (localhost [127.0.0.1]) by haldjas.folklore.ee (8.12.3/8.11.3) with ESMTP id h4TBYoBA058855; Thu, 29 May 2003 14:34:50 +0300 (EEST) (envelope-from narvi@haldjas.folklore.ee) Received: from localhost (narvi@localhost)h4TBYc7e058851; Thu, 29 May 2003 14:34:38 +0300 (EEST) Date: Thu, 29 May 2003 14:34:38 +0300 (EEST) From: Narvi To: Marcin Dalecki In-Reply-To: <3ED489A1.6090609@gmx.net> Message-ID: <20030529142915.G40030-100000@haldjas.folklore.ee> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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: Thu, 29 May 2003 11:41:14 -0000 On Wed, 28 May 2003, Marcin Dalecki wrote: > 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. > Uhh... it is not true that versioning does not help anything at all. i'm not sure what type signatures would help you with - knowing that foo(int, void *) still has teh same siganture doesn't tell you anything about what must be passed in as values what assumptions about call order with bar(void *) exist or anything else. > 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. > uhhh... symbol versioning != library versioning and really, in case of glibc is pretty useless, very few if any glibc 2.2 progarms woiuld actually run on a 2.1 system, making it all pretty pointless > No more no less. >