文章首发在公众号(龙台的技术笔记),之后同步到博客园和个人网站:xiaomage.info

就在前几天,收到了 Apache ShardingSphere Vote 我成为 Committer 的邮件,心情非常高兴,被提名代表自己的贡献得到了充分的认可;在这里,非常感谢 ShardingSphere 团队给予我的帮助!

写这篇文章,主要是记录自己贡献 ShardingSphere 这段时间内,代码提交的心路历程。让大家找到对的道路,能够和我一样,成为 Apache 项目的 Committer。

熟练使用

如果有个人告诉我他想贡献一个项目,但是连怎么使用都不知道,那我一定觉得他在和我开玩笑。

与 ShardingSphere 结缘是在 21 年,当时在集团内推广 ShardingSphere,并结合业务做了众多个性化功能;在定制的过程中,发现了一些问题,并且尝试去解决。

也就是这个使用与定制的过程中,对 ShardingSphere 的设计理念和源码有了深入了解,而这也是驱动自己进行代码贡献的前提。

摆脱畏惧

如果对 Apache 开源项目没有贡献过的小伙伴,可能提到 PR(Pull Request) 代码都会比较陌生,有种不明觉厉的感觉。

以我举例,在对 ShardingSphere 进行贡献前,觉得能对 Apache 项目产生贡献的,都是那种技术大拿,压根没有想过自己可以提交 PR。

其实这是一种很错误的想法,刚开始贡献 Apache 项目不一定是要贡献核心代码,可以从简单的测试用例或文档修复等任务做起;这样可以快速帮助你熟悉贡献流程,为后续的代码贡献做铺垫。

成为 Apache Committer 的第一步,是跨过心里的那道坎,从想象转换为实际行动。

参与开源

如果你想参与开源项目,ShardingSphere 会是个不错的选择。添加 ShardingSphere 社区经理微信:ss_assistant_1,拉你进官方交流群,群里会不定期发布 Issue 任务列表,可以根据个人想法认领尝试。

选择 ShardingSphere 在我看来,有以下好处:

  • Apache 顶级项目:GitHub 16.3 K Star,5.7 K Star,410+ contributor;
  • 广泛应用:截止目前登记,已有 217 家企业生产环境应用;深入研究后,公司应用遇到问题可以快速定位;
  • 社区活跃度:ShardingSphere 会有专人在微信交流群、中文社区和 GitHub 上进行问题答疑,如果你在贡献的过程中有问题,他们都会耐心解答,没有任何架子;
  • 项目迭代进度:Fork 后的项目,隔个几天不更新,Fetch upstream 代码时,基本都是几十上百的提交。

除去 ShardingSphere 官方发布的任务,也可以阅读接入端、分布式治理,内核、数据迁移、事务、DistSQL 等相关源码,找到自己感兴趣的内容深入研究。

成为 Committer 能收获什么

Apache 专属邮箱

提名后,Apache 会根据你提供的信息创建专属 Apache 邮箱。比如我的 ID 是 machen,对应的邮箱是:machen@apache.org

拥有 Apache 邮箱是一件非常酷的事情,代表着顶级开源组织对你能力的认可,也会对你未来找工作有一定的帮助。

想象一下,小伙伴们浏览 Apache 网站时看到了你的名字,或者和面试官发邮件时,他们会不会有种不明觉厉的感觉,形象瞬间就高大上了有木有!

邮箱地址全局唯一,可以在 Apache 官网上查询,如果已被占用将不能注册。地址:http://people.apache.org/committer-index.html。

Jetbrains 正版全家桶

Jetbrains 为所有 Apache 贡献者提供了全品类的免费许可证,根据 Apache 邮箱在 Jetbrains 官网申请永久免费许可证。

申请后,Jetbrains 会向你的邮箱发送邀请链接。让我比较感慨的有这一句话,感觉所做的事情是很有意义的。

We hope that our software will be useful for your work on the Apache Software Foundation projects. Thank you for your contribution to Open Source Software!

我们希望我们的软件将对您在 Apache 软件基金会项目中的工作有用。感谢您对开源软件的贡献!

ShardingSphere 仓库写权限

普通开发者只能对 ShardingSphere 仓库发起 PR,而 Committer 角色会拥有仓库写入权限,即合并 PR 的权限。

文末总结

Apache ShardingSphere 是一款开源分布式数据库生态项目,旨在碎片化的异构数据库上层构建生态,在最大限度的复用数据库原生存算能力的前提下,进一步提供面向全局的扩展和叠加计算能力。其核心采用可插拔架构,对上以数据库协议及 SQL 方式提供诸多增强功能,包括数据分片、访问路由、数据安全等。

如果大家对 Apache ShardingSphere 有任何疑问或建议,欢迎在 GitHub issue 列表提出,或可前往中文社区交流讨论。

GitHub issue:https://github.com/apache/shardingsphere/issues

