On Open Source, Licensing, and Building a Sustainable Company

2019-04-24, by Jodok Batlogg

With all the recent commentary around the monetization of open source, I wanted to share my story and explain why we also further developed our licensing approach for Crate.io.

I still remember discovering the excitement of open source. It was 1997. I was undertaking research at university and the proprietary software at the time (the old Microsoft Ecosystem) wasn’t sufficient. It was impossible to see how it worked, fix bugs or even change the software. I started using Linux and never looked back! Open source was a magical concept, the quality of code was excellent, and the freedom to create unparalleled.

It was clear to me then, and it is clear to me now: I will only use my time on open source. Why? There are many reasons but, if we put ideology aside, I choose open source because it continues to create higher quality code and more sustainable software than any other model. It is about openness, collaboration, passion, and innovation. When we develop in this environment we create superior products that users love. All this happens because of the fundamental freedoms of open source: the freedom to run programs for any purpose; the freedom to study and change them as you wish; the freedom to distribute copies to help others; and the freedom to distribute copies of modified versions to help others.

Slack Liners on top of Yosemite falls, May 2015 - after VC meetings in San Francisco. © Jodok Batlogg

 

Building a successful open source company

My desire to build a company began with these thoughts: “I believe in open source. I want to spend my time on open source. I need to explore how to make a living with open source. Not only for me but also for a larger company and its employees.”

Twenty years ago I formed my first open source company. Nowadays it would be called a startup, but back then people didn’t even know what a startup was. We were just three people who wanted to revolutionize the world of content management. On our journey, we converged with others who were thinking about this too, from places like the US, Norway, and Switzerland. It felt great to work with a diverse global team; to bring our ideas together and create something.
We decided to collaboratively build a new content management system. It was built on top of the open source application server ZOPE and we called it PLONE. Hundreds of people downloaded and used the software. We were thrilled by that! Then the downloads became thousands. Then millions! It was wildly successful. This eventually translated into a thriving service business that proved we could earn a sustainable living with open source.

To me, this was an intensive time learning about collaboration: how do you manage a community? How do you deal with challenges? How do you enable a community to openly collaborate and work together? It became very real to me during that time, that the smallest denominators to a successful community were respect, inclusion and the fundamental freedoms of open source. The principles I formed during this time are part of the DNA of our company today. They inform how we work together, with customers and each other. Plus it was really fun to build in a diverse global community!

But we were limited in our capacity to build a real product. We were always waiting on customer funding to build each next small step. So five years ago with Crate.io, we saw an exciting opportunity ... exploding datasets that required new technology in a lucrative market. We wanted to make data work for people with more efficiency and less failure. We wanted to build a successful open source product and be part of this newly created field.

To have any chance of success we needed to build the best software within a hugely competitive environment - data storage and databases are like the World League of software development! It was an ambitious and compelling goal. We needed to stand on the shoulders of hugely successful open source projects, and also employ the best developers. This required more money than we had acquired through our grassroots open source and consulting. We needed external investment and expertise. Venture capital funding gave us that opportunity. We knew when we signed up it would be about more than making a minimum profit, we would need to make something bigger. That’s how Crate.io started.

Ethics

It would be simplistic to talk about building an open source company without talking about ethics. To me personally, the two are inextricably linked. It is a complex area where open source and monetization meet. There is a lot of passion, many grey areas, and perhaps a perceived tipping point where earning too much money is unethical, in some people’s opinions.

Right now this is our approach: we clearly state we are a for-profit business who do our best to be good citizens in the open source community. We balance what we take, and what we give. We are aware of ethics, we have ethics, and think about it. We use open source, invest a lot of money to develop it further, try to build a profitable business, and also give part of it away.

These issues are relevant to our team, our company, our customers, and our partners. Just as wellness and happiness for each of us is a combination of multiple factors, a sustainable commercial company needs multiple dimensions to make it work. We must think about ethics, and balance what we give and take. We must build the best OSS-core software that utilizes data to provide value for our customers. We must trust that open source will be commercially successful for our company, our customers and our partners. There are many examples of companies successfully dealing with this combination and there is more than one way to do this right. We will write our own playbook and we’re right in the middle of it!

Changing our licensing

As a startup, Crate’s business-model journey is as important as our product journey. For the first three years of Crate.io we drove for broad and fast adoption, distributing all our code under the Apache 2 license. Two years ago we started monetizing and introduced a production relevant set of enterprise features along the open core model, as well as a fully managed cloud service. All source code was still visible to everyone on GitHub, but we asked that businesses buy an enterprise license to run this additional set of enterprise features. We learned the hard way that some big companies using the software, would not buy a license. This model was not allowing us to capture the value we were providing, and the critical revenue we needed.

We are now trying a different approach. Starting with CrateDB 3.3, we will start packaging and distribute the “CrateDB Free Edition” that has all the enterprise features included. The new restriction we have introduced is a scaling limit on instances. Our current version can be operated on up to 3 nodes for free, after that we ask users to request a license. That allows everybody to start with the full feature set of CrateDB from the start.
We will no longer build and distribute packages for CrateDB Community Edition. However, the source code for the open core is available on Github and remains Apache 2.0 licensed.
We decided not to go with a blurry set of products but have a clear enterprise product and an unambiguous fully open product that does not compromise the freedoms of open source.

CrateDB CrateDB
Free Edition
CrateDB Community Edition
Distributed SQL x x x
Pre-built packages x x
Cluster Monitoring x x
User and Access Management x x
In-flight encryption x x
Additional SQL functions x x
Premium Support x
Scale unlimited 3 instances unlimited

We have made the hard decision to limit scaling without paying. We are reaching out to all our existing users through our known channels and asking them to communicate with us. We know when they started using Crate they did not know of these future changes. We want to provide a path moving forward; to start a conversation with them so we can find a solution that works for both parties.

We continue to have special free programs for startups, educational and nonprofit use. In addition, the open source code for our previous free community edition continues to be available unpackaged on our Git­hub repository under the Apache 2.0 license. You can still build your own fully scalable ‘vanilla’ Crate for free. It is more hassle and does not have packaging (like a repository for different Linux distributions RedHat, Ubuntu, etc) but it is available to build on top of as you wish. Some people may say we are taking something away. We say we cannot continue to do unpaid additional work and need to build a sustainable business. And with this approach we hope to satisfy our open source community, as well as commercial enterprises.

Monetizing our open source product is a journey we go on with our customers. As the environment changes around us, we constantly think about the best approach for both our customers and our company. Always with OSS-core at the heart of it. If you currently use Crate or would like to use Crate, please reach out so we can find a solution that works for everyone: jodok@crate.io

Newsletter

Stay up to date

Sign up here to keep informed about CrateDB product news,
events, how-to articles, and community update.