你还在抱怨开发工具,为什么不动手优化? | 人物志

栏目: Java · 发布时间: 5年前

你还在抱怨开发工具,为什么不动手优化? | 人物志

你还在抱怨开发工具,为什么不动手优化? | 人物志

受访者 | 张乎兴

采访者 | 伍杏玲

出品 | CSDN(ID:CSDNnews)

Red Hat 创始人 Bob Young 曾说过:“要想对世界做出实质性的改变,开源需要做到这两点:一是要让人们广泛使用开源软件;二是要让用户知道并理解这种软件开发模式能给他们带来的益处。”

有一位阿里员工便是如此做的:历经四年,他从零基础的开源小白成长为 Apache Member,并致力推广和孵化国内优秀的开源软件,吸引更多的中国开发者加入开源行业中。

他便是 Apache Dubbo 项目的负责人、阿里巴巴技术专家张乎兴。

你还在抱怨开发工具,为什么不动手优化? | 人物志

从开源小白到 Apache Member

张乎兴花名“望陶”,含义是“仰望陶渊明,渴望追求淡薄雅致的生活”。可他这一路走来,却是稳扎稳打的:2014年,张乎兴加入阿里巴巴中间件团队才开始接触 Tomcat 的开发和运维,从零开始走上开源开发。

作为小白,他从查看 Apache 的新用户指南开始,到第一次谨慎地修改提交 Bug 后,得到社区的响应他感到很高兴,随后他积极参与到社区的讨论中…… 

当时阿里内部自己的 Tomcat 版本,与开源的 Tomcat 版本之间有些差异。作为 国内参与开源项目数量最多的企业, 阿里内部开源氛围浓厚。于是张乎兴主导将这两个版本合并成一个,方便大家的维护和使用。

公司鼓励开源、工作内容大部分涉及开源软件、自身从中获得兴趣和个人价值体现,这几个方面形成一个正反馈效应的循环,使得张乎兴不断成长:2016年,张乎兴成为 Tomcat Committer;2017年,他成为 Tomcat PMC Member。同年,他开始负责 Dubbo 的开源维护工作,随后 Dubbo 进入孵化器。

2019年,在他成为 Apache Member 后没多久,Dubbo 毕业。 从他身上看到,技术人与技术是共同成长的。

你还在抱怨开发工具,为什么不动手优化? | 人物志      

2018 年,Dubbo 进入孵化器邮件

你还在抱怨开发工具,为什么不动手优化? | 人物志  

Apache 顶级项目是如何炼成的?

一个 Apache 开源项目从筹备到孵化,到社区发展,最后到毕业,这过程并不容易:据张乎兴统计,2017年有 17 个项目从 Apache 毕业,2018 年有八个项目,2019 年截至到发稿为止,仅有五个项目毕业。2018 年八个项目的平均耗时是 28 个月,而 Dubbo 是在 2019 年毕业的项目中耗时最短:只花了 15 个月的时间,与今年五月毕业成为  Apache  顶级项目。

为什么  Dubbo 能这么快毕业?

