Friday, February 06, 2015

Thoughts on Open Source Pt. 1

It is a curious experience to enter into the open source world, after having inhabited the walled-gardens of the Windows OS for so long, though the two worlds do overlap in a limited way. The experience of a Linux-based operating system, in this case Ubuntu - which is a free OS platform that is distributed by a company that takes in revenue from technical support and other services - is very different from Windows in several key ways, and these differences can be quite illuminating.

Like many mass commercial products, Windows isn't too bad if you are using it in a passive capacity, if you are consuming it, paying ever more for whatever functions you require, and etc. But if you don't have the money to spare, your options are severely restricted, of course, if you don't want to engage in activity that constantly puts you at odds with the law, which a lot of people do anyway. Windows 7 wasn't too bad, but 8 was an embarrassment, and it always felt as if you were constantly fighting with the operating system to make everything work or to keep everything working.

Or you'd run into strange design flaws, or experience errors that should never have happened. Oftentimes these mass commercial products aren't very well programmed, or designed. They're ramshackle amalgamations of old and new structures. Commercial entities have a conservative tendency - though a purely conservative impulse would simply preserve whatever is found to work well - which isn't always bad, but in this case it works against the product. They tend to produce a good product, and then upon the product's success, they insist on building and building and improving on what they have, until they have this convoluted abomination that is supposed to do everything, but it does nothing right, and is riddled with contradictions.

And through proprietary design, these products claim ownership over their domain: over the hardware and the other types of software they accept. They introduce a stifling atmosphere in which consumers shouldn't be programmers; they shouldn't tinker with the software or hardware they are given. Leave that to the professionals, whom you have to pay.

To experience true open source is to experience a breath of fresh air. These open source programmers are crafty. There is support everywhere. Things open up. They breathe. Things work, and they allow other programs to work with them, whatever they are. Information is easy to come by and programs make intuitive sense and work smoother. Innovation is quicker to bubble up. Imagine that: if you aren't putting up a bunch of superfluous proprietary barrier mechanisms and virtual toll booths, things tend to run better.

Programs tend to be more modular and function-based. That is, a program is built with simplicity to work well, and then the developers either move on, or build more complex programs off of those components, which are meant to communicate. It isn't perfect. You see the same problems of ramshackle systems working against each other, and convoluted programs, which tend to crop up as complexity in human production grows. But many of these issues are easier solved, as the developers communicate with each other. Many of these open source programs are simply better designed and run better. 
 
This is because open source puts emphasis on the programs themselves, as opposed to the commercial function of these programs. Programmers wish to build programs that function well and do what they are supposed to do, whereas coupling that discipline with a commercial drive in a corporate environment requires the programmer to dilute the product with commercial aims. This reminds me of the consequences of the light bulb cartel in the 1900's, which forced engineers - who wanted to make a solid product - into building an inferior product, a light bulb that only lasted a fraction of the timespan that was possible, a preference which was determined by market forces.

These software experiences have helped remind me of the true face of market choice: if a commercial entity deliberately sets out to establish a monopoly, as Microsoft (and Apple) has done, and it gets away with it, then as time passes, the ecosystem within the monopoly grows, and transforms the nature of human activity outside of it. In an economy, a majority of the mass of human activity seems to follow a principle of least resistance: where labor is concentrated, where goods and services are emanating, economic activity will direct itself to, as what has already been made and offered is easier to incorporate into others' projects, even if they have to pay higher and higher sums. And when a centralized power manages to fence off these ecosystems of activity, and control the resources within, it severely delimits the flow of resources to areas inside of the monopoly, and the resources caught within must follow a highly constrained logic.

When you have an operating system that aggressively forces itself into a majority of a populace's computer activity, and then shuts itself off to alternative systems, it creates an environment where economic activity must conform to the requirements set by the dominant operating system, and any attempt to use an alternative means a severe curtailing of choices.

So a vast majority of programs that are built by other people are configured to work on the Windows OS, or Apple's OS. The interesting thing about Linux is that it enjoys a decent-sized user base, but the level of technical ability required to use it increases dramatically, at least from what I've seen.

And this is where the kicker is. Working with open source requires time and effort. It requires substantial technical knowledge. I'll attempt to account for this state of affairs in the next series of posts, which, though difficult to articulate, reveals much about how a complex society unfolds through time.