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

Are we still Open Source?

By Adam Retter

Are we still Open Source?

Talk given at Declarative Amsterdam - 4 October 2019 - CWI, Amsterdam

  • 4,210