This first article is why I think OSS is important, please see the later sections, as I write them

I am trying to minimise political commentaries and social architectures off this site, its not relevant to coding. As a general statement I am in favour of OSS. Dr Stallman1 made a serious social critique on creative freedoms being separate to financial value. The primary benefit for my personal perspective of OSS is localised responsibility, if “we, the technical people” need to be ensuring that systems are running smoothly, then we the technical people need the legal access to do this. Dr Stallman is a distinct individual, his skills are likely to be higher than any technician from a supplier. His ability to alter tools to meet local requirements is better, as he is also user of said tools.

In my opinion RMS's major artefact isn't contribution to LISP or anything to do with EMACs; its the legal declaration for creative freedom. The GPL2 is written inside the terms of normal legal frameworks, so is a usable structure (this should be compared to manifestos for Impressionism [1] see 3 4), Dadaism5 or Surrealism6 7 etc). The longterm consequence of OSS is a flattening and merging of the solution space. One may use a proprietary webserver, or a specialised webserver, or Apache[2]. Apache has a lot of optional modules, so Apache is likely to feature match the proprietary version; it may match the specialised version. If you need a “new thing” that hasn't been done before, generally the cheapest and easiest solution is to build an Apache module. You ~ the developer ~ benefit from an existing codebase, a lot of background features and a lot of development features for managing code inside the Apache project. The rest of the community benefits from the new idea that you implemented. In terms of economics, its a win-win 8.

With the proprietary version, you would need to be a irregular license that enable you to modify their product, or pay that supplier to create the feature the needed. This is a lot more difficult to manage, and definitely lacks all the supporting tools and infrastructure. The specialised server option is likely to fall into one of the previous two categories.

If we act like biological virus, and share successful solutions with each other 9 10 then solutions are used faster and more reliably. This increases the general quality of the software services. One may be a good developer, and above average; but one is unlikely to be better than all the other developers. Sharing means we have no need to duplicate each others work. In practical terms; if everyone contributes, if its “our project” (to continue the previous example, Apache11) for everyone; then we all have best webserver that we can build. This statement is naive about political process, but it addresses the issue more than other methodologies do.

The next big theory to cite is game theory 12. Our actions collectively, have weight bigger than the raw sum of parts. Managing these interactions is important. The above group of programmers all have differing backgrounds and experiences. A mechanism to aggregate all the successful bits together 13 will achieve more than any other social construct. OSS is the best mechanism that I am aware of to do this.

If jQuery 14 15 is a widely supported standardised API for a list of JS actions, then the average quality of websites increases, and the average development time falls. Like it is hard to make large profit from selling screws, a JS agnostication layer is now “free”. A purely technical concern will never impede anyone again.

Having read this, you may think about the iceline project. There are at least 6 different tools that the current site could have been implemented inside of, at much lower cost. This is discussed on the project page.

All this discussion on software service quality is all very good, but who “pays for your lunch” 1 ? The economics will need to change. It is widely accepted that weaving machines are a good idea, rather than using hand-woven cloth 2. So we do not sell that work ~ we sell cloth in bulk, at prices that would be ridiculous before weaving machines. Or we sell completed clothes, just using the cloth. Data cleaning on a webform shouldn't need to be “paid work”, but all webforms should have it. This form should be hosted on a high performance high reliability webserver. In an ideal world more people focus on making useful forms, rather than forms themselves.

[1] I can find lots of discussion about the first, second and third Impressionist manifestos, but not their texts. [2] or nginX etc. Apache is the earliest/first widely used OSS webserver that I am aware of. Everything that applies to Apache apples to other OSS servers. As Apache has been running longer, it has a bigger community.