Skip to main content

Rant: Open Source Monetization

Monetizing open source projects is important to project sustainability. I feel like ranting about this today so I thought I'd throw these thoughts on the internet. I'd like to preface this whole rant by saying this is just my opinion and in my experience and I am no expert. Open source enthusiast seem hesitant to discuss monetization. They act like it will sully their principles and that every project should be a charity work. Meanwhile, open source skeptics don't believe that open source is possible of making money. How could you possibly sell something that you give away for free? I find that the strongest, most complex open source projects have some commercial element to them and I think that's how it should work. Expecting developers to build and maintain software without any financial support or by begging for scraps on Ko-Fi is short-sighted at best. Conversely, selling open source is very possible. It requires a different mindset than your typical "make product, sell product" business model with more creative funding streams. In the end, I think that open source products are more productive for society as a whole though, encouraging learning, customization, and innovation for all people regardless of background.

 

So how does one monetize open source? It depends. The most effective way to monetize depends on the size of the development team, the type of software, and the target users among other things. One of the most effective models I've seen, especially for big businesses, is the service/support model. The idea is that you release your software, free and open source, and then you charge for installation, hosting, and/or customer support. Users are completely allowed to install, use, and fix their own systems using your software, but if they want the expert service that comes straight from the source then they need to pay for that. By factoring the cost of development into the support price, customers who can afford to contribute to the project wind up supporting it for everyone and still getting something they want (support) in return. This is Ubuntu, Red Hat, and so many other companies main, successful business model.

 

Another good model, especially for solo devs or small teams, is the Freemium plan. Basically, your core software is completely free and open source providing the most important features to anyone who needs them. Then you have extra functionality that is provided separately at cost. This paid portion of the software can be closed source or even open source if you have a generous user community. Me writing this article was inspired by seeing a recent art software named Void Sprite do just this. Their main art software is free and open source, but they recently released an Auto-Updater module to help keep the software automatically up to date and they are charging $2 for it to support the project. Some people might criticize this action but I am glad that they have found a non-intrusive way to monetize their product.

 

Sometimes releasing part of the project as paid is not an option or not desired. For this situation I recommend the "delayed source" plan. Your most recent software version is kept closed source, but to encourage the community to be involved in the project you release an older and/or limited version of the software as open source. This is similar to the Freemium model, but requires less work as you are basically handing out discarded code. There are lots of creative ways to monetize open source and openly licensed content and I think it should be discussed more. I still argue that the idea of Intellectual Property is too simplistic and outdated for our modern information age society, and while forcing people to release their Copyrights and Patents might seem violently satisfying, I think the real path to open source enlightenment comes from encouraging and convincing people of the best way to develop their ideas.

Comments

Popular posts from this blog

Cloud Essentials Class Finished!

Today I completed the "Cloud Practitioner Essentials" class from AWS. My current goal is to earn the AWS Cloud Practitioner Certification and this class has been a good step in getting there. Next I'm going to start another class called "AWS Cloud Quest: Cloud Practitioner". This looks to be a more hands on learning experience like a Lab class. After that I'm going to start looking at exam prep materials and see if I can schedule an exam for the certification. Getting the Cloud Practitioner Certification is just a per-requisite for getting the Amazon Certified Developer Certification that I really want. It's not a hard requirement, more of a recommendation, but I think it will make training for the Dev cert much smoother. I have a few classes that I've found for training for the Certified Developer Exam, but some of the good resources for that may cost some money. I'll cross that bridge when I get there. I think getting these certifications may h...

New Plans for Fall

Since moving to Charlotte I've been trying to find new opportunities in the software development and tech fields in general. I still want to develop computer games, but I'd like to have other, hopefully more stable, sources of income as well. I believe I have the skills to find a job in software dev, but being unable to drive because of my visual impairment is a big hurdle. Also, I have education and skills in programming, but all my work experience is in IT management which isn't super helpful. All of this to say that I'm trying to find creative ways to work my way into the software industry.   Certification is my current plan. I think having some official, reputable programming certifications will help me to be more marketable. I'm starting with AWS certs. I think that cloud technology is very important in today's industry and I'm very comfortable working with virtual environments and abstract concepts. I think Amazon is a big leader in the commercial Linu...

NextJS Class Update

I'm back to this blog! Come to find out, Ghost.io was just a free trial and I can't post there anymore without paying money. I'm planning on self-hosting eventually, but I haven't got that setup ready yet. I have still been working through NextJS. It's been taking a little longer than anticipated, but I think it's still moving along alright. I think the info will be very useful.  I think creating Web Apps is a good skill for any kind of programmer to have. People interact on the web, that's just how the world works today and being able to code for the web is a valuable skill to have. I also hope that I can find some freelancing opportunities to monetize this skill as well. I'm still working on some ideas for a post-class project: Database for Game Ideas with comments and voting Page that creates a custom filter for speedrun.com Secret game page disguised as a mundane website Web page to monitor stream activity for favorite streams The project ...