V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
mongoose
V2EX  ›  NAS

绿联云 NAS 新款系统基于 debian 开发,是否应该受到 GPL 协议的要求公开源代码?

  •  
  •   mongoose · 181 天前 · 7008 次点击
    这是一个创建于 181 天前的主题,其中的信息可能已经有所发展或是发生改变。

    根据已经有的评测和一些不那么确切的来自绿联官方的渠道得知:绿联新款的 NAS 操作系统基于 debian 开发。

    那么 debian 中大量使用的 GPL 协议下的组件(甚至是 linux kernel 本身),绿联有没有依据开源代码协议的要求,继续开源这些使用、修改到的源代码?

    (理论上以前基于 openwrt 的系统源代码也应该按照开源协议进行公开)

    第 1 条附言  ·  181 天前
    据 @mosfet 所说,极空间 NAS 是基于 debian11 开发,似乎也没有公开渠道访问这些开源代码
    47 条回复    2024-11-29 23:27:39 +08:00
    AEnjoyable
        1
    AEnjoyable  
       181 天前
    你看国内那么多厂商有几个开源了
    zhlxsh
        2
    zhlxsh  
       181 天前 via iPhone   ❤️ 1
    真是这样的话,耻辱柱+1
    mongoose
        3
    mongoose  
    OP
       181 天前   ❤️ 1
    @AEnjoyable
    我发出来只是为了留个互联网记忆。v2ex 可能是最后一个可以在中国简单访问且不容易被删除、容易被搜索引擎搜索到的地方了。
    HE1HE
        4
    HE1HE  
       181 天前
    很多 nas 系统其实本质是运行在 linux 上的一组软件,这样闭源是可以的;就像闭源驱动、很多支持 linux 的商业软件、包括群晖、威联通的 nas 系统也是一样的吧
    mosfet
        6
    mosfet  
       181 天前
    极空间基于 debian 11
    mongoose
        7
    mongoose  
    OP
       181 天前
    @mosfet 好,那我附加一条。
    cybort
        8
    cybort  
       181 天前 via Android
    其实也可能只是跑了个系统,系统本身没有改的话不一定要开源应用。
    MrKrabs
        9
    MrKrabs  
       181 天前
    只是用户空间的一些程序而已
    TsubasaHanekaw
        10
    TsubasaHanekaw  
       181 天前   ❤️ 1
    绿联这草台班子还能改的动内核么,
    能把开源组件整合好就不错了
    SenLief
        11
    SenLief  
       181 天前
    群晖和威联通是动了系统的,而且动了其实并不好,比如威联通的 root 权限被改为了 admin ,造成有些程序不认。

    绿联和极空间这种的应该就是跑了个系统,大多数的服务都是用户层的。
    mooyo
        12
    mooyo  
       181 天前
    如果他是在系统上跑的应用,那是不用开源的,只有修改了系统本身才需要。
    imnpc
        13
    imnpc  
       181 天前
    国内这些都是跑的应用 跑自己开发的软件 没有改动核心底层... 所以不需要开源
    skyworker
        14
    skyworker  
       181 天前
    按照 OP 的逻辑, 如果开发了系统或者网络工具, 只要部署在 debian 上, 是不是都要开源?
    iyear
        15
    iyear  
       181 天前
    估计也就是跑一些应用而已,指望绿联能改的动内核也他看的起他们团队了吧
    james122333
        16
    james122333  
       181 天前 via Android
    系统并不是所有东西都是 gpl 的 只要协议没有冲突即可 你去要原始码可能只要的到核心
    w568w
        17
    w568w  
       181 天前
    w568w
        18
    w568w  
       181 天前   ❤️ 1
    @w568w

    太长不看:也许违反,但即便遵从协议,也不会像你期望的那样「完全开源」。

    ---

    解释:按照定义,发行版是一个「聚合程序」而非单一程序。作为聚合程序,它需要尊重各个组件( Component )的许可证。

    例如,Linux 内核按照 GPL-2.0 开源,因此绿联需要开源 Linux 内核的源码……所以呢?我猜他们本来就没有修改过内核的源码吧。

    至于其他绿联的私有程序,则按照商业协议,当然可以不开源。

    ---

    上面的网页解释了什么是「聚合程序」,给懒得看的人的快速翻译:

    Q:「聚合程序」与其他类型的修改版程序有什么区别?

    A:「聚合程序」由多个独立的程序组成,它们一起发布在同一张光盘等媒介上。GPL 允许你创建和发布聚合程序,即使其他软件的许可证是非自由的或与 GPL 不兼容。唯一的条件是,你不能在禁止用户行使每个程序的单独许可证所赋予他们的权利的许可证下发布聚合程序。

    两个独立程序与一个程序包含两个部分之间的界限在哪里?这是一个法律问题,最终将由法官决定。我们认为,正确的标准既取决于通信机制(执行、管道、rpc 、共享地址空间内的函数调用等),也取决于通信的语义(交换了哪些信息)。
    Trim21
        19
    Trim21  
       181 天前
    问题是 GPL 的传染途径是有限的,不是你写个什么 linux 程序就需要开源的。

    他如果不改 debian 的 GPL 组件,自己从头写一个,那你也管不到他啊。
    thinkm
        20
    thinkm  
       181 天前   ❤️ 1
    谴责失败
    mongoose
        21
    mongoose  
    OP
       181 天前
    @w568w
    我期望的是「完全开源」吗?
    neroxps
        22
    neroxps  
       181 天前 via iPhone
    要区分他到底有没有动 GPL 组件源码,例如根据自己要求修改了内核。
    如果单纯就是做个 web 界面,相当于跑在一个 linux 下的程序,那么这个程序只要没用到 GPL 源码,那么也不是必须开源。
    kk2syc
        23
    kk2syc  
       181 天前
    质疑的人要举证,毕竟绿联应该只是类似 pve 的基于 debian 的上层应用开发
    nigga
        24
    nigga  
       181 天前   ❤️ 2
    @skyworker 按照 OP 的逻辑, 只要在系统上部署个 web 都要开源
    geekvcn
        25
    geekvcn  
       181 天前 via Android
    只有像华为光猫等这种对 Linux 内核做了修改的需要开源,但是华为光猫只做 2B 不做 2C ,也就是说人家早就做了规避,要源码也是运营商和企业去要,你又不是客户。至于绿联这种没修改内核的,GPL 本身就不要求开源,最多给你提供个 Debian 源码链接。
    geekvcn
        26
    geekvcn  
       181 天前 via Android
    楼主最搞笑的还是没有公开渠道访问 Debian 源码,你是小白还是外行?所有 debian 镜像站的 deb-src 仓库就是给你提供源代码下载的。
    ysc3839
        27
    ysc3839  
       181 天前
    @iyear 印象中绿联是有给内核增加内核模块实现 LED 控制功能的,但是并没开源这部分内核模块代码,所以是违反了 GPL 协议的。
    geekvcn
        28
    geekvcn  
       181 天前 via Android
    至于联发科这种修改了内核但不开源的,人家也做了规避,人家的 SDK 只提供给交钱的企业,不提供给个人,要源码也是企业要,但是索要的企业联发科直接不做你生意行不行?那些企业基于联发科 SDK 二次开发然后 2C 理论你可以找该企业要源码,关键这些企业自己都没源码,所以最多也就放出联发科闭源之外的开源代码。
    KylinYou
        29
    KylinYou  
       181 天前 via Android
    内核一般芯片公司就有开源了
    Rrrrrr
        30
    Rrrrrr  
       181 天前
    我觉得开源反而会更好,更多好感度,用户可以参与到自己的设备的操作界面
    w568w
        31
    w568w  
       181 天前
    @mongoose #21 抱歉,我确实看岔了。修正一下我前面的解释:绿联至多只需要开源这些组件。而我想这并不是你想要的。
    kaedeair
        32
    kaedeair  
       181 天前
    只使用系统调用可以闭源啊,按你的理解那 Android 就不能闭源了;就算有 GPL 组件,只要不链接他,根本就不能被传染
    mongoose
        33
    mongoose  
    OP
       181 天前   ❤️ 2
    @kk2syc
    我确实没法确认绿联是否修改过这些有传染性的开源代码,我想当然的认为即使没有修改也有应该是绿联自己编译过后的。但你举的例子不恰当,pve 不仅是个 web 应用,它修改了内核,这里是它们开源的代码: https://github.com/proxmox/pve-kernel



    @skyworker
    @nigga
    我没说部署个 web 应用就得开源所有的代码,我不想解释我有一些常识知道有一些大概率不涉及使用有传染性代码的使用场景。但是,我还是想说,你们的例子十分不恰当,大多数应用和工具是安装在客户的机器上,一般为了提供网页服务这种级别的软件,还需要编译甚至修改整个系统组件依赖就很奇怪。

    而且你们说的工具绝大多数是个单独的产品,而 NAS 是一个软硬件结合的产品,硬件自然十分重要,但是系统本身也是买点之一。而且 NAS 涉及到特殊硬件、docker 、虚拟机(我确实没注意到绿联原来没有虚拟机功能),更别说,NAS 需要操作硬盘涉及文件系统和 raid 和你们说的这种级别的应用不太一样,我总觉着可能会有一些定制修改。

    绿联 NAS 从 openwrt 这样一个不稳定的半嵌入式的系统换到 debian ,未必没有 openwrt 系统不完善、需要打大量的补丁才能适合绿联上层应用的开发的原因,这打补丁可有的讲了,这些 openwrt 的组件的开源协议可能并不是那么友好。所以绿联才会切换到比较成熟的 debian 上来开发。(当然这只是我的猜测)

    你们可以看到,我没有去反驳那些说绿联可能并没有涉及使用、修改到 GPL 协议代码的人(还有,为啥这么多人都只说 kernel ,linux 发行版中大量的组件其实也是 GPL 协议的),因为我觉着他们说的没啥问题,确实没证据说明绿联使用到源代码这种级别的了。而且他们说的很有参考意义,至少表明,以他们实际的经验来看,NAS 这种操作系统也可以不涉及到修改内核,直接使用成熟的开源工具组件项目 + 自己开发上层的应用就可以了,我没了解过,但至少能够通过它们的回答,我至少能够强烈认识到我上述的观点可能是错误(我什么观点,见上面的两段),这是一种收获。

    你们其实不用归谬,更不需要举例子归谬,咱们有话可以直说,我大概还是能够听懂。反而是你们的例子让我很困惑, “web 应用运行在开源平台上也需要开源” 这种荒谬的结论到底是想说 “绿联没有使用到传染性的开源代码,它只是一个 web 应用”,还是想说 “OP 认为即使是没用到传染性的开源代码的应用只要运行在开源平台上也需要开源” ?我觉着在说服别人时,即使举例子,也应该明确说明自己的观点的。我能接受你们举得例子的第一种解释,就像其他人的观点一样,我会感觉这是一种收获,但是我不太能够接受你们例子的第二种解释:

    因为,我的观点一直都是: ↓

    **无论如何,我并没有说绿联需要开源所有的操作系统。我一直说的是:“继续开源这些使用、修改到的源代码”**
    即使我说基于 openwrt 的系统源代码应该按照开源协议公开,那也是建立在我认为绿联使用到了 openwrt 的源代码,并且大量的修改了原有的代码的前提上(这个我认为的,当然有可能是错误的)。


    @geekvcn 这里一并回答你的问题。
    我说的是基于 debian11 的极空间 NAS 中修改了的被传染的开源项目组件,不是说 debian 本身。
    mongoose
        34
    mongoose  
    OP
       181 天前
    @w568w 绿联即使放出源代码了,也大概率不能直接使用,需要分析引导到它闭源系统的流程,可能会涉及到破解验证的流程,国内用户虽然版权意识不太强,但是要抓这些提供破解程序、编译后的程序、教程的人还是很容易,这也算是“危害计算机系统安全”之类的罪吧。

    我真不是为了想白嫖他们的系统,我只是想知道 NAS 系统是不是真的只靠上层应用就足够了(这一点我更加好奇了,引申的是,我很好奇以后的绿联还会不会跟着上游更新,以及如何更新),以及国内的厂商是否会遵守开源协议(这一点,在我发了这个帖子之后,反而已经不太关心了)。
    Bluecoda
        35
    Bluecoda  
       181 天前
    UBNT 的路由器,操作系统就是 debian 的,似乎也没有开放源代码
    yanghanlin
        36
    yanghanlin  
       181 天前
    @ysc3839 其实内核模块也不一定必须用 GPL ,只是与内核交互会受到一些限制(貌似?)
    yyzh
        37
    yyzh  
       181 天前
    @Bluecoda 如果你需要的话请联系 [email protected](同时抄送 [email protected])
    当然你如果还是认为做得不妥当的话可以找 FSF. https://www.fsf.org/licensing/compliance
    msg7086
        38
    msg7086  
       181 天前
    Debian 是一个发行版,内核是 Linux ,userland 组件是五花八门都有。
    如果绿联修改了 GPL 的软件源代码并通过硬件搭载分发给了用户,那么他们确实需要提供修改过的源代码(或者提供修改部分的补丁文件)。
    但大部分情况下写系统都是用现成的组件,不会去动很多组件源代码的。一个显而易见的理由就是,动了组件源码就必须自己打包,那就意味着自己要花时间维护这个包,上游改动了下游还要重新编译分发。那不如尽量直接用上游的包了,能有其他办法解决的就选其他办法。

    就算是 PVE 的内核,本质上是用的 Ubuntu 主线内核改的,在主线内核上加点自己的东西。
    https://github.com/proxmox/pve-kernel/tree/master/patches/kernel
    全部的更改其实就这么点补丁,也不算太多。

    上面说到内核模块闭源的问题。开源内核模块可以访问所有的内核 API ,非开源内核模块只能访问一部分有限的 API ,但只要符合这个条件,就是合法的非开源内核模块。
    msg7086
        39
    msg7086  
       181 天前
    #32
    NAS 的话,用系统自带的 RAID 相关组件已经足够好了。比如群辉独家 SHR ,说白了就是 LVM 。docker 和虚拟机这些更是直接用就可以了,没有什么缺失的功能需要自己来写吧。再不济,zfs 和 btrfs (不考虑 btrfs RAID )使用得也很广泛了,总有一个能用的。要深度定制的话我感觉得是 netapp 这种级别的公司做的事情了,也不可能把这个成本开发出来的东西低价卖给家用用户。

    Debian 作为一个老牌发行版,用户基数还有维护环境都比 OpenWRT 好太多太多了,还有大量的商业环境部署。(你应该没怎么见过拿 OpenWRT 部署商业服务器的吧。)倒不如说一开始去选 OpenWRT 才是迷惑的地方。
    mongoose
        40
    mongoose  
    OP
       180 天前
    @msg7086 学习到了,感谢。
    kneo
        41
    kneo  
       180 天前 via Android   ❤️ 1
    不知道为什么有一种熟悉的感觉。

    我觉得你应该有。
    我就不信你没有。
    大家一起来扒一下它到底有没有。
    先不管有没有,我要先发出来,留个互联网记忆。
    嗯,也不排除没有,我现在不太在乎了。
    guo4224
        42
    guo4224  
       180 天前 via iPhone
    商业软件运行在上面没问题。
    Withal
        43
    Withal  
       180 天前
    绿联新公告升级推迟到 9 月了哦
    realpg
        44
    realpg  
       180 天前
    debian 用户是这样的, ************, ***********
    realpg
        45
    realpg  
       180 天前
    @mongoose #33
    pve 不修改内核 他也得开源各种组件的本质原因, 是 pve 是完全基于 gpl 重新发布的一款操作系统软件
    是对外发行的免费软件

    而绿联, 最基本的, 他这个系统是不是对外公开发行的商业软件都得扯皮
    bsdc
        46
    bsdc  
       28 天前
    @msg7086 对头,作为一个路由器厂商选择 op 可以理解,一个 nas 用 op 确实有点奇妙
    bsdc
        47
    bsdc  
       28 天前
    大佬们说这么多,现在一个简单的问题,想在绿联系统上编译一个通用设备的驱动,如何做到,至少提供核心头文件,sdk 吧,后续还要不要社区来一起做套件?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2815 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 03:41 · PVG 11:41 · LAX 19:41 · JFK 22:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.