Re: platform compatibility policy

Hi Maciej,

I responded earlier to the question of what is binary compatibility
and how you can check for it, I'd like to respond to your draft
policy also.

>From: Maciej Stachowiak <mjs eazel com>
>GNOME Platform Compatibility Policy (draft 1)
>1) Within major versions of the GNOME Platform, source and binary
>   compatibility will be maintained. Release coordinators shall reject
>   packages provided for a release if they break compatibility.
>2) There are, however, a few exceptions:
>   * Security issues that cannot be fixed without an API or ABI change
>     (although all due consideration should be given to adding new
>     APIs and deprecating the old ones, when possible).
>   * Major bugs (e.g. crashing) which cannot possibly be worked around
>     by apps
>   * Vote of the GNOME Foundation Board of Directors

API and ABI changes are ok, so long as they don't break applications.
Typically the only changes that won't break compatibility are additions
to an API.

If an ABI change breaks applications, that change needs to go into
a new major version of the affected library.

>3) The Foundation Board shall declare what releases constitute a new
>   GNOME Platform version; at that time, source and binary
>   compatibility may be broken. [ note - GNOME 2.0 is currently
>   planned to constitute a new platform version ]

One other point is to establish a policy for how long an outdated
major version of a given shared library will be supported. The
GNOME 2.0 platform will certainly have changes over GNOME 1.2;
if an API/ABI changes in an incompatible way, the GNOME platform
can continue to support old applications if it includes the
last library major version that didn't break compatibility.


>gnome-hackers mailing list
>gnome-hackers gnome org

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]