The Free software sector and its twin branch, open source, have grown quickly in recent years. Yet there are still factors that, if changed, would further speed adoption.
Striking a balance between mindsets might be a factor on which the success of Free software is hinged. Put simply, a struggle against so-called 'pragmatism' may have been one of the greatest barriers to wider adoption of Free software. However, at the same time, such a struggle ensures that Free software never devolves to become excessively assimilated to proprietary software, at which point its fundamental goals are simply not met.
Over the past 25 years, Free software fought its growing pains and became an integral part of the computer industry. Against all odds, Free software, which at a later stage grew alongside the Open Source
branch, has reached and touched almost every aspect of our lives, at least as far as computing goes. In the case of Open Source, nowadays it's common to find that similar concepts get adopted almost everywhere, not just in technology.
To give a few examples demonstrating ubiquity, Google is powered by Free software at its deeper levels and Mozilla Firefox, which is said to have reached approximately 123 million desktops and laptops, is by all means Open Source software. The various BSDs gain acceptance also. As Macintosh users are probably aware, their system enjoys a symbiotic relationship
with BSD (or Darwin) development. Even Microsoft Windows contained portions of BSD-licensed code.
When it comes to Free software, the outlook seems bright. Market predictions are largely optimistic and sharp growth of Open Source software is foreseen quite uniformly. An overwhelming lump of investments which were seen at the beginning of 2008, along with the one-billion-dollar acquisition of MySQL and another of Trolltech, are definite signs that Free software is no longer just a niche in the industry; it is a major part of it.
Obstacles to Adoption
There are areas where Free software has been more successful than others. In order to understand how adoption can be sped up, one needs to look at known weaknesses and barriers, then address them.
There are two separate sides to consider here; the first is the environment to which Free software needs to adapt, and the second is the environment in which Free software is being developed.
In the first case, a reciprocal relationship can be seen. The industry wishes to leverage Free software to its own advantage, whereas Free software relies on an industry which supports, funds, and contributes improvements to the software being deployed. Those two sides are bound to meet half-way and benefit mutually.
In the second case, there are frictions to be addressed and reconciliations to be reached. As alluded to at the beginning of this article, there is no single ideology which represents everyone. There are those who prefer to make compromises that can be seen as shortcuts to acceptance, which come at a cost. This is typically accompanied by caution or resistance from one side (developers) and acceptance from another (targeted market).
Separate strands -- at times even referred to as "movements" -- adopted slightly different routes to a digital emancipation. They strive to accomplish very similar goals, but they use different software licenses. While their philosophy is not inherently the same, it is still almost identical. The development methodologies are largely consistent across the different strands and yet, unnecessary arguments sometimes get in the way. That barrier is akin to a 'civil war' and it can quickly becomes a distraction.
In order for Free software to become more dominant, here are just a couple of broad issues that need to be resolved. They correspond to the items above.
The problem: In a market where customers are seen as passive, they are often referred to as consumers. Most consumers out there in the market are oblivious to the ideas that make up Free software. To many people, "Free software" means "cheap software," which at a mental level translates to "bad quality." However, "Free software" truly ought to be synonymous with freedom, as in free speech or liberty. This ambiguity in the English language can be misleading, and unfortunately it has been rather damaging to this software's reputation.
In recent years, innocent consumers have grown more familiar with some harms of proprietary software by witnessing unwanted behaviors that can be explained in fairly simple terms. Examples include the inability to access or edit one's family videos and the loss of access to entire music collections, which need to be repurchased. As the days go by, computers control the user more then the user controls his/her own computer. Software producers gain greater control over the user's wallet, too. "Why," you ask? Because they can, particularly as long as customers obey and accept rather than demand change through resistance.
There is clearly a problem of perception here. Users who are 'external' to the development world frequently fail to see where they are being led and how they are being controlled. Additionally, despite the fact that software is not tangible, people tend to forget that software is duplicated virtually free of charge and therefore, cost of acquisition says very little about quality. The value of software depends a great deal on the number of people who use it.
Companies that stock and sell Free software are still required to combat public perceptions, which is why the term "Open Source" is used more commonly than "Free software." What remains unclear, however, is the number of Free software values that are maintained once this transition from Free software to Open Source is made. This can lead to backlash.
There is a always a level of pragmatism that strives to ease migrations between software, including entire operating systems, but the process tends to blur the gap between Free software and proprietary software. Consider the fact that companies that sell GNU/Linux desktops are struggling to please each and every customer and supplier (developer). If the freedom of software and hardware is preserved, this often means that the customer must then cope with a steeper learning curve. There are usually those who would bluntly accuse the company of betraying or exploiting Free software developers if proprietary 'shims' are included to remove adoption obstacles such as DVD playback and proprietary codecs.
Lastly, there is the perception that good products are advertised heavily. Wealthier companies, whose business model thrives in high cashflow (higher spending and higher revenue), are able to raise awareness of their products. The public is drawn in by hype and there is no equally effective response from the Free software world. Broadly speaking, advertising may be the Achilles Heel of Free software.
Possible solution: Education is probably the key to resolving the issues above. When stressing the value of freedom (and gradual loss thereof) users will be led to exploring more options. Not so many people are aware of real choice.
By raising the importance of user's control in computing and by understanding that advertising does not necessarily reflect on the quality of advertised products, people can better appreciate Free software alternatives to what they currently use. Manufacturers of software and hardware need to understand this as well in order for them to properly support lesser-known operating systems such as FreeBSD and GNU/Linux.
Pragmatism can sometimes be seen as a case of giving up because there isn't sufficient understanding out there. Hardware companies, for example, are sometimes unwilling to offer documentation that is needed for improved interaction with Free software. Their attitude is incompatible with Free software ideals simply because they fail to understand the economic benefits of customer-centric computing. Myths and fallacies play a significant role here.
The great divide between developers and everybody else is so infamous that it created the "nerd" stereotype, but there is another divide which involves just developers. This problem is broad, but let us consider one individual example that is representative of most.
The problem: The creator of Linux, Linus Torvalds, considers himself to be pragmatic. He happily buys Apple hardware on which he immediately installs his own software and he takes pride in focusing on just the technical merits of his work. He rarely gets distracted by some of the more philosophical and seemingly boring questions that are associated with software. And that's a good thing, not a problem.
Torvalds distanced himself somewhat from the Free Software Foundation when he made the decision to stick with an older software license of theirs, the GNU GPLv2 (General Public License version 2). The main factor that led Torvalds to this decision is a set of clauses that forbids Tivoization. The term Tivoization is used to refer to a GPLv2 workaround that permits manufacturers to forbid modification joined by execution of a program. Some view this as controversial, but some do not. While Tivoization is legally permitted based on the GPLv2, this does not sit right with the spirit of the GNU project
as a whole. The GPLv3 (version 3) was introduced to close the Tivoization loophole.
Torvalds has openly said that he likes Tivoization. He insists that Linux does not require some of the changes introduced in GPLv3. This led to mild hostilities and disagreements. By no means was this a case of infighting, but tensions rose and a little fracture appeared.
Possible solution: While the problem at hand is truly a matter of opinions, divergence in terms of ideologies can be endemic in the sense that it can lead to forks. It is hard to tell whether a solution is near, but it seems to be approaching. A year ago Sun Microsystems said that it would license OpenSolaris under the CDDL and the GPLv3 (dual). Past correspondence in the Linux mailing lists seems to suggest that Linux may have no choice but to swallow the GPLv3 along with terms that are perceived as undesirable by Torvalds. Alan Cox, unlike Linus Torvalds, has shown little or no opposition to this and he is very influential.
The greatest enemy to the success of Free software is Free software itself, as well as public perception. Some mild disagreements regarding the definition and values of Free software can lead to fragmentation, but there are usually some resolutions within sight.
What remains to be achieved is a grand goal related to education. Some computer professionals still fear what is yet to be understood a little better. Getting the word out is probably the best route to removing that last major obstacle.