V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Wichna
V2EX  ›  程序员

如果违法 GPL 开源协议会怎样?

  •  
  •   Wichna ·
    folyd · 2015-08-26 16:05:13 +08:00 · 30243 次点击
    这是一个创建于 3413 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们想把一个基于 GPL 协议的开源项目用于商业项目(非常需要这个项目,因为没有找到比这个更符合需求的开源项目),但是我们可能近期都不会开源,我知道这是违反了 GPL 协议,但是还有其他更好的办法使用这个项目吗?或者如果违反了 GPL 协议会怎样?

    64 条回复    2017-07-26 16:43:23 +08:00
    Strikeactor
        1
    Strikeactor  
       2015-08-26 16:08:28 +08:00   ❤️ 2
    没找到你自己写啊。。急用是理由?
    Wichna
        2
    Wichna  
    OP
       2015-08-26 16:09:48 +08:00
    @Strikeactor 自己写哪有那么容易...
    jamesxu
        3
    jamesxu  
       2015-08-26 16:11:21 +08:00
    在中国你基本可以随便折腾,但这个不道德,急用不是违反 GPL 协议的理由
    你们可以联系作者看看能不能修改协议,或者单独给你们一份商用协议,有问题先沟通是最好的
    Felldeadbird
        4
    Felldeadbird  
       2015-08-26 16:22:45 +08:00
    先写着,等上线前开源。问题解决了。
    ljbha007
        5
    ljbha007  
       2015-08-26 16:28:26 +08:00
    跟作者说一声吧 不过就算违反一般也没人叼你 没兴趣跑大半个地球过来告你
    ivmm
        6
    ivmm  
       2015-08-26 16:30:15 +08:00   ❤️ 1
    最好和作者通气,不然真的不太道德
    dalaomj
        7
    dalaomj  
       2015-08-26 16:31:22 +08:00   ❤️ 1
    把你们要用的东西封装成一堆接口,保持开源。用闭源商业项目调用这些接口。
    liuchen9586
        8
    liuchen9586  
       2015-08-26 16:31:51 +08:00
    你可以找作业单独授权一份商用协议 不知道这样行不行。
    raincious
        9
    raincious  
       2015-08-26 16:35:35 +08:00   ❤️ 1
    GPL 以及绝大多数开源协议都是“发行协议”。

    如果你不拿出来发行(比如提供二进制下载,或者作为产品的一部分发行给其他人),那么这都是无所谓的。
    youxiachai
        10
    youxiachai  
       2015-08-26 17:36:55 +08:00
    没查到..基本没事吧....
    zonghua
        11
    zonghua  
       2015-08-26 17:44:46 +08:00 via iPhone
    mongodb 是 LGPL
    yexm0
        12
    yexm0  
       2015-08-26 18:02:56 +08:00
    啥事也没有
    msg7086
        13
    msg7086  
       2015-08-26 18:08:44 +08:00   ❤️ 1
    用于商业项目和不开源,本身并不违反 GPL 协议。
    GPL 只要求将项目发布出来提供下载的时候必须一并提供源代码下载而已。
    Wichna
        14
    Wichna  
    OP
       2015-08-26 18:14:11 +08:00
    @msg7086 GPL 的好像规定使用在商业项目的话必须开源吧
    otakustay
        15
    otakustay  
       2015-08-26 18:35:47 +08:00
    找作者,给他 100W ,让他单独给你个可以不开源的授权就行了
    msg7086
        16
    msg7086  
       2015-08-26 19:03:24 +08:00
    @Wichna 只要源代码和二进制版本一起提供即可。
    只要你不发布二进制版本,就不需要发布源代码。
    比如你把 GPL 组件集成在自己的商业软件里,但是软件并不发布给别人,就不需要提供源代码。
    sogisha
        17
    sogisha  
       2015-08-26 19:11:44 +08:00 via Android
    在国外可以起诉,是有先例的。据我所知会胜诉。
    或者会被列到耻辱柱上。

    也有一些绕过的方法,比如 7 楼的方法,那个封装的程序开源。
    jybox
        18
    jybox  
       2015-08-26 19:19:38 +08:00
    @zonghua AGPL, 比 GPL 和 LGPL 更严格 https://www.mongodb.org/about/licensing/

    @Wichna 要求是发布时附带代码并使用相同授权,和商业与否无关,见 13 楼和 9 楼
    jybox
        19
    jybox  
       2015-08-26 19:22:00 +08:00
    @dalaomj @sogisha 如果只是封装成动态链接库的话,只能绕过 LGPL.
    GPL 的话必须做到地址空间隔离,即封装器单独运行在一个进程中,通过网络 /文件 /管道等方式进行通讯。
    Epsil0n9
        20
    Epsil0n9  
       2015-08-26 21:39:53 +08:00
    以后就可以多一件可耻的事情说给自己的孩子听了
    honeycomb
        21
    honeycomb  
       2015-08-26 22:01:21 +08:00
    @jybox
    agpl 是个很厉害的东西

    @Wichna
    考虑能否不把这个代码的任何形式(特别指编译好的)发布出来,这样便不违反 GPL 许可
    因为 GPL 仅要求在发布(作品本身 /衍生作品 u ,衍生作品可以用前面有人提到的隔离办法来避免传染)的时候必须提供源代码,但并不要求提供编译好的形式 u
    orvice
        22
    orvice  
       2015-08-26 22:42:39 +08:00
    同 9 楼
    不是 mongodb 那样的 agpl 协议,就没事。 gpl 没有在发行是 ok 的
    ilotuo
        23
    ilotuo  
       2015-08-26 23:10:46 +08:00 via Android
    似乎可以搞成一堆接口,然后把接口开源,这些接口再换个开源协议。 android 就是这么干的
    kzzhr
        24
    kzzhr  
       2015-08-26 23:21:03 +08:00 via iPhone
    封装接口是一种猥琐的解决方案, google 做 Android 时就这么处理 linux 的。不过最好还是联系作者吧,送他几部钢琴,他一激动就给你们商业授权了,一般来说,你表现了你对开源的尊重,作者不会特别跟你计较的。看头像是 zhushuang?
    muzuiget
        25
    muzuiget  
       2015-08-26 23:29:37 +08:00
    在天朝就是君子协议, FSF 奈不了你何,不过你会被喷。

    不过 GPL 又没说不能商业使用就必须开源,而是设计分发二进制,如果用户能拿到你的二进制文件,就得提供源码。
    PP
        26
    PP  
       2015-08-26 23:46:12 +08:00   ❤️ 6
    我不打算在这个话题上讨论商业道德问题,只谈谈事情本身。

    资本的积累确实存在一定的原始性,即便时至今日,资本文明当中仍然有原始法则在发挥作用,这是客观现实,但不是现实的全部。如果公司处于封闭竞争环境下自然是关上门之后怎么厮杀都没人知道,可是你们处于开放的竞争环境下,于法于理都不可能为所欲为。

    如果您提到的“我们”指的是 TheONe 团队的话,我觉得你们团队是比较危险的。一个年轻的团队面对困难的本能选择通常都会是迎难而上,现在你们的选择却是将整体引向歧途。无论你们打算违反 GPL 协议的提案是由谁提出,也无论这个提案是如何进入和通过集体讨论的,我只想向你们的管理团队问一句,“你们打算教给公司里的年轻人什么?”

    违反一次 GPL 协议,可能没有什么直接后果,然而这意味着你们从此走上了一个不同的方向,一个危险的方向。希望你们能够明白,愿你们好自为之。
    q84629462
        27
    q84629462  
       2015-08-26 23:55:04 +08:00
    我的网页项目使用了 mit 和 apache v2 协议开源项目(之前搜过协议的中文版本看过,貌似不需要开源),但我还想再向大家确认一次,我的项目需要开源么?
    stanhou
        28
    stanhou  
       2015-08-26 23:55:58 +08:00
    “没找到你自己写啊。。急用是理由?”,“自己写哪有那么容易...”。
    这逻辑,我只能说是中国教育的失败。
    Tedko
        29
    Tedko  
       2015-08-27 00:52:09 +08:00
    @q84629462 不需要,需要 credit , apache 需要写出你引用和修改的部分
    tracyone
        30
    tracyone  
       2015-08-27 00:56:54 +08:00 via Android
    被同行鄙视,这是致命的,因为我们或者就是为了获得别人认可。
    tracyone
        31
    tracyone  
       2015-08-27 00:57:11 +08:00 via Android
    @tracyone 或者改成活着
    hjc4869
        32
    hjc4869  
       2015-08-27 01:09:19 +08:00
    让你的客户自己拼接 GPL 部分和闭源部分。
    MrGba2z
        33
    MrGba2z  
       2015-08-27 01:20:22 +08:00
    看到‘自己写哪有那么容易’这句话我就感觉你们团队走不到多久了
    doneww
        34
    doneww  
       2015-08-27 01:30:30 +08:00
    商业项目,干违法或者侵权的事,是非常愚蠢的。记住,商场如战场,你的竞争对手会利用你的每一个弱点来打击你。
    q84629462
        35
    q84629462  
       2015-08-27 01:37:52 +08:00
    @Tedko 这工作量貌似好大啊。。。
    iyaozhen
        36
    iyaozhen  
       2015-08-27 01:46:50 +08:00 via Android
    联系作者买一份版权是最好的办法吧。
    别的不说,楼上说的那条足够让你从公司自身考虑下吧。

    “自己写哪有那么容易...”这个让我想起来了高中抄作业的事情。
    phoenixlzx
        37
    phoenixlzx  
       2015-08-27 02:15:51 +08:00 via Android
    ....按照楼主的需求,如果不是要分发的话,不会受到 GPL 协议的约束

    如果要分发,建议是去找作者请求一份商业授权。
    Tedko
        38
    Tedko  
       2015-08-27 03:32:25 +08:00
    @q84629462 不大。只要写大概的(比如这个模块,而不是具体的)
    wshcdr
        39
    wshcdr  
       2015-08-27 06:59:19 +08:00
    就是上人家的耻辱榜单,受到道德的谴责
    Laforet
        40
    Laforet  
       2015-08-27 07:37:17 +08:00
    找作者要一份商业授权+1

    很多时候用 GPL 发布是出于无奈
    chinawrj
        41
    chinawrj  
       2015-08-27 07:53:30 +08:00
    我只能说 BS 之。的确国内没人会找你。到欧洲老早就被搞了
    realpg
        42
    realpg  
       2015-08-27 08:10:29 +08:00
    其他都不重要,重要的是掉人品……
    小心戴绿帽
    lincanbin
        43
    lincanbin  
       2015-08-27 08:12:21 +08:00 via Android
    如果是 web 类的,前端发行也视为源码分发的一种,应该开源并附上协议。
    如果是销售的商业软件,也应该如此。
    linux40
        44
    linux40  
       2015-08-27 08:22:40 +08:00 via Android
    还说很多时候用 GPL 发布是出于无奈。。。自己不牛逼怪谁
    xujiaze
        45
    xujiaze  
       2015-08-27 08:38:10 +08:00
    找作者私聊给一份商业协议,如果是在大陆,直接无视即可....或者你做商业程序时候把源码也丢过去一部分,或者封装起来调用,把调用的开源了。
    mathgl
        46
    mathgl  
       2015-08-27 08:46:46 +08:00 via Android
    找个律师问问吧。

    如果是用在项目,问题不大。产品就比较麻烦。
    Iteye
        47
    Iteye  
       2015-08-27 08:53:43 +08:00
    关乎道德 谨慎行之
    Niphor
        48
    Niphor  
       2015-08-27 08:59:28 +08:00
    发这贴说明 LZ 已经有了判断,就想直接拿来干了,
    只是要发帖找些平衡感而已
    tushiner
        49
    tushiner  
       2015-08-27 09:00:36 +08:00
    三体人会提前到达地球
    gDD
        50
    gDD  
       2015-08-27 09:09:52 +08:00
    - 在国外会被告到开源 https://en.wikipedia.org/wiki/OpenWrt#History
    - 在国内,呵呵。
    Cu635
        51
    Cu635  
       2015-08-27 10:16:43 +08:00   ❤️ 3
    GPL 要求是提供二进制发布的时候同时提供源代码,但是 GPL 没有说一定要搞一个 git/svn/hg/……仓库开放访问。
    把你们的源代码打一个 zip 压缩包放到你们团队的官方网页上也可以,当然版本一定要一一对应,而且下载链接一定不要隐藏。

    现在国内的知识产权方面法律、制度也越来越完善,不要说现在“觉得”没事,结果过了几年被告输得倾家荡产。

    如果说实在是一丁点代码都不愿意提供,那就只能把你们用的 GPL 项目合适的封装,并且把这一部分开源;自己想保密的代码用不违反 GPL 协议的方式调用。

    毕竟作者写了这个项目,他也是付出了时间和精力的,作者选择了把自己的项目使用 GPL 协议开源,你们使用了之后不开源,这个行为和“有人把你们的商业软件破解了不付钱就用”有什么区别?

    而且,“自己写哪有那么容易...”,自己没有技术力量,那么就相当于别人垄断,你没法去绕过。还是那句话,要么就自己写,要么就遵守协议,要么就和作者联系;天上不会掉馅饼。

    另外,这个建议是谁提出来的?如果是 lz 你自己,赶快离开这个行业吧,别把团队带到沟里去;如果是别人,这是人品问题,赶快踢出团队去,否则将来他不知道会怎么不择手段呢,到时候坑的是你们团队,以及团队里的每一个人(当然,和他同流合污的不算)。
    wezzard
        52
    wezzard  
       2015-08-27 10:33:24 +08:00
    难道是 ffmpeg 的 gpl 部分?
    ca1123
        53
    ca1123  
       2015-08-27 10:55:40 +08:00
    研究一下封装是个好办法
    chenwl
        54
    chenwl  
       2015-08-27 11:19:28 +08:00
    建议跟作者沟通
    Neveroldmilk
        55
    Neveroldmilk  
       2015-08-27 11:22:14 +08:00
    那你就别想和国外有什么业务往来,一出去就被告的倾家荡产。
    laotaitai
        56
    laotaitai  
       2015-08-27 11:28:30 +08:00   ❤️ 1
    求贴出那开源代码的 github 地址. 我瞅瞅风险高不高.
    oska874
        57
    oska874  
       2015-08-27 11:34:14 +08:00
    找专业的法务咨询,找漏洞,规避风险。
    parkerjj
        58
    parkerjj  
       2015-08-27 14:49:51 +08:00
    会被枪毙 怕了吧
    sapphire
        59
    sapphire  
       2015-08-27 15:02:08 +08:00
    开源和商业不冲突,我的理解是首先判断开源项目是否污染了你们自己的项目,如果不污染,那么需要把开源项目的修改部分,在发布时提供索取源码的方式。如果污染,那么需要把衍生项目的源代码一起提供。
    vmskipper
        60
    vmskipper  
       2015-08-27 17:05:09 +08:00
    呵呵 自己在外面包装一下 就上
    jemygraw
        61
    jemygraw  
       2015-08-27 17:59:26 +08:00
    盗取人家数字签名后的 DLL 来使用的公司不也在么?中国,有什么不能做的。
    xiaoyao9184
        62
    xiaoyao9184  
       2015-08-28 08:27:15 +08:00 via Android
    gpl 封装也是 gpl ,再引用还是 gpl ,封装+动态加载算是避开 gpl 的一种方式
    powergx
        63
    powergx  
       2015-08-28 11:28:15 +08:00
    这论坛太好了,绝对中国网站道德制高点
    我喜欢,别的论坛全是喷子,用盗版还有理
    Subfire
        64
    Subfire  
       2017-07-26 16:43:23 +08:00
    小米做的手机系统就在公开违反 GPLv2 啊,这些开源协议在大多数国家场合内都没有任何约束力,真是醉了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2760 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 11:51 · PVG 19:51 · LAX 03:51 · JFK 06:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.