Adam Retter

adam@evolvedbinary.com
 

Markup UK
@ Kings College, London
2025-06-07


@adamretter

Introducing
Elemental

About Me

  • Director of Evolved Binary

    • UK - Software, Consultancy, Training, and R&D

  • Co-founder and Co-owner of eXist Solutions

    • Germany - TEI Software

  • Professor of AHI @ Fordham University

  • Software Engineer / Prolific Open Source contributor

  • Enjoys Research and Development

  • Involved in several conference boards and peer-review panels

  • W3C XQuery Working Group - Invited expert

  • Founder of EXQuery group, and creator of RESTXQ

From Then to Now

2014 to 2025

Timeline

  • Jan. 2003 - Wolfgang commits first eXist-db code to Version Control on SourceForge

  • June 2004 - Adam starts using eXist-db in his Local Government job

  • May 2005 - Adam join's the eXist-db project as an Open Source developer

  • June 2006 - The first eXist-db Workshop was held at XML Prague

  • Sept. 2010 - Co-founded eXist Solutions GmbH

    • Adam Retter, Dannes Wessels,
      Leif-Jöran Olsson, and Wolfgang Meier

    • Directors: Adam and Wolfgang

    • Try to ensure funding for Open Source developers
      to contribute to eXist-db

  • Jan. 2012 - Adam resigned as co-director of
    eXist Solutions GmbH (remained shareholder)

Me

Timeline

  • Jan. 2014 - Adam embarks on the "Granite" research project

    • How to stop database corruptions in eXist-db?

    • How to Improve Performance and Scalability of eXist-db?

  • April 2014 - Adam founds Evolved Binary Ltd.

  • June 2014 - Evolved Binary starts maintaining a private internal fork of eXist-db

    • We need to move quickly to support our customers

    • Getting code quickly upstreamed into eXist-db was insurmountable

  • Some serious issues are starting to recur in the eXist-db community

  • December 2014 - Erik Siegel and Adam publish "eXist" book with O'Reilly

  • June 2019 - Adam launches FusionDB at Markup UK

    • Built from "Granite" technology: RocksDB + eXist-db with many fixes

Timeline

  • Issues in the eXist-db community are deteriorating

  • Jan. to Mar. 2023 - Raised the issue of unaccpetable behaviour in the eXist-db community with the founder

    • No action taken

  • Sept. 2024 - Submitted talk to Declarative Amsterdam
    - Introducing Elemental

    • Focus was on Open Source Community and Governance

    • I withdrew my talk after 2 eXist-db community members complained

  • Oct. 2024 - Small group decided to kick me out of eXist-db for mentioning community issues

    • Zero prior discussion or warning

    • Makeup of this group remains murky

Timeline

  • April 2025 - Launched Elemental GitHub and Website!

    • Trickle down from our previous private internal fork of eXist-db

    • No longer need to interact with or rely on eXist-db

    • Version 6.4.0 - Continues on from eXist-db 6.3.0 - 100% compatible

    • Version 7.0.0 - 2 years of additional man-work - 95% compatible

What does 20 Years of Open Source look like?

  • 68 Releases of eXist-db

    • 39 in the last 8 years by Evolved Binary

  • ~ 70% of all code in the last 8 years contributed to eXist-db came from Evolved Binary

  • Evolved Binary have now stopped contributing code to eXist-db

    • Our energy and resources will now go into Elemental

What is Elemental?

  • A NoSQL Document Database

  • A Native XML Database

    • JSON support

  • Combines Structural and Full Text Search Capabilities

  • An XQuery 3.1 Implementation

    • XQuery Update

    • XQuery Full Text

  • Provides an XSLT 3.0 Processor (Saxon)

    • XSL:FO - FOP / Antenna House / RenderX

  • Designed for the Web and Integration

  • Written in Java 21

Who should use Elemental?

  • Anyone with lots of XML (or JSON) documents!

  • User's Domain:

    • Media

    • Publishers

    • Technical Authors

    • Digital Humanities

    • Healthcare - Electronic Health Records

    • Insurance

    • Finance

Where is Elemental Positioned?

Open Source

Modern
Fair Source
Free to Use

Source Available
Enterprise
'Production Use' requires a license.

