用开源开放

开源软件(OSS)与自由软件属于不同的类别,可以是制造系统中有价值的一部分。正如在上个月的专栏中所讨论的,免费软件不一定便宜,需要仔细考虑真实成本、所有权和公司标准。免费也不一定是开源的,反之亦然。

通过丹尼斯·布兰德,BR&L咨询公司 二四年五月一日

开源软件(OSS)与自由软件属于不同的类别,可以是制造系统中有价值的一部分。正如在上个月的专栏中所讨论的,免费软件不一定便宜,需要仔细考虑真实成本、所有权和公司标准。免费也不一定是开源的,反之亦然。大多数开源软件是在GNU公共许可证(GPL)下发布的(www.gnu.org),赋予使用者使用该软件的全部权利。GPL规定软件可以用于任何目的,免费赠送,或以盈利为目的出售。这允许您在应用程序中使用OSS,而不用担心所有权问题。事实上,许多制造厂商使用OSS元素,例如Apache Web服务器和Java库。

当标准商业系统不能满足您的需求时,OSS是一个可行的替代方案。商用系统在满足控制系统的核心功能方面做得很好,但在满足外围功能方面做得很差,如资质管理、设备能力管理、设备谱系跟踪、文件管理、信息管理、设备测试管理和合规管理。

当需求很小而商业软件太贵时,或者当需求很大而你的供应商不能或不愿意满足需求时,OSS在频谱的另一端是最有效的。当您需要一个轻量级系统时,OSS解决方案可以基于LAMP服务器。LAMP是Linux的简写(www.linux.org)操作系统,Apache (www.apache.org) Web服务器,MySQL (www.mysql.com)数据库,以及Python (www.python.org)脚本语言。LAMP服务器是面向数据库的应用程序或实时需求有限的应用程序的通用OSS解决方案。LAMP服务器非常健壮,通常比相同平台上的商业软件更快,而且不像微软或甲骨文系统那样容易受到攻击。它们可以与基于LOM解决方案的轻量级客户机相结合。LOM是Linux、OpenOffice (www.openoffice.org)的文字处理及电子表格支援,以及Mozilla (www.mozilla.org)网络浏览器。LOM系统几乎可以在任何硬件平台上运行。如果您需要许多简单的显示站,这些显示站只需要访问浏览器、显示文档和电子表格计算,那么LOM系统可能是一种特别划算的解决方案。

另一方面,可能存在供应商无法满足的需求,需要构建重量级解决方案。OSS可以再次成为一个具有成本效益的起点。如果你必须与Microsoft . net环境集成,但又负担不起开发环境的全部成本,那么可以考虑Mono (www.go-mono.com)。Mono是一个开源的努力,用来创建. net开发框架的免费实现。如果你需要测试你的.Net代码,那么检查NUnit (www.nunit.org),为. net语言提供单元测试框架。其他帮助您开发的工具包括用于设计支持的ArgoUML (argouml.tigris.org)、Bugzilla (www.bugzilla.org)进行缺陷追踪,CVS (www.cvshome.org)用于版本控制系统,PRCS (prcs.sourceforge.net)用于图形化CVS前端,ReadySet (readyset.tigris.org)用于项目管理。

OSS解决方案也比许多商业系统更稳定,因为它们已经在各种各样的环境中经过了广泛的用户测试。同样,OSS解决方案应该比商业系统更易于维护。您可以决定添加什么特性,做什么扩展,以及何时实现它们。当标准商业系统无法达到标准时,OSS解决方案是一个可行的选择。OSS允许你扩展你的开发资本预算,但是你不应该忽视隐藏的成本。你将靠自己的支持,你可能需要训练自己。最后,当使用OSS解决方案时,考虑回馈给OSS社区。如果您可以分享您所开发的内容,那么请将其提交回开源社区,以便其他人可以从您的工作中受益。

作者信息
丹尼斯·Brandldbrandl@brlconsulting.comBR&L Consulting是一家专注于制造业IT解决方案的咨询公司,总部位于北卡罗来纳州卡里(Cary)