作者:Dubbo 社区
我们很高兴地宣布 Apache Dubbo 已正式参与到 GSoC 2023(2023 谷歌编程夏令营)中,当前贡献者报名阶段也已经正式启动,如果您对 Dubbo、对 GSoC、对开源感兴趣,欢迎报名参与。今年的活动同时对在校大学生、社会员工开放。也就是说,只要是对开源和编码感兴趣的开发者就可以报名参加 Dubbo 项目夏令营。
这已经是 Apache Dubbo 社区第 4 次参加谷歌编程夏令营了,之前三届都取得了圆满的成功。一方面 Dubbo 社区收到了很多颇有价值的贡献;另一方面通过与社区及导师的合作,贡献者个人机技能与视野得到了很大的提升,一些参与者在后续的持续贡献过程中被提名为 Apache Dubbo Committer/PMC,也借此收到了很多优秀企业抛出的工作邀请橄榄枝。
简介
1.1 关于 GSoC
Google Summer of Code 暨谷歌编程夏令营是一个全球性的编程项目,专注于为开源项目引入新的贡献者。GSoC 贡献者在导师的指导下,与一个开源组织合作进行为期 12 周以上的编程项目。自 2005 年以来,谷歌代码之夏计划已经将来自 112 个国家的 18000 多名新的开源贡献者与来自 118 个国家的 17000 多名导师联系起来。Google Summer of Code 为 746 个开源组织提供了超过 4000 万行代码。
在谷歌代码之夏期间,参与的贡献者与来自开源组织的导师结对,接触真实世界的软件开发技术。贡献者将从经验丰富的开源开发人员那里学习,同时为现实世界的项目编写代码!提供少量津贴作为奖励。参与的组织使用该项目来识别和引进新的、热情的开发者。在 GSoC 结束后的很长一段时间里,这些新开发人员中的许多人将继续为他们的新社区和开源做出贡献。
1.2 关于 Dubbo
Dubbo 是国内最具影响力的开源软件项目之一,由阿里巴巴贡献开源,是支撑阿里双十一百万集群、万亿次服务调用的核心框架,目前 Dubbo 已捐献给享誉世界的 Apache 软件基金会 (ASF)。
GSoC 完整流程
以下是申请并参与到 GSoC 中的基本流程,如要链接 2023 具体时间表,请参考文后报名须知小节。
- 贡献者提交报名申请(3 月 20 日 ~ 4 月 4 日)贡献者找到感兴趣的开源社区与议题,针对议题撰写提案并提交。
- 贡献者 Proposal 评估(4 月 5 日 ~ 4 月 27 日)开源社区与导师收到提案后,启动评估流程。
- 贡献者 Proposal 评估结果公布(5 月 4 日)开源社区与导师与 Proposal 贡献者取得联系,对于评估通过的。
- 熟悉社区(5 月 4 日 ~ 5 月 28 日)贡献者大概花费 3 周的时间来熟悉开源社区与自己报名的 Project,期间有任何问题都可以与导师讨论。
- 编码与开发(5 月 29 日 ~ 8 月 28 日)贡献者开始真正的设计、开发工作,在此阶段完成时,贡献者应完成整体的提交最终项目成果。
- 项目成果评估(8 月 29 日 ~9 月 4 日)这是一个成果评分阶段,贡献者和导师都需要提交最终的评估结果:导师基于贡献者提交的项目成果对贡献者进行总体评分。贡献者基于导师在工作期间对自己的指导对导师进行评分。
- 提交最终评估成绩导师最终评估贡献者是否正式通过 GSoC 项目考核。
- 宣布最终结果(9 月 5 日)GSoC 组委会公布最终结果,并通知到导师和贡献者。
Apache Dubbo GSoC 2023
Apache Dubbo 社区今年设计了包括 Java、Golang、Rust、Python、Javascript 等语言在内的共计 20 多道题目,题目都取自社区 2023 年的重点工作方向,如 HTTP/2、Serverless、Service Mesh、可观测性等,题目研究的都是当前微服务业界前沿方向,兼具挑战性与创新性。
3.1 题目列表
以下是我们设计的题目链接,当前有些题目是从比较 high level 的层次进行描述的,部分题目阅读后发现可能只提供了一个大的工作方向描述,缺乏具体的工作内容指引。对于这一点大家不用过于担心,如果你对题目感兴趣,可以在 Proposal 中描述清楚你对这块的总体认识和想法,我们的社区导师会和你做进一步的沟通。关于题目有任何问题大家也可以在 issue 留言或通过下面官方公众号联系我们。
Java 语言
- Dubbo 连接管理抽象[1]
- HTTP/1 和 2 的能力抽象[2]
- HTTP/3 Rest 协议支持[3]
- Dubbo 精简 RPC API 抽象[4]
- 请求 JSON 格式兼容性检查[5]
- Dubbo Client on WASM[6]
- Dubbo 基于 WASM 实现 SPI 扩展[7]
- 自动化性能测试机制[8]
- Dubbo API 管理平台[9]
- Dubbo Service Deployer[10]
- Dubbo IDL 管理平台[11]
- 基于 Gradle 重构 Dubbo 项目[12]
- Dubbo i18n 日志国际化[13]
- 移除 Triple 编译器的 jprotoc 依赖[14]
- Dubbo API 用法扫描工具[15]
- Dubbo Admin Metrics 能力接入[16]
- 基于 Kubernetes 的自动化集成测试机制[17]
Golang 语言
- Go Traffic Management[18]
- Go Security[19]
- Go HTTP1&2 RPC Protocol Support[20]
- Improve usability of Dubbo-go project[21]
- Go Observability Improvement[22]
- Go Web Protocol and Programming Support[23]
- Admin Control Plane[24]
Rust 语言
- Rust Cluster Feature Implementation and Stability Improvement.[25]
Python 语言
- Dubbo3 Python HTTP/2 RPC Protocol Implementation[26]
Node.js 语言
- Dubbo3 Node.js HTTP/2 RPC Protocol Implementation[27]
Javascript 及前端开发
- Development of Dubbo Admin Dashboard UI Pages[28]
3.2 报名须知
如之前提到的,今年 Dubbo 编程之夏活动对在校大学生、社会员工同时开放,任何对开源感兴趣的开发者都可以报名参加。
- Apache 社区报名指引:https://community.apache.org/gsoc/
- 请在感兴趣的项目 Github Issue 下方留言,包括个人联系方式、疑问等。
- Google 官方报名地址:https://summerofcode.withgoogle.com/
为了方便大家报名,我们有以下咨询通道开放。如果对报名、题目、如何撰写 Proposal 有任何疑问,都可以前往咨询。
① 微信群:关注微信公众号 ApacheDubbo 回复 “谷歌编程之夏” 入群
② 钉钉群:22895027434 Dubbo (GSoC) 编程之夏咨询
③ 邮件组:dev@dubbo.apache.org
3.3 总结
Dubbo(谷歌)编程之夏活动是了解 Apache Dubbo、参与开源项目的非常好的途径,Dubbo 社区非常欢迎各位开源爱好者积极报名参加,也预祝大家在活动中能有好的收获。
3.4 相关链接
[1] Dubbo 连接管理抽象
https://github.com/apache/dubbo/issues/11894
[2] HTTP/1 和 2 的能力抽象
https://github.com/apache/dubbo/issues/11889
[3] HTTP/3 Rest 协议支持
https://github.com/apache/dubbo/issues/11903
[4] Dubbo 精简 RPC API 抽象
https://github.com/apache/dubbo/issues/11902
[5] 请求 JSON 格式兼容性检查
https://github.com/apache/dubbo/issues/11898
[6] Dubbo Client on WASM
https://github.com/apache/dubbo/issues/11901
[7] Dubbo 基于 WASM 实现 SPI 扩展
https://github.com/apache/dubbo/issues/11900
[8] 自动化性能测试机制
https://github.com/apache/dubbo/issues/11899
[9] Dubbo API 管理平台
https://github.com/apache/dubbo/issues/11897
[10] Dubbo Service Deployer
https://github.com/apache/dubbo/issues/11896
[11] Dubbo IDL 管理平台
https://github.com/apache/dubbo/issues/11895
[12] 基于 Gradle 重构 Dubbo 项目
https://github.com/apache/dubbo/issues/11893
[13] Dubbo i18n 日志国际化
https://github.com/apache/dubbo/issues/11892
[14] 移除 Triple 编译器的 jprotoc 依赖
https://github.com/apache/dubbo/issues/11891
[15] Dubbo API 用法扫描工具
https://github.com/apache/dubbo/issues/11890
[16] Dubbo Admin Metrics 能力接入
https://github.com/apache/dubbo-admin/issues/1055
[17] 基于 Kubernetes 的自动化集成测试机制
https://github.com/apache/dubbo-samples/issues/795
[18] Go Traffic Management Policies
https://github.com/apache/dubbo-go/issues/2260
[19] Go Security Mechanism
https://github.com/apache/dubbo-go/issues/2257
[20] Lightweight HTTP2 RPC Protocol Support for Dubbo-go
[21]Improve usability of Dubbo-go project
https://github.com/apache/dubbo-go/issues/2265
[22] Go Observability Improvement
https://github.com/apache/dubbo-go/issues/2261
[23] Go Web Protocol and Programming Support
https://github.com/apache/dubbo-go/issues/2258
[24] Admin Control Plane
https://github.com/apache/dubbo-admin/issues/1063
[25] Rust Cluster Feature Implementation and Stability Improvement
https://github.com/apache/dubbo-rust/issues/129
[26] Dubbo3 Python HTTP/2 RPC Protocol Implementation
https://github.com/apache/dubbo-python2/issues/17
[27] Dubbo3 Node.js HTTP/2 RPC Protocol Implementation
https://github.com/apache/dubbo-js/issues/330
[28] Dubbo Admin Dashboard UI Pageshttps://github.com/apache/dubbo-admin/issues/1062
📢 注:关注微信公众号 ApacheDubbo 回复 “谷歌编程之夏 ” 加入微信群,咨询报名事宜。
点击此处查看完整题目链接