View Full Version : Open Source License Advice
Aug 29, 2010, 04:14 PM
First of all I know it would be better to ask a lawyer, but being a student that is out of the question so I have to make do :).
OK so my goal is to release a piece of software as open source and then hopefully make a little money by supporting it. I'm personally opposed to the GPL because of the viral nature of the license but on the other hand from a business perspective the GPL is (ironically) a better choice than a BSD/MIT/Apache style license as competitors won't be able to integrate the code into their code base without providing their enhancements back to the original project (directly or indirectly).
I notice that quite a bit of open source software that is funded by this commercial support style entity is licensed under one of the liberal open source licenses (BSD etc) but do they just not worry about other companies coming along and verbatim copying their code into competing software? Which perhaps could allow them to come to a position to be able to compete in a faster time than if they had to provide their enhancements to the community at large.
So what would you do? I don't think it is feasible to release under a closed source license. Software such as this really needs to be open in order to gain any sort of traction with the community at large.
Aug 29, 2010, 04:37 PM
As a bit of background (so you can judge where I am coming from), I am the developer (but not original creator) of InstaDMG, and open source tool widely used to create system images. I am also the originator of a few other small bits of open-source software that a few people use. I have a full-time job that is not directly related to any of those projects, nor do I earn any money on those projects. The only for of "compensation" I have had for those is invitations to speak at conferences (Macworld, MacSysAdmin in Sweden, and the MacTech conference).
All of my contributions have been under the Apache or BSD licenses, and I have even invited people at conferences to remake my software as commercial software. I have thought once or twice about going commercial as a small developer (probably on a few other ideas I don't have time to write at this point), but I have always figured I could even do this with InstaDMG if I wanted to. The point is that other than people being hucksters and selling my product to people who did not know they could get it for free, that it is unlikely that someone is going to come in and be able to develop something noticeably better than what I have without spending a lot of time on it, including the time to build up the experience and depth of thought in the problem space that I have already put into it in developing InstaDMG.
In fact there are two commercial competitors to InstaDMG (Casper Imaging Suite, and Apple System Image Utility). Both of them have professional developers behind them, but I still feel that I am out in front of them (in the narrow slice I choose to develop in, both of the other products do a lot more than InstaDMG in other areas).
My whole point with this ramble is that if you are actually offering people beter value than others can on top of the open-source code, then it should not matter what license it is on. If you think that other people can out-develop you in the space you have chosen, then them not being able to copy-paste your code is only going to cost them a little time before they can beat you anyways. So I am generally of the opinion that projects should either go Apache/BSD or closed-source. The GPL just mires the code down in a idealistic debate and prevents people from working in commercial spaces that you can't cover.
Aug 29, 2010, 05:55 PM
I notice that quite a bit of open source software that is funded by this commercial support style entity is licensed under one of the liberal open source licenses (BSD etc) but do they just not worry about other companies coming along and verbatim copying their code into competing software?
That's pretty much it, in my experience.
If you're worried about competing software, then you don't give it away without restrictions. If you're not worried about competing software, then it's because you truly don't care about competition, or it's because you're so far ahead that you think you can afford to be generous.
Addressing the basic problem, you could dual-license. GPL to force one set of restrictions, including forced contributing back of changes. Another license to control commercial use. And you can always say "If you're not happy with either of these licenses, contact me to negotiate a different one".
The Artistic License is non-viral and enforces contribution of changes to be publicly released.
Aug 29, 2010, 05:58 PM
What do you want people to be able to do with your code? It sounds like you want to give away the compiled software, but that doesn't necessitate giving them the code (unless you include GPL'd code...). There are levels of free and levels of open source.
Consider the following:
Do you want people to have to pay to use your software? This determines if your software is "free as in beer". You get to take the finished product, and consume it gratis.
Do you want people to be able to read your code? This determines if your code is open source (or the strangish "shared source", where an agreement is required to see it).
Do you want people to be able to modify and redistribute your code without paying you? This determines if your code is "free as in freedom". People are free to "take" and use your code gratis. People will argue to no end about just how free it is based on other factors.
If you allow access and redistribution rights, must you be acknowledged as the original author? Must the modified code be distributed with the compiled code? May the code (compiled or not) be sold? These details determine how permissive of a license you wish to use.
You are also able to multi-license your code like MySQL to allow for others to choose what they want to do with your code, which will dictate their obligations financially and otherwise.
Aug 30, 2010, 12:27 PM
Thanks for the advice. It is a small web framework I am working on. So with the proliferation of open source alternatives not being open source kind increases the amount of work needed to get people interested even if you release the framework free but in object form. Plus (I would at least) people might be somewhat suspicious if the security aspects are closed source.
I guess I want as many individuals to be able to use it for free and to its full advantage but charge businesses for support. That way individuals can enjoy, use and share it with no restrictions (and I don't need to worry about piracy) and businesses can pay for support if they want guaranteed response times and a phone number to call if they want to talk too someone urgently.
The dual license idea is one I hadn't considered, I'll have to spend some time re-reading the available options in order to get a feel for them.
From what I hear businesses above a certain size tend to look for commercial support no matter what the price of the original software is. The feeling seems to be that failure costs more than the support contract so might as well get the support. That is what I am aiming for.
Of course this is probably just wishful thinking on my part. But aim for the stars as they say.