Monday, October 14, 2013

Open Source: Some things to consider

Open source software is amazing. It provides everyone the opportunity to look at how the software they are using is structured, and what has gone in to developing it. Through this openness, the software can be modified and enhanced by anyone who is capable. This means bugs can be fixed quickly and efficiently, without waiting for the original developers as with proprietary software. However, open source isn't without it's share of problems. I love the wave of open alternatives to common commercial products that has hit the internet in the past 10 years. Firefox as opposed to Internet Explorer, Open Office as opposed to Office, Gimp as opposed to Adobe Photoshop, VLC as opposed to Windows Media Player, the list goes on.



With open source software you face a problem of people contributing, but not seeing a larger picture in the software's lifespan. Quick hacks are very popular in open source communities, as far as bug fixes or enhancements to the software. These hacks are often written by people hastily, omitting some very important programming concepts. This is that their code ought to be clear, and readable. Clarity is a cornerstone of developing good code, as in any quick hack you write, someone will be without you trying to read it and figure out what is happening. Another problem with community involvement in software development is that code contributed by random people is often not completely modular.




That's not to say that these aren't issues in proprietary software models. In general when you involve a community you face communication barriers, and this is no different in open source development. Despite this open source software development is a tremendous feat. It involves people from around the world with the opportunity to code for their favorite software. We are seeing free alternatives to products that cost huge amounts, with the strength of communities backing them.



Open source is really amazing, we just need more people who can code in order to fully realize it's potential. To the average person it doesn't mean much that you can get GIMP online for free, or that there are thousands of pages of tech support on their forums, or that their school can even get these programs for free.
Full Post

No comments:

Post a Comment