From Fedora Project Wiki
(Created page with "<!-- Self Contained or System Wide Change Proposal? Use this guide to determine to which category your proposed change belongs to. Self Contained Changes are: * changes to is...")
 
(Moving to ChangePageIncomplete category as this proposal was withdrawed by the owners)
 
(19 intermediate revisions by 4 users not shown)
Line 24: Line 24:
== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
Add BerkeleyDB v. 6, which changed license from previous releases (GPLv2 to AGPLv3), to Fedora while keeping the older version for packages which cannot use BerkeleyDB with the new license.
Add BerkeleyDB v. 6, which changed license from previous releases (Sleepycat to AGPLv3+), to Fedora while keeping the older version for packages which cannot use BerkeleyDB with the new license.


== Owner ==
== Owner ==
Line 33: Line 33:
* Name: [[User:Jstanek| Jan Staněk]]
* Name: [[User:Jstanek| Jan Staněk]]
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
* Email: <jstanek@redhat.com>
* Email: jstanek@redhat.com
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
Line 45: Line 45:
== Current status ==
== Current status ==
* Targeted release: [[Releases/21 | Fedora 21]]  
* Targeted release: [[Releases/21 | Fedora 21]]  
* Last updated: 2014-04-08
* Last updated: 2014-04-25
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Bugzilla states meaning as usual:
Bugzilla states meaning as usual:
Line 57: Line 57:


== Detailed Description ==
== Detailed Description ==
The BerkeleyDB, used between others by {{package|rpm}}, changed license between versions 5.* and 6.* to AGPLv3 from GPLv2. As those two licenses are not compatible, packages using the BerkeleyDB either has to change its license to AGPLv3 compatible, keep on using the older BerkeleyDB or use another DB entirely.
The BerkeleyDB, used between others by {{package|rpm}}, changed license between versions 5.* and 6.* from Sleepycat to AGPLv3+. As the latter license is more demanding, packages using the BerkeleyDB either has to check and possibly change its license to AGPLv3+ compatible, keep on using the older BerkeleyDB or use another DB entirely.


Target of this change is to create new set of packages from current {{package|libdb}}, which contains the v5 version, and keep it alongside the latest BerkeleyDB.
Target of this change is to create new set of packages from current {{package|libdb}}, which contains the v5 version, and keep it alongside the latest BerkeleyDB.
As simple mass rebuild with v6 would very likely introduce license incompatibilities, it will be necessary to update and verify all dependent packages to make sure they use the legally compatible version.


== Benefit to Fedora ==
== Benefit to Fedora ==
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
This change enables projects and packages to use BerkeleyDB with GPLv2 license, allowing them to work until the upstream makes their decision about the license change, and at the same time do not restricts projects which already adopted the BerkeleyDB with new license to the older versions of it.
This change enables projects and packages to use BerkeleyDB with Sleepycat license, allowing them to work until the upstream makes their decision about the license change, and at the same time do not restricts projects which already adopted the BerkeleyDB with new license to the older versions of it.


== Scope ==
== Scope ==
<!-- What work do the developers have to accomplish to complete the change in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the developers have to accomplish to complete the change in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* Proposal owners: Create new set of packages and introduce proper versioning in order to not confuse the dynamic linker.
* Proposal owners: Create new set of packages and introduce proper versioning in order to not confuse the dynamic linker. Supervise verification of proper version linking against other packages.


* Other developers: Packages dependent on libdb would have to specify which version they want to use (specify version in the spec <code>Requires:</code> field). Rebuilds of dependent packages will be necessary.
* Other developers: Packages dependent on libdb would have to specify which version they want to use (specify version in the spec <code>Requires:</code> field). They need to make sure their package links against the version with license compatible with their package. Rebuilds of dependent packages will be necessary.


* Release engineering: None
* Release engineering: None
Line 96: Line 98:
-->
-->


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Check if dependent projects builds, runs as expected and do not have license incompatibilities.
N/A (not a System Wide Change)


== User Experience ==
== User Experience ==
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
None (ideally).
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)  


== Dependencies ==
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel change)? -->
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel change)? -->


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<pre>
N/A (not a System Wide Change)
$ repoquery --disablerepo='*' --enablerepo=fedora --enablerepo=updates --whatrequires 'libdb-5.3.so()(64bit)' --qf '%{base_package_name}'  | sort | uniq
</pre>
 
