Messages in this thread | | | From | "Khimenko Victor" <> | Date | Thu, 15 Jul 1999 05:29:09 +0400 (MSD) | Subject | Re: [Call For Wartectomy] CRLF conversion out of kernel |
| |
In <19990715002545.A4896@loth.demon.co.uk> Steve Dodd (dirk@loth.demon.co.uk) wrote: SD> On Thu, Jul 15, 1999 at 02:57:02AM +0400, Khimenko Victor wrote:
>> So far noone suggested ANYTHING better then implement-try-and-reimplement >> style of development. Of course you can (and SHOULD) try to avoid as much >> uglyness as possible but in the end story is always the same: something was >> not taked into account when API/driver interaface/cacheing sysbsystem/whatever >> was developed. Better to have well-established way to eliminate obsoleted/ugly >> things in planned fashion then try to keep all accumulated cruft... You MUST >> expect breakage when upgrading from 1.2 to 2.0, from 2.0 to 2.2, from >> 2.2 to 2.4 and so on...
SD> Maybe we could switch to the standard library versioning system, i.e.:
It will be done way the Linus likes most :-)
SD> major.minor.patchlevel
SD> Where patchlevel changes indicate bugfixes only, minor version changes SD> indicate new features but no change to existing APIs, and major version SD> changes happen when you deliberately break existing APIs for cruft SD> clearing.
It's what more-or-less done now. Just patchlevel is used for new features without changes in existing API and minor is changed when more serious changes occurs. What about major... Not know... So far only three (or more like two) major numbers was used. Not enough statistics :-((
SD> Drivers (and driver writers) would then know that code written for Linux SD> e.g. 9.7.43 would work for any future Linux 9.foo.bar kernel, but not for SD> Linux 10.wibble.fish. It might have a minimum required minor version if it SD> relies on a new API introduced.
Oops. Looks like you missed something: drivers are NOT uses published and mantained API ! Userspace programs uses published API. Drivers are tied to particular version of kernel (more or less) and it's internals. You MUST NOT expect usability of driver for 9.7.43 in 9.for.bar (let alone 10.wibble.fish :-)...
Source-level compatibility is maintained more-or-less but binary drivers should not survive even minimal changes in version number. They can (it happens sometimes and it's amazing :-) but it's just luck not planned feature. That's why binary drivers are "second-class citiziens" BTW :-)
SD> At the moment it seems there's no technical reason whether a new release SD> gets a minor version or a full major version bump; it's more a PR thing -- SD> 2.0 was a lot different from 1.2, but then 2.4 will be a lot different from SD> 2.2 (esp. for SMP people), but I doubt it will become Linux 3.0, somehow.
I'm not know when new major number is used, but all other parts are clear...
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |