Software wants to be free
One of the most important issues facing software is the idea of "Software Freedom". With a quick show of hands, how many people here know what Windows is? How about how many people know what a Mac computer is? How about Outlook for email? How about Firefox? That's great. Even if you didn't raise your hand for any of those items, you are still affected by issues and changes in the software world. I didn't used to believe that software was any different from the car industry for example. I thought there were people making cars, and people driving cars, and repairing cars, and I didn't really need to know anything about the other parts. The development and use of software is more important though, as the entire world's communication and development of knowledge, now relies on computers and software. Everything from business, to finance, and even to ecology and research now depends on computers to do what they do every day. I am going to first answer the question, "what is free software?", then I am going to answer "why should I care"?, and finally I am going to be extremely speculative and try to take a guess at "where are we going"?
For anyone who doesn't know, software consists of the lines of code that make a computer do this. This includes everything from displaying to the screen to communicating with other computers. One way to think about software is to compare it to a recipe that tells the computer how to do things, just like a normal recipe tells you how to cook things. I define Free Software by two essential components. The first component is how it is licensed. Proprietary software is typically licensed directly from a company to you. You aren't allowed to share it, you aren't allowed to change it, and sometimes the company can even take it away from you in certain circumstances. When you compare this to Free Software, this is very different, as free software is by definition free as in freedom. This means that when you receive a piece of free softare, you are able to share it with friends, or modify it. This difference is essential because there are two realms of software being built. The first is the old model of proprietary software, and the second is the free software. In the old model, Microsoft corporation has to hire hundreds of programmers full time to sit at desks and write software. When someone wants to compete with them, they can't use anything that has come before, so they have to start from scratch with anything they want to do. The second realm is free software, where this different licensing model means that if someone makes a free version of outlook or another application that I don't like? I can use what they have built as a base, and just change the things I like. Comparing that to recipes, if Microsoft gave you a recipe for a chocolate chip cookie, you wouldn't be able to try new things out such as adding nuts, or adjusting the amount of flower.
The second part of my definition of free software is how it is built. Because of the way it is licensed, and because of the fact that often no one is paid to work on one of these free software projects, it becomes more like a community effort, and often these groups organize as non-profits. Their incentive isn't to build something people will keep paying for, but to build something that solves a problem for themselves. This is a radical idea, and to demonstrate this, I want to share a joke one of the original followers of this idea. He said that instead of making any sort of backups, he just uploads all of his files to the internet.
Now that we have a basis for understanding what free software is, and how it works, I want to answer the question "why should I care"? The simplest reason for choosing free software is the cost. When we talk about "free" in the english language, there are two ideas of free. The first is the one most people think about, as in price. Free software is almost always free, but there are other reasons for choosing it as well. When you think about quality, or security, would you rather use something that a hundred people have looked at, or something a thousand people have looked at? It is like the difference between having a recipe that you and your friend wrote, compared to a recipe that has been shared and tweaked in your family for generations.
Another reason for choosing free software is a less practical choice. I try to choose free software whenever I can, because my use of that software, says to the people working on it "I like what you are doing", which often breeds more interest, and increases the likeliness of other people to begin using it, or working on it. Which improves the quality even further, and in theory it snowballs from there.
If we look at the possible outcomes of this technological arms race between closed proprietary software, and the free model, almost anything can happen, but I see two likely outcomes. The first is that free software will take over as the dominant method, but it will be augmented by companies that sell enhancements on top of it. The second possible outcome would be for all software to become free, because how can a business exist when the competitor often can move more quickly, and offers their product at no cost? The concept here is that once the perfect document editor has been built, there isn't much anyone can do to improve upon it. For example, I could take one of shakespear's plays and change 4 words, and publish them as my own, but there is no reason to do so.
Consider these ideas the next time you use a computer. Did you find a cool program that you want to share with a friend or coworker, did you pay for the software you are using? You can even ask whomever manages the software for your organization, "are we using free software"? It's an important question, and it isn't going away. Remember, software wants to be free.