公司的产品用了不少使用GPL协议的开源代码,如何绕开呢?

clever101
博客专家认证
2019-03-12 11:02:02
公司的产品用了不少使用GPL协议的开源代码,如何绕开呢? 都是没有修改开源代码,只是链接了库。按照GPL协议,这个也得开源啊。但是重写开源代码工作量太大了。
...全文
5047 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
clever101 2019-07-21
  • 打赏
  • 举报
回复
引用 4 楼 endypark 的回复:
把GPL相关的功能做一个单独的服务,主体功能是另一个服务,,写一个shell脚步,部署时 分别启动两个进程,主体服务通过API调用单独服务。销售的软件包中,单独服务附带源代码,主体部分只给二进制。而且这两部分都是可以收费的,GPL只管开源不开源,不管收费的。记住一定要是两个独立的操作系统进程。
这样做如果对桌面软件而言肯定是影响效率的。而且有些GPL库是底层库,需要链接或者引用,是无法这样干的。
clever101 2019-07-21
  • 打赏
  • 举报
回复
引用 6 楼 endypark 的回复:
[quote=引用 5 楼 宁可十年不将军,不可一日不拱卒 的回复:] [quote=引用 4 楼 endypark 的回复:] 把GPL相关的功能做一个单独的服务,主体功能是另一个服务,,写一个shell脚步,部署时 分别启动两个进程,主体服务通过API调用单独服务。销售的软件包中,单独服务附带源代码,主体部分只给二进制。而且这两部分都是可以收费的,GPL只管开源不开源,不管收费的。记住一定要是两个独立的操作系统进程。
这样做如果对桌面软件而言肯定是影响效率的。而且有些GPL库是底层库,需要链接或者引用,是无法这样干的。[/quote] GPL只约束同一个进程内的链接和引用,跨进程的没事。。。你可以去看看是不是我说的这样。。我也是研究了很久,目前的认知是这样,不保证完全正确。[/quote] 如你所说,跨进程是可以的。但是要进行跨进程改造,势必要改变软件架构,同时工作量也是不可估量的。
endypark 2019-07-21
  • 打赏
  • 举报
回复
引用 5 楼 宁可十年不将军,不可一日不拱卒 的回复:
[quote=引用 4 楼 endypark 的回复:]
把GPL相关的功能做一个单独的服务,主体功能是另一个服务,,写一个shell脚步,部署时 分别启动两个进程,主体服务通过API调用单独服务。销售的软件包中,单独服务附带源代码,主体部分只给二进制。而且这两部分都是可以收费的,GPL只管开源不开源,不管收费的。记住一定要是两个独立的操作系统进程。


这样做如果对桌面软件而言肯定是影响效率的。而且有些GPL库是底层库,需要链接或者引用,是无法这样干的。[/quote]

GPL只约束同一个进程内的链接和引用,跨进程的没事。。。你可以去看看是不是我说的这样。。我也是研究了很久,目前的认知是这样,不保证完全正确。
endypark 2019-07-20
  • 打赏
  • 举报
回复
把GPL相关的功能做一个单独的服务,主体功能是另一个服务,,写一个shell脚步,部署时 分别启动两个进程,主体服务通过API调用单独服务。销售的软件包中,单独服务附带源代码,主体部分只给二进制。而且这两部分都是可以收费的,GPL只管开源不开源,不管收费的。记住一定要是两个独立的操作系统进程。
clever101 2019-07-04
  • 打赏
  • 举报
回复
引用 2 楼 mycsoft 的回复:
将使用到GPL代码的部分与核心代码解耦,做为独立的产品直接开源.核心产品单独收费.
要解耦并不容易的。
mycsoft 2019-07-04
  • 打赏
  • 举报
回复
将使用到GPL代码的部分与核心代码解耦,做为独立的产品直接开源.核心产品单独收费.
LubinLew 2019-03-14
  • 打赏
  • 举报
回复
绕不开的, 如果再国内使用就无所谓了, 但是对外就麻烦了

18,826

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