Content deleted Content added
→Application support: Missing name |
Citation bot (talk | contribs) Add: date. | Use this bot. Report bugs. | Suggested by Abductive | #UCB_webform 130/3850 |
||
Line 61:
== Open source license ==
In June 2013, [[Oracle Corporation|Oracle]] changed the license of [[Berkeley DB]] (a related project) from the [[Sleepycat license]] to the [[Affero General Public License]],<ref>{{cite web | url=https://oss.oracle.com/pipermail/bdb/2013-June/000056.html|title=Berkeley DB Release Announcement|date=11 June 2013 |publisher=[[Oracle Corporation]] |quote=Starting with the 6.0 / 12c releases, all Berkeley DB products are licensed under the GNU AFFERO GENERAL PUBLIC LICENSE (AGPL), version 3. This license is published by the Free Software Foundation (FSF) (1) and approved by the Open Source Initiative (2). Please review the terms of the license to ensure compliance before upgrading to the 12c release. Previous releases of Berkeley DB software will continue to be distributed under the Sleepycat license.}}</ref> thus restricting its use in a wide variety of applications. This caused the [[Debian|Debian project]] to exclude the library from 6.0 onwards. It was also criticized that this license is not friendly to commercial redistributors. The discussion was sparked over whether the same licensing change could happen to LMDB. Author Howard Chu clarified that LMDB is part of the OpenLDAP project, which had its BSD-style license before he joined, and it will stay like it. No copyright is transferred to anybody by checking in, which would make a similar move like Oracle's impossible.<ref>{{cite mailing list | url=http://lists.debian.org/debian-devel/2013/07/msg00031.html |title=Berkeley DB 6.0 license change to AGPLv3 |date=July 2, 2013 |mailing-list=debian-devel |publisher=[[Debian]] |author=Ondřej Surý}}</ref><ref>{{cite news |url=http://www.infoworld.com/d/open-source-software/oracle-switches-berkeley-db-license-222097 |title=Oracle switches Berkeley DB license |author=Simon Phipps |date=July 5, 2013 |publisher=[[InfoWorld]]}}</ref><ref>{{cite web | url=http://developers.slashdot.org/story/13/07/05/1647215/oracle-quietly-switches-berkeleydb-to-agpl|title=Oracle Quietly Switches BerkeleyDB to AGPL|date=5 July 2013 |publisher=[[Slashdot]]}}</ref><ref>{{cite web |url=http://programmers-in-ua.blogspot.com/2013/07/oracle-berkeley-db.html |title=Oracle меняет лицензию Berkeley DB |publisher=[[Blogspot]] |website=Programmers in Ukraine |date=July 22, 2013 |language=ru |trans-title=Oracle Berkeley DB license changes}}</ref><ref>{{cite web | url=http://www.lemondeinformatique.fr/actualites/lire-oracle-passe-berkeley-db-sous-licence-gnu-agpl-54287.html|title=Oracle passe Berkeley DB sous licence GNU AGPL |language=fr |trans-title=Oracle Berkeley DB passes under GNU AGPL |date=July 8, 2013 |author= Jean Elyan |publisher=Le Monde Informatique}}</ref><ref>{{cite web | url=http://www.abclinuxu.cz/zpravicky/berkeley-db-6.0-vydana-pod-licenci-agplv3 |title=Berkeley DB 6.0 vydána pod licencí AGPLv3 |language=cs |trans-title=Berkeley DB 6.0 is released under the GPLv3 license |date=July 2, 2013 |author=Ondřej Surý |publisher=Abclinuxu}}</ref><ref>{{cite web | url=https://lwn.net/Articles/557820/ |title=Debian, Berkeley DB, and AGPLv3 |author=Nathan Willis |date=July 10, 2013 |publisher=[[LWN.net]]}}</ref><!-- Nathan Willis copied several posts from debian-devel to LWN.net, including url=https://lwn.net/Articles/558155/ and url=https://lwn.net/Articles/558154/; let's cite the original--><ref>{{cite mailing list | url=https://lists.debian.org/debian-devel/2013/07/msg00047.html |title=Berkeley DB 6.0 license change to AGPLv3 |date=July 2, 2013 |mailing-list=debian-devel |publisher=[[Debian]] |author=Dan Shearer}}</ref><ref>{{cite mailing list | url=https://lists.debian.org/debian-devel/2013/07/msg00067.html |title=Berkeley DB 6.0 license change to AGPLv3 |date=July 2, 2013 |mailing-list=debian-devel |publisher=[[Debian]] |author=Howard Chu}}</ref>
The Berkeley DB license issue has caused major Linux distributions such as [[Debian]] to completely phase out their use of Berkeley DB, with a preference for LMDB.<ref>{{cite mailing list | url=https://lists.debian.org/debian-devel/2014/06/msg00338.html | title=New project goal: Get rid of Berkeley DB (post jessie) | mailing-list=debian-devel | date=June 19, 2014 | author=Ondřej Surý |publisher=[[Debian]]}}</ref>
Line 70:
Howard Chu ported [[SQLite]] 3.7.7.1 to use LMDB instead of its original [[B-tree]] code, calling the end result SQLightning.<ref>{{cite web|url=http://gitorious.org/mdb/sqlightning|title=gitorious.org Git - mdb:sqlightning.git/summary|website=gitorious.org|accessdate=8 May 2017|archive-url=https://web.archive.org/web/20130809145553/http://gitorious.org/mdb/sqlightning|archive-date=9 August 2013|url-status=live}}</ref> One cited insert test of 1000 records was 20 times faster (than the original SQLite with its B-Tree implementation).<ref>[http://pastebin.com/B5SfEieL SQLightning tests].</ref> LMDB is available as a backing store for other open source projects including Cyrus SASL,<ref>{{cite web|url=http://cyrusimap.web.cmu.edu/|title=Cyrus IMAP — Cyrus IMAP 3.0.1 (stable) documentation|website=cyrusimap.web.cmu.edu|accessdate=8 May 2017|url-status=dead|archive-url=https://web.archive.org/web/20170430023937/http://cyrusimap.web.cmu.edu/|archive-date=30 April 2017}}</ref> Heimdal Kerberos,<ref>{{cite web|url=http://h5l.org/|title=Heimdal|website=h5l.org|accessdate=8 May 2017}}</ref> and OpenDKIM.<ref>{{cite web|url=http://www.opendkim.org/|title=OpenDKIM|website=www.opendkim.org|accessdate=8 May 2017}}</ref> It is also available in some other NoSQL projects like MemcacheDB <ref>{{cite web|url=https://gitorious.org/mdb/memcachedb|title=gitorious.org Git - mdb:memcachedb.git/summary|website=gitorious.org|accessdate=8 May 2017}}</ref> and Mapkeeper.<ref>{{cite web|url=https://github.com/m1ch1/mapkeeper/|title=GitHub - m1ch1/mapkeeper: Thrift based key-value store with various storage backends, including MySQL, Berkeley DB, and LevelDB.|website=github.com|url-status=dead|archive-url=https://web.archive.org/web/20160209024233/https://github.com/m1ch1/mapkeeper/|archive-date=16 Feb 2016}}</ref> LMDB was used to make the in-memory store [[Redis]] persist data on disk. The existing back-end in [[Redis]] showed pathological behaviour in rare cases, and a replacement was sought. The baroque API of LMDB was criticized though, forcing a lot of coding to get simple things done. However, its performance and reliability during testing was considerably better than the alternative back-end stores that were tried.<ref>{{cite web|url=http://www.anchor.com.au/blog/2013/05/second-strike-with-lightning/|title=Second Strike With Lightning|publisher=Anchor|date=2013-05-09}}</ref>
An independent third-party software developer utilised the [[Python (programming language)|Python]] bindings to LMDB<ref>{{cite web | url=http://lmdb.readthedocs.org|title=Python bindings to LMDB}}</ref> in a high-performance environment and published, on the technology news site [[Slashdot]], how the system managed to successfully sustain 200,000 simultaneous read, write and delete operations per second (a total of 600,000 database operations per second).<ref>{{cite web | url=http://developers.slashdot.org/story/14/10/17/1547222/python-lmdb-in-a-high-performance-environment|title=Python-LMDB in a high-performance environment on Slashdot|date=17 October 2014 }}</ref><ref>{{cite web | url=http://lkcl.net/reports/python.lmdb.html|title=Open letter to Howard Chu and David Wilson regarding Python-LMDB}}</ref>
An up-to-date list of applications using LMDB is maintained on the main web site.<ref>{{cite web|url=https://www.symas.com/symas-lmdb-tech-info|title=List of projects using LMDB}}</ref>
|