你以后还敢用开源代码吗?

本文由Markdown编辑器编辑完成。

前言

最近公司邀请外部专业讲师,举办了一场关于开源代码使用注意事项的讲座: <开源代码使用规范>

“开源”对于软件从业人员来说,是再熟悉不过的话题了。小到一个工具软件,一个第三方库,一个游戏项目(曾经风靡全球的红色警戒),大到操作系统(linux),无一不是与开源紧密联系在一起的。
曾经看到过一篇文章说,中国的软件和互联网行业之所以能够在短时间内取得飞快的发展,与开源项目的流行有密切的关系。正是由于像Gihub这样的平台,提供了各种各样的开源项目和代码,才让创业公司能够在短时间内,根据自己的创意,再搭配一些开源的项目,搭建出能够使用的项目,并且在之后迅速地迭代开发,大大缩短了产品的开发周期。

开源,似乎和空气一样,已经成为了软件从业人员不可缺少的一个部分。那么我们应该如何安全地使用它们呢?这便是这个讲座的主题。

我曾经以为这个讲座的主讲人,一定是一个技术出生,做过很多项目,写过很多代码的人。但是,当主讲人做自我介绍的时候,他却说他是没有技术背景的,他曾经的职业是一名律师,后来转行成为一名在软件和互联网行业的,为企业提供相关法律咨询的in house人员。

既然主讲人是律师,那么当然该讲座的主要内容,就是围绕着开源法律条款,以及由使用开源项目而带来的相关法律诉讼。

1. 开源代码之开源协议

要了解开源,首先需要了解开源协议。协议可以理解为是一份标准,不同的开源协议,代表着不同的开源许可方式。

按照一个大的原则——如果一个项目使用了一个开源项目的代码后,这个项目是否也必须开源,来分的话,分为两大类:Copyleft和Copyright.

Copyleft: GPL, LGPL, Mozallia
No Copylfet: MIT, BSD, Apache.

以下这个图是来自于阮一峰老师博客中的图片, 细致地描绘出了不同开源协议对于使用的不同要求:
在这里插入图片描述
来源: https://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html

Copyleft, 是相对于Copyright的一个单词。Copyright的意思是版权,而Copyleft, 则是无版权。顾名思义,可以理解为项目没有版权。所以,如果使用了属于Copyleft类型的开源项目,那么你的项目也需要开源。这里的一个专有名词叫——传染性。就是说,你的项目因为使用了开源项目而被传染,也变成了需要开源的项目。

当然,对于商业公司来说,是不愿意将自己开发的项目开源的。因此,在工作中需要用到开源项目时,一定要查看该开源项目的许可协议,慎重思考后再进行选择。

2. 案例分析 Case Study

接着培训老师给我们分享了他研究过的国外和国内的,关于使用开源项目的代码,而带来的官司纠纷。通过直观地案例,让我们更清晰地理解了开源协议的重要性。

2.1 案例1/2 - 国外

Jacobsen vs Katzer 诉讼案件
Versata vs Ameriprise 诉讼案件

这两个国外的软件公司相互之间的诉讼案件, 起因都是由于某一家公司开发的软件中, 该软件的某一部分是依赖于开源代码, 而该部分开源代码恰好是GPL开源协议. 由于GPL协议属于Copyleft, 所以只要是使用了这部分开源代码的软件, 按照协议的规定, 那么这个软件也应该开放源码, 变成开源软件. 而另一个公司, 则根据这个漏洞, 将前一家公司的软件产品, 或部分软件产品申请专利, 或者据此开发.

这样两个公司, 便是各执一词, 相互诉讼对方侵权.官司一打就是绵延四五年. 由于美国的诉讼费用是相当高的, 经过这么长时间的诉讼, 律师费高的惊人, 即使最后赢得诉讼, 在这个过程中耗费的律师费也是天文数字.

2.2 案例3 - 国内

国内之前也发生过因为开源软件, 相关的案件链接可以参考:
http://www.bjqiyelaw.com/s/121086.html - 开源软件第一案.

从国内的判决结果看, 国内对于开源软件的侵权, 其实认识得还不是很清晰. 在判决时往往也更带有主观情绪. 往往是双方各打一板, 或者是相互妥协.

3. 结语:

在培训的最后, 是自由提问环节.
在听了讲师对于开源软件的使用注意事项, 特别是GPL协议的传染性后, 都感到既震撼, 也疑惑. 显然我们作为第一线的开发人员, 对于使用开源代码可能带来的风险还认识不足. 对它的了解可能还是限于在项目中直接使用.

讲师提到, 这可能跟国内的绝大多数软件公司的体量还很小, 还没有达到令国外相关机构重视的程度. 因此即使出现不符合使用规范的事实, 也没有得到应用的告诫和警示. 但是, 假如像微软这样的巨无霸软件公司, 可能是有很多机构在监督他, 伺机从他身上攫取到利益的. 所以国外凡是有一定影响力的软件公司, 对于开源代码的使用都是慎之又慎.

听了这样的培训, 你以后还敢用开源代码吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

inter_peng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值