乍一看,遵从开放源码似乎是一项令人生畏的任务。但是通过一些研究、回顾和教育,你会发现遵从并没有最初想的那么难。
首先,让我们看看术语依从本身。韦氏在线将合规定义为“符合官方要求。”这个概念不难理解;如果您使用的是开放源码软件,遵守法规意味着要满足许可证要求。当你思考这个问题的时候,你会发现这是完全有道理的。开源开发者开发软件不是为了赚钱,那么他们想要什么?他们希望用户遵守他们的许可。也许他们想要归属,或者他们对保护源代码感兴趣,以便其他人可以使用它并从正在进行的贡献中获益。也许他们只是想保护自己不受好打官司的用户的伤害。不管他们的动机是什么,花时间授权他们的工作的开发人员都希望用户遵守他们的努力。
你是如何遵守的?这里有一个简单的大纲,以开始的道路上的合规:
1.知道你拥有什么
实际上有两部分:1)了解你在应用程序中使用的开源软件(OSS);2)知道开源软件是根据什么许可证发布的。要做到这一点,最简单的方法是在下载OSS并开始在应用程序中使用它时跟踪它。这种主动的方法允许您在获得软件时记录许可,这比以后试图找到它更容易。
常见的方法是回顾您的代码并创建OSS及其附带许可证的列表或材料清单。您可以执行手动检查,但这可能会错过一些操作系统。为了得到最好的结果,使用开放源码扫描器来捕获所有相关的软件。在构建列表时,您可能需要参考OSS的原产地网站并找到许可信息。
2.阅读许可
好消息/坏消息是,许多开源许可证不是由律师编写的。所以,在很多情况下,许可证不是用法律术语写的。这样可以更容易地理解许可证。另一方面,当非律师作者获得许可时,往往更加模棱两可,这可能使遵从性要求不那么明确。
3.建立一个清单
在阅读许可证时,建立一个需要遵守的步骤清单。例如,许多许可要求在您的产品中包含原始许可的副本,或者属性说明,例如,“此应用程序包含由Apache软件基金会开发的软件。”当你发现使用条款复杂或难以理解时,咨询律师,上网看看其他人是否有同样或类似的合规问题。例如,自由软件基金会(Free Software Foundation)有一个FAQ,它在帮助解决GNU许可遵从性问题方面非常有价值。
当你建立你的清单也考虑时间:当遵守。例如,许可条件可能需要对原始源代码进行修改的文档。在这种情况下,遵从当进行修改。许多义务只需要在特定的使用条件下满足。
4.遵守
大多数遵从性步骤都不难完成。常见的遵守义务包括:不删除通知和版权,承认免责声明,在应该归属的地方给予归属,不声明OSS的作者,记录你的修改,并尽可能多地包括原始许可、作者和项目信息。
使用检查表来记录您为遵守每个许可证所采取的步骤。您可以写一些简单的内容,如“我阅读并理解此许可限制,并且没有违反它。”对于更复杂的遵从性需求,您可能需要记录如何将您的代码与开放源码结合起来,以证明您的特定使用不会触发/导致该需求的失败。如果需求要求您在与开源结合创建派生作品时发布源代码,那么这一点就特别重要。
此列表提供了为您的公司开发自己的开放源码遵从性程序的第一步。如果您需要帮助,请随时联系OpenLogic。我们专门帮助组织建立开放源码治理和遵从程序,以及提供开放源码扫描和审计。我们很乐意帮助你。