关于 Swoole 最近修改开源协议,作者这样回应
达尔文 2017年06月27日

关于 Swoole 最近修改开源协议,作者这样回应

达尔文 达尔文 发布于2017年06月27日 收藏 16 评论 64

首先说一下swoole的历史,我从2010年开始就一直尝试用php写server了,早期swoole是用php代码基于php的stream pcntl socket libevent 实现,php的版本后来在2012年使用c进行了重构,一直开发维护到现在。一个通信引擎看似简单实际非常复杂,最艰难还是多线程并发性问题,无数日夜苦思冥想,才得以解决。2010年我23岁,现在30岁。能坚持这么久,最关键的是对技术的兴趣和热情。这个项目有很多贡献者,有中国人也有外国人。从默默无闻到PHP之父Rasmus也为之点赞。实属不易。

这个项目的主力开发就是我了,付出了很多心血和精力。因为我还在公司任职,所以基本上是抽空开发,只有周末有整天连续的开发时间。所以swoole在测试用例、代码评审、文档编写方面并不完善,包括官网都很丑,我很希望看到有公司力量加入,帮助完善swoole。而且我也愿意让出项目控制权,其实现在swoole group的owner已经有三位了,除了我之外腾讯的两位成员司超和朱新宇也是owner。

有两家公司对swoole表示出了兴趣,这就是腾讯和某赞,两家公司都邀请我做过技术分享,为他们的技术团队讲解swoole,而且事后都建了QQ群,方便大家交流。有很多次对方咨询我swoole的细节问题,我也会抽空解答。但最终结局完全是不同的。腾讯团队贡献出了 Swoole2.0 协程,某赞默默地拉了个分支。

我曾多次向某赞的开发者说你们可以向swoole贡献代码啊,大家一起共建,这样才能发展的更好。但最终结果大家都看到了。矛盾激化是在他们即将发布前几个月,他们宣称自己的分支实现了更高效的时间轮算法,我就直接指责你为什么就不愿意贡献给swoole呢,对方的回复是“想要等我们开源出来自己拿去,我们可没空给你送上门”。你们用了swoole的代码,却没有给swoole贡献过任何东西,现在还到处抹黑swoole抬高自己,其中某人还来攻击我。

我如果没情绪就是圣人了,在微博上说的要改协议禁止拉分支与swoole竞争也都是一时气话。最终因为很多人转发我也删除了。经过长期的考虑最后决定使用PHP协议,这个协议其实非常宽松,接近bsd了,只禁止这些商业公司的fork分支拿swoole来做宣传。改授权协议是为了swoole项目的长远发展,PHP协议可以保护开源社区不被商业公司利用。其实当初选Apache协议主要是@Laruence提出PECL更喜欢BSD、Apache、PHP协议,没想到那么多选了最简单的Apache协议,现在来看PHP协议是最合适的。

开源世界有两条线,高标准是 尊重原作者贡献代码等等,底线 遵守 license就可以了,尊不尊重原作者无所谓,贡献不贡献代码也无所谓。他们只是选择了后者而已,并没有错。如果是越过底线我肯定直接请GitHub官方删除其项目了。都是吃瓜群众拱火导致的,非要引起争论,还引来好多大V关注。我其实不太愿意回答这些问题。也不愿意和某赞发生争吵。我一直在说做好自己的事情就可以了。

他们这样做的目的再明显不过了,扩大技术影响力,提升公司的品牌形象。只是吃相太难看了点。我相信被盯上的开源项目也肯定不只swoole一个。

如今我已经意识到了一个开源项目如果要更进一步,确实需要商业化,需要组建一支装备精良的研发团队,需要开发流程规范化,需要设计师为swoole设计logo和页面。还需要编辑和翻译完善文档,更需要测试人员把控质量。我和我的伙伴们已经开始做了。

作为原生的团队我们怎么可能惧怕技术竞争呢,没有人比我更熟悉swoole了。

来源:知乎,作者:韩天峰

如需转载,请联系原作者进行授权

