What Is Open Source?

I remember going in front of a Board of Education several years ago and trying to explain what an open source content management system is and why it is really cool. There were more than a few skeptics in the group. A few embraced the idea, but really didn't understand it. After all, when someone offers you something for free, there's usually a catch. That is often the case even with Open Source software, but the catch is part of the beauty of open source. For example, let's say that I'm a developer and I need an exceptional photo editing program. Not like MS Paint, but closer to Photoshop. I could develop my own piece of software that does what I need, because after all, I'm a highly skilled developer. There's still a problem. Developing that software would take endless hours of coding and fixing bugs, and in the end, Photoshop just keeps getting more and more awesome. At this point in my hypothetical scenario, developing my program is eating up hours and hours of time I don't actually have to waste. Maybe it would be wise to just buy Photoshop. Right? In a similar scenario, what if I'm a developer who needs a photo editing program, and I also have fifteen other developer friends who need a photo editing program. What do we do? We hang out at night and develop a close second to Photoshop (because we're developers and let's face it, that's what we do). We could sell our software, but in the end, marketing is a pain, Adobe has the market share, and it would take a substantial investment to commit to creating a company around this software with countless smaller competitors with their cards on the table. So we develop this software to server our purpose. It's fun to do, and we're proud of the end result. The next thing we know, we have people who want a copy of it. We have developers who want to help make it better. We have people who are willing to write a how to guide because they want to use it in a classroom or industry. A community of people with a common goal now rally around this software that we just developed because we needed it.

Extending our same scenario, some guy from a local university wants to use the software, but he needs a customized plugin. He wants the software, but needs it to do something more specific. He wants to create an animation studio from it. Why not? Normally the source code on proprietary products is closed, meaning that they've already been compiled into a form that can really only be messed up, but never changed. With our hypothetical open-source software, we can hand over the source code, and the professor can customize it just the way he needs. The professor is actually incredibly grateful for the software, as it saved him hours of development time. Instead of developing everything he needed, he used existing software and extended it. That professor was so thankful, that he chose to donate money to our efforts as a thanks. He also told all of his professor friends about the project, and now they are all using the modified software for the customized solution.

None of this is actually true by the way (or at least not for me). You can find programs similar to the example, though, in Gimp, Krita, Inkscape, and other outstanding open-source image editing and graphic design titles. These are open source and excellent pieces of software that have been developed by communities around the world. This is simply an example of how something that starts out as a simple idea to help a few people can develop into something much larger. Not only are they free, but they can be modified to meet specific needs. Drupal, our preferred open source content management system for more complex websites  brags of over 96,000 active users and contributors. Wordpress, a similar blogging and web development platform typically offers even more. Projects such as Gimp, Inkscape, Krita, and Blender will also have hundreds and thousands of contributors to the projects. There are too many open source projects to attempt to count them all.

At one time, open source was typically of a lower quality than paid platforms. Usually they were buggy, and there were few people who would listen to complaints. Currently if you use open software that has a strong community, you will find that the community behind them exceeds the support of many proprietary software companies. Also, corporate software companies have seemingly lowered their quality standard on the premise that if they have bugs in their software, they will simply push out an update. This is the exact same stance that the open source community has. As the abilities of the Internet have grown, both open source communities and propriety software developers have taken the exact same stance on problem-resolution and software updates. Often open source is somewhat more progressive than propriety counterparts. This is because the huge amount of people who are modifying and contributing toward it to meet specific needs are building more and more features into the platform. Companies developing software have to pay lots of money to keep developers pushing toward updates and enhancements.

So why does it matter that open source software exists? This all sounds great, but let's take a look at the big picture. I can't say it loud enough to really get the point across. Open Source is driving progress in technology. Let me say that again. Open Source is driving progress in all fields of technology. Let's clarify that. Often commercial companies will develop on top of Open Source software solutions. They will then sell their customized solution and make a profit. Is this ok? Sure, as long as they aren't selling the open source software its self. That's the point. We can all use the software and benefit from it. We can also contribute to it. Many commercial companies also contribute to open source software, because it's good for their business. Everything from drop-down calendar widgets for webpages to complete office suites are developed with an open license. Embrace it. Recreating the wheel stifles our ability to move forward. In the end, know and understand that a vast majority of every major website, and software application you use has a substantial amount of open source software integrated into it. Appreciate the people who contributed to make that possible. They are the wind beneath the wings of many major websites, software, and apps.