Policies/Draft/Binary And Source Compatibility Policy

From KDE TechBase

DRAFT POLICY This policy draft is based on a discussion on the k-c-d list.

Introduction

The KDE Community makes guarantees on the Binary Compatibility (BC or BIC) and Source or Application Programming Interface (API) Compatibility between releases.

Binary Compatibility Guarantee

The KDE Development Platform will provide binary compatibility within the life-span of a major release for the following libraries:

* kdelibs
* kdepimlibs

For all other libraries we will increment the .so number when binary compatibility is broken between releases.

Source Compatibility Guarantee

The KDE Development Platform will provide source/API compatibility within the life-span of a major release for the following core libraries:

* kdelibs
* kdepimlibs

Developers Notes about Binary Compatibility

The Binary Compatibility With C++ page provides a list of Do's and Don'ts when maintaining Binary Compatibility. This page is updated when new binary incompatibility issues are found.

If you do not make a BC guarantee on your libraries, you must increase the .so number of the library whenever you break binary compatibility.

TODO: Document why increment needed and how to do it, on different page?