OPINION-- I often meet programmers who accuse me of belonging to “the dark side” because of my preference to work on commercial applications. They opine that I have sold out for a simple love of money and that the so-called open source community is the paradise for true programmers. Fortunately, I am not so easily swayed by arguments that on the surface look good.
Instead, I took a deeper look at what is being preached versus what is being done and am glad that I have done so. I have many objections to open source, and particularly the existing licensing models such as GPL but today I’ll just cover several.
The overriding concern I keep coming back to is commercial viability – for both company and individual. Developing an application regardless of how you do it is an expensive process. For a business to be forced to release that due to the underlying licensing model to the community is a huge financial burden as well as giving away significant competitive advantage.
For an individual, how financially better off are they if all of their work is submitted to the open community for use by anyone else? Sure, there’s revenue to be had from training and consultancy, but this is only possible if you can find the right person for the right job.
Actually, that same revenue is just the tip of the iceberg as far as I’m concerned for the hidden costs involved in a company using open source as their basis for doing business. Yes, the initial investment may indeed by an amazing $0, but how hard is it to implement? What if it needs to be maintained? Rather than appreciating the feature set that comes with such a package, corporations often decide that because they have the source they can modify it – but at what cost?
I’ve heard open source proponents argue that commercial software is sold “as is” and so cannot be modified. As I see it, that’s actually one of the major benefits in commercial software – does a company REALLY want to own their own operating system, or major application? Wouldn’t they RATHER pay for it and if anything goes wrong have someone else fix it?
As soon as a company takes an open source application and customises it beyond the fully released version, they’ve effectively said they now own that piece of software and are now required to continually maintain it themselves. If newer open source versions are released the corporation has to figure out how to fold these changes into their modified codebase. They also need to consider whether each change they make should be submitted back to the community and whether they’re complying with the licensing scheme that particular codebase is operating under.
Don’t misunderstand me. I actually like the philosophy behind open source – a worldwide community of developers helping each other create and maintain applications where every programmer can offer his or her skills to solve particular problems they’re best suited to.
However, with the current licensing models that are in place, I cannot let myself get fooled into thinking that it is perfect. I should be able to choose what I do with what I create – it’s mine (or my company’s if I’ve developed it for them).
And some of the concepts that I like – such as a sense of developer community where programmers are keen to help out – have existed (and been enjoyed by myself) for far longer than open source as a well-defined concept. To argue that the open source community has better support in the way of Newsgroups and other alternatives is not fair and not true.
In fact, this kind of camaraderie is shared across all developer tools and environments, and as an example Microsoft provide not only newsgroups but a very comprehensive developer network that far outclasses anything I’ve seen on the open source community with MSDN.
I use open source at times, but I’m too scared of the licensing issues and I want to own my own code to really be a huge fan of it. I’d much rather know exactly where I stand with my development – commercial toolsets to provide commercial products that I (or my company) own and can do with what they will. Heck, I can even give it away, which I have done, and I can share my source code with other developers, which I have also done – but it’s MY choice to do that. I’m happy with that.
Andrew Parsons has been working in the Australian Windows development industry for more than 10 years. He now runs his own consultancy for Web and graphic design as well as custom programming. He can be contacted at firstname.lastname@example.org .