Mark H. Wood wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Wed, 1 Mar 2006, Ulf Lamping wrote:
[snip]
stable API/ABI: I don't know, if we need to have a stable API/ABI in a
1.0 release. It's just a matter of fact that this API is changing from
version to version so why do we want to limit ourselves here? The
proposed cleanup steps from Guy are a good idea anyway ...
Warning: semantic difficulties ahead. How do you define "stable"? Some
people read "stable" to mean "no more changes, ever", while others read it
as "long periods with no backward-incompatible changes accepted;
incompatible changes are batched".
I know, but I don't think there's a good reason to have any of this.
As I don't see any way to ensure this API compatibility automatically
(syntax and semantics), maintaining compatibility had to be done by
hand. As I know the development process of Ethereal I would guess that
this just won't work.
The state of the current API is just a bit of a mess (I know a lot of
very bad design in it), so making it stable in it's current state is
certainly a very bad idea.
Doing the changes that Guy mentioned is quite a good idea, but there
would be a lot more to do IMHO before we have a clean API which is
*worth* to be stable ... and that would involve a lot of changes to all
the dissectors. Most notably being able to have multiple dissector
object (capture file) instances in memory.
So it simply doesn't really matter which meaning of stable do you think
of, I would deny both. I feel quite ok with the current plugin API state
of the art :-)
It's just a question of manpower and effort, having a clean API is
obviously a very good idea but might even take years in our current
development pace ...
Regards, ULFL