>>>【评论有礼】6月6日-30日评论每日更新的“新闻资讯和软件更新资讯”,评论点赞数超过 20 的可登上每周更新的“源资讯”和“软件周刊”两大栏目,点赞数超过 50 的还将获得 5 活跃积分奖励和开源中国定制好礼。详情

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:关于 Swoole 最近修改开源协议,作者这样回应
分享
评论(64)
精彩评论
20
觉得有赞可以了,人家修改了代码,然后开源了,然后还提供了文档,只是没兼容 swoole 罢了
自己开发一套,当然自由很多,帮 swoole 完善还要看swoole 作者脸色,swoole 作者不同意修改怎么办? 人家公司业务量这么大,哪有时间等你批准然后合并?
相信国内更多团队修改了 swoole 然后不提供源码和文档的更多,相比这种人,有赞做的够好了!
8
衍生版没有义务跟原版保持兼容,既然都不兼容了,又如何回馈代码?衍生版只要不违反开源协议,想怎么玩都行。喷国内开源环境的,你是没见过neovim或者zulu jdk吗?
7

引用来自“wuwenbin”的评论

我们实际业务中有用swoole,主要用在并发要求比较高的场景(峰值10k+),总体能够满足我们的业务,其间我们也反馈或修正过一些bug。在swoole2.0出来后,我们也准备向新版本迁移,但其间也发现很多不完善,例如:redis命令支持不全、dns查询也没有协程支持;最后我们还是决定放弃,转向更稳定可靠的go/java
@wuwenbin 对于某赞的分支开发,我觉得没什么好褒贬的,协议也是OK的,代码也是开源的。如果代码修改太多,合并回原分支是比较困难的,另外,某赞针对自己公司的业务可能需要调整或增加一些特性,这些也不合适合并回原分支。个人恩怨不评价,如果觉得别人威胁了自己,把东西做得更好,至少目前看swoole还有很长的路要走。
6
楼主淡定,既然开源了,而且协议也开放,就应该坦然面对拉分支衍生发展。Mysql到mariadb,nodejs到io.js,debian到ubuntu莫不如是。开源的优势就体现在可以不断衍生发展。
6
韩老大也是无奈,支持韩天峰!
最新评论
0
swoole顾问表示不被商业公司利用是自由软件起码的条件,协议的兼容和创始人并没有放弃两点注定吃香难看,当然,做一条鲶鱼搅和搅和如果也算是贡献,对swoole有一定的刺激作用不是坏事,请注意吃相。
0
楼主淡定,既然开源了,而且协议也开放,就应该坦然面对拉分支衍生发展。Mysql到mariadb,nodejs到io.js,debian到ubuntu莫不如是。开源的优势就体现在可以不断衍生发展。
0
某赞公开源码了吗?如果没公开 那就是无耻
0

引用来自“wuwenbin”的评论

我们实际业务中有用swoole,主要用在并发要求比较高的场景(峰值10k+),总体能够满足我们的业务,其间我们也反馈或修正过一些bug。在swoole2.0出来后,我们也准备向新版本迁移,但其间也发现很多不完善,例如:redis命令支持不全、dns查询也没有协程支持;最后我们还是决定放弃,转向更稳定可靠的go/java

引用来自“wuwenbin”的评论

@wuwenbin 对于某赞的分支开发,我觉得没什么好褒贬的,协议也是OK的,代码也是开源的。如果代码修改太多,合并回原分支是比较困难的,另外,某赞针对自己公司的业务可能需要调整或增加一些特性,这些也不合适合并回原分支。个人恩怨不评价,如果觉得别人威胁了自己,把东西做得更好,至少目前看swoole还有很长的路要走。

引用来自“eechen”的评论

https://pecl.php.net/package/swoole
Swoole 2.0系列直到现在还没有出过stable版本.
以一个尚未稳定下来的新系列来否定Swoole,你觉得合适么?
还有,Zan搞分支就算了,搞不兼容也算了,但还意图宣传Zan比Swoole好,意图取而代之,这算什么?
还真把自己当MariaDB了呀,人家MariaDB老板可是MySQL创始人,但Swoole创始人是Zan的技术团队么?
就算是MariaDB,人家至少也兼容MySQL,PHP用内置的mysqlnd一样能够操作MariaDB,
WordPress这些PHP+MySQL程序也一样能用MariaDB来跑.
@eechen 都说了不褒贬,只是swoole要走的路还很长!没人希望他死掉。目前我们放弃使用也是基于他还不稳定,局限也比较多。
0

