The Debate We Need: How Can SaaS and Open Source Work Together?
Back in 2007, there was a lot of controversy over the GPL. Some developers wanted to make money selling GPL-licensed products. However, a lot of angry people insisted it shouldn’t be done and that commercialisation was against the spirit of the license. I interviewed a group of those developers to understand their thinking.
Now in 2016, I think we’re approaching a similar time of change. More and more developers are going to start using a hybrid SaaS and open source model. Large companies such as Automattic and Acquia are leading the way. but smaller companies will follow.
So, nearly 10 years later, I’m going to start talking to today’s pioneering developers to understand their approach.
First, I’m talking with Goran Radosevic of Cusmin. Goran has a popular GPL plugin on WordPress.org and is now branching out with his new product, Cusmin, which combines SaaS and open source.
Hi Goran. Could you introduce yourself?
I am Goran Radosevic, author of the AG Custom Admin plugin, and later the Cusmin plugin.
It all started in 2011 when I was working on a couple of projects and trying to prepare sites for my clients. I couldn’t find any solution that would precisely solve all of my problems, so I created a plugin that helped me to easily do what I wanted. The added benefit was that I could later use it for other clients. I wanted to share my work with other people, so I put it on the WordPress.org repository. It was a big surprise for me that people responded positively, so I continued working on it and adding features that people wanted to see. The plugin has 4.7 stars and has been downloaded more than a quarter of a million of times, showing that it is a success. Just check out the reviews from AGCA users.
You have a GPL plugin on WordPress.org. Why did you take the SaaS approach for Cumin?
There are two reasons for that.
The first one is to provide high-quality service for people who wanted more advanced features and to become premium users that have better support. Many AGCA users wanted more advanced features, but this was just not affordable to make before Cusmin.
The second reason is that maintaining AG Custom Admin for free became very difficult. The donation-based approach is not sustainable, and the fact that for 5 years of its first deployment there was only a couple of hundreds of dollars in return, tells everything for itself. The only fuel for this project was love, nothing more than that. Cusmin came like a great idea, to solve all problems. Implementing Cusmin was not just about this product, it’s also about the AG Custom Plugin. Everybody who can’t afford Cusmin can still use AG Custom Admin, which is absolutely free of charge, and will remain free forever. Cusmin made this possible. Many users agreed that AGCA already contains features that are of premium quality. According to WordPress.org stats, there are currently 30K+ active installs, and it’s a huge obligation to keep AGCA in good shape for all these users.
I believe that many authors are experiencing the same problems with their free solutions. In my opinion, giving users to choose between free and premium, or to base a solution on the freemium model, are the only ways to solve this problem and make everyone satisfied, while keeping the free version of the plugin in good shape.
Which Cusmin plugin features are offloaded to SaaS?
Cusmin is composed of two parts. The first part is the WordPress plugin that contains all resources visible on the settings page and PHP code that communicates directly with WordPress. The second part is the Cusmin service that checks for licenses and process the settings when the user clicks on the Apply button. The processing part is outsourced to Cusmin service, so there is less work for client’s server. The Cusmin service returns processed customizations that are saved back to user’s server and loaded later on every page load. The
The Cusmin service is used only when a user is on the Cusmin Settings page. This is a highly flexible approach that gives us the opportunity to create more sophisticated features in the future. These features may include giving users the opportunity to create their own Cusmin package with only those features they actually need, for a lower price. Another idea was to give users the opportunity to manage all their sites from a single place. This will significantly save the time they spend on maintenance of multiple sites.
The image below shows Cusmin in action on a WordPress site and illustrates how much re-branding is possible:
What architecture did you use to build the SaaS?
The Cusmin plugin is implemented in ReactJS, created by Facebook. The Cusmin service is implemented in Laravel 5. We keep up with the latest trends in technology in order to provide the best quality of the product for our customers. At the end of the day, it’s all about the people who use it, and their satisfaction. In my opinion, Cusmin is able to provide everything they need for branding and much more. It’s still in Beta because it’s not mature enough and some issues are still possible, but in general, its stability is on a very good level. Even though it may look like a final product, there are more things we want to add to it, and there is much more to expect from it in the future.
You may now see that a lot of things are happening behind the scene. Without Cusmin this story would probably have ended by now.
Over to you …
Goran is presenting a relatively new hybrid business model: part open-source plugin and part SaaS service. It is going to take some discussion and experimentation to get this right. Talking with Goran, I found him to be very responsive. Some parts of the Cusmin’s Terms of Service had proprietary licensing requirements, so I talked with Goran and he issued an update the very next day.
We’re not going to find the right approach immediately. But, I remember 2007 and listening to all those people shouting “YOU CAN’T SELL GPL PRODUCTS!” In the end, the community worked it out successfully.
SaaS will inevitably intrude on our open source world, so these are questions we need to answer.
Are there advantages in a mixed SaaS and open source approach? Are there other approaches that can use SaaS while keeping more of the benefits of open source?