- Primary contact: Jan Staněk <jstanek@redhat.com>
- Category: research/implementation
- Priority: medium
- Status: open
- Phase: initiation
Purpose
With introduction of BerkeleyDB (or libdb
, as is the package named
in Fedora) version 6, the license under which the code was shipped has changed
to more restrictive one. This in turn affects a portion of other projects in
Fedora, namely those which depends on libdb package and are themselves shipped
under more permissive licenses than the new Berkeley DB one.
The affected project either have to change their licenses to something compatible with GNU AGPL v3, or not use any version of libdb with the new license.
The main issue from Fedora's perspective is the situation, in which we would have to support two versions of libdb at once – one in version 5 for projects that are legally incompatible with version 6, and the other in version 6 or newer for projects that are compatible with the new licensing and depends on features not present in version 5. However, this situation was proved unsustainable, because it is technically not possible to force an application to use only the version it is legally allowed to. In other words, if both versions of libdb would be installed on a system, we cannot guarantee that an application legally compatible only with the older one would always use the older one and not the new one.
The proposed solution to this problem is to get rid of the libdb package from Fedora altogether. Most projects use the libdb only as an optional dependency and can be built and used without it. By doing this, we should avoid this legal minefield, at least until all the projects with license incompatibilities either solve those upstream, move to another database backend or have been replaced with something else.
Objectives
- Scope: To remove the need of BerkeleyDB from Fedora, either by building the dependent projects without it and providing tools to migrate data, convincing and helping upstream to move to another DB backend, or by finding suitable replacement for projects which we are unable to use without it.
- Time:
As long as it takes
Benefits
- No legal problems with using projects under incompatible licenses.
- Sustainable ecosystem without the need of maintaining a fork of deprecated code for legal reasons.