dkpro / dkpro-jwktl

Java Wiktionary Library
http://dkpro.org/dkpro-jwktl/
Apache License 2.0
57 stars 26 forks source link

Support for alternative databases / Fork a BerkeleyDB-free version #4

Open chmeyer opened 9 years ago

chmeyer commented 9 years ago

Originally reported on Google Code with ID 4

I wanted to note that although 'jwktl' is covered by an Apache license, it has a deep
dependency on Berkeley DB. Oracle dual licenses Berkeley DB; its open source license
is now AGPL (see e.g. http://www.infoworld.com/d/open-source-software/oracle-switches-berkeley-db-license-222097)
 This makes it impractical to use jwktl in any commercial application, unless a very
costly commercial license (on a per-processor basis) is acquired from Oracle.

I have not dug into the source code yet, but I would like to have some informed opinion
on the feasibility of moving from using Berkeley DB to a more open licensed database
system - either purely relational such as the excellent H2, or the powerful XML database
system BaseX.

Reported by newintellectual on 2013-10-28 14:58:40

chmeyer commented 9 years ago
The "deep dependency" is known and explicitly mentioned on the homepage. I'm not an
expert in licensing models, but I have been told that releasing JWKTL under the Apache
license is OK also with the Berkeley DB dependancy, as long as this is made clear.
As such, I don't see a contradictory licensing.

Regarding your issue of using JWKTL for a commercial application: it is well possible
that the Oracle dependency does not allow this; I don't know exactly.

Switching to a different database is well possible and there are some first steps towards
supporting multiple databases already in the code. However, there's no quick solution
to that. I suggest keeping this ticket under the heading of adding support for a different
database and maybe splitting the licenses for API and database. 

Reported by chmeyer.de on 2013-12-04 16:05:33

chmeyer commented 9 years ago
I'd also like to see the support of other databases, as using BerkleyDB with Android
is kind of a mess

Reported by JohannesHomeier93 on 2015-01-26 19:46:15

chmeyer commented 9 years ago
MapDB (http://www.mapdb.org/) is an interesting alternative to Berkely DB. Apache license.

Reported by jobb@hcholm.net on 2015-07-01 07:15:58

amirouche commented 9 years ago

wiredtiger (documentation) is the successor of BerkeleyDB. It's GPLv2 or GPLv3 (like Linux) which means you can sell a service using a proprietary database based on wiredtiger if you do not ship the software. 64bits machine only.

jberkel commented 9 years ago

looks like wiredtiger is now part of mongodb?

I'd advocate to add support for plain old fashioned SQL databases, and maybe use an abstraction layer such as jooq to make sure it can easily be used with all types of databases (e.g. sqlite for an embedded context, mysql/postgres for a server environment).