Ask HN: Release software as open source?
I think there is a sweet-spot for people where OpenStack is too "big" and they simply want to spawn VMs on demand like with DO/Linode/Vultr but on their own servers. This is where my software shines.
The software could also be used by hosting providers that are currently using legacy software solutions like SolusVM.
Since I put so much love (and of course time) into this software I have a hard time simply releasing it as open source. That would mean that everyone can use my software to earn money, without me seeing anything from that. I see the pros of open source, but somehow the cons are currently more prevalent.
This is why I am thinking about selling licenses for the software, which are based on how much servers are managed by my software. This way people who only use it privately with one server would pay nearly nothing while big providers will pay a fair amount for the foundation of their business (aka my software).
I am just torn between to open source it or not, I simply see it as a lot of money lost, more hassle to manage everything but on the other hand the project could grow much faster and with enterprise support, etc. there is also money on the table. I also thought about the GitLab way of releasing a CE edition as open core while having an enterprise edition, but this is so much work, that I currently don't have the time for as a one man dev.
I also fear that when releasing it open source, there is basically no way back.
Does anyone of you have experience with this? I would love to hear stories on which way you guys went with and if you regret it or how it worked out generally.
Thanks!
4 comments
[ 4.2 ms ] story [ 25.4 ms ] thread* You have no moral obligation to release something as open source.
* Open sourcing a project is not free. It's work. You have to manage maintenance/releases/contributions/etc, in a way that will match your audience's expectation (much more than for a closed source app). If you fail to do so someone will fork it and de facto take over your project. In general, do not open source your project if you're not ready to put in the extra work.
* Typically when you open-source you don't sell licenses, you sell support contracts. If it's cheaper for enterprise customers to pay for maintenance than to update the software by themselves, they'll pay. If your software requires your expertise (i.e. it's complex and/or specialized enough) this might be a valid option.
* If you're still on the fence, consider releasing a 'lite/free' edition, i.e. closed source with some hard limits, so that individuals and small teams can use it at no cost, and then see where it goes regarding that particular edition.
Why do you want to open source it?
Are the alternatives open-sourced?
Do you want to start a small company that sells the license and support of the software?
Are you still studding or you have a full time job?
There are millions of open source licenses. It's not easy to pick one.
My inaccurate small list: Something like BSD/MIT allows anyone to use/change/sell your software. Apache is quite similar, but it has a patent disclaimer. With GLP if someone redistribute a modified version of your code then it must also be with a GPL license, it is more or less free, depending of your definition of freedom. For a server side program perhaps AGPL is better, because if someone makes a modification of your program in their own server then they must publish/contribute it. Don't take my word. You must do some research and get a serious accurate description of each license and choose the one you prefer.
Just don't make up your own license or use a silly license like WTFPL. If someone wants to use your software, the lawyers in the company will be happier to see a usual license.