首先说一下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了。
来自于swoole作者韩天峰的知乎回答,以上就是全部内容,想要获取更多swoole教程欢迎关注编程学习网
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/8080/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料