The very quickest of quick notes on open source software. I can’t help but feel that software developers, as a whole, have somewhat given away too much. A browse of github / sourceforce and the like would indicate that for just about every sort of software that the end consumer would be happy to pay good money for, there is a version or competing product which is available in open source form for free.
Although the reasons for individual projects being open sourced differ, there seem to be several categories that are of note:
Category 1, part, or ex-commercial software:
Companies have been unable to make a profit or viable product from a software project, and upon winding the project down, have decided to open-source the software.
Alternatively, the company has gone bust, but the developers have been loath to throw away many man years of work, and have hence open sourced it.
Or, the company has a product of sorts, but has not been able to obtain or hold on to the manpower or expertise to keep it viable, so in the hope of spurring development (often towards third party add-ons, improvements), they decide to open-source it.
Category 2. Convenience and altruism.
Truth be told, most projects are too small for just one guy, and quite often, collaborative projects need many people, widely distributed across the globe. However, in many cases, these people do not fall under the easy case of being employed by the same company, or, the project is simply a group of like minded people, who have a common goal and want to work on the project in their spare time. In such cases an open source development model seems ideal.
So what’s the downside?
The downside is that there are only so many new things under the sun.
The open source model is based on the premise that freely available software ecosystems stimulate further development by lowering barriers to entry. This is certainly the case. It’s also true that open source software is often (but not always) of relatively high quality, there being more eyes to examine, understand, and fix the code.
The problem is that I and many other software developers take the point of view that given years of learning, training and career progression, we’d like to be able to make money out of our skillset. Open source software makes it increasingly difficult to do that – if something has been done well, and it’s been open sourced, and exists in a free distribution, then savvy consumers are less likely to pay money for a similar product, if they can get something good enough for their needs for free.
Note the phrase there: “good enough for their needs”. For example: If I want an office suite, I could buy a copy of MS office, or I could use LibreOffice (ex StarOffice) which is free.
Truth be told, MS Office is probably the better product: It’s newer, has more features, and is kept up to date with the very lastest GUI toolkits and OS releases. However, I probably only use about 10% of the features in the product, and all of the features I use are also in LibreOffice, hence I use the latter.
The case now comes that if I am Joe software developer, and I want to make money by writing and developing an office suite, there is no way that I’m going to be able to make any money out of it.
So, here’s the question. Have OSS developers gone and cheapened their trade by writing so much free software?