REDIRECTING TO moshe.im/blog...

Thoughts, tips and ideas on next-gen technology by: Moshe Brevda

2010/03/26

Open Source. For you.

Open Source. For you.


OS. There, I've said it. The dirty word of the software industry. No, I'm not referring to Operating Systems. OS also stands for Open Source, as in open source software. As wikipedia explains, "[software] that is available in source code form...and certain...rights...are provided under a software license that permits users to study, change, and improve the software". So what is Open Source Software (herein: OSS) and how does it help your business? And why is it considered taboo in certain parts of the industry?




For the non-developers out there, here's a little primer in software. Just as there are some languages that we speak - and some that we don't - computers also have a limited, predefined vocabulary. Without getting in to the gist of it, there are a ton of programing languages out there. You might be surprised to know that your computer probably doesn't understand a single one of them! Instead, programs are written in there respective "programing language" and then translated, or compiled, to a set of commands that the computer can actually understand. The "raw", or un-compiled text is know as source code. The term OSS refers to a program were the user/distributor has access to the source code and has the legal privilege (i.e. licence) to modify it and perhaps even redistribute it, as per the terms of the license. It should be noted, that compiling code is a one way process and cannot be easily undone. Hence, by and large, any program that is distributed in its "binary" (tech word for compiled) form cannot be easily modified.

The good

Using open source can be extremely beneficial for your business. One of the greatest touted benefits are community involvement. Taking an example that's close to heart, FreePBX (the open source management software for the open source Asterisk pbx) makes do with a relatively small handful of developers, yet manages to remain a rock-solid application, and is second to none in its field. One of the reasons for that is a strong community backing. When a member of the community finds a bug, they immediately file it on the bug tracker, for all to see/tend to. And when a member of the community feels that a new feature should be added, they often "donate" resources (i.e. development talent or funds) back to the project - projecting the project further than it could go on its own. AKA: "The whole is greater than the sum of its parts".

Anyone can become a "member" of the community - all you have to do is use the software or participate in some other way (development, support, promotion, etc). In this way, the project can gain from the unlimited input, direction, vision and talent of all those involved, instead of being limited by the resources provided by a corporate entity with a finite development budget.

Those of you in the telecom industry will have undoubtedly come across another OSS project currently revolutionizing the pbx market: Asterisk. Asterisk started off as the vision of one individual - but by open sourcing the project, Asterisk has grown by leaps and bounds. It's success is international. It has been downloaded millions of times, by people from all across the globe. Its community, as well, isn't restricted by physical boundaries, and the project enjoys developers that are spread out all over the world.

The bad

In light of the benefits of OSS, why are there companies that shy away from putting their source code in the spot light? Why are there companies that wouldnt be caught dead distributing software in an un-compiled form? While the benefits of OSS are many, some companies rely solely on software sales for a substantial part of their revenue. Such companies see their source code as their greatest asset - and making that public would be akin to an intelligence agency posting details of clandestine activity to their website!



Such entities prefer to spend their own resources to perfect their software offerings. They will generally require a larger development budget than their OSS counterpats, as well have their own QA department. They may also employ beta testers to ensure that the final product is indeed production worthy. Often for those trying to protect their source code, this investment may be worthwhile for the long term revenue generated by software sales. They tend to tread lightly around anything OSS related, lest it erode from their profit margins.

Proponents of OSS will argue that this type of beta testing/QA tends to be limited in scope and vision, and will often site (the love-to-hate) software giant Microsoft as an example - along with its myriad amount of security issues. Ultimately, what works for some may not work for others, and this decision is best left to those voting with their wallets, the consumer.

The ugly

While the case for OSS has been made time and time again, there are some entities that seem to forget the most crucial aspect of OSS: community involvement. While they may reel in the fountain of OSS, drinking thirstily from the springs sprouted by the community and frolicking in the lush meadows of resources donated back to the project, they tend to forget about the source of their success. Like the great wolf, they come to devour the young lambs that have helped spread the fame and glory of the project - those responsible for bringing the project to its current level of maturity, reliability and success.

These entities favor their bottom line above all else. They will stop at nothing in their quest to fulfill their goals - and their pockets. Unfortunately, they tend to not realize (conveniently?) how they are ultimately disturbing the gentle ecosystem that brought them success in the first place. They tend to have a multitude of rationals for their behavior. Ultimately, most excuses add up to "we don't want to donate back, as we want to stay one ahead of the competition". Not that there is nothing wrong wanting to stay one step ahead of the competition. But history has shown that the best way to stay ahead of the competition is by donating back to the project - as well as improving in other areas, such as Customer Service or by offering other proprietary offerings.

This isn't to say that there is anything wrong in developing proprietary products that align with or even compliment the OSS offerings, but rather that ultimately, those with a strong connection to the community are most likely to prosper. 

We at Schmooze Com value the community greatly and proudly take an active part in it. Starting with FreePBX 2.5 we have poured untold development hours, resources, sweat and money in to making FreePBX a better product. And we encourage you to do the same - for your own benefit! 

originally posted on the Unscripted Blog, the official blog of Schmooze Com, Inc.