[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Guile release planning
From: |
Neil Jerram |
Subject: |
Re: Guile release planning |
Date: |
Sun, 16 Nov 2008 00:03:05 +0000 |
2008/11/11 Ludovic Courtès <address@hidden>:
>
> Your note doesn't take binary compatibility into account, and I think
> it's an important thing, too. I think the ideal is to maintain binary
> compatibility within a major series, as we've done (or tried to do) in
> the 1.8.x series.
(And Andy wrote "I think it needs to be guaranteed.")
But this isn't obvious to me. _If_ the libtool versioning system
works in practice, in the senses of
- permitting linking when it ought to be permitted
- failing linking when it ought to fail
- providing a clear error message in the failure cases, so that the
user knows what to do next
then it seems to me that a reasonable division of labour is for us
(upstream) to take care of API compatibility, and ensuring that the
libtool numbers are a correct description of ABI state, and for
distributions/users to take care of any consequences of mismatched
libtool numbers.
I think the latter "consequences" are just having to recompile
something against the new libguile version. For a user who has
already decided to use the source code version of an application, that
should be trivial; for distributions, that's just what they do all the
time, isn't it?
Are there other consequences that I'm missing?
Sure, we could also take on ABI compatibility ourselves, but I think
that overconstrains our development, and/or makes it harder.
> This is very convenient for binary distributions like
> Debian, and for users in general.
Are you sure about that? I would expect Debian already to have
completely automatic ways of coping with this kind of thing (i.e.
libtool numbers changing). And I've described what I think the impact
on users is above; seems quite small to me.
> I think enhancements like the lazy symbol binding in modules
> could have been in theory added in 1.8.x since it breaks neither the API
> nor the ABI.
Agreed; and I think they still can be added in 1.8.x.
> Things like `libguile-i18n' could have been added too, but
> the issue when adding C code is portability: it may be that this module
> would have caused build issues on some platforms. Now, with more
> frequent releases, it would be reasonable to hope that such regressions
> would quickly be fixed.
Agreed, I think we can handle this.
> Another thing is actual big jumps. I think the addition of the VM is a
> big jump.
Yes, but it's an addition. As far as I understand, it's completely
back-compatible, so I would be perfectly happy to feed this in to
1.8.x at some point.
Of course, we should take care that we are 99% happy with the new APIs
before releasing them, as it wouldn't be good to make lots of changes
later. But that's no different from the first public release of
anything - in my view, it should work much better for us to come to
this determination feature-by-feature, than to say arbitrarily at some
point "everything in master" is now ready.
> A GC change, or a rewrite of the string/char code with
> Unicode support would be a big jump, too. Such big jumps surely need a
> new major release.
Not necessarily, in my view. We have an extensive test suite, and I
think we can have some confidence in that. After sufficient testing,
I would see no problem with your proposed BDW-GC changes going into a
1.8.x release.
Same for Unicode support - if the API stayed compatible. If the API
could not be compatible, then I would agree that we might need a new
major release.
> BTW, we need to consider releasing 1.8.6 one of these days! ;-)
Yes. Do we have any particular more things to get into this? (I
don't think I have anything.)
Neil
Re: Guile release planning, Ludovic Courtès, 2008/11/11
- Re: Guile release planning,
Neil Jerram <=
Re: Guile release planning, Sebastian Tennant, 2008/11/11
Re: Guile release planning, Han-Wen Nienhuys, 2008/11/11