V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
hjc4869
V2EX  ›  问与答

关于在 Store App 中使用 LGPL 库带来的法律风险的一些疑问

  •  
  •   hjc4869 · 2015-02-17 14:11:17 +08:00 · 3755 次点击
    这是一个创建于 3568 天前的主题,其中的信息可能已经有所发展或是发生改变。

    LGPL规定是必须公开库源代码,编译方法,并给用户relink的权利。
    也就是严格意义上用户必须能用他们喜欢的库版本替换掉你软件里的库版本。

    理论基础

    以Windows为例
    如果你动态链接了一个LGPL库,并且延迟加载(使用LoadLibrary等),用户可以随时替换掉你的dll文件,那么你只需要公开你修改的LGPL dll的源代码。如果你没修改源代码,那么你什么都不需要做。
    如果你静态链接了一个LGPL库/静态链接了一个dll,那么你需要提供链接方dll/exe的obj文件,以及被链接的LGPL库源代码,这样用户可以修改LGPL库后,重新链接到你的程序上。

    这是LGPL FAQ里的内容,加上部分我自己的理解。如有任何问题请指正。

    实际问题

    在开放的平台上(如Windows,Linux,Mac OS X等桌面操作系统),平台本身不限制用户修改程序,只要你拥有管理员/root权限,你可以替换任何程序的任何部分。只要软件开发者遵守LGPL,用户就可以享受LGPL所带来的权利。
    但如果目标平台是一个封闭环境,比如Windows (Phone) Store,苹果App Store,那么用户不借助一些ugly workaround(如改Windows权限,越狱iPhone/WP),实际上是没有办法享受LGPL规定的这些权利的。
    这种情况下,开发者在Store app中使用LGPL库是否算违反了使用协议?

    14 条回复    2015-02-17 20:51:49 +08:00
    Akiyori
        1
    Akiyori  
       2015-02-17 14:24:57 +08:00
    我在想是不是只要协议内指定就可以了? 至于用于使用什么方法去达成这个目的自己不需要担心
    hjc4869
        2
    hjc4869  
    OP
       2015-02-17 14:28:36 +08:00
    @Akiyori 事实是大部分人都是这么做的。。
    但是要真的严格起来,我有一种后怕的感觉,因为我的一个windows store播放器项目用到了ffmpeg的LGPL版,这个项目是打算收费&盈利的。。
    Elethom
        3
    Elethom  
       2015-02-17 14:42:37 +08:00 via iPhone
    開源不等於免費。
    akfish
        4
    akfish  
       2015-02-17 14:52:39 +08:00
    并无问题。
    用户可以自己去买个开发证书,拿你的源代码去修改,自己发布到store,自己部署。
    至于这一过程中可能存在的任何障碍都不是你造成的,而是第三方造成的。
    LGPL并不要求你手把手的带着用户完成这一过程,只需要提供原材料。
    yangff
        5
    yangff  
       2015-02-17 14:57:41 +08:00 via Android
    @akfish 他不想开源。
    lingo233
        6
    lingo233  
       2015-02-17 14:58:03 +08:00
    好像只要给出鸣谢和使用的库的名字就行了。
    akfish
        7
    akfish  
       2015-02-17 14:59:45 +08:00
    @yangff lz只需要按LGPL的约定,该给用户提供什么就提供什么,至于用户怎么用、能不能用、容不容易用,不是lz的问题。
    hjc4869
        8
    hjc4869  
    OP
       2015-02-17 15:24:21 +08:00
    @akfish
    @yangff
    也就是说如果我想静态链接以LGPL选项编译的ffmpeg,我只需要在关于中写清楚我用了ffmpeg,附上协议以及我链接的那个dll的obj文件下载地址,并给出我修改过的ffmpeg源码即可?
    zhicheng
        9
    zhicheng  
       2015-02-17 19:00:36 +08:00 via Android
    在 iOS 的 App Store,自己打包的GPL和各种GPL衍生协议授权的代码统统不能用,不要考虑了。
    hjc4869
        10
    hjc4869  
    OP
       2015-02-17 19:02:16 +08:00 via iPhone
    @zhicheng LGPL和GPL是完全不同的两个协议,而且VLC也上架了。。
    zhicheng
        11
    zhicheng  
       2015-02-17 19:22:56 +08:00 via Android
    @hjc4869 你说不同就不同咯。
    sandtears
        12
    sandtears  
       2015-02-17 19:31:50 +08:00 via Android
    @zhicheng 他这不是举例子了么… VLC 就是因为包含 GPL 代码被下架的,重新上架就是通过采用 LGPL 的库代替原本的库。换而言之, APP Store 是允许包含 LGPL 库的应用发布的
    zhicheng
        13
    zhicheng  
       2015-02-17 19:47:57 +08:00 via Android
    @sandtears 如果那个库是你自己写的,我们没有讨论的意义。
    Starduster
        14
    Starduster  
       2015-02-17 20:51:49 +08:00
    @zhicheng 他又不是做 iOS 的 store,是 Windows 的 store,不要一提到 APP store 就只想到水果啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1184 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:41 · PVG 07:41 · LAX 15:41 · JFK 18:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.