这样算不算违反开源协议?

2017-09-03 10:16:44 +08:00
 forvtwoex

比如在商业项目中想使用某个开源软件,但是很难遵守它的协议要求,能不能通过改写它的代码绕过去,

比如把所有函数名换掉,变量名换掉,结构上也调整一下,甚至写些冗余代码混在里面,至少表面上看不出来使用了它的代码。

5861 次点击
所在节点    问与答
25 条回复
cy18
2017-09-03 10:31:25 +08:00
遵守开源协议更多的是一个道德问题
hjc4869
2017-09-03 10:38:45 +08:00
净室处理一下就好
NonClockworkChen
2017-09-03 10:42:19 +08:00
同意楼上,用就用了,别想某司用了开源,还把开源去注册专利...这 tmd 就厚颜无耻了(即使按照我国国情)- -
LosLord
2017-09-03 10:51:32 +08:00
用了别人的东西,看自己好不好意思了
hundan
2017-09-03 10:52:52 +08:00
协议只是道德问题,绕不绕的,只是为了不让大众指出来吧。
学学人家 yunos/手动滑稽
liuminghao233
2017-09-03 10:55:28 +08:00
按它的思路重写吧
改函数名变量名我感觉很弱智,
这样还不如直接用
msg7086
2017-09-03 11:06:15 +08:00
这不叫绕过去,这叫藏起来。
SuperMild
2017-09-03 11:12:14 +08:00
偷来的自行车上漆换个颜色让原车主认不出来,算不算偷?
Zzzzzzzzz
2017-09-03 11:14:13 +08:00
基于思路重写可以, 基于代码修改不行.
KevZhi
2017-09-03 11:14:18 +08:00
首先看那个软件用的是什么协议,不同协议对商业使用的要求不同。GPL 和 BSD 就有很大的区别。
其次遵守开源协议是道德问题,不遵守开源协议会遭到谴责。可参见 FFMpeg 的耻辱柱,改变量名其实是掩耳盗铃。
DCjanus
2017-09-03 11:17:08 +08:00
你看了别人写的关于它的思路介绍的文章然后自己 clean room 实现了,不违反开源协议
你这样替换、混淆了,仍然等价于使用并演化了

不过全世界范围内这类诉讼都不容易打,国内一般承认开源协议的合法性,但是基本没有相关处理方法(具体的司法解释比较复杂,我看不懂)
gamexg
2017-09-03 11:24:33 +08:00
把开源协议部分编译成独立程序,然后你再调用。
weakish
2017-09-03 11:26:48 +08:00
@DCjanus CN 已经有开源协议的案例。罕见的原因是只有著作权所有人才能诉侵权,所以必须原本的开源项目知道,然后亲自来起诉,而且对大多数开源项目,需要一个个找主要贡献者拿授权。
RqPS6rhmP3Nyn3Tm
2017-09-03 11:39:27 +08:00
不可以,这属于演绎的范畴。
你可以 clean room
bkmi
2017-09-03 11:54:59 +08:00
@hundan @KevZhi @cy18 开源协议具有法律效应,参考 https://opensource.guide/legal/

只能说国内不正视罢了
cy18
2017-09-03 12:04:27 +08:00
@bkmi #15 法律效应是有,但是很难被维权。首先这是民事纠纷,需要版权方发起起诉,一般比较困难,那种有基金会作后台的开源项目稍微好点。其次即使上了法庭,这种版权的东西,具体认定起来其实是有空间的,有点类似专利纠纷,一弄就是几年。
比较多的就是上个耻辱柱,不过这就是个道德问题跟脸皮厚不厚的问题了。好比腾讯脸皮厚一点,上耻辱柱就上了。
swsh007
2017-09-03 12:17:20 +08:00
GPL 也有 v2,V3。
chunqiuyiyu
2017-09-03 13:27:10 +08:00
防君子不防小人
yangyaofei
2017-09-03 14:03:31 +08:00
既不。违反又不用重写的方法是写成一个 daemon 然后用远程调用什么的方法使用
stabc
2017-09-03 14:32:12 +08:00
只看内容表示些许理解。标题+内容一起看就又好气又好笑。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/387786

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX