ABI mutation (was New kernels and old distributions)
Posted Aug 3, 2006 14:34 UTC (Thu) by davecb
In reply to: ABI mutation (was New kernels and old distributions)
Parent article: New kernels and old distributions
I quite understand: I said I was brutally oversimplifying (;-)).
Paul Stachour had an hour-long lecture on the subject, and that
just touched on the easy examples, in structs and RDBMSs.
In practice, the consumer only has a finite period in
which to adopt the new version of the interface, which was
reportedly only two change cycles, and only incompatable
changes, such as completely rewriting the structures used
caused a forced change.
At that point, one was saying exactly that: all of you have to
fix this! The advantage is that they didn't have to fix it
on your schedule. Instead they fixed it on theirs. If they didn't
want to fix it, of course, they could always go out of business (;-))
This ability to schedule disparate teams was the big
value-add: you didn't have to convince everyone in the world
to ship a patch next Tuesday.
Compatible changes, like adding a field to the end (normal
practice), were commonly ignored by consumers who didn't
use the field, but consumers who did could get it added
without forcing all the other consumers to change.
That was the common case, by the way: I'd ask Edsel for something
for one consumer, he'd add it, my code would start using it
and the other consumers wouldn't care.
Finally, I quite agree that there should be a corpus of
kernel coupled sources, maintained either by the kernel
community or, in the case of some hardware, by teams
funded by those vendors. The latter practice is visible in
the Samba team, where committed users of the software have
staff working in or with the core team.
to post comments)