Monday, October 14, 2013

OPEN SOURCE: What it is and what it isn't

This is the most difficult blog post I have had to write to date. While some people only know "open source" as a buzzword they heard on the street or in a forum, the ideology behind this term has had an extremely profound effect on my life, especially in the context of how I develop software. To avoid posting a giant wall of text, I will limit my post to dispelling some myths and explaining some concepts about open source software (OSS) that the public sometimes has difficulty grasping.



Here are some myths:




1) You cannot make money off OSS/ OSS is equivelant to freeware



While it is true that some OSS does not require purchase, there are many businesses out there who make money off of open source software. Even some pieces of OSS that appear to be "free" are actually making money for the corporation producing it. For example, some corporations charge money for the support of their software.



2) OSS is of low quality



While there will always be poorly written programs, the common generalization regarding the supposed low quality of OSS is false. I often encounter this stereotype with the related "open source software is disorganized" and "anyone can just submit code to an OSS project" myths. There is some kind of basic hierarchy in all good OSS projects, just as there is in proprietary software projects. OSS projects have maintainers and they (along with other contributors) look over code submitted to the project before actually adding it to the program that is available for public download. Open source software development is not a chaotic influx of random contributions. It is more like a peer-review system for programmers.



3) OSS is not safe because criminals can see the code and harm users by exploiting it.



I always found this stereotype amusing, because this is the opposite of what actually happens to OSS projects. Because the code is visible to everyone, OSS code gets examined critically by a greater number of developers in comparison to proprietary software projects. Because the source gets looked over so much, people find bugs very quickly. When a problem is found, it is usually fixed very quickly!



This post is already getting really long, so I'll wrap it up by writing a (very) brief summary on what Open Source is about. Open Source is an ecosystem of development where programmers and corporations help other people by helping themselves. Let's say that Joe needs to solve a small problem. He writes a small program to solve this problem. After he finishes, Joe reads about other people experiencing a similar problem, so he decides to post his program to the internet with it's source code under an open source software license. Because Joe shared his code, other people can make improvements to that code and use it for themselves. Joe has just shown a great kindness to some people in need with a piece of code that he may have otherwise abandoned after solving his problem. Everyone wins!
Full Post

No comments:

Post a Comment