云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

香港带宽_构建云服务器_试用

小七 141 0

香港带宽_构建云服务器_试用

什么更复杂?写代码,或者理解别人写的东西?

什么是贡献者许可协议?这对你有什么影响?

在我的职业生涯中写了很多代码之后,我发现有一件事是普遍正确的:理解别人的代码比阅读自己的代码要困难得多。

开源软件的目标之一是鼓励别人使用它。它"流行"的一个标志是当别人开始为你的项目提供错误修复或更新。

然后是困难的部分不,它没有点击GitHub中的"合并"按钮。不,它没有阅读代码,也不知道它是否能工作。作为程序员,我们经常忽略接受第三方代码到我们自己的项目中的含义(除了明显的部分,称为"它能工作吗")。

所以,让我们看看非代码含义。

含义关于接受第三方代码

在我之前的博文中,我提到了自由和开源(FOSS)软件的许多不同的法律方面。重要的一点是,人工智能怎么样,自由和开源软件的所有法律权利都是从版权开始的。关于谁拥有代码,谁制定规则的一切,从写这本书的人开始。

精明的读者会立刻明白其中的含义:如果你没有写这本书,你没有版权。

我怀疑这一点被许多作者忽略了。他们认为任何"贡献"给他们的代码都将成为获得代码的个人/团体的财产。这是有道理的,因为贡献代码的人显然知道这个许可证,云发布,并且可以看到这个项目是开源的。

但是,再仔细一看,云呢拿,就会发现不一致的地方,GitHub(像大多数跟踪系统一样)非常擅长显示谁写了哪段代码。这意味着一段代码的作者很容易被跟踪。特别是如果作者决定以后申请版权的话。

这是第一个问题。但是如果这个人为一家公司工作,情况可能会更复杂。

员工还是个人?

在许多情况下,贡献代码的人也是公司(组织或其他组织)的员工,这会使代码的所有权变得更加复杂。

例如,SAP员工编写的任何东西(如当地法律允许)都是SAP的财产。特别是如果此人在SAP时间工作,并且在SAP上工作设备。因此,个人用云服务器,如果SAP员工编写了一段代码,他们就不能把它分发出去——因为它本来就不属于他们。

当然,每个公司都可能有适用于员工的政策。而且这些政策并不总是相互匹配。

更糟?如果一个员工不小心贡献了一些重要的东西,比如商业秘密,或者一些能让公司运作得更好的东西。在这种情况下,公司可能会想反抗并收回它。

这是一个很大的法律混乱,对吧?

了解CLA

作为自由和开放源码软件项目的所有者,您如何解决这些法律问题?最好的方法是通过贡献者许可协议(或CLA)。

CLA很简单。就像你的许可证一样,它是贡献代码的人和托管代码的团体之间的协议。协议基本上说,贡献者放弃了所有合法的(和"道德的",但在法律意义上)他们贡献的代码的所有权。换句话说,他们可能有版权,大数据分析培训课程,但同意让你永远永远使用它,没有限制。当他们说"永远永远",他们的意思是"我们以后不会改变主意"。这是永久的。

CLA还规定,任何代码贡献,最好的知识出资人不受任何其他所有权限制。这包括我们之前提出的"公司或个人"问题。另一家公司可能拥有它,但作为接收人的你不承担责任,因为出资人告诉你它是可以的。

最后,CLA可以涵盖如何使用代码。如果您想为贡献者提供一些保护,也可以在这里。

如果您想看一看,这里是SAP标准CLA。

自动化流程:CLA Assistant

这让我想到SAP的一个伟大项目:CLA Assistant。

这个工具,免费供任何人使用(不仅仅是SAP)是我们为FOSS项目自动化CLA系统的方式。它既建立了许可证,又成为任何新贡献者请求周期的一部分。在投入贡献之前,CLA助手确保用户同意其条款。

TL;DR?一个全自动的方式来处理CLA的。

CLA助手网站有一个完整的过程解释,甚至有一个视频显示当一个人为你的项目贡献代码时会发生什么。而且,它是自由/开源软件,完全免费使用。

把这个添加到你的武器库中

好的,所以贡献者许可协议是值得的。从从法律意义上讲,这是一个需要理解的重要差距——因为它可以防止将来某个时候与另一个人(或者更糟的是,大公司)发生麻烦。涵盖所有法律细节只是提前考虑。

这也很容易解决。从不同组织提供的众多CLA中挑选一个好的CLA,然后把它应用到我们的免费工具上。瞧,问题解决了。