对 LGPL 的软件库创建子类并直接导出软件包发布,是否一样需要用 LGPL 开源? - V2EX
Sayuri

对 LGPL 的软件库创建子类并直接导出软件包发布,是否一样需要用 LGPL 开源?

  •  
  •   Sayuri May 22, 2024 1510 views
    This topic created in 728 days ago, the information mentioned may be changed or developed.

    如果有某个软件包 foo 是 LGPL 的,软件包的大体是

    export class Foo { someMethod() {} private somePrivateMethod() {} } 

    而我发布一个软件包 @my/foo ,大体是

    export class MyFoo extends Foo { // @ts-ignore private somePrivateMethod() { // 这里改动了一点 } } 

    这种情况下,这会被认为是一个独立的软件包,可以以任何协议发布,还是一个 foo 的衍生品,从而必须以 LGPL 的许可证发布?如果这个问题被换成 GPL 呢?

    6 replies    2024-08-18 00:16:30 +08:00
    ysc3839
        1
    ysc3839  
       May 23, 2024 via Android
    有一种说法是,LGPL 要能让用户自由地替换掉 LGPL 部分代码。
    上述说法是否正确我不知道,仅供参考。
    lqs
        2
    lqs  
       May 23, 2024
    @ysc3839 是的,所以对于需要打包发布的 js 代码不太适用
    Sayuri
        3
    Sayuri  
    OP
       May 23, 2024 via Android
    @lqs js 只是方便举例,如果换成 C++ Java 呢?
        4
    ysc3839  
       May 23, 2024 via Android
    @Sayuri C++一般是把 LGPL 部分做成 dll/so 等动态链接库。Java 的话单独分开 class 文件理论上是符合的。
    Sayuri
        5
    Sayuri  
    OP
       Aug 17, 2024 via Android
    @lqs js 只是方便举例,如果换成 C++ Java 呢?
    lqs
        6
    lqs  
       Aug 18, 2024
    @Sayuri 主要是现实中很少有语言能满足 动态链接、支持继承、ABI 稳定 这三个条件,C++要考虑各种编译器和版本,Java 通常会打包到一起发布(不被算作动态链接),所以很少有某个可被继承的类是以 LGPL 发布的
    About     Help     Advertise     Blog     API     FAQ     Solana     3764 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 46ms UTC 05:05 PVG 13:05 LAX 22:05 JFK 01:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86