Open source is about freedom while business is all about profit. Open source software belongs to two camps: it’s either restrictive (like GPL) or permissive (like Apache). In reality, free software and open source are just two sides of the same coin, that is, two viewpoints on making software. Free software is more on the philosophical/moral side of software development, while open source simply tells the world that the process of software development is open (not proprietary). Whatever is the motivation (for-profit, personal or otherwise), it’s up to the originator of the free/open source software.
GPL is all about freedom, and that freedom is protected by reciprocal growth in terms of code enhancements and code fixes. That is why the The 451 Group advises open source developers to not sell anything to your community. With freedom comes free software.
The problem lies when a product of that freedom is being commercialized for profit, or when the code improvements is actually what you are selling (as with the case of NASA code contributions that conflict with Eucalyptus Enterprise Edition). As Richard Stallman says, GPL is all about freedom. GPL mainly caters to the following groups of audience.
1. End-users (free software with no strings attached)
2. Developers (you can modify the code and distribute as long as you share your code improvements) – the other camp wants it to be called open source, instead of free software
So where do businesses fit in? If you use GPL, don’t mess with GPL. Proprietary extensions (or the secret sauce) being served under proprietary licenses is your choice (it’s business anyway). If that’s what will differentiate your business from the pack, go for it. GPL is all about free software because software wants and needs to be free. However, if you offer software as a service, that’s where business comes in. When you enter the business of free software, it all boils down to services (because you cannot sell free software, it’s free after all). GPL is about free software as a product, not software as a service. SaaS is business, for profit, and not about freedom.
For example, Ubuntu. Canonical offers Ubuntu as a community distro but adds extensions and services to further its commercial interests (the canonical poster model is Red Hat of course). GPL or not, Apache or not, the value of free/open source software comes on the back of its community. FOSS then becomes a commodity. It’s when you tie FOSS to your business where its profit value shines.
In the ideal world, software as a product ought to be free. In our world, you pay with software as a service, or with products/services built on top of free software, or with proprietary software. For-profit software is either under permissive license (like Apache) or proprietary license. If money is an issue, then you can always use free software.
But don’t confuse freedom with profit. Profit is the criterion of demarcation between free software and commercial software regardless of the latter’s open source or proprietary nature. There is a difference between the nature of software and the meaning (purpose) of software.
Citing a chapter from Dan Ariely’s book Predictably Irrational, we can say that free/open source software and commercial software is a case of social norms vs. market norms (cause vs. cash). Free software caters to a cause while commercial software caters to the market (cash). In other words, it’s freedom vs. profit.
But when free/open source software crosses the line of market norms, that’s when the fuss is exploding.