Platform policy question: API compatability in minor releases

Denis Bueno dbueno at gmail.com
Sat May 9 18:29:19 EDT 2009


On Sat, May 9, 2009 at 12:50, Duncan Coutts <duncan.coutts at worc.ox.ac.uk> wrote:
> Allow compatible API additions
>
>        If the change is compatible then it does not break any existing
>        programs, so it should be allowed. Any program that works with a
>        platform particular release will continue to work with
>        subsequent minor versions. This is standard backwards
>        compatibility policy.

Isn't this false, though?  Some existing program could easily break.

Suppose a library exports functions f and g, but in the next minor
revision starts exporting h.  Some code that uses the library uses f
and g, and defines its own (unrelated) function called h in the module
that imports the library unqualified.  When the library gets updated,
the code now has an ambiguous reference to h.

Please correct me if I'm wrong.


                              Denis


More information about the Libraries mailing list