想开源又想有专利保护,选择哪个开源协议合适呢?

2021-07-14 15:35:30 +08:00
 JarvisTang

我策划了一个开源软件,虽然是一款开源产品,但是开发者生态和终端市场应用有着非常大的商业前景,为了保护开源生态的可持续发展,避免相似竞品的出现,我申请了 6 个发明专利。

我的目的是:

基于这个目的,我选择哪个开源协议比较适合呢?

或者谁知道哪家律师事务所或者律师,是懂开源协议的?

感谢大家帮我参谋参谋。

10367 次点击
所在节点    程序员
97 条回复
3dwelcome
2021-07-14 16:33:54 +08:00
那么你插件 SDK 相关代码开源就可以了,主程序不用开源,就和 utool 一样。

个人靠协议和专利来限制竞争对手,听起来总觉得不那么靠谱呢。
lshero
2021-07-14 16:35:16 +08:00
@wms discuz 当年不就这么壮大的吗
NSAgold
2021-07-14 16:36:59 +08:00
再说两句吧
提供源代码≠开源
不开源=闭源
开源(开放源代码)的要求之一是允许对代码的更改,演绎,自由再发行。( https://opensource.org/osd
你的目的 2 不允许开发者演绎与自由再发行,所以这不是一个开源软件,因此没有可用的开源许可证。
所以 @wms #11 说的很对,你想要的只是提供源代码找免费苦力而非去做一个开源软件。你想做的只是一个提供源代码以供开发者修改的闭源软件而已。
shynome
2021-07-14 16:40:55 +08:00
自有协议补充,可参考 https://github.com/dgraph-io/dgraph/blob/master/LICENSE.md
开发者贡献必须签署协议确认,让其允许贡献的代码可以让你们在非开源的版本中使用
ryh
2021-07-14 16:47:39 +08:00
学 Facebook 啊,之前的协议都是修改过的带专利声明的 BSD (现在改成 MIT 了)
https://opensource.org/licenses/BSDplusPatent
monkeyNik
2021-07-14 16:50:10 +08:00
自有协议吧。不过只要知道你功能,就有人能仿。一般软件技术专利也难防住同类竞品,因为主要都是看源码相似度。真要从功能上做限制而不看源码的话,那技术专利早就被垄断的没法看了。
stimw
2021-07-14 16:52:06 +08:00
看下来感觉就不应该开源...
出自制协议有约束力么...就国内来看基本没有
JarvisTang
2021-07-14 16:56:06 +08:00
@lshero 看来你是骨灰级网民了,当年 Discuz 就是基于别人的开源软件分发成自己的,然后做得比原主还大,变相的把原主干死了。
JarvisTang
2021-07-14 16:58:44 +08:00
@threebr 正如我上一条说说的 Discuz 故事,我申请专利其实是怕别人再分发我的代码,然后他自己再做一个生态,最后把我逼死。
我是为了保护自己的开发者生态,所以在使用上是没有限制的,包括商业使用。
NSAgold
2021-07-14 17:06:22 +08:00
@JarvisTang #29 如果是这个目的建议不要打着开源软件的旗号了,自己找律师制定一个自有的授权协议。因为所有的开源协议都要求允许再分发。
xrr2016
2021-07-14 17:11:07 +08:00
@JarvisTang 那干嘛还要开源,多此一举啊
linhongye
2021-07-14 17:30:16 +08:00
首先要明白为什么要开源.
是追梦, 还是做广告?
如果我理解没错的话, lz 是希望通过开源形成广告效益...
但是, 其实开源带来不了多少流量...
与其花心思折腾开源, 还要养一帮子人管理开源社区, 以及产品开源发布维护等等.
不如把这个钱拿来多请几个销售...
JarvisTang
2021-07-14 17:34:39 +08:00
@linhongye 是追梦,不做广告,已财富自由。
Mithril
2021-07-14 17:42:41 +08:00
你应该为你的专利部分做一个补充协议。
没有开源协议支持你的#2 的,所以你可以选择一个没有专利授权的协议,然后在补充协议里说明专利授权仅限使用你这个商标的产品。
然后把你的产品注册商标。
如果你的产品核心在于这几个专利的话,那么这样做实际上是限制了开源协议中的再分发。
你一定要开放源代码又要有保护的话可以这么做,不过你这何必开源呢。。。
JarvisTang
2021-07-14 17:43:37 +08:00
@linhongye 我分享过文章(两百多篇)、书籍(电子版和纸质版)、技能卡(五组共 35 张产品技能卡片)、视频课(三套)、WordPress 主题模板(四个)等等,但是一直缺少一个完整产品方案的分享(开源软件),所以自己多年来一直想做。我出于兴趣所以开发了开源软件,我不缺赚钱项目,也不指望开源软件赚钱。申请专利就花了十多万,我的目标是避免抄袭竞争。
Jirajine
2021-07-14 17:49:46 +08:00
AGPL+商业授权
icyalala
2021-07-14 18:07:55 +08:00
可以参考 MongoDB 的 SSPL 那样,起一个新的 License,但可能无法通过 OSI 认证,
只能叫 Source-available software,不能叫 Open-source software.
最后一条 "竞品开发类似产品" 只能从专利上去限制了。
h404bi
2021-07-14 18:31:40 +08:00
不缺钱,请找律师定制私有协议。
示例: https://gitee.com/Discuz/DiscuzX/blob/master/LICENSE#L27

P.S. 这不是开源协议,过不了 OSI 认证,顶多只是个 EULA 。
FS1P7dJz
2021-07-14 18:43:49 +08:00
从你需求的 3 点来说...没有需要开源的理由啊...

使用者可以直接使用 Binary,开发者既然只能用 pull requests,那么需要的是开发文档,也并不需要你的源代码,何况你还让别人编译其他版本,更不需要源代码了

专利这个和开源更没有关系了,专利是专利,开源是开源.但是有一点提醒你,专利实在太容易绕过了,条条大路通罗马

你直接参考几个大厂使用协议和开发者协议就差不多了
libook
2021-07-14 18:51:17 +08:00
软件作者有权利在软件中包含一份 License,说明软件使用者的权利和义务,这个可以按照自己的意愿写的,但最终软件作者行使保护知识产权的权利的时候,是要在法院里进行的,评判用户究竟是否违反了 License 的前提是,License 的内容详尽、自洽、合法。

所以让 License 好用,这是个极其需要法律专业性的工作。

那么很多人不具备这个条件,于是有些组织就公益性地做了一些通用 License,就像是合同模板,任何人只要照着原样直接引用,License 创作团队背书,而且用得人越多,积累法律案例就越多,在有判例制度的国家就越好用。

所以这个思路应该是:
1. 先看自己希望赋予软件使用者什么权利,以及希望软件使用者履行什么义务;
2. 看是否有现成的、经过法律验证的通用 License 可以直接拿来用;
3. 没有的话自己尝试写一个 License 。

自己写的 License,包括在通用 License 基础上扩展或修改的 License,都没有背书的,而且以往判例可能也不再具有参考性,完全看自己写得怎么样。

回到题主的目的上:
第一条,所有商业友好的通用 License 都可以考虑,比如 LGPL 、MIT 、BSD 、Apache License 2.0 ;
第二条,核心是希望只在一个代码版本库中维护,但跟第一条一起就限定死了必须原样使用软件,不能自行修改,否则不可避免地需要开另一个代码版本库,也就违反了第一条规定。所以这一条其实是禁止用户自行修改代码,但对开发扩展无限制。
第三条,一个核心问题是如何在 License 中准确详尽地描述“竞争者”的定义,定义不清要么就变成了“任何人都可能是竞争者”,要么就被认为无效条款。其实这一条不需要包含在 License 中,你只需要在 License 中说明原作者保留所有相关专利权就行了。

换一个思路,其实这种程度下来,可以发现其实差不多可以认为是非开放软件了,作者保留一切权利但公开源代码,所以也可以考虑:
1. 本软件归作者 XXX 所有。
2. 作者保留本软件的一切专利。
3. 任何人可以按原样免费使用、不限用途,包括商业目的。
4. 任何人可以为此软件贡献代码,但被接受的代码均归项目原作者所有(这时候要注意不能接受那些贡献者不享有版权的代码)。
5. 任何人可以为此软件开发扩展,且扩展的开发者保留扩展的所有权利。

竞争者那个可以不在 License 里写,因为 License 里已经说明作者保留专利了,打“竞争者”仅靠专利保护的相关法律就够,不需要额外写 License 条款。但这里有个逻辑 Bug,就是“对于使用者,免费使用,不限用途,包括商业项目使用”这里面的“使用者”究竟包含不包含“竞争者”,如何用文字来划分清楚,以及足够在法庭上有说服力,这个需要题主好好思考。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/789495

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX