October 26, 2009 /

The White House’s Embrace Of Open Source Software

Following up on yesterday’s news of the White House now using the open source content management software Drupal to power their site I decided I needed to expand on it a bit more for my less tech savvy readers. First an explanation of open source software is in order before an understanding of what it […]

Following up on yesterday’s news of the White House now using the open source content management software Drupal to power their site I decided I needed to expand on it a bit more for my less tech savvy readers.

First an explanation of open source software is in order before an understanding of what it means to the citizens and taxpayers of our country.

The open source model is very powerful and starting to dominate the computing world. Approximately 75% of the websites on the internet are powered by software developed as open source. Apache is the most popular web server software and is open source. Linux is the most popular operating system for servers and is open source. Even MySQL, the database which powers most sites including Google is open source.

Open source software can be freely obtained. Any of the examples I gave above you can go and download right now and even download the underlying code that makes the software run. You are free to modify it however you like, given you follow the very lenient licensing requirements, and run those changes openly.

Making this software free doesn’t mean there isn’t money to be made. Drupal is a perfect example of this. The software is so powerful and robust that it ends up with a very steep learning curve. That’s not by design, but rather because of what the software has to offer.

Once you have the software up and running there is also a need to keep it running smoothly. As the owner of an IT business I can’t tell you how many new clients have a misconception that they can go out and get a basic server and it should be able to handle any traffic load thrown at it. Back in the 90’s this was more so a reality, though not entirely, than it is today. Most websites were essentially the code file, known as HTML and some graphic files. All the server had to do was read these files and send them to your browser when you visited that page.

In the new era of web 2.0 this isn’t the case. Take something as simple as blog comments. Every time a comment is posted that web page has to be updated to show that comment, and generally the front page, as well as any other page that shows that post, needs updated to show the new number of comments. In order for this to happen the website now has to be organic. No longer can the server simple read and send out a text file, but a program has to run to generate that updated page. Every time a page is viewed on these sites, including this blog, this program known as Drupal runs. It reads in the data from the database for the posts and puts it into a format your browser understands and can translate into a nicely formatted web page.

To put this into perspective imagine opening the same program hundreds of times on your computer. Before long it will crash. The same thing happens with web servers, so now you can see where having quality tech people comes into play, which costs money.

Under Bush the White House website was built with proprietary software. That’s software bought and paid for just to make that website, and is very expensive.

To put this into a more clear light I will explain how I handle bids for jobs. I do a common practice in the development world of a two-tiered pricing structure. If someone wants their software open source they will pay almost half of what they would if they wanted proprietary software. The reasoning is simple. With open source software I can develop a lot quicker, a lot of times finding models to work from on the internet. I can also use those changes in future projects for other clients that may want similar features. It lets me generate code at a much faster rate and even save the client because that software is now multi-use to me and other clients out there.

Now some have argued that “why should I pay for something someone else is going to use?” and the answer is simple – because a lot of the code you will be using was also paid or sponsored by other people to develop. Think of it as the infamous “take a penny, leave a penny” bowl at the local convenient store. Everyone is free to take one if they need it, but to make the system really work people also need to leave one, or the bowl will quickly be empty. Open source software works off this same model.

So what does all this mean to you, the taxpayer? It means that the government is going to save tons of money developing, updating and managing their website, something we take for granite. It also means that the Obama administration can offer more transparency through their site even quicker. Instead of paying high dollar programmers for hours of developing a simple feature, they can now go out and look at the thousands of Drupal modules that are freely available and find one that might fit their need, or at least be close enough to it that they can make a few modifications and get it where they want.

Now let’s think of the government as a whole. Every member of Congress has a webpage, as well as every branch and department contained within our government. There are thousands of government sites, all having to pay programmers before to develop software for their own need. Time and time again multiple programmers would work to recreate a majority of what was already done for other government sites. In the end it adds up to millions wasted.

With software like Drupal all that money can be saved and even funneled to something more productive, like government sites that are more informative and provide a wider range of features to the citizens of this country. Given the architecture of Drupal the government could technically run every single website off of a single Drupal installation spread out over multiple servers. For a really waste savings model they could create a new department of nothing but Drupal developers that do nothing but work on government websites. Think of how much this would save over the current practice of every department having to hire a development company to make their department’s website and manage it.

So what the Obama administration has done is a first step towards huge savings down the road for all of us. At the same time they have also opened up the possibility of a new world of transparency and citizen interaction by using software geared towards just that. It will be interesting to see what they end up doing with this new power.

More IntoxiNation