我们做项目用了 Sphinx 的中文版 coreseek 做全文检索引擎,不知道什么程度的使用不用公开源代码.
整个软件我们要卖给客户的. 当然,软件不是主体,而是信息..... 但是公开源代码会暴露一些我们不想给竞争对手看的内容,所以不好开源
所以想问一下什么程度的使用不用开源,不调用,直接使用程序跑出来的结果算吗?
1
julyclyde 2016-05-09 11:43:17 +08:00
进程间通信
|
2
kokutou 2016-05-09 11:55:28 +08:00
```
1.1. 什么是 Sphinx/Coreseek Sphinx 是一个在 GPLv2 下分发的全文检索引擎; Coreseek 是一个可供企业使用的、基于 Sphinx (可独立于 Sphinx 原始版本运行)的中文全文检索引擎,按照 GPLv2 协议发行,商业使用(例如, 嵌入到其他程序中)需要联系我们以获得商业授权。 一般而言, Sphinx 是一个独立的全文搜索引擎;而 Coreseek 是一个支持中文的全文搜索引擎,意图为其他应用提供高速、低空间占用、高结果相关度的中文全文搜索能力。 Sphinx/Coreseek 可以非常容易的与 SQL 数据库和脚本语言集成。 ``` http://www.coreseek.cn/docs/coreseek_3.2-sphinx_0.9.9.html#license 这个? |
3
lhbc 2016-05-09 12:06:39 +08:00
没有对代码进行修改的话,直接在线安装然后脚本修改配置就行了吧
|
4
402645707 2016-05-09 12:14:35 +08:00
抖个机灵
cleanroom |
5
VmuTargh 2016-05-09 12:16:03 +08:00
wrapper?
|
6
9hills 2016-05-09 12:16:14 +08:00 2
@kokutou
能吐槽下『按照 GPLv2 协议发行,商业使用(例如, 嵌入到其他程序中)需要联系我们以获得商业授权。 』 这个其实是冲突的么, GPLv2 本身就允许商业使用,而且不能加限制性条款。 @yangyaofei 将其视为插件,在线安装不要打包进源程序(或者分开发布,让用户手动合并) 通讯的话,使用 API 、进程间通讯均可,就不会感染。 至于上文说的不允许商业使用,无视即可,因为 Coreseek 已经被感染成 GPLv2 了,也无法限制你商业使用。。 |
7
yangyaofei OP |
8
yangyaofei OP @julyclyde 这个应该可以…
|
9
yangyaofei OP @kokutou 你的 markdown 跑了.......
|
10
9hills 2016-05-09 13:41:01 +08:00
|
11
yangyaofei OP @9hills 哦……了解了,我也觉得库调用肯定会传染
|
13
sivacohan 2016-05-09 14:13:46 +08:00 via Android 1
想避免感染,学学 Android 的 HAL 层。感染到 HAL 就结束了。
|
14
onceyoung 2016-05-09 15:47:02 +08:00 via Android
请参考安卓
|
15
hjc4869 2016-05-09 15:53:04 +08:00
让用户自己完成组装 GPL 软件和商业软件的过程(可以教客户怎么做,或者做个向导),同时自己不将商业软件和任何包含了 GPL 库的程序一起分发。
|
16
loading 2016-05-09 15:53:20 +08:00
写个中间应用,暴露需要的 api ,然后你调用就可以了,只感染你的中间应用。
|
17
yuyang1110 2016-05-09 17:00:37 +08:00
@hjc4869 那是 lgpl , LGPL 协议是可以使用库,但是不能捆绑分发。
gpl 如果不想开源的话,必须用进程间通信。否则,必须开源的。 不过,开源也可以用在商业目的上。。这两个事情互补干扰。 |
18
yangyaofei OP @sivacohan
@onceyoung @yuyang1110 谢谢 吐个槽:外包竟然说我们没和他说明白不能用 gpl 的软件....我靠,我们有说我们要给客户分发啊...现在开始说这个了..... |
19
yangyaofei OP @sivacohan
@onceyoung @yuyang1110 @loading @9hills 话说如果那个软件只是作为 mysql 的引擎的话,是不是就可以规避这个问题了? 而且 mysql 和我 java 层面的软件都是用 socket 连接的,所以这样就应该没问题了吧? |
20
yuyang1110 2016-05-09 19:03:46 +08:00 1
@yangyaofei mysql 的引擎的话,应该没有问题的。
|
21
jsonline 2016-05-09 19:15:55 +08:00
你们说的『传染』是同一个『传染』吗……
|
22
yangyaofei OP @yuyang1110 谢谢....再问一个.....如果是用 system("shell") 来执行 shell 命令呢?我觉得不算,但是也不敢说肯定不算
|
23
yangyaofei OP @jsonline 你认为是那种传染
|
24
jsonline 2016-05-09 19:38:19 +08:00
@yangyaofei 难道不是 lisence 传染吗?
|
26
simpx 2016-05-09 21:04:49 +08:00 1
用 RPC ,我在一个要使用 gpl 代码的项目里是准备这么做的:
1. 在本机上实现一个使用 GPL 代码的 server ,提供 http 接口,或者 rpc 接口 2. 自己的项目通过接口访问 server 进而使用 GPL 代码提供的功能。 3. 只需要开源 1 里面实现的 server |
27
Zzzzzzzzz 2016-05-09 21:22:03 +08:00
@yangyaofei 我感觉你是想打包了一起交付用户吧, 那转移 mysql 上也解决不了问题, mysql 商用捆绑打包需要专项授权 http://www.mysql.com/about/legal/licensing/oem/
|
28
feelapi 2016-05-09 21:44:29 +08:00
PostgreSQL
|
29
9hills 2016-05-09 21:45:35 +08:00 via iPhone
@yangyaofei 这个肯定不算,就连动态链接都有争论的
|
30
hjc4869 2016-05-09 22:59:33 +08:00 1
@yuyang1110 并不是, GPL 限制的是分发者,如果你没有分发 GPL 软件,就不需要受 GPL 约束。
如果是用户自己把你的软件和 GPL 软件放在一起用的,那么就是用户自身受 GPL 的约束,换言之用户分发你的商业软件+GPL 软件时需要同时遵守你提供的商业软件使用协议和 GPL 本身(显然这是不可能的),所以用户无权分发这样的软件,但是用户有权使用这一的软件,你作为商业软件发布者不需要担心。 GPL 也没有规定你不能教用户怎么将 GPL 软件和你的商业软件一起组装使用。你可以在 Installer 结尾弹个 README ,或者干脆弹个网页,然后让用户下载另一个 GPL 程序装上。 比较有争议的是像 potplayer 那样在安装结尾处直接让用户勾选一个复选框就能装 GPL 软件,但如果是分开分发,并且两个部分提供两个不同的协议(一个商业 license 一个 GPL ),那么原则上是没有违反 GPL 的。 当然如果你的目标是 Oracle 家的 GPL 软件,就别拿上面这些理论去铤而走险了,除非自认为自己的法务部比 Oracle 牛逼( |
31
yangyaofei OP |
32
realpg 2016-05-11 01:39:02 +08:00 via Android
@yangyaofei
卖数据啊。 好办。 你们只销售数据文件就行了 环境什么的,提供一个编译安装指导手册,就完事儿。 甲方不行搞不定可以让委托一个个人付费 100 元按照你们的指导安装程序,导入数据。这个人个人身份承接就完事。 |
33
yangyaofei OP @realpg 估计这样客户会疯的😂😂😂
|
34
realpg 2016-05-11 09:15:04 +08:00
|
35
yangyaofei OP @realpg 我能说搞成那种形式基本上只能我去安装,别人都不会,现在基本上决定是,弄好一个主机直接交付弄好的硬件😂
|
36
realpg 2016-05-11 11:36:01 +08:00 via Android
|
37
yangyaofei OP @realpg 明白😂😂😂😏
|
38
wizardforcel 2016-05-12 09:15:17 +08:00 via Android
gpl 是用户拿到二进制就必须拿到源代码。如果你挂网上提供 http 服务,那不算。
库的话,看最后链接不链接了。链接的话 gpl 传染, lgpl 不传染。不链接的话就是单独的程序集了,而且没必要打包分发,可以通过依赖配置(比如 maven )来配置嘛。 |