I'd like to offer TDB2 as a contribution to Apache Jena.
It is by no means "finished" (is anything software ever finished?) but
it is sufficiently there to talk about and kick the tyres; I'll send
notes about the technical state of TDB2 separately in a moment.
* It adds project overhead. The build is only a couple of minutes,
including upload time, (a lot of testing is done with in-memory
databases, like TDB1, which makes setup and teardown of tests much
faster). However, more stuff in the codebase is still more to get right
for a release.
* Support: while TDB2 works, it is unproven and rough round the edges
(unclear errors message, stacktraces rather than meaningful messages
etc) and questions/tickets may be quite hard to respond to (complex
situations; no track record of what's gone wrong before). Testing on MS
Windows or macOS has not been done.
* Integration: It is not stable enough to be used in mainstream Fuseki2
as the default persistent database. I see this as happening gradually.
There is a Fuseki+TDB2 jar built at the moment but you have to use
configuration files to setup the database.
https://github.com/afs/mantis/blob/master/use-fuseki-tdb2.md
* Initial status: I suggest we label it "incoming" or some such - it
would not hold up a release for example, and not everything might be
fixed at the point of a Jena release. It shouldn't stop the main code
set that users rely on getting out in the usual cycle.
* Legal issues: the code has always been under the Apache License
(original work was done as part of grant from the UK gov which required
open source deliverables) but it would be simpler and cleaner for, e.g.
moving or fixing copyright/licence notices around, for there to be
software grants. The two parties involved are myself and Epimorphics
Ltd. Both parties are willing to submit the paperwork.
* A project vote. This is a new set of modules so a formal, explicit
vote seems worthwhile.
Thoughts, concerns, questions?
Andy
The code:
https://github.com/afs/mantis
(I can clean this up before integration as to what we agree on, so that
there is less noise and churn later).
Builds:
org.seaborne.mantis:tdb2
org.seaborne.mantis:fuseki-tdb2-server