As part of my engagement in the academic and hobbyist communities, I have seen numerous heated discussions about open-source and commercial software, discussing whether one is better than the other for teaching purposes.  With the Imagine Cup embedded development competition now out of the way this year, I had some spare time and decided to take a look into the open-source software environment.

In recent years, with a large number of open-source software packages released to the market, many companies, large and small, have been jumping onto the open-source bandwagon and hoping to find free software solution. 

While many open-source software packages are used in non-commercial as well as commercial environment without obligation and licensing fee, it does not mean a business entity can adopt and use such open-source software without cost and consequences.  Open-source software is released to the community without going through some of the important steps that are required by most commercial software packages, such as quality assurance tests to insure the software meet certain level of compatibility and reliability.  In addition, open-source software mainly focuses on the technical issues and does not address business and legal issues associated with copyright, intellectual-properties and patents.

With Android now being actively promoted and distributed by Google, a well-established heavy weight in the technology field, it is being adopted by many  companies in the global market to build Smartphone and Tablet-computer.  With this momentum underway, it justifies us looking deeper at the Android distribution, as point of reference and case study for open source software.

To use Android/open-source software for a commercial product, a business entity must seriously consider the following issues:

  • Reliability/Compatibility:  Is the open-source code base stable and reliable?  Does it address the compatibility issues and require application to be written specifically to support the selected distribution?

 

  • Technology access:  Is all of the relevant technology and source-code available as part of the open-source project?

 

  • Engineering Efforts:
    • How much engineering effort is needed for the development team to study, be familiar with the technology and port the existing open-source software to be usable for the commercial product?
    • How much engineering effort is needed to debug and test the open-source software to insure the final commercial product can be produced with reasonable quality and performance?
    • How much engineering effort is needed to perform ongoing maintenance of the open-source software for the product?

 

  • Business and Legal issues associated with Copyrights, Intellectual-Property and Patents: 
    • When using the open-source software, does the licensing agreement impose the conditions which require the company to release sensitive intellectual-properties and business secret publically?
    • When using the open-source software, does it creates the opportunities for competition to copy and duplicate the product design without legal protection?
    • By adopting the open-source software to a commercial product, does the final product infringes on existing intellectual-properties (IP), patents and copyrights own by other companies, which can impose serious legal and financial liability?
    • Does the open-source software provide IP indemnification from Google and other companies?

 

In the next few weeks, I will continue my effort to dig deeper into the open-source software environment and post my findings…  Stay tuned…If you have a unique view or input in this subject matter, please post a comment or ping me.