Considering Open Source?

CONSIDERING OPEN SOURCE? CONSIDER THIS_February 1, 2011

More and more clients are coming to us asking for help developing new connected devices using open source software. Open source has been a buzz word in computing for nearly twenty years, and is gaining renewed interest thanks to the success of Linux for embedded computing and the Android operating system for mobile devices. We support the spirit of open source, but submit that it may not be the perfect fit for every project. Here are a few pros and cons to consider before making the decision to go open source for your next development effort.

What’s so great about open source?

The use of open source code may save time and money throughout your development cycle. Why? You don’t have to start from scratch. You can leverage the experience of others in a given technology and thereby reduce the learning curve of your own team. Moreover, going open source makes it easier to collaborate with other experts without concerns of ownership.

Further, if you are building a complex application, the availability of open source code can help customize your code for all sorts of complex, niche functionalities. In addition, this wide world of freely available code is accompanied by extensive documentation to make pulling it together even simpler.

Nevertheless . . .

Hidden drawbacks of open source

The first thing to remember is that “open source” is not synonymous with “free.” While choosing open source may save some money for your development, it also comes with certain costs and even more certain risks.

While pulling together bits and pieces of code from all over the world may save time, it can often increase demands on processing power and memory – ultimately increasing the cost of your finished product.

More importantly, unlike in a more traditional environment, it is possible to lose control of developed software. Be careful, use of many open source tools requires the user to make their own source code available to others – which can result in competitors using and creating software based on your work. Even big companies are not immune. Many Fortune 500 companies have faced legal battles trying to protect proprietary software code from release due to such clauses.

When time to market is essential, open source again may not be the best choice. With little or no control over the process and a geographically dispersed team of volunteer developers, support and enhancements may not become available on a schedule that works for your project.

Finally, open source software can carry any of a number of different types of licensing requirements. Be very careful to ensure that if you are using open source software, you know exactly what the license says and are prepared to comply with its stipulations. This is essential to protecting your intellectual property and also protecting yourself from legal infringement of others’ rights.

Some not all

As a basic rule of thumb, for projects with a high level of complexity for which memory and power consumption is not an issue, and which are being supported by an expert staff with a solid understanding of how open source works, open source can be an excellent option. For projects where time-to-market and Intellectual Property ownership are essential; or those on which the team has limited exposure to open source and its potential drawbacks, open source is likely not the best choice.

As ever – we provide this information as a cautionary tale, but submit that it barely scratches the surface of what you will need to know when making your decision about open source software. If you find you need help exploring your options, give us a call – we’re here to help make your idea a reality.