对开源实践的建议
本文分享自“初创公司的9条开源许可证管理规则”(原文地址)

对于工程师们来说,如果想开发某个软件,可能会到网络中去搜索一下,看看有没有人已经开发出了类似的功能,或有没有现成的代码。如果有的话可以直接拿过来改一改,避免重复造论子,这也是开源带给我们的便利。
不过,开源虽好,但就像之前说过的那样,它并不完全自由,而且可能还会存在着一些陷阱,尤其是对初创公司而言,还是慎重一些为妙。
作为一名专业的知识产权律师,该文作者给出了对待开源的如下原则。
1. 不要使用没有许可条款的软件
互联网上的一些软件不包含许可声明,但这并不意味着它可以自由使用。
发布该软件的人可能没有遵守上游许可条款,或者软件的作者可能尚未对该软件应用许可证(开源或其他)。
“无许可条款”意味着没有许可:您应该避免使用该软件或要求作者申请许可。
2. 不要违反开源许可证
软件所有者可能很难跟踪开源软件的使用情况,但这并不意味着使用和不合规行为会被忽视。
违反开源许可证可能会让初创公司面临法律责任和公众问题,甚至可能损害投资或收购,它还可能导致潜在客户因担心下游责任而拒绝购买您的产品。
开发人员付出了巨大的努力来使其软件开源——包括放弃许可费用。
滥用软件对这些开发人员来说是不公平的,并且损害了他们希望促进的创新。
3. 跟踪您正在使用的软件
您可能不得不在未来的某一天被要求提供您正在使用的开源软件列表,因为潜在的投资者和收购方会要求提供该列表,并且在收到请求时维护最新的列表将为您节省大量时间和精力。
大多数开源软件下载时都会包含LICENSE
、COPYING
或NOTICE
这样的文件,保留该许可证的副本并记下它涵盖的软件。
大多数初创公司都可以在一个简单的电子表格中跟踪许可软件。
4. 了解Permissive(宽松)许可证和Copyleft(左版)许可证
开源许可证大致分为两种类型:宽松(BSD、MIT和Apache)和左版(GPL、LGPL、EPL、MPL以及通用开发和分发许可证)。
大多数公司及其客户对于在许可下使用软件没有法律问题。
然而,遵守Copyleft许可证需要更加小心,并且可能与保持软件专有的某些计划不一致。
5. 遵守通知要求
无论是宽松型还是左版型,所有开源许可证都有通知要求。
通常,这意味着您在分发开源软件时需要包含适用许可证的副本。
仅仅包含许可证的链接或简短形式通常是不够的,制定符合大多数开源许可证且不会让客户感到困惑或疏远的许可证通知传递策略非常重要。
6. 了解哪些开源许可证适用于分布式软件
大多数开源许可证(AGPL除外)都没有软件即服务(SaaS)的条件。
对于SaaS和云系统的分布式元素(例如JavaScript)或分布式软件(包括移动应用程序和Beta
测试),您可以在宽松许可证下使用软件,但在使用Copyleft许可证下的软件之前需要特别小心。
仅当GPL软件在自己的进程中100%执行并且没有链接代码时才使用GPL软件——不要相信通过动态链接到GPL代码或让客户下载GPL软件来实现合规性的神话。
仅将LGPL软件用作动态链接库,并且仅在未修改API
的情况下才使用其他Copyleft软件。
符合移动应用市场规则的分发可能与遵守某些Copyleft许可证(例如GPL或LGPL)不兼容。
7. 在了解开源之前,请勿随便贡献或发布开源软件
贡献和发布开源软件可以为公众带来福音,但对于您的企业来说可能不是正确的选择。
一旦您做出贡献或发布,您在该软件中拥有的任何知识产权将不太可能构成您公司估值的基础。
您的律师可以帮助您了解专有软件和开源软件之间的选择,并指导这一重要的业务决策。
8. 确保您的员工和第三方开发人员遵守这些规则
无论开源违规行为是由您的员工还是第三方承包商造成的,由此产生的法律和宣传问题都将由您承担。
您可以通过适当的培训和跟踪开源软件来避免这些问题。
9. 为未来做好计划
初创公司的商业模式可以快速变化,SaaS模式可以很快变成分布式软件模式。
无论您当前的模型如何,遵循分布式软件的规则都可以灵活地转换为分布式软件模型,而无需删除某些开源软件并更改相关功能。
感谢支持
更多内容,请移步《超级个体》。