出于这个原因,应该开发自己的内部标准和指导方针,以审查任何考虑纳入其产品的开源代码。在软件评估阶段,从多个角度检查软件,比如它在该领域的记录、产品质量、与类似软件的比较、提供长期维护的能力以及许可证的结构等。
在使用开放源码时,仍然必须遵守许可条件,并在必要时澄清许可条件。所以每个开源软件的使用者必须让自己的程序基于开放源代码。还要考虑封闭的源代码是否可以供自己使用,这些程序是否可以商业发行等问题。
原则上,在公司内部使用各种开源许可证,如GPL(GNU General Public License)或BSD(Berkeley Software Distribution)时,它们之间的差别很小。但是,如果开源软件被进一步开发并发布,就应该注意许可条件。这里开源程序区分了“有版权Copyleft”和“无版权Non-Copyleft”的许可类型。如果制造商使用基于copyleft许可的开放源代码,就像众所周知的GPL一样,那么修改后的代码也必须按照原始许可再次发布给社群。这是为了防止用户或制造商分发修改了使用条款的修改后的源代码。因此,在其解决方案中使用带有copyleft许可证的开源软件的自动化解决方案提供商必须仔细检查除了许可文本之外,是否必须提供编辑过的源代码。例如,某些copyleft许可要求开放源码软件的每个编辑版本都不受限制地发布。但是也有中度的copyleft变体,只在特定条件下才要求发布源代码。它与包括BSD许可的软件的非copyleft许可证类型不同,不要求发布修订后的代码。因此,用户可以根据自己的需求进一步使用BSD许可开发软件,并获得专有许可。作为一种选择这样就可以开发商业产品,源代码不需要公开。总之,开源软件使用的合规性是一个必须严肃遵守的文问题。