On Sat, Mar 2, 2013 at 5:30 PM, Diego Biurrun <[email protected]> wrote:
> On Sat, Mar 02, 2013 at 05:10:57PM +0100, Reinhard Tartler wrote:
>> On Sat, Mar 2, 2013 at 5:04 PM, Diego Biurrun <[email protected]> wrote:
>> > On Sat, Mar 02, 2013 at 12:46:32PM +0100, Reinhard Tartler wrote:
>> >>
>> >> --- a/doc/developer.texi
>> >> +++ b/doc/developer.texi
>> >> @@ -547,4 +547,107 @@ why the expected result changed.
>> >> +Note that we promise to our users that the resulting shared libraries
>> >> +never break programs that have been @strong{compiled} against previous
>> >> +versions of @strong{Libav} in any case!  However, since from time to
>> >> +time we do change APIs in our libraries that may require adaptations to
>> >> +applications, special care must be taken to not break executables that
>> >> +have been compiled against earlier versions of libav. The necessary
>> >> +steps are best discussed on the @strong{libav-devel} mailing list and
>> >> +may involve bumping the major version of the library or adjustments to
>> >> +the symbol versioning file.
>> >
>> > I'm still not too happy with this paragraph.  How about something along
>> > the lines of
>> >
>> >   Our releases come with certain API and ABI stability guarantees. Point
>> >   releases must never break programs compiled against previous versions
>> >   of our libraries from the same release branch.
>> >
>> >   However, from time to time, we do make API changes that require 
>> > adaptation
>> >   in applications. Such changes are only allowed in major releases and will
>> >   require further steps such as bumping library version numbers and/or
>> >   adjustments to the symbol versioning file.
>>
>> TBH, I fail to see the practical differences between the two wordings.
>> I guess that you fear that someone may misinterpret how we are
>> maintaining API/ABI stability, but I fail to see how your wording
>> addresses this. Just to be safe, can you please elaborate on your
>> concerns?
>
> To me your version sounds as if we did not allow ABI/API changes at
> all, but this is not the case.  We do not allow them in point releases,
> in major releases they are allowed if certain issues are considered.

Well, the difference now becomes pretty petty. You say "we do allow
them if certain things are considered", whereas my wording makes them
more explicit: If applications get broken and we notice, then we need
to something about it.

> So I split the paragraph in statements about major and point releases,
> which hopefully makes it clearer what stability guarantees apply to
> each type of release.

Hm. maybe we could add a simple 2x2 table, one one axis the kind of
stability guarantee and on the other axis the release kind?

I'll think about it.
-- 
regards,
    Reinhard
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to