Why I changed my open source project’s license & started offering dual licensing
Open source projects are great, but for some developers, it just doesn’t cut it. Matanya Fischeimer, Founder of vue tables 2, shares why he made the move to a dual-licensing solution. By offering dual licensing, vue tables 2 is available as both free to use software, and as a subscription for companies using it in their commercial applications.
I’ve been working on an open source project called “Vue Tables” 2 for more than 3 years now. During that time, I’ve spent over 1,000 hours planning, coding, debugging and writing documentation. It started as a small side project, born when I needed some data grids for a project I was working on, but couldn’t find an easy and robust solution that didn’t require a lot of work to implement. I really love working on this project, and from the positive feedback I have been getting, it seems like many other developers found it useful, which is exactly why I started it.
But in the past few months, it became a bit too much to handle. What started as a couple of emails every month, became a torrent of feature requests, support queries, bug reports and integration help calls. This was on top of so much work that needed to be done on new features, updating the documentation, fixing bugs – not to mention working on adapting the code to the soon to be released Vue 3 version. I was facing a ton of work that was growing every day. Like many other open source developers, I also have a day job, and it became clear to me that I just can’t afford to spend so much time on this project at the expense of my paid work hours. Everyday expenses are burdening me just like the next guy, and I have rent to pay and mouths to feed.
When I realized I will be needing financial support to continue working on my project, I started looking into monetization options that will allow me to get the resources I needed. What first came to mind was asking for donations. Seeing many open source projects had a “donate” button on their project pages, I figured that if it worked for them – it should do the same for me. After several months of trying, I realized donations didn’t actually work. Bringing in a few dollars every here and there, donations didn’t prove effective as a reliable source of revenue I could count on. More people than ever were using my code, but close to zero decided to donate. I can’t really blame them though, as I can’t remember when I last donated to an open source project myself.
Following this realization, I started looking for alternatives to donations. Apparently, there aren’t many, especially if you’re not into incorporating as a company and making your project into a business. That’s not for me, and I don’t think vue tables is a big enough project to create a business around. I just need some revenue to help me continue developing it, and I’m not looking to be the next tech billionaire. After doing some research, I’ve decided to start offering vue tables with dual licensing. Starting last month, it is available on Github for free with a GPLv3 license, and I am offering the MIT licensed version as a paid subscription for $15 per month. I’ve decided on a subscription model because I need a steady stream of revenue if I am to continue developing it on an ongoing basis, and provide the level of attention this project needs to grow, improve and be useful and robust in a production environment. I think it’s what I’m asking for is a fair amount for a company using vue tables in their commercial application and making money with it.
The previous versions of vue tables, prior to the license change are still available as MIT, so no one should get hurt if they’re currently using it in their projects – but future releases will be GPLv3, unless you buy a subscription for the MIT licensed repository. To implement my decision, I used xs:code’s monetization platform, which allows me to keep my MIT licensed version in a locked repository, that opens only for subscribers. I can accept credit cards and get paid, without needing to incorporate or worry about invoices and the likes. Pretty simple, and lets me focus on my code, and not on handling payments.
I know that for some developers, this move might seem drastic. But moving to the next version of Vue will take an enormous amount of work, and I’ve decided that in order to take this project to the next level, I will need stable financial support from the companies that use it commercially. It will remain open source and free, just with a more restrictive license. Feels fair enough to me.