Adam Retter

adam@evolvedbinary.com
 

Declarative Amsterdam @ CWI
2019-10-04


@adamretter

Are we still
Open Source?

Dilemmas for a new XML Database

About Me

  • Developer / Consultant

    • XQuery / XSLT / Schema / RelaxNG

    • Scala / Java / C++

    • Concurrency and Scalability

  • Creator of FusionDB multi-model database (4 yrs.)

  • Contributor to Facebook's RocksDB (4 yrs.)

  • Core contributor to eXist-db XML Database (14 yrs.)

  • Founder of EXQuery, and creator of RESTXQ

  • W3C XQuery WG Invited expert

  • Me: www.adamretter.org.uk

2014: Why create a new XML db?

  • Personal Concerns

    • Open Source NXDs problems/limitations are not being addresed

    • Commercial NXDs are Expensive and not Open Source

    • New NoSQL (JSON) document db are out-innovating us

    • 10 Years invested in Open Source NXD, unhappy with progress

  • Commercial Concerns from Customers

    • Help! Our Open Source NXD sometimes:

      • Crashes and Corrupts the database

      • Stops responding

      • Won't Scale with new servers/users

  • Primary Focus on Correctness and Stability

    • Never become unresponsive

    • Never crash

    • Never lose data or corrupt the database

  • Don't reinvent wheels!

    • Developers know eXist-db... Fork it!

    • Reuse - adopt Facebook's RocksDB for storage

  • Build it first!

  • ...Should become Open Source

    • Should be appealing to Commercial enterprises

    • Open Source license choice(s)
      vs. Revenue opportunities

Time to build something

  • ACID Transactions

  • Improved Concurrency

  • Instant Snapshots

  • 100% eXist-db API Compatible

    • Drop-in replacement.

    • Just restore your eXist-db backup!

  • Crash Safe

  • Multi-Model

  • Metadata Storage

Releasing FusionDB

  • We would like to Open Source it

  • We don't want to: git-and-run

    • Need a revenue model to ensure future

  • Experienced in 2011: Support model is unsustainable

  • Originally we envisaged...

    • Dual License:

      • AGPLv3 - Gives us our "Open Source" and Freedom

      • Commercial License - Indemnity for companies that can't swallow AGPL

    • Would like to avoid "Open Core"

  • Things have changed...

Licensing Chaos!

  • CockroachDB

    • Switched core from Apache to BSL 1.1 (04/06/19)

    • Enterprise components are Source Available

  • Dgraph

    • From Apache to AGPL (26/03/2017)

    • ... then to Apache + Commons Clause (03/04/18)

    • ... then back to Apache (11/10/18)

  • Elastic

    • Originally Apache licensed

    • Elastic NV mixes Apache and Elastic Licence code in repository and builds (06/18)

    • AWS (+Netflix +Expedia) launch "Open Distro for Elasticsearch" - Apache v2 - (11/03/19)

Licensing Chaos...

  • InfluxDB

    • Clustering - From MIT to Enterprise License (05/04/16)

  • Kafka (Confluent)

    • From Apache to Confuent Community License (14/12/2018)

  • MariaDB

    • MaxScale etc - From GPL to BSL 1.0 (16/08/2016)

  • MongoDB

    • From APGL to SSPL (06/10/2018)

Licensing Chaos...

  • Neo4j (Enterprise)

    • From Commercial/AGPL to Commercial/AGPL+Commons Clause (13/05/2018)

    • ... then to Neo4j Commercial License (15/11/2018)

  • Redis (Modules)

    • From AGPL to Apache + Commons Clause (22/08/2018)

    • ... then to Redis Source Available Licence (22/02/2019)

    • NOTE: Core is still BSD. Redis Enterprise is entrierly proprietary

  • RocksDB

    • from BSD3 + Patent Grant, to dual Apache 2.0 or GPLv2 (16/07/17)

Who is 100% Open Source?

100% Open Source

Wait... what happened?

  • Vendors

    • Trying to find a viable business model

    • Several squarely blaming large Cloud Vendors

    • Now misusing the label "Open Source"

  • Cloud Vendors

    • Blaming Open Source Vendors for Closing/Mixing Licenses

    • AWS - You will be Assimilated!

    • Google Cloud - Partnering with Open Source Vendors

  • Users

    • Where are they?

    • How can they be heard?

    • Vote with feet?

The Brave New World?

  • Open Source databases are dead?!?

    • Commercially - Mostly

      • Open Source License != Business Model

    • Hobby/Non-Profit/Foundation - Nope!

  • Commons Clause / Source Available

    • Almost, but... Not Open Source!!!

    • What are your rights?

  • Open Core

    • Open Source Core

    • Closed or Source Available addons/features/management.

      • Maybe you need these too?

Community

  • Open Source is only part of the picture

    • Not everyone is a developer

    • Is having the code enough?

    • How do you support yourselves?

  • Who owns the community?

    • Is there a Gate Keeper?

    • What happens if the code is forked?

    • What happens if company X disappears?

  • Community is Everything!

Are we Still Open Source?

Can we survive as Open Source?

fusiondb.com