第一, Dubbo 邀请了三 位经验丰富的导师做指导: Justin Mclean( Apache 基金会孵化器的 VP )、 Mark Thomas( Apache 基金会董事会成员 、Dave Fisher( 资深导师 ,张乎兴表示在导师们的指导下就会少走些弯路。

第二, Dubbo 一直有持续地 迭代 发布 ,一旦遇到问题就马上修复,同时引进更多的开发者参与到  release 的过程中,一起发现和修复问题,再将这些经验沉淀形成一个有参考意义的文档。有意思的是,有其他社区的项目孵化时,也来参考此文档。

第三,不断地扩大社区的影响力,吸引更多开发者参与。在之前 Dubbo 发布的 11 个版本里,是由 7 个不同的开发者完成的,这种情况比较难得的(因为一般项目是 2-3 位开发者)。

在社区里,开发者可以清晰地知道自己的成长路径:入门-User-Contributer-Comitter- PMC Member 是怎么走的。当然,社区在宣传上也是不遗余力的:例如 在一二线城市举办 MeetUp 活动,吸引更多的开发者进社区。

在 Dubbo 的孵化这过程中,张乎兴说孵化开始的 release 是个重要的环节:需要确保准确的 License 和版权声明、符合规范的代码及依赖、准确一致的签名。张乎兴团队在这个过程里踩了不少坑:

在项目发布时,他们遇到一个 License 问题,前端需要 JavaScript 的依赖,在一个间接传递的依赖有一个简单的功能:一段文本按照一定的规律换行,并且在注释写的是输入一段文字输出结果。可由于这段文字是从罗素的书里摘抄出来,这具有文字版权的。

由于 Apache 对于商标和 License 的要求很严苛,这个依赖还隐藏得很深,张乎兴团队只能通过各种方式紧急联系依赖的原作者。

还有孵化项目对知识产权的清理也是很重要,稍不注意便会掉入大坑:团队之前已将 Dubbo 的核心代码迁移到 Apache ,但有一些 Dubbo 大生态下的项目,是放在 github.com/dubbo 下的 group,由于“Dubbo”商标已捐献给 Apache,是不允许在第三方使用的。

没办法,张乎兴团队只好将这个 group 下所有的项目清空,能捐献的项目一并捐献给 Apache,联系不上作者的项目就先迁移到其他 group。

目前这部分的工作仍在陆续迁移中。

你还在抱怨开发工具,为什么不动手优化? | 人物志

建议开发者:

与其浪费时间抱怨 工具 ,不如动手将它变好

面对 Dubbo 毕业,张乎兴在自豪之余,坦言“能够做到这一点的项目,国内还是并不多的。”

探索其中原因时,从项目上,张乎兴认为中国本身是有很多优秀的项目,但可能中国开发者在观念上较含蓄,不大愿意去宣传,所以外界不大了解。

从国内开发者投入到开源项目的时间上看,张乎兴认为国内开发者很多时候忙于公司的业务,而公司的 很多 项目和开源项目本身是割裂的,所以大家很难挤出时间来持续投入到开源项目里。

在做项目时,大多 程序员 先从各种各样的框架和依赖上挑选合适的,当遇到不好用的框架时,可能会有人抱怨吐槽:这个 工具 不好用。便舍弃不用它,再花时间寻找更好的框架。

张乎兴表示, “与其抱怨,不如亲自动手把它变得更好”。

在这个时候,他建议开发者可以换一种想法:我能不能尝试将工具的问题修复? 让框架变得更好用一点?

这样下来开发者不仅能让自己的开发效率提升,工具也会因为自己的技术变得更好用,团队和公司的人均会受益。开发者还可以从这项目入手,参与进开源项目来。

你还在抱怨开发工具,为什么不动手优化? | 人物志  

Apache Member 的使命:成为世界和中国的开源桥梁

目前张乎兴不仅在工作上忙开源项目,业务时间也会用在开源社区上:修复 Bug、回复邮件、处理问题等。令他感到欣喜的是, 在从事开源软件的这几年里,他看到中国越来越多的开源软件,越来越多的公司重视开源。

谈及未来计划,张乎兴将自己比作一座“桥梁”:期待能更好地连接世界和中国的 开源事业

在成为 Apache Member 后,张乎兴可作为导师协助更多的项目进入孵化。还有, 他希望能将自己的经验和方法分享出来,帮助国内开源项目去提升自己的影响力和话语权。

而作为 Dubbo 的负责人, 未来 张乎兴该 如何规划才能让其发挥更大的社会价值呢?

你还在抱怨开发工具,为什么不动手优化? | 人物志

未来 Dubbo 的三个发展方向

兴介绍道, Dubbo 将从这三个方向深耕:核心、生态、影响力。

一、在核心上,Dubbo 分为 2.7 版本和 3.0 版本。其中,2.7 版本将会主打云原生的微服务,并做到和 Spring Cloud 的应用能相互调用,因为 Dubbo 的出厂模型需要和 Spring Cloud 的出厂模型统一起来。张乎兴透露,这个功能将会在 2.7.3 版本或者 2.7.4 版本上支持。还有 Dubbo 在云原生下的部署服务发展。

而 3.0 版本将会主打技术的先进性,将会做响应式,支持React,拥抱标准协议HTTP2.0,还会考虑和  gRPC  的支持,在大规模复查的场景下,能自适用地做到熔断限流和更智能的负载均衡等。

二、在生态上,Dubbo 支持多语言,目前已支持六种语言:Java、JS、 GoPythonPHP 、Node.js。后续会完善 Go 和 Node.js 语言的支持,做到目前在 Java 上的功能也能在Go 上支持。

还有,他们将继续演进 Dubbo 的微服务,包括监控诊断、微服务分布式、协议的转换(例如将 HTTP 的协议转换成 Dubbo 的协议)、服务的权限控制等功能。

三、在影响力上,Dubbo 将会持续地做 MeetUp 活动,还可能办技术大会,针对学生开发者,阿里举办有夏令营项目,这样学生开发者也能参与进技术研究上来。

从上面可以看出,无论是 Apache Member 张乎兴,抑或是顶级开源项目 Dubbo,均是在努力推进开源软件对世界的改变。

【End】

你还在抱怨开发工具,为什么不动手优化? | 人物志

 热 文推 荐 

5G 来了,我们可以做什么?

CSS 二十年发展简史

吴恩达 Drive.ai 因经营困难“卖身”苹果

盖茨承认犯下价值 4000 亿美元的错!

听说,私有云也出新一代了?

Python处理图片九宫格,炫酷朋友圈

☞她说:程序员离开电脑就是 “废物” !

点击阅读原文,输入关键词,搜索CSDN文章。

你点的每个“在看”,我都认真当成了喜欢


以上所述就是小编给大家介绍的《你还在抱怨开发工具,为什么不动手优化? | 人物志》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Data Structures and Algorithms with JavaScript

Data Structures and Algorithms with JavaScript

Michael McMillan / O'Reilly Media / 2014-2-22 / USD 28.51

If you’re using JavaScript on the server-side, you need to implement classic data structures that conventional object-oriented programs (such as C# and Java) provide. This practical book shows you how......一起来看看 《Data Structures and Algorithms with JavaScript》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具