Thursday, February 21, 2013

Open Source for Your Business?


Open source software has gained popularity relatively recently as a  means of creating and delivering high quality computer software for just about any purpose you can think of.  While its origins were based in technology such as computer operating systems, most notably, UNIX  and LINUX, it has crossed over into business application software and today offers everything from ERP (enterprise resource planning) and CRM (customer relationship management) to accounting, inventory, merchandising, or software that addresses the needs of just about any commercial enterprise, non-profit, or government entity.  

Open source software projects may be found all over the Internet and projects have some very distinguished members who fund and support them.  The success of open source software is based on the concept of “group development”.  Groups of users of the software (often competitors) evaluate modifications or extensions to the product and insure its steady evolution meeting demands from folks who push the edges of their respective industries.  Open source is a place where business expertise meets computer technology.  

Good open  source products have an organization and web based electronic community that support them.  Most products are free for the download along with the source code used to create the software.  Today’s open source licenses allow you to use and modify the sytem for your own use, but require that you share modifications with the community.  

Good product communities have extensive discussion forums where often vigourous if not violent discussions on the merits of an enhancement occur.  If you actively use the software, you are asked (but not required) to become a member of the organization and provide financial contributions.  

Frequently there are a staff of developers that work for the non-profit organization that manages the software.  Frequently you may contribute money to the organization to fund a specific project and help pay for an enhancement that you want.  Generally these projects are posted on the organizations forums and others are solicited to participate and help fund the projects. 

When changes are made open source change control software is used to strictly manage the changes and users are encouraged to download updates and test it.  You get some of the best testing done in the computer industry for open source.  Defects are found quickly and resolved almost as soon as they are found.  

Overall, the quality ratings of open source are better than commercial vendors of in-house developers.  The larger the user community, the better the quality of the product.  

“Buyer Beware”

Yes, you must look at yourself as a buyer when reviewing and selecting open source software.  Many commercial vendors are hiding behind the “illusion” of being an open source vendor and giving away a free version of their commercial software that is little more than a demo.  

Many products are the brain child of an individual and do not have a large install base or organization or funding to back them up and they do offer a high degree of risk.  These products are generally specialized and may provide you value if you are willing to accept the risk of limited community and support. 

On just the other side of the equation you will see many products dominated by IBM, Microsoft, Oracle, HP, and other industry giants.  Look at the Eclipse Foundation and its tools for Java development.  Look at the Apache Foundation and its server projects including a focus today on “BIG DATA”.  

Look at IBM’s investment of over $2 Billion in LINUX!  IBM is a major participant contributing both human resources (developers) and money to the Apache Fondation, Elcipse.org, ASPECT-J, Bugzilla, Java, and many other open source projects.  

Major companies often invest in open source to create a viable alternative to commercial products that have the potential to dominate a market.  IBM created Eclipse and donated over $30 million worth of its proprietary software to the open source community to stop Microsoft’s potential domination of the development market with its Visual Studio line of products.  IBM’s investment in LINUX provides both a cross platform solution that runs on all of its hardware and is a major deterent to the continued domination by Microsoft of the server market.  

So when selecting a product that holds promise for you, see who is supporting the product and projects.  Read the community forums and get a sense of what people are saying, who is saying it (business or technical), how many people have downloaded the software, who is using it, and how viable does it look.  How well does the solution fit your needs?  

Competitive Advantage

Many people will argue that use of open source software limits your competitive advantage in the industry compared to in-house developed software, or customized commercial software.  

 The reality is that much of the open source software is highly configurable with business rules defined by users to the system giving each user a competitive edge. 

Examples and Sources

You can do Google searches on “Open Source Software” and an education.  A search on “open source software education” produced over 240 million results.  Here are three major results designed to handle all aspects of administration of classrooms, assignments, attendance, grades, etc.  Note that these products include relationships to parents or guardians, teachers, administrators, etc.  In other words a comprehensive set of software to run a K-12 school.
Here are some lists of various types of open source software:

There are lists for any industry or application you can imagine.  Here is a list from Wikipedia by category that may prove helpful:


Once again, open source is not the panecea for everyone, but there are many superb software products and packages that are as good or better than commercial software costing millions of dollars!  

Buying in to open source is not about getting free software, but rather buying into a user driven software development metaphor of community based development that brings you high quality superior software to that sold by commercial vendors or developed in-house.  

Be careful, but don’t rule out this option. 

BTW, if you need help with open source systems, there are generally consultants associated with the package that are certified by the organization that controls the package to assist you at a reasonable cost.  They provide implementation, training, support, and customization services.  Note:  I do not do this type of work.