Thursday, January 14, 2010

Open Source and Why it is Important

"Open source" is a computer term that is getting thrown around more and more these days and it is important to understand excatly what this concept is and how it affects everyone on, very literally, a global scale. As the residing tech expert on the blog I am taking it upon myself to try to enlighten those of a less tech-savvy nature. So lets start with the basics. What does open source mean exactly?


Open source is a software production methodology which allows the program's source code to be viewed by the general public. Okay, so what does that mean? Basically it allows anyone in the world to look at the programming code, the raw language of the program, the stuff that makes the program work the way it does. Other third party programmers can then tailor their own programs to this code, digesting outputs from the original program to suite their individual needs. The best example of this are all of those crazy "apps" (short for application) you see on smart phones and websites these days.

Take a look at any iPhone or (even better) Droid out there today. Chances are it is loaded with applications that do all sorts of things from playing games, to updating you on the weather, to translating your texts to a different language (Guten Tag!). Apple and Google didn't program these applications. That would have taken them decades and cost them millions of dollars. Instead they provided the source code for their respective phone's operating systems to other software developers. These developers then created these programs and either sell them back to Apple or put them up for sale on a web market. The point is neither Google nor Apple want to invest the time and money into making a weather app, even though it is obviously useful and would be consumed by a large number of people. Instead they basically allow someone else who has the resources to focus on that job specifically to do it faster and cheaper.


So now that we have an idea of what open source is technically, lets talk about why it is important and why there is so much buzz around the topic.

To start off, what are the down sides of open source programming? Why doesn't everyone do it? The answer is that like many other kinds of companies, software companies are greedy, and they have good reason to be. Even simple programs that cost relatively little to produce, if done well, can generate millions and millions of dollars in revenue for a staff of potentially only a few people. Look at MySpace or Facebook. Both are absurdity simple ideas from a programming perspective. Build a website that allows people to make a personalized profile that links to other profiles. Simple! No one related to the creators of either site will have to work a day of their life now. Software development is a funny business where the usefulness of your product vastly outweighs the content in most cases.

But what happens when the source code for your simple program is leaked? Your once novel idea is now being developed by hundreds of other programmers who stole your source code, effectively giving them a head start on their programs. Not so long ago open source code was considered suicidal, because it gives your competitors a look at exactly how your programs works. It will allow them to exploit defects and capitalize on your ingenuity. Of course open source is a bad idea, you will lose all of your potential revenue to competitors! Also apparently you become a communist...


(NOTE: not actually from Microsoft, at least I'm pretty sure it isn't.)

So why would someone give up the rights to make money on all of those apps? They don't! You can't run those apps with out the phones can you? In reality open source allows you to do something even more valuable than protecting your code. In essence open source creates a community dedicated to the development of your software platform. The computer game Half Life for example is entirely open sourced, which has lead to a myriad of other games developed by other people (including the world renown Counterstrike). All of this success feeds back to the original creators, Valve, and their original game. Everyone comes back for the solid community that is dedicated to a solid gaming engine.

As the internet continues to grow in capabilities and power more and more companies are realizing the power behind open source programming. Open source programming is beginning to change the way the world collaborates on projects. A great example of this is Google's mapping software which is making incredible strides at mapping the entire globe at an incredible level of detail. Open source programming makes projects like this possible. By freely sharing information and innovation the limits of technological progress knows no bounds.

No comments:

Post a Comment