Heritage

  • A hard fork of eXist-db

    • Circa Oct. 26 2024

    • Trickle down of technology from our internal private eXist-db fork

      • Initially conservative to ease migration for eXist-db users coming to Elemental

      • More to come...

      • Will replace our internal fork

  • Incorporates some technology from FusionDB

Licensing

Is it Open Source?

  • Elemental 6.x.x

    • Yes!

      • LGPL 2.1 only

      • Some LGPL 2.1 or later, BSD 3-clause, MPL 1.1, and dbXML 1.0 licensed code in there too!

    • Continues where eXist-db 6.3.0 stopped

    • 100% compatible with eXist-db

  • Elemental 7.x.x

    • Yes!

      • LGPL 2.1 only

      • Some LGPL 2.1 or later, BSD 3-clause, MPL 1.1, and dbXML 1.0 licensed code in there too!

    • This is what eXist-db 7.0.0 could have been

    • 95% compatible with Elemental 6.x.x (and eXist-db 6.3.0)

Is it Open Source?

  • Elemental 8.x.x

    • Technically, no!

      • Does not meet 1 of the 10 criteria of the Open Source Definition

      • Some LGPL 2.1 or later, BSD 3-clause, MPL 1.1, and dbXML 1.0 licensed code in there too!

    • Not yet available :-/

      • Launch party was supposed to be here today!

      • Non-technical issues outside of our control have slowed us down

    • It is Fair Source...

What is "Fair Source"?

  • A class of software licenses

  • Similar to Open Source

  • NOT Closed Source or Proprietary

  • Fair Source Defintion

    1. Is publicly available to read

    2. Allows use, modification, and redistribution with minimal restrictions to protect the producer’s business model

    3. Undergoes Delayed Open Source Publication (DOSP)

Elemental 8.x.x License

  • Fair Source - BSL 1.1

    • Pioneered by MySQL

    • Used in many other projects (e.g. Materialize, Zero Tier One, Terraform...)

  • Delayed Open Source Publication

    • 3 Years

    • Apache 2.0

  • Additional Use Grant

  • You can use and modify Elemental :-)

  • Publicly Available on GitHub

Community

Community

  • Community is the most important concern

    • ...but, also the hardest to get right!

  • We want to build:

    • Sustainable Software

    • A healthy, diverse, welcoming, and positive Community

  • Three main pillars:

    1. Funding of Software and Community Development

      • Open Source developers cannot be expected to work for free forever

      • Non-code: Documentation, Up to date Website, Marketing: Conference talks, etc.

    2. Engagement and Support for Users

    3. Leadership and Governance

Funding of Software and Community Development

  • Not quite ready... but some teasers...

  • A collaborative, transparent, and public funding model

    • Managed and tracked by an open Web Application

  • Driven by the individuals and organisations that use Elemental

    • Heavily directed by users in public

  • Open to Technical and non-Technical contributors

    • Anyone may come and contribute to a relevant project

    • Of course we welcome volunteers

    • But also, anyone can be paid for completing funded projects

Engagement and Support for Users

Leadership and Governance

  • Successful Collaborative Projects require Strong Leadership

    • Maintain vision and direction, and build an inclusive community culture

    • Kindly resolve any disagreements

  • Different Governance Models exist:

    • Commercial Owner

    • Individual (BDFL) - e.g.: Ruby, Scala, Perl, Ubuntu, OpenBSD, Linux, etc.

      • Starting from here

    • Volunteer or Elected Committee/Board

    • Trust / Foundation

      • Open to ending up here

  • Requires:

    • Community Governance and Active Leadership to ensure Health

    • Must enforce: Contributor Covenant - Code of Conduct

42

New Releases

Roadmap

  • Release Schedule - Bimonthly

  • Elemental 8.x.x Roadmap:

    • Many performance improvements

    • Preview experimental 'W3C XQuery Full Text 3.0' implementation

    • Lucene 9.12.1

    • Jetty 12.0.22

    • Saxon 12.7

    • Native Windows Installer

    • RPM and DEB packages for Linux

    • DONE. Just awaiting release...

  • Documentation needs to be written - contributions very welcome

      Petal makes it eaiser than editing a Word document!

Questions?

THANK YOU!

Copy of Introducing Elemental

By Adam Retter

Copy of Introducing Elemental

Markup UK @ Kings College, London 2025-06-06

  • 70