Red Hat Enterprise Linux Application Compatibility Policies

Solution Verified - Updated -

Environment

Red Hat Enterprise Linux (all versions)

Issue

  • Does Red Hat have a stability/compatibility policy?
  • How does Red Hat upgrade packages within a minor release or within a major release?
  • Is it acceptable to develop standard user-mode applications written in either C or C++ under one major release and then to deploy the binary images under another major release?

Resolution

Red Hat Enterprise Linux Compatibility Policies

Note: This document attempts to cover these topics at a high level only. Additional discussion of these topics is available in the Red Hat Enterprise Linux 6 Developer Guide and Red Hat Enterprise Linux 7 Developer Guide. Application developers are encouraged to refer to the Developer Guides.

Compatibility Within A Major Release

One of the core goals of the Red Hat Enterprise Linux family of products is to provide a stable, consistent runtime environment for thirdparty applications. To support this goal, Red Hat seeks to preserve application binary compatibility, configuration file compatibility, and data file compatibility for all package updates issued within a major release. For example, a package update from Red Hat Enterprise Linux 6.1 to Red Hat Enterprise Linux 6.2, or a package update that fixes an identified security vulnerability, should not break the functionality of deployed applications as long as they adhere to standard Application Binary Interfaces (ABIs).

Compatibility Between Major Releases

Red Hat Enterprise Linux also provides a level of compatibility across major releases, although it is less comprehensive than that provided within a major release. With the qualifications given below, Red Hat Enterprise Linux 6 provides runtime compatibility support for applications built for Red Hat Enterprise Linux 5 and Red Hat Enterprise Linux 4.

Between major releases (for example, between Red Hat Enterprise Linux 5 and Red Hat Enterprise Linux 6), Red Hat seeks to provide binary application compatibility for applications that adhere to published standard ABIs and APIs referenced as Core Libraries in the "Red Hat Enterprise Linux 6 Application Compatibility" document. This statement applies both to native architecture support and compatibility architecture support.

Red Hat provides compatibility libraries for a set of core libraries. However, Red Hat does not guarantee compatibility across major releases of the distribution for dynamically linked libraries outside of the core library set unless versions of the Dynamic Shared Objects (DSOs) the application expects are provided (either as part of the application package or separate downloads).

To ensure compatibility across major releases, application developers are encouraged to limit their dynamically linked library dependencies to those in the core library set, or to provide an independent version of the required noncore libraries packaged with their application (which in turn depend only on core libraries). As a rule, Red Hat recommends against statically linking libraries into applications.

Red Hat also reserves the right to remove particular packages between major releases. Red Hat provides a list of deprecated packages that may be removed in future versions of the product in the Release Notes for each major release. Application developers are advised to avoid using libraries on the deprecated list. Red Hat reserves the right to replace specific package implementations in future major releases with alternative packages that implement similar functionality.

Red Hat does not guarantee compatibility of configuration file formats or data file formats between major releases of the distribution, although individual software packages may in fact provide file migration or compatibility support.

More information on "Red Hat Enterprise Linux 4 Application Compatibility" is available at: http://lists.openshift.redhat.com/f/pdf/rhel4/AppCompat.pdf.

More information on Red Hat Enterprise Linux 5 Application Compatibility is unavailable.

More information on Red Hat Enterprise Linux 6 and Red Hat Enterprise Linux 7 Application Compatibility is available at: https://access.redhat.com/site/articles/rhel-abi-compatability

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.