This forum has been archived. Please start a new discussion on GitHub.
Consider replacing Berkeley DB with OpenLDAP's LMDB
Have you looked into a possible switch from Berkeley DB to LMDB for your storage manager? Reasons would include performance and licensing. Many people have concerns over Oracle's switch to Affero GPL for BDB. I'm not an expert on licensing, but my understanding is that it can impact people who offer derived network-based services - they must provide a means to download the source code from the network itself to comply with AGPL.
Ice is still using Berkeley DB 5.x, which is licensed under the Sleepycat License, not AGPL v3.
The Sleepycat License is compatible with GPL v2, Ice's open-source license. [A]GPL v3 is not compatible with GPL v2, so we cannot upgrade to Berkeley DB 6.x without changing the license for Ice, which is obviously a concern. Switching to LMDB could be solution; we have not researched this yet.
We evaluated LMDB over the past few months, and we like it very much. Thanks for this suggestion!
In the next Ice release, both IceGrid and IceStorm will use LMDB to store their data. The corresponding code is already on our master branch on GitHub: https://github.com/zeroc-ice/ice.
We are also adding tools (icegriddb and icestormdb) to help with the migration from IceGrid or IceStorm 3.5/3.6 with Berkeley DB to IceGrid or IceStorm 3.7/master with LMDB. Please refer to our Preliminary Documentation for Ice 3.7 for more information.
That's great news. Thanks for the update.