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