Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 May 2003 12:04:17 +0200
From:      Marcin Dalecki <mdcki@gmx.net>
To:        Harti Brandt <brandt@fokus.fraunhofer.de>
Cc:        freebsd-current@freebsd.org
Subject:   Re: policy on GPL'd drivers?
Message-ID:  <3ED489A1.6090609@gmx.net>
In-Reply-To: <20030528104451.X12305@beagle.fokus.fraunhofer.de>
References:  <C90CF9CA-9040-11D7-941E-0003937E39E0@mac.com> <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>

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



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