I’ve been in Free Software for a few years now and learned a ton from it. Sure, I learned how to use new types of software, became efficient on them, and honed my programming skills, but stopping there would be missing the point. Free software has so much more to offer than just computing and technical benefits. In fact, the technical side is the least important thing I’ve learned from my experiences. Free Software has brought me far beyond knowledge of its source code and taught me lessons I will value for a lifetime.
1. Centralized control isn’t worth it
When one single governing body gains absolute control over something, it is only a matter of time before that governing body increases its power tremendously. Many times, it does this in order to avoid vice, but counterintuitively, only ends up creating more of it in the process. Take any modern established proprietary software company that started out in the 60′s or 70′s for example. These software companies were revolutionary in their decision not to share their software for the benefit of learning, but rather, keep it a secret in order to make money from it. As time went on, the companies began imposing slightly harsher methods upon users in an attempt to foil the plans of those who refused to pay. This was the beginning of techniques such as license keys. As users developed ways around the methods, the methods kept getting progressively harsher, severely punishing casual proprietary software users who had been legally using and paying full price for the software since the beginning.
It would not be enough to stop here, though. Proprietary software companies, caring only about eliminating competition, have no regret in choosing not to support competitors’ file formats (or even worse, supporting them incompletely), slowing down their software to sell the user a “speed upgrade”, and spying on the user without his/her consent to aid their marketing departments. They even have no shame in not bothering to release security updates until there is already an epidemic. Users don’t have the freedom to correct any of these because one company alone controls all aspects of the software in question.
Just the other day, I overheard a conversation between two of my peers. It went something like this:
“I got a new iPhone the other day!”
“Sweet! Are you going to try to hack it?” (Note: “Hack” here is used in the sense that it has come to mean in today’s society: breaking security.)
“I don’t know. I know someone who broke into his iPhone and bricked it. And, I mean, you can’t just go into the store and ask for a repair, because you’ve voided your warranty by hacking it.”
“I hacked my iPhone. It worked perfectly. And it is awesome! Now I can run all sorts of apps on it that aren’t in the App Store!”
It is sad to see that people today actually have to use the term “breaking in” to describe changing the software on the cell phone they own. People now willingly accept the fact that they just can’t run any application that the developing company didn’t authorize, because this restriction has become so common. In the case of the iPhone, owners have to make a decision as to whether they want to try to modify the software on the device they own (described as “hacking”) and risk an update from Apple that destroys their phone, or use a device that performs only as Apple wishes it to perform. Purchasing an iPhone is willingly handing over complete control of the device to Apple because this approach has been so tightly ingrained in society as necessary.
2. The strongest approach is a philosophical approach
As the main partitioner between the Free Software Movement and the Open Source Movement, it is apparent, in this regard alone, that it must have a significant amount of meaning. When one really digs into the specifics, though, this idea becomes even more important. Nobody would ever build a skyscraper without spending tiring hours on a sturdy foundation to keep the building up. Likewise, constructing a movement on the grounds that a development style always produces less-buggy, more secure, or more featureful software is worthless. On these foundationless grounds, what would be the problem with using Skype and locking not only yourself, but also all of your friends, into one company’s software and protocol? When cost gets thrown into the mix, things get even uglier. One who bases his/her opinions on these subjective measures would be enticed by high-quality software available at no cost. Though I make no claim to it’s quality, even Microsoft Windows is “free of cost” to consumers.
The majority of the people in the world choose not to pickpocket. But why? It couldn’t possibly be too difficult. If the thief runs, he/she probably won’t get caught, and it is a quick way to make some extra cash. Most people believe it is wrong to steal, and therefore, won’t rob a wallet. The philosophy that one should not steal overrides the benefits that may come from stealing someone’s wallet. It is the same reason that Vegans don’t wear leather, Mormons abstain from caffeine/alcohol, and environmentalists drive hybrid cars.
When it comes to software, though, the majority of people take a lesser stance. For those “casual users” who have somehow learned about the Free Software Movement, few will take the philosophies seriously since they create so much inconvenience and trouble. Would one be likely to support dismantling one’s house upon learning that it was seated upon a sacred ancient burial ground? Because it creates so much inconvenience and would be outrageously expensive, most people would likely ditch this new ethical dilemma, on the grounds that they had very little opinion about it before it began affecting their life. Yes, the house is ruining the sacred area, but nobody informed the homeowner in question about this problem before the purchase, so the shame should be placed elsewhere.
When one keeps a 100% philosophy-based center when making every-day choices, it is impossible to make a regrettable decision on those aspects in which one has philosophies or values. Putting morals before convenience and ease may be tough at times, but it will help ensure permanent solutions that carry much more meaning.
3. An open and creative mind does wonders
Before I became involved in Free Software, I had far different opinions, ideas, and beliefs than I do today. Free Software helped me open up my mind to new and unfamiliar concepts. This software universe had been going on behind my back for years. If there was this much in software alone that a technology-savvy guy had never even heard of, I figured, there must be quite a bit out there.
One of the best parts about the Free Software community is that it is composed of a huge diversity of people with a huge diversity of ideas. Richard Stallman’s stallman.org is a perfect example. Most of his ideas and beliefs, especially his political ideals, are somewhat unorthodox and not widely accepted. Previous to reading his opinions, I had laughed Ralph Nader off as a joke, as I had heard nothing but humor about him previously in my life. When I actually met someone who supported him, I took the time to understand his politics. It just so happened that I shared some of Nader views. I stopped my warrantless distaste for the 3rd party candidate, and gained a great deal of respect for the man.
Another good example can be drawn from my life. I am a composer, and one of the biggest hurdles for me in switching to exclusively Free Software was my sheet music typesetting software. I used a proprietary package under Wine for quite some time, because none of the other options available did what I wanted. Or so I thought. I had tried Free Software packages to fill this purpose, from Rosegarden, to MuseScore, to Lilypond, to Canorus. I convinced myself that, since none of them behaved exactly like the proprietary package I was used to using, none of them were as good. Some time later, I decided the final movement of of my last piece of proprietary software should end soon, and that I best move to exclusively Free Software. I forced myself to use MuseScore for my next composition project. By the time I was done, I had actually forgotten how to use my old piece of proprietary garbageware. MuseScore did everything I wanted and more. Yes, it behaved slightly differently, but I found I could be much more efficient – while using Free Software! It was a double win for me.
For developers, opening one’s mind to unfamiliar creative ideas is essential to creating practical solutions. The majority of those working on Free Software are autonomous and get to choose what they want to work on. (Even of the large corporately-funded developer base, many have a great deal of liberty in this regard.) They are not told to implement specific attributes by their management, or pressured by paying customers to add a certain feature. They work because they want to help themselves, their user base, or their software project. There is plenty of room for experimentation. One of the main arguments used for Free Software is the advantage of not reinventing the wheel, yet in the case of nearly every hole in the software platform to fill, there are at least two equally effective options. KDE and Gnome. Grub and Lilo. OpenOffice and Koffice. Emacs and Vi. The list goes on. These pairs exist because the developers had different ideas as to how to design an application, which features to implement, and what the goals of the project were. In all of the cases above, the synergy created between the pairs has only gone to further enhance both projects. In other words, contrasting ideas have improved each other.
4. Knowledge was meant to be shared
Back in the middle 1850′s, when the Industrial Revolution was beginning in Britain, the country attempted a quarantine of ideas. Britain was the first country to go through an industrial revolution, and wanted the ideas for the machine designs to stay contained within the country so that it might prosper economically. It was a failure. It was unbelievably naïve of them to think they could stop the spread of an idea. As the cliché goes, “If we both have an apple, and we exchange apples, we each still have one apple. But, if we each have an idea and exchange those, each of us has two ideas.”
Some companies try to restrict the flow of this knowledge. In fact, many companies do this and expect to get away with it. They believe that putting DRM on digital media will prevent it from being illegally pirated. They believe that product activation procedures will prevent it from being illegally shared. They believe that information can be contained. Even in the days before the Internet, information and so-called “intellectual property” could still be, and were, exchanged. As the information age went on, though, corporations became progressively more obsessed with controlling the spread of knowledge.
This trend of open information holds true even in tightly-protected situations. The Watergate scandal leaked to the press through one of US President Nixon’s most trusted colleagues. Microsoft was recently discovered to be using code stolen from a competitor on a social networking site, even though the code was never released. Pictures from the Iran protest in early June of this year circulated the Internet, despite the efforts of the government to prevent their spread. The examples continue, but all hit the same chord: there is no use in preventing the spread of information.
So instead of working to prevent this spread, why not encourage it? Why not get the ideas, capabilities, and functionality of any given piece of software out to as many people as possible and kindle the flame? There are many ways to make money, so why choose a method that requires investing just as much time and effort into making software that lots of people want to use as trying to prevent the usage of said software? It sounds counterintuitive and/or just plain stupid on paper, but is generally seen as the traditional and conservative way to do it. Physical products must be treated differently than knowledge. Government can assist in the process of selling knowledge in the same way as a physical product, but due to the nature of the commodity, it will never be the same.
5. Anyone can make a difference
When I started off in the world of Free Software, I wanted to contribute, but didn’t think that an 8th grade student would be able to contribute anything worthwhile. I proved myself wrong, and joined the Joomla! Documentation team, writing and editing documentation for the software package. As I learned later, documentation was one of the most lacking areas in the Free Software community. When I started learning to program in PHP, I wrote small extensions for the Content Management System I then knew so well. They were small enough to be easily written by someone with little experience, yet useful enough to be widely-deployed. I moved on to larger applications and contributions. Frequent emails from users of my software showed me just how much of a difference I was making for them.
No matter what you do, remember that your actions do make a difference. If you find a bug, report it! The first bug report of your life may be a little shaky, but how else can one learn to report bugs? Your reports make the software better for everyone. Just maybe that crash you reported will save some people from a major data loss in the future. If you have decent writing skills, consider writing or improving some documentation for your favorite Free Software application so others will have a less frustrating learning curve. Translating documentation or an application itself opens up that software to a new demographic of people, most of whom could not possibly use the application prior to your translation. Bringing up Free Software in a conversation and/or promoting it more seriously opens the philosophies and the software itself up to new people as well.
Even a simple “thank you” to a project member can go a long way. Free Software isn’t written by machines; it is written by countless individuals that give up a significant amount of time each day to do what they do. Showing appreciation helps developers know their work is worthwhile.
Now, just for a second, I challenge the reader to imagine what the world of Free Software would be like if nobody believed they could make a difference. Very little Free Software would be written, and that which was written may not be released to the public. A completely Free operating system would be out of the question, as only small research projects would exist. Businesses, with no faith in their ability to succeed with Open Source, would resort to writing proprietary software that can be sold on a shelf. The Free Software Movement would be inexistent without this wisp of a thought. In fact, Richard Stallman wouldn’t have bothered writing the GNU system if he thought his project wouldn’t mean anything.
It is so easy to imagine how horrible the world of Free Software could be like this, so why do people all too often let it slide in the “real” world? This world is so much bigger than the Free Software Sphere that people tend to feel that their actions mean less. However, they seem to be forgetting that, while some action we make won’t directly influence everybody, every action we make affects somebody. And just maybe, when one totals the sum of the somebodies and the somebodies of those somebodies, just maybe every one of us changes the world every day.
Because our actions mean so much, it is vital that one governing body, be it a corporation, government, or other mass, doesn’t take away our freedom to express ourselves as we please. We would no longer be changing the world in our own way, but in the way desired by this group in power. It is vital that we keep a philosophical approach so that our beliefs stand behind our actions. Even if we make an unwise decision, we make it for a rational reason that shines through to others. It is vital that we keep an open mind to ensure no good idea goes unnoticed, and a creative one to generate good ideas of our own. One man’s seemingly worthless idea may be another man’s inspiration. It is vital that there is an uninterrupted stream of knowledge, and that information is not held back for personal benefit at the cost of others. Knowledge and information are the building blocks of change. These concepts are vital not only to software, but also to every-day life.
And to think some people only see the technical benefits.