README: minor the libweston ABI/API documentation

v2: Elaborate what is meant with "major ABI versions" (Pekka).

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> (v1)
This commit is contained in:
Emil Velikov 2016-07-04 15:23:50 +01:00 committed by Pekka Paalanen
parent 99ac6232fa
commit 2d01e9138e

25
README
View File

@ -41,25 +41,25 @@ continue evolving through many Weston releases before it achieves a
stable API and feature completeness.
API (in)stability and parallel installability
---------------------------------------------
API/ABI (in)stability and parallel installability
-------------------------------------------------
As libweston's API surface is huge, it is impossible to get it right
in one go. Therefore developers reserve the right to break the API
in one go. Therefore developers reserve the right to break the API/ABI
between every 1.x.0 Weston release (minor version bumps), just like
Weston's plugin API does. For git snapshots of the master branch, the
API can break any time without warning or version bump.
API/ABI can break any time without warning or version bump.
Libweston API or ABI will not be broken between Weston's stable
releases 1.x.0 and 1.x.y, where y < 90.
To make things tolerable for libweston users despite ABI breakages,
To make things tolerable for libweston users despite API/ABI breakages,
libweston is designed to be perfectly parallel-installable. An
ABI-version is defined for libweston, and it is bumped for releases as
needed. Different ABI-versions of libweston can be installed in
parallel, so that external projects can easily depend on a particular
ABI-version, and they do not have to fight over which ABI-version is
installed in a user's system. This allows a user to install many
API/ABI-version is defined for libweston, and it is bumped for releases as
needed. Different non-backward compatible ABI versions of libweston can be
installed in parallel, so that external projects can easily depend on a
particular ABI-version. Thus they do not have to fight over which ABI-version
is installed in a user's system. This allows a user to install many
different compositors each requiring a different libweston ABI-version
without tricks or conflicts.
@ -161,8 +161,9 @@ would be roughly like this:
- and possibly more...
Everything should be parallel-installable across libweston
ABI-versions, except those explicitly mentioned.
Everything should be parallel-installable across libweston major
ABI-versions (libweston-1.so, libweston-2.so, etc.), except those
explicitly mentioned.
Weston's build may not sanely allow this yet, but this is the
intention.