当时已经到了凌晨三点那个时段。我在审查CI/CD流水线的日志记录。我发现了一段代码。这段代码的函数实现被标记了疑似侵权的记录。代码的提交者在电脑屏幕前面反复地问问题。
问他为什么自己只修改了三行代码就会被说是侵权。对于知识产权这几个字, 技术人员在长期的思维习惯里面处于一种状态。这种状态就是说他们知道有这个概念存在。但是他们不知道这到底是什么东西。
那个知识产权, 用大白话来解释到底来说的话, 它最终所要去保护的那个东西, 究竟到底是什么呢。
本人倾向于把知识产权这样一种事物, 理解成为是一套关于创新的确认权利归属的机制。它的核心的功能并不是去进行惩罚这一种行为。而是通过一种法律方面的框架, 把谁在什么时间先完成了什么东西, 这个事实转化为一种可以被法律强制执行的排他性的权利。
当你编写了一段算法代码的内容的时候, 并且你把这个内容拿去申请了专利的话, 那么在专利保护的有效期限之内, 任何的其他第三方如果去使用相同的技术方案的话, 那么他们就必须经过你的正式的授权。或者他们也可以支付相应许可费用的方式来实现合法使用。
说得直白一点, 这种做法其实就相当于是给那些已经形成的创新成果, 安装了一把设置了时间锁功能的锁具。
你的本地代码仓库里
版权这个东西, 它保护的是表达方面的东西, 它保护的并不是想法这方面的东西, 关于排序算法的这种具体的实现方式, 是受到版权保护的, 但是算法本身的这种存在形式, 是不受到版权保护的。
这个区分是非常极其关键的, 仓库里面的代码文本、注释结构以及变量命名的组合这一系列内容都是属于表达层面的, 因此是要受到著作权法的约束和限制的, 但是算法的核心逻辑、数学公式还有架构设计等等这些内容都是属于思想层面的, 所以著作权法是不覆盖这些部分的, 如果要对这些思想进行保护的话, 就必须得要走去申请专利的这个路径才行, 我本人在工作过程中见过太多的团队了, 他们总是会搞混这两个不同的概念, 以至于会花费整整三个月的时间去编写所谓的专利文档, 可是最后却突然发现, 他们真正耗费精力去保护的根本就不是那个他们最在意、最重要的创新点, 这真的是太让人惋惜。
开源社区的公共协议区
GPL、MIT、 2.0, 这些内容, 本质上就是知识产权许可条件的一种预先声明。当你fork了一个用MIT协议的组件的时候, 你是可以使用的, 也是可以修改的, 还可以进行闭源处理, 但是, 你必须保留原来的版权声明。
对于GPL来说, 它的传染性条款则是要求所有的下游产品都必须要开源。在国际化协作的过程里, 知识产权并不是简单的非黑即白这种状况, 而是一套非常精细的权利与义务矩阵。
跨国企业的联合实验室
到了这个级别的尺度, 核心问题就变成了究竟谁的主张应该被优先采纳, TRIPS协定确实统一了194个成员国需要达到的最低保护标准, 但是在各个不同的司法管辖区里, 具体的审查尺度以及对侵权行为的判定阈值依然存在着不相同的情况, 硅谷的公司申请的专利如果需要在慕尼黑来执行的话, 很可能就会面临与原来完全不同的有效性审查过程, 正是出于这样的情况, 头部企业因此就专门设立了知识产权运营架构师这样的岗位, 让他们专门去负责做跨辖区的权利配置工作。
总而言之, 针对技术人员这个群体可以进行梳理工作, 把相关的要点具体划分为三个不同的方向线路。
著作权这条线, 它所保护的对象包括代码文本、文档以及UI设计这些表达层面的内容, 这个权利是自动产生的,根本就不需要再去登记。
它属于专利权的范围, 也就是专门用来保护技术方案、工艺流程以及算法实现这些思想层面的内容的一部分, 这其中的每一项都必须去申请并经过审查才能生效, 总的有效期窗口设定的是长达20年。
这是商业秘密的一条线, 要去保护训练数据、去保护没有公开过的参数、也去保护内部的结构设计, 而且是不设有任何时间期限的, 一旦发生了泄露行为, 那么它的效力就会立即失效。
这三者之间的关系并不是说互不相干, 而是可以叠加在一起的。比如说, 在一段对深度学习推理优化代码进行处理的环节中, 这一小段代码是同时受到版权保护的, 而且在很多时候它也是可能被纳入到专利范围之内的, 甚至它还很有可能是属于商业秘密的。
咱们把话题转回到凌晨三点那个场景。我现在在进行代码审查工作时, 都会再多问上一句: 这段代码的创新点具体是在哪一条线上? 是体现在表达方面还是思想方面?
是已经公开了还是没有公开呢? 只要把这三个问题都回答得清清楚楚, 知识产权就不再是一个模糊不清的法律术语了, 而是变成可以直接纳入到工程决策之中的一个参数了。
你其实没有必要去成为律师, 你只需要让自己成为一个在知识产权素养方面属于合格级别的技术人员。对于这一件事情来说, 你今天就是可以开始着手进行的。