Tuesday, September 2, 2008

Open Source's Greatest Stength: Freely Available Information

Sometimes the greatest splendor of a particular technology isn't found in it's technical merit. All sorts of aspects to qualify as technical merit could include (even if only arguably): usability, security, stability, functionality, and so on. These are intrinsic qualities to technologies; that is, these are conditions the authors and engineers put into the technology that cause it to succeed in it's goal. To really understand Open Source's greatest strength, an introduction to the strength and weaknesses of software is presented here.
There are other elements that cause software to succeed or fail that go beyond the intrinsic qualities such as marketing, enthusiasm, previous dominance, third party hardware and software support and so on. Often times, perhaps more often than not, software succeeds regardless of its faulty intrinsic nature and visa versa. Arguments in favor of faulty software that has succeeded anyways usually silently admits the technical failures of the software, and visa versa (that is software that's so good it goes without a full arsenal of strengths and succeeds against all odds). That we have two areas that cause software to succeed or fail: intrinsic and extrinsic aspects.
Considering that all software is written ultimately by some human or team of humans, the nature of software is dictated by humans. This is important because it is humans that will determine the philosophy behind the software, and by that I mean the spirit of the software. It's the philosophy that predetermines the intrinsic and extrinsic strengths and weaknesses of software. So, it is that the reason why software is being developed as the key to the spirit of software.
Now, when software is written to earn money, it's strengths are usually external (which means it's usually technically inferior, but obtains and remains dominate). It usually enjoys well meaning and well earning (as in they have good jobs) professionals who insist on the superiority of a certain project. It's sad, but when someone spends $12,000 USD, they tend to scoff at free alternatives, and it's very tempting to say they only do so to save face. When software obtains dominance, it becomes de facto and now people must learn it to use computer systems and take advantage of the power of computers, that is unless they feel like doing tons of research themselves. This isn't the choice use of free time for most people.
Commercial software development also enjoys the use of money to really motivate people to get things done. All food takes an effort to produce, and almost always costs someone some money or some time. So, commercial software fills their bellies with warm food. So, commercial software gains in hard labor: marketing, engineering, research, and support. This really has been a blessing to commercial video games.
Open Source enjoys the enthusiasm. In this model volunteers who are often talented engineers and programmers decide to free themselves from the commercial model...
The commercial model tends to cause traps. Often times, software is written to shackle and dominate. Computers are then more expensive than necessary. Once dominance is achieved, a company can crush competition unfairly, and no software needs to improve. That is why open source exists, hence, The Free Software Foundation. (Also, why should someone with talent be forced to make someone else rich against his own benefit?)
In Open Source, the development model ensures high technical merit because the software usually doesn't enjoy marketing and professional-looking technical support. It also looks pathetic just because it's free. One of its strengths is that its license (usually General Public License v. 2) allows for free changes, scrutiny, and free usage and distribution.
I used to think that this didn't really provide much value for the common user. Usually, these are just people who want to just get a job done and didn't enjoy tinkering (as some call it) or finding a better way to do the same thing. However, I now rescind this motion. Free software makes this available to any user, whether or not he or she wants it so that he or she could become whatever he or she wants. The alternative is that one must go to college and seek a degree, then go to a business and climb the ladder. This is a real problem due to the fact that a lot of technically minded people have difficulty relating the complex details of software to non-technically minded people. These are the kinds of things mentioned in The Daily WTF and Computer Stupidities. These sites are humorous, and not necessarily scientifically valid studies, but do offer a view into what technically minded people face in the world of Information Technology. So, the advantage to open source is in it's unshackling to the commercial model, which benefits only a few, as opposed to the Open Source model, which benefits many.
While the spirit and technical merits really do wonders wonders for Open Source, it has only a few extrinsic strengths to boast of other than the openness of the code: primarily the availability of information. Although some open projects are poorly documented (I shake my fist at TinyERP) many are blessed with a all sorts of free support options. I enjoy IRC myself because I can get very quick and very substantial responses. The speed afford the timeliness needed for a good evaluation by someone much more knowledgeable who can critic an effort. Then there are forums, manuals, wikis, and so on. Often the spirit of commercial software doesn't allow for outsiders to create support communities and cannot peer into the code, cannot debug, cannot correct. When someone does make a community, it's to sell access to the community, or to offer third party support. So, in commercial software, nothing gets done without the promise of money. There are a lot of free communities for commercial software, but they just won't be as good just because the code is hands-off.
The free availability of information is a key component in my life. Because the software isn't just free, but the documentation is free, and often pretty complete, I enjoy the ability to study, learn and grow becoming a better technician. I've been given the ability to create routers, web servers, LDAP servers, do all sorts of graphics work, financial work, music work, networking, and on and on. I'm free to do what my heart pleases, and to commit myself to earning money in the process, even building businesses.
Some of my contemporaries enjoy this as well. Faith Computing (and the site I maintain: Faith Sites) was spawn from what Open Source made available. We use Joomla and SugarCRM (commercial open source is another subject entirely) and many other projects to earn a living. We can do all sorts of powerful things not just because the software stands strong on it's own technical merits, but due to the free availability of information.
Software has come a long way since Bell Labs made the first UNIX. Software was nearly stunted by the commercial process of software design. Openness unshackled it with one strong merit: the availability of information. Not only could I obtain the software, but I could maximize my use out of it. I'm given the ability to customize it, configure it, and deploy it for all it's worth. I can even do this to earn money. I wasn't much of a technician before I discovered open source, but now that I am, I give more thanks to the community for what I've become than all the books and institutionalized education I've enjoyed. That is to say, the availability of information about this software will ensure it's strength in the world of information technology despite the weaknesses of it's inability to provide marketing and against the tide of dominance.

No comments: