Open up with open source

Open source software (OSS) falls into a different category than free software and can be a valuable part of a manufacturing system. As discussed in last month's column, free software isn't necessarily cheap, requiring a careful look at true costs, ownership rights, and corporate standards. Free also isn't necessarily open source or vice versa.

By Dennis Brandl, BR&L Consulting May 1, 2004

Open source software (OSS) falls into a different category than free software and can be a valuable part of a manufacturing system. As discussed in last month’s column, free software isn’t necessarily cheap, requiring a careful look at true costs, ownership rights, and corporate standards. Free also isn’t necessarily open source or vice versa. Most open source software is distributed under the GNU Public License (GPL) ( www.gnu.org ), which gives the user full rights to use the software. The GPL specifies that the software may be used for any purpose, given away for free, or sold for profit. This allows you to use OSS within applications without worrying about ownership rights. In fact, many manufacturing vendors use OSS elements, such as the Apache Web server and Java libraries.

OSS is a viable alternative when standard commercial systems can’t meet your needs. Commercial systems are good at meeting the core functions of control systems, but poorly address peripheral functions, such as qualification management, equipment capability management, equipment genealogy tracking, document management, information management, equipment test management, and compliance management.

OSS is most effective at opposite ends of the spectrum when the requirements are small and commercial software is too expensive, or when the requirements are large and your vendors can’t or won’t address the requirements. When you need a lightweight system, an OSS solution can be based on a LAMP server. LAMP is shorthand for Linux ( www.linux.org ) operating system, Apache ( www.apache.org ) Web server, MySQL ( www.mysql.com ) database, and Python ( www.python.org ) scripting language. LAMP servers are common OSS solutions for database-oriented applications or for applications with limited real-time requirements. LAMP servers are robust, often faster than commercial software on the same platforms, and less vulnerable to attack than Microsoft or Oracle systems. They can be combined with lightweight client machines based on an LOM solution. LOM is shorthand for Linux, OpenOffice ( www.openoffice.org ) word processing and spreadsheet support, and Mozilla ( www.mozilla.org ) Web browser. A LOM system will run on just about any hardware platform. A LOM system can be an especially cost-effective solution if you need a lot of simple display stations that require only browser access, display of documents, and spreadsheet calculations.

At the opposite end of the spectrum, there may be requirements that vendors cannot meet, necessitating construction of a heavyweight solution. Again, OSS can be a cost-effective starting point. If you have to integrate with Microsoft .Net environments, but can’t afford the full cost for a development environment, then look at Mono ( www.go-mono.com ). Mono is an open source effort to create a free implementation of the .Net Development Framework. If you need to test your .Net code, then check out NUnit ( www.nunit.org ) for a unit testing framework for .Net languages. Other tools to help you in your development include ArgoUML ( argouml.tigris.org ) for design support, Bugzilla ( www.bugzilla.org ) for defect tracking, CVS ( www.cvshome.org ) for a version control system, PRCS ( prcs.sourceforge.net ) for a graphical CVS front end, and ReadySet ( readyset.tigris.org ) for project management.

OSS solutions are also more stable than many commercial systems because they have been through extensive user testing in a wide variety of environments. Also, an OSS solution should be more maintainable than a commercial system. You can decide what features to add, what extensions to make, and when to implement them. OSS solutions are a viable choice when standard commercial systems don’t make the grade. OSS lets you extend your development capital budget, but you should not ignore the hidden costs. You will be on your own for support and you may have to train yourself. Finally, when using OSS solutions, consider giving back to the OSS community. If you can share what you develop, then submit it back to the open source community so that others can benefit from your work.

Author Information
Dennis Brandl, dbrandl@brlconsulting.com , is the president of BR&L Consulting, a consulting firm focusing on manufacturing IT solutions, based in Cary, N.C.