【51CTO.com快译】许可证可谓是开源项目的法律基础,但是许多公司并非始终懂得如何管理许可证。Jeff Luszcz创办了Palamida,旨在帮助企业组织确保遵守上游软件许可证。一路走来,他及其团队发现,如果不知道使用的开源许可证所导致,带来的后果是未能意识到需要打上补丁的安全漏洞。
在拥抱开源大会(All Things Open)上,Jeff发表了两场演讲:一场是如何实现管理开源在业务和安全方面带来的投资回报,另一场是如何保护基于Linux的产品避免知识产权侵犯和安全漏洞。我最近跟他谈论了许可和安全的交汇。
乍一看,知识产权侵犯和安全漏洞似乎是两个不搭界的话题。它们最后怎么碰到一起的?
Palamida在2004年刚创办时,我们的客户绝大多数很关注确保自己遵守所使用的开源软件(OSS)组件随带的许可义务。他们发现,在通常情况下,使用的许可证少算了95%以上,这让他们很震惊(现在仍是这样)。这导致了知识产权(IP)和许可侵犯以及大量的返工,换掉违反政策的组件。
一路走来,我们发现安全漏洞同样是根源一样的问题。如果一家公司没有为确保符合IP而跟踪开源代码,它同样没有注意版本更新、错误报告和补丁。这就导致安装的软件系统里面含有有时十年之前的代码库,存在已知的安全问题。
哪怕今天在Palamida扫描期间,仍会发现Heartbleed(2014年发现OpenSSL存在的安全漏洞),尽管之前全球已动员查找和升级这个代码库。大多数软件产品并没有受到扫描或审查,对易受攻击的软件组件不闻不问。
基层员工如何才能说服管理班子:使用开源项目以及为开源项目做贡献有利于公司?
这可能是一项漫长而艰难的工作。在Heartbleed发生之前,OpenSSL每年收到的捐款只有区区数千美元,这可能让人很意外。而在Heartbleed发生之后,情况要好得多。其他项目就没有这么幸运了,捐款和源代码贡献方面仍差强人意。
我看到有帮助的一件事就是,为驱动你产品的重要开源项目做贡献。这些直接取代自主开发的代码,有望“节省成本”。保持这些组件欣欣向荣的势头,同样有助于提高贵公司的收入。许多公司在做的两项“容易”的辅助活动就是捐款和错误报告/错误修正版。捐钱快速简单,又不影响最后期限。哪怕数额不大的捐款也会受到感激。
要是贵公司的啤酒或咖啡预算比开源捐献预算还大,我敢说贵公司有问题。
捐献代码或时间可能更难。贵公司规模越大,需要克服的法律难题就越多。错误修正版或补丁常常不如捐献一项主要功能或捐出一名专职开发人员来得有争议。这是个良好的开端,可以帮助管理班子了解面对开源捐献的细枝末节。
现在,越来越多的开发人员将开源捐献作为其岗位描述的一部分,并利用自己在公司里面的影响力,确保得到向上游发布代码所需要的支持。“如果我不能在Linux或Hadoop上工作,就会将目光转移到别的地方上。”虽然这可能并不适用于许多开发人员,但如果你够幸运的话,处在职业生涯的这个阶段,那么就能极大地影响贵公司。
你的演讲似乎侧重于从开源公司的角度来管理产品。像软件自由保护协会和Apache基金会这些组织在帮助这这方面能扮演什么样的角色?
这些组织俨然是颇具影响力的开源项目奠定者,它们在帮助确定人们在创建和使用开源方面的期望值。我们常常告诉客户,不仅要看许可证义务,还要看代码作者的理念和编写方法。法律上符合许可证是一回事,符合你所面对的社区的文化是另一回事。有时候,公司会尝试“法律上准确”的方法来遵守许可证条文,但是完全违反了许可证的精神。社区会迅速告诉你,这是不可接受的。
虽然正确使用开源的责任在于开源用户,但是鼓励正确行为对诸如此类的组织最有利。大多数公司都想做正确的事情,可是常常不知道做什么、如何开始入手。
通过进行培训、与社区内外的开发人员合作,并且让公司很容易与行业组织沟通,这些类型的社区就能有助于让许多公司更容易使用开源软件。
你认为遵守开源方面的最大挑战是什么,这方面的未来形势如何?
没有人相信他们实际上在使用众多的开源。我们与许多公司打交道时,要求对方告知他们在使用多少开源软件。最常见的回答是:“我们知道自己在使用开源,但不知道在哪里使用。”要是真给逼急了,公司通常只能说出5%的实际使用的开源。审查一下代码,就会发现他们不知道自己在使用的数百个、有时数千个代码库。这每个被遗忘的代码库都违反了许可证。
让技术管理班子了解合规并编制相应的预算可能很难,除非他们看到代码审查的结果。只有团队消除众多代码库,为数百个代码库建立并发布许可证披露,并且潜在的安全漏洞根据需要升级和打补丁而堵上后,“第一次就做对”才变得更容易。从成本和声誉的角度来看,从头开始正确构建好系统总是比事后修复来得省钱。
时不我待。许多公司发现对开源使用情况知之甚少后,面对合规工作不知所措。要是每个首席执行官提出他们以为很快答得上来的问题:“我们在哪里使用OpenSSL?”,很快变成了耗费资源、历时数月的分析,这时候项目人员才开始有所注意。Heartbleed这一事件确实改变了许多公司的合规工作,因为它们认识到自己在这方面的意识离真相偏差有多大。
你认为今年的拥抱开源大会上哪些演讲是不容错过的?
我对开源许可很有兴趣,今年的拥抱开源大会上就有几场精彩的演讲是有关这个话题的。
我与Heather Meeker已共事多年,很期待她的演讲:《解放你的代码(又不吓坏律师):发布和贡献代码时需要考虑的许可证和IP问题》。Heather已做过大量这种类型的工作,会深入浅出地讲述处理这个过程的一些经验教训。我总是能从她的谈话中学到新东西。
另外,Bradley Kuhn的演讲:《GPL有利于公司》也很值得一听,有助于了解为开源使用通用公共许可证的社区的目标和动机。只可惜,与我的演讲在同一个时间,所以今年怕是当面听不到了。
最后,《将商业软件引入开源的技术、商业和法律方面的选择》,以及《了解开源许可证》,这两场演讲看起来都令人关注。可惜分身乏术,要不然我都想去听一下。
原文标题:Does your company know how much open source it uses?,作者:Ben Cotton
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】