贡献指南:https://shardingsphere.apache.org/community/cn/contribute/

中文社区:https://community.sphere-ex.com/

提名 Apache ShardingSphere Committer,说说方法的更多相关文章

  1. SphereEx 公司成立,推动 Apache ShardingSphere 社区加速发展

    近日,SphereEx 商业公司在中国红杉种子基金及初心资本助力下,已完成公司及团队组建.各大媒体平台及公众号已相继报道,并抢占新闻头条.作为以 Apache ShardingSphere 核心团队组 ...

  2. DistSQL:像数据库一样使用 Apache ShardingSphere

    Apache ShardingSphere 5.0.0-beta 深度解析的第一篇文章和大家一起重温了 ShardingSphere 的内核原理,并详细阐述了此版本在内核层面,特别是 SQL 能力方面 ...

  3. SQL 居然还能在 Apache ShardingSphere 上实现这些功能?

    在去年 10 月 5.0.0-alpha 版本发布之后,Apache ShardingSphere 经历了长达 8 个多月的持续开发与优化,终于在 6 月 25 日正式迎来了 5.0.0-beta 版 ...

  4. Apache ShardingSphere 5.0.0 内核优化及升级指南

    经过近两年时间的优化和打磨,Apache ShardingSphere 5.0.0 GA 版终于在本月正式发布,相比于 4.1.1 GA 版,5.0.0 GA 版在内核层面进行了大量的优化.首先,基于 ...

  5. Apache ShardingSphere:由开源驱动的分布式数据库中间件生态

    2021 年 7 月 21 日 2021 亚马逊云科技中国峰会现场,SphereEx 联合创始人.Apache ShardingSphere PMC 潘娟受邀参与此次峰会,以<Apache Sh ...

  6. Apache ShardingSphere 元数据加载剖析

    唐国城 小米软件工程师,主要负责 MIUI 浏览器服务端研发工作.热爱开源,热爱技术,喜欢探索,热衷于研究学习各种开源中间件,很高兴能参与到 ShardingSphere 社区建设中,希望在社区中努力 ...

  7. Apache二级域名配置方法

    下面这个Apache二级域名配置方法是今天在其它BBS看到的,以前我配置是都是配置每个为一个虚拟目录今天正在想如何写没想到找到了. Apache二级域名实现方法介绍 首先,你的拥有一个有泛域名解析的顶 ...

  8. Apache Sharding-Sphere

    Sharding-Sphere 正式步入 Apache 基金会孵化器 - 开源中国 https://www.oschina.net/news/101691/sharding-sphere-enter- ...

  9. CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL)的方法

    CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL)的方法 准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A I ...

随机推荐

  1. [AcWing 53] 最小的 k 个数

    堆排序 点击查看代码 class Solution { public: vector<int> getLeastNumbers_Solution(vector<int> inp ...

  2. linux系统平均负载高(load average)

    系统平均负载高(load average) 问题现象 两个案例都是:系统平均负载高,但cpu,内存,磁盘io都正常 什么是系统平均负载 平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进 ...

  3. JWT 访问令牌

    JWT 访问令牌 更为详细的介绍jwt 在学习jwt之前我们首先了解一下用户身份验证 1 单一服务器认证模式 一般过程如下: 用户向服务器发送用户名和密码. 验证服务器后,相关数据(如用户名,用户角色 ...

  4. 2.0 vue循环和方法调用

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. Mock 之搭建本地 MockJs

    Mock 之搭建本地 MockJs 一.目的 模拟后端接口 二.发请求 1. install npm install axios 2. 配置 src/utils/request.js import a ...

  6. Change Buffer 只适用于非唯一索引页?错

    最近在网上看到一些文章里说:"change buffer 只适用于非唯一索引页."其实这个观点是错的,先来看看官方文档对 change buffer 的介绍: 文档地址:https ...

  7. 【Unity Shader学习笔记】Unity光照基础-漫反射光照

    本代码只适用于平行光. 1.逐顶点漫反射光照 1.1漫反射光照原理 1.2代码实现 在Properties语义块中声明一个漫反射颜色属性 Properties { //漫反射参数,用于调整漫反射效果 ...

  8. Java ES 实现or查询

    es mapping里有三个字段: A:Integer B:Integer C:TEXT 现在想实现一个查询,来检索  (  (A =1 and B=2)  or (c like "test ...

  9. Win10 pycharm中显示PyTorch tensorboard图

    import numpy import numpy as np import torch import matplotlib.pyplot as plt import torch.nn as nn i ...

  10. C++ 炼气期之变量的生命周期和作用域

    1. 前言 什么是变量的生命周期? 从变量被分配空间到空间被收回的这一个时间段,称为变量的生命周期. 什么是变量的作用域? 在变量的生命周期内,其存储的数据并不是在任何地方都能使用,变量能使用的范围, ...