It's 2:45 AM and I can't sleep I am so mad. I have been writing this blog post in my head for the past hour, so I just decided to get up and write it already.
Yesterday I learned that one of my FAVORITE open source solutions called DreamFactory hosed their community and committed the three major sins of open source:
- They released a major version update and removed two major features used by 98% of their open source community. This update basically made the software go from useful to useless.
- They provided ZERO warning to their open source community members in their upgrade documentation that these features were removed. All they talked about was the great support they added for new capabilities, NOT what isn't supported anymore.
- If you made the unfortunate mistake of upgrading your server, now your code is broken unless you purchase a software license to the tune of $10k per year, a price at which the vast majority of the open source community isn't going to pay for.
For those not familiar with DreamFactory, let me tell you why I have been gushing about them since I found them years ago (even this weekend at a conference I was sharing how great they were) – I am WAS a super-fan.
DreamFactory is an open source instant API platform. I create a database, set up a connection in DreamFactory, then instantly have access to APIs that read, insert, update, and delete data into that database. As a developer this saves me hundreds of hours of work of API development annually. I create a new table, click refresh on the cache and BAM! A new API is created with a robust security model. All in Zero lines of code.
We use DreamFactory within the Atlas AI platform as the data connector to integrate dozens of data sources. For us, this saved us thousands of hours of development time and we could just focus on a couple key things: first, creating connectors for common platforms that marketers use (things such as CRM systems, ad platforms and social media APIs.) Second, they have a robust security model for their APIs, so as long as you configure it correctly (which is super-easy to do) then your data is secure.
What They Used To Do Right
DreamFactory is one of the three best documented open source solutions that I've seen in my 20+ year career in tech. They provide 98% of the instructions you need step-by-step to get their software installed and to use it. You don't have to be an expert in a dozen technologies to set it up. If you know about half a dozen technical things – how to SSH into a server (which I learned how to do years ago BECAUSE of this platform) and how to create a database and tables, then you can be an API developer without writing a single line of code. They support 4 different scripting languages, so pick the language of your choice and you can be up and running quickly.
Their business model is similar to many open source platforms – where they offer a community version and enterprise version. To connect to an enterprise database, you have to purchase an enterprise license (in V1 of their platform, this was previously free – so maybe I should have seen this coming.) However, having worked for both startups and Fortune 500 companies, this is totally reasonable and fair.
If you can afford a Microsoft SQL server or Oracle server (or both, like most enterprise companies), then the price of their software is ridiculously cheap compared with that of their peers in the space.
Throughout their company history, they've always talked about how they were committed to open source – they would support any open source database. Until they didn't.
They removed the ability to connect to MySQL, one of the most used open source databases in the market and they removed the scripting ability. Then to add insult to injury, if you upgraded your server – surprise! You were greeted with a new message that stated that your service had to be unlocked by calling their customer service team and your API now is broken.
What Good Open Source Companies Do
One of my favorite open source platforms is WordPress. WordPress powers a significant number of websites on the web (I've seen numbers between 20-60% depending on the source). I've been doing web development since the last millenium – when CSS was new and it was a huge PITA to do some basic layout and styling. What WordPress did was they enabled people with a very minimal learning curve to be able to create content for the internet. Any person can sign up at WordPress.com and create their own personal blog site.
Matt Mullenweg, one of the founder's of WordPress did what I think is one of the most brilliant monetization moves of the century – he built a platform that he can sell that works on top of WordPress and he monetizes the software that way. He is one of the founders of Automattic – a company that provides a number of different solutions that ‘upgrade' WordPress. If you need your WordPress site to sell products – they offer WooCommerce, one of the leading WordPress shopping cart plugins. If you need to protect your blog from spam and provide backups – they offer Akismet and Jetpack. They have essentially created the ability to enhance your site and they've done it in a way that makes it accessible to anyone. These solutions range from a few dollars per month to a few hundred dollars a month – a solution that any business can afford.
This makes WordPress a very democratic software platform.
People who want to use WordPress for free, can do so. Companies who want to create products/services that leverage WordPress can do this. People who want to customize and do whatever they want with the code, go ahead. Download and code away. WordPress as a platform has transformed the web and how people communicate. They've built a community of dedicated developers who know, love, and breathe WordPress day in and day out. It's truly a magical thing.
So long, and thanks for all the code
One of the AMAZING things about open source is that the code is out there. One of the amazing things about Github – where most of the world's code is stored – is that it's easy to roll back to a previous version. Yesterday I forked (the technical term for copying their code) the previous GOOD version of the code and shared this on my Github account.
I didn't want to do this – I would have rather found ways to partner with DreamFactory to help them monetize their open source community, but I had to. I've always seen the opportunities for DreamFactory for small business applications – some of their tools for managing things like email are a little clumsy – and now I get to customize and create the solution that I always wished it could be.
It's now 4 AM and I'm not mad anymore. Now I am excited – this is what open source should be – standing on top of the shoulders of giants to create something new.
Thanks DreamFactory for what you created – I'd still recommend you to Fortune 500 companies – I think your solution is amazing, but we'll take it from here and do something new with it.