{{hidden|header=Current output of the above command|content=
<pre>
389-ds-base
apr-util
claws-mail
clisp
cyrus-imapd
cyrus-sasl
dsniff
evolution-data-server
exim
hail
httpd
httpd-itk
iproute
isync
jigdo
kdesvn
libapreq2
libdb
libetpan
libpinyin
libserf
libsolv
libzhuyin
log4cxx
mod_gnutls
mod_security
nmh
nss_updatedb
nvi
open-cobol
opendkim
openldap
openser
opensips
pam
pam_abl
pam_ccreds
perdition
perl-BDB
perl-BerkeleyDB
perl-DB_File
perl-eperl
perl-Qt
perl-XML-LibXSLT
php
postfix
postler
python
python3-bsddb3
rapidsvn
redland
rpm
rsvndump
ruby
sendmail
sks
spamprobe
squid
squidGuard
subversion
tabled
trustedqsl
webalizer
xemacs
</pre>|headerstyle=background:#e5e5e5|fw1=normal|ta1=left}}


== Contingency Plan ==
== Contingency Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
* Contingency mechanism: (What to do?  Who will do it?) N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency mechanism: Revert the shipped configuration, try again for the next release.
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency deadline: Beta Freeze
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
* Blocks release? N/A (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? Yes <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks product? product <!-- Applicable for Changes that blocks specific product release/Fedora.next -->


== Documentation ==
== Documentation ==
<!-- Is there upstream documentation on this change, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
<!-- Is there upstream documentation on this change, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* [http://download.oracle.com/otndocs/products/berkeleydb/html/changelog_6_0.html#idp51002560 Changelog entry about the license change]
N/A (not a System Wide Change)  
* [http://hhorak.fedorapeople.org/libdb6issues List of packages depended on libdb5 in Fedora and their license] (and AGLv3+ compatibility based on https://fedoraproject.org/wiki/Licensing:Main)


== Release Notes ==
== Release Notes ==
Line 132: Line 199:
-->
-->


[[Category:ChangePageIncomplete]]
<!-- [[Category:ChangePageIncomplete]] -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- The Wrangler announces the Change to the devel-announce list and changes the category to Category:ChangeAnnounced (no action required) -->  
<!-- The Wrangler announces the Change to the devel-announce list and changes the category to Category:ChangeAnnounced (no action required) -->  
[[Category:ChangePageIncomplete]]
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageIncomplete-->
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageIncomplete-->



Latest revision as of 12:58, 4 June 2014


BerkeleyDB 6

Summary

Add BerkeleyDB v. 6, which changed license from previous releases (Sleepycat to AGPLv3+), to Fedora while keeping the older version for packages which cannot use BerkeleyDB with the new license.

Owner

  • Name: Jan Staněk
  • Email: jstanek@redhat.com
  • Release notes owner:

Current status

  • Targeted release: Fedora 21
  • Last updated: 2014-04-25
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

The BerkeleyDB, used between others by Package-x-generic-16.pngrpm, changed license between versions 5.* and 6.* from Sleepycat to AGPLv3+. As the latter license is more demanding, packages using the BerkeleyDB either has to check and possibly change its license to AGPLv3+ compatible, keep on using the older BerkeleyDB or use another DB entirely.

Target of this change is to create new set of packages from current Package-x-generic-16.pnglibdb, which contains the v5 version, and keep it alongside the latest BerkeleyDB.

As simple mass rebuild with v6 would very likely introduce license incompatibilities, it will be necessary to update and verify all dependent packages to make sure they use the legally compatible version.

Benefit to Fedora

This change enables projects and packages to use BerkeleyDB with Sleepycat license, allowing them to work until the upstream makes their decision about the license change, and at the same time do not restricts projects which already adopted the BerkeleyDB with new license to the older versions of it.

Scope

  • Proposal owners: Create new set of packages and introduce proper versioning in order to not confuse the dynamic linker. Supervise verification of proper version linking against other packages.
  • Other developers: Packages dependent on libdb would have to specify which version they want to use (specify version in the spec Requires: field). They need to make sure their package links against the version with license compatible with their package. Rebuilds of dependent packages will be necessary.
  • Release engineering: None
  • Policies and guidelines: None

Upgrade/compatibility impact

If the versioning of the symbols will be implemented in the v5, user-built software linked against it will need to be rebuilt.

How To Test

Check if dependent projects builds, runs as expected and do not have license incompatibilities.

User Experience

None (ideally).

Dependencies

$ repoquery --disablerepo='*' --enablerepo=fedora --enablerepo=updates --whatrequires 'libdb-5.3.so()(64bit)' --qf '%{base_package_name}'  | sort | uniq
Current output of the above command
389-ds-base
apr-util
claws-mail
clisp
cyrus-imapd
cyrus-sasl
dsniff
evolution-data-server
exim
hail
httpd
httpd-itk
iproute
isync
jigdo
kdesvn
libapreq2
libdb
libetpan
libpinyin
libserf
libsolv
libzhuyin
log4cxx
mod_gnutls
mod_security
nmh
nss_updatedb
nvi
open-cobol
opendkim
openldap
openser
opensips
pam
pam_abl
pam_ccreds
perdition
perl-BDB
perl-BerkeleyDB
perl-DB_File
perl-eperl
perl-Qt
perl-XML-LibXSLT
php
postfix
postler
python
python3-bsddb3
rapidsvn
redland
rpm
rsvndump
ruby
sendmail
sks
spamprobe
squid
squidGuard
subversion
tabled
trustedqsl
webalizer
xemacs

Contingency Plan

  • Contingency mechanism: Revert the shipped configuration, try again for the next release.
  • Contingency deadline: Beta Freeze
  • Blocks release? Yes

Documentation

Release Notes