之后人们会问为什么你比较关心管理FOSS?首先你的客户非常关心,比如每一个第三方软件,比如摩托罗拉任何一个产品都需要经过这样一个过程,要求你来回答很多问题,比如说你出来开源,如果不能够以可信的方式回答这样的问题,你就没有办法实现这一点。比如很多大公司有独立的开源调查程序,主要就是研究合规的情况,同时要了解雇员有什么贡献,比如专利、版权等等,这些都要解决,还有诉讼的问题,对开源方面的诉讼现在还并不是很多,但是我们可以看到,比如BusyBox有一个诉讼,还有一些诉讼和解了,没有进行判决,同时他们也一个软件中心代表BusyBox所有参与方,也是要保证人们在开源方面可以反映GPLP要求的。大家知道Orical诉Android,Orical有61亿美元的损失,他们说违反了专利的保护,随着开源变得越来越重要,将来会有更多的诉讼出现。
我们讨论很多开源的情况,我们在这方面已经做了30年了,软件的开发、开源是最有利的,可以更好的鼓励创新,但是与此同时还和价格有关,如果你是非常成功的企业,如果使用开源方式,别人有可能也会以此为借口诉讼你,比如Orical案例,和Google相关的,要求60多亿美元的损失赔偿,还有40个涉及到Android的诉讼,在开源社区当中,人们也知道他们需要进行专利的购买,专利是他们知识产权中很重要一部分。还有一中就是完全开源,如果简单做开源并不是解决问题的方法,比如诺基亚塞班就是开源的,对于开源社区来说,必须要建立起很好的社区才能满足要求,通过协作,可以建立可持续性的社区,大家知道APPLE STROE和GPAL之间的情况,包括使用开源和云之间的关系。
我们举个例子说一下开源的复杂性,Android就是很好的系统,一共有165个项目,原来165个项目中有83个属于外界项目,一共有超过84000个档案,从合规角度来说意味着什么?其实Android里面有很多不同专利,同时要更好的管理,必须了解所作所为的一些结果,比如我参加过一个Android的会议,有一个公司开发人员说我不喜欢Android为的工具箱,把它拿出去了,如果你了解它的替换结果的话是没有问题的,但是另外一点,GPAL2的许可的BusyBox也是有很多争议,有很多诉讼,他可能觉得这是一个技术问题,实际上有很大问题,会对他进行诉讼,必须了解有什么后果。
包括如何帮助管理的团体计划,我参与过这样的协调项目,主要是给项目提供一些协议,比如说我们提出要有一个模板,叫做贡献人的协议,你可以选择,比如Apache,他们现在没有标准化贡献者协议,比如桌面贡献者一点都不全面,语言、条款都不是很明确,所以我的客户就说贡献人的协议是有问题的,所以我们现在正通过标准化的方式完善贡献人的协议。第二,SPDX,现在大家越来越关心它的供应链的管理,比如摩托罗拉,要求所有的第三方软件都必须要知道软件是怎么做的,如何管理,SPDX也是非常重要的,SPDX可以帮助你确定你所有的许可的一些细节,如果只是说GPLV2没办法确定是哪种,必须知道GPLV2不同的分类等等,对于SPDX来说,它的目标就是能够给许可的事实信息档案建立一个非常详细的说明格式,充分说明你的软件包是什么样的。同时SPDX会在今年8月份推出,如果大家感兴趣的话可以在8月份看我们所出的SPDX,这也是我们公开合规计划的一个支柱,也是对Linux基金会的一个支柱。在整个供应链当中,过几年可能大家都会用SPDX,大家现在最好就开始关注,不断进行追踪。
我再谈一些补救的方法,或者违反许可以后的补救方法:第一点,如果没有按照许可执行,特别是GPLV2,你就会丢掉许可,人家可能会起诉你,要求进行赔偿,在美国,如果侵犯版权,可以实施禁令,企业可以要求你有法定损失赔偿,一项版权可能会达到15万美元,而且你经常会收到禁令,而且损失并不是我们所说的实际损失,有可能是法定损失,你的产品如果没有达到产品的要求就属于侵权,法院要进行判决,法院可以禁止你再出售或者销售你的产品,对于公司来说是非常复杂的,或者是非常危险的。为什么采用开源政策的?首先我们必须建立一个很好的框架,这就是我们所说的开源政策,刚才前面也提到过,首先考虑道不同的项目、不同的软件,比如说你在框架之外如果有问题就要问你的供应商,我们政策主要是管理风险,同时保证策略的灵活性。还有异常开源软件的风险,比如不确定的GPL范围、GPL自动终止等等,另外还可以让你的客户知道你们的产品里有什么,比如你是非常小的一家公司,有风投投入到你的公司当中,他们也关心用的什么开源软件,以及如何对它进行管理。五另外现在还可以看到有很多关于合规性的问题,包括软件等等。
我们应该怎么做?第一,并不是法律问题,实际上并不仅仅是法律问题,同时还涉及到商业的问题,你必须要从跨功能性角度来考虑,并不是小公司就可以解决这些问题,你需要进行产品的规划,同时还要考虑到整个流程,比如组件的管理、许可的管理等等,你要了解你的权利和义务是什么,可以采用一定的流程,很多东西只放在纸面上是不行的,必须保证是事件的带动,需要要求组件的批准、规划的解除,另外接受供应商或者厂商的代码,然后设定解除方式,利用供应链的技术等。根据我的经验,最好是采用供应链管理流程,对于工作流、流量等等进行管理,其实市场上也有很多工具帮助你进行ERP系统管理,另外还可以建立中央数据库,同时还包括业务流程的整合是非常关键的。
在开源软件政策当中经常会犯什么样的错误?第一个就是法律术语必须让人们很容易理解,工程师有时候对于法律术语不是很熟悉,这些也要让他们更好的了解;另外可以制定一些政策,针对不同的产品、业务还有集团等等,如果你不能够涵盖所有的软件来源也是很大的问题,比如顾问、承包商、并购、第三方许可人等等。原来曾经有这样一个案例,当时有5亿美元的投资,希望了解整个开源的体系,当时他们发现可能其中有一部分来自于承包商,但是没有办法了解软件来源,最后投资就没有成功。包括第三方的许可,像有些企业,可能是在别的国家,他提供给你的可能是BusyBox,但是是通过另外第三方获得许可的,而且并没有符合许可的要求,但是如果你在这边使用的话,可能人家就会问你为什么满足政策的要求,最后就会进行起诉,最后他们发现合同的抒写有问题。另外,有的时候政策太严格或者不太切实际,这时候也算一种违规。同时政策还需要有一定的灵活性,随着时间的调整而调整,企业的业务会发生变化,所以产品必须非常灵活。另外也需要进行持续的教育,通过培训让企业了解如何进行开源的管理,管理层要给予更多的重视。在并购当中,像思科他们都有独立的调查程序,调查开源的合法性,同时他们也想从尽职调查角度了解你在用什么样的开源软件、什么样的开源政策、如何实施等,包括一些技术和法律的问题,比如不能够转让大多数的开源软件的许可,如果你不做这些调查,有可能会产生很大的影响,我曾经做过一亿美元的并购,涉及到云计算等等,碰到一些开源方面的问题,我们花六个星期的时间才完成这项交易,使得并购公司并购的愿望更小了,15%的工作花了12个月的时间,20%的内容花了20个月的时间,花费的时间和金钱都是非常高,还有IP方面的问题,开源也是最主要的一个问题,有时候甚至涵盖的数额超过两千万美元,有时候甚至就算花五百万美金做这方面的工作可能也不是非常合适。
最后总结一下,我们需要有效的管理开源软件,看作真正的商业问题,因为不光是客户方面的需求,我们需要把开源软件的管理看作综合的跨功能性的业务程序,并且制定政策,界定工艺以及工艺当中所有人,对于公司来讲,可能有时候有技术方面的帮助,因为人们可以了解到这个过程的复杂性,现在有很多许可证正在申请过程中,我们需要实现流程的自动化。
以上就是我正式演讲的全部内容,如果大家有问题,我愿意回答,谢谢大家!