引用来自“orpherus”的评论

衍生版没有义务跟原版保持兼容,既然都不兼容了,又如何回馈代码?衍生版只要不违反开源协议,想怎么玩都行。喷国内开源环境的,你是没见过neovim或者zulu jdk吗?

引用来自“eechen”的评论

Zulu JDK不兼容Java标准,那请问是不是就意味着Zulu JDK不能驱动Tomcat/Jetty/Netty/Spring这些Java应用,那请问这货还有什么用?

明显人家是一个兼容Java标准的OpenJDK改良版本,好不?
swoole有标准吗?有规范吗?zulu把自己增强的部分merge回openjdk了吗?
0
我打个圆场。该事件定性为沟通问题。
个人尊重韩大牛的选择,某赞的沟通行为有瑕疵,但fork代码的行为无可指责,毕竟人家也把改过的东西开源出来了。
0
直接上golang更直接
0

引用来自“orpherus”的评论

衍生版没有义务跟原版保持兼容,既然都不兼容了,又如何回馈代码?衍生版只要不违反开源协议,想怎么玩都行。喷国内开源环境的,你是没见过neovim或者zulu jdk吗?
Zulu JDK不兼容Java标准,那请问是不是就意味着Zulu JDK不能驱动Tomcat/Jetty/Netty/Spring这些Java应用,那请问这货还有什么用?

明显人家是一个兼容Java标准的OpenJDK改良版本,好不?
0

引用来自“wuwenbin”的评论

我们实际业务中有用swoole,主要用在并发要求比较高的场景(峰值10k+),总体能够满足我们的业务,其间我们也反馈或修正过一些bug。在swoole2.0出来后,我们也准备向新版本迁移,但其间也发现很多不完善,例如:redis命令支持不全、dns查询也没有协程支持;最后我们还是决定放弃,转向更稳定可靠的go/java

引用来自“wuwenbin”的评论

@wuwenbin 对于某赞的分支开发,我觉得没什么好褒贬的,协议也是OK的,代码也是开源的。如果代码修改太多,合并回原分支是比较困难的,另外,某赞针对自己公司的业务可能需要调整或增加一些特性,这些也不合适合并回原分支。个人恩怨不评价,如果觉得别人威胁了自己,把东西做得更好,至少目前看swoole还有很长的路要走。
https://pecl.php.net/package/swoole
Swoole 2.0系列直到现在还没有出过stable版本.
以一个尚未稳定下来的新系列来否定Swoole,你觉得合适么?
还有,Zan搞分支就算了,搞不兼容也算了,但还意图宣传Zan比Swoole好,意图取而代之,这算什么?
还真把自己当MariaDB了呀,人家MariaDB老板可是MySQL创始人,但Swoole创始人是Zan的技术团队么?
就算是MariaDB,人家至少也兼容MySQL,PHP用内置的mysqlnd一样能够操作MariaDB,
WordPress这些PHP+MySQL程序也一样能用MariaDB来跑.
0
苦逼的程序员啊
0
正在
0
借用网友的一句话:
没有灵魂的开源,存在的价值只是广告宣传或思路借签。至那些活着“死去”的项目...
送给你
0
喜闻乐见
0
fork就fork呗,做个新轮子就做,但是如果我是原作者,看到用了我的东西,还这么说话:https://www.v2ex.com/t/370392#r_4456930,我也得飙
0
必须支持原创!不然谁还辛辛苦苦的去原创?开源?
0
支持swoole原创团队
0

引用来自“wuwenbin”的评论

我们实际业务中有用swoole,主要用在并发要求比较高的场景(峰值10k+),总体能够满足我们的业务,其间我们也反馈或修正过一些bug。在swoole2.0出来后,我们也准备向新版本迁移,但其间也发现很多不完善,例如:redis命令支持不全、dns查询也没有协程支持;最后我们还是决定放弃,转向更稳定可靠的go/java
转go是明智的选择。:laughing:
0
吃相难看 哈哈
1
可惜我直接上了golang,我觉得用php来编写这块业务太辛苦了.
0
只要开源gpl也不能组织别人商业化啊,那么多linux都怎么来的,centos直接拿redhat的代码编译的,当然必须去掉redhat的logo之类的。
顶部