GitHub标星10,000+,Apache项目ShardingSphere的开源之路
【编者按】几天前,当 GitHub 全球产品技术生态总经理 Michael Francisco 谈到中国开发者已经成为 GitHub 上最活跃的群体时,有开发者提出数量之后质量也要跟上。的确,过去十数年间,中国开源一直呈现企业热使用热社区冷开发冷的景象,不过现在正在显著发生变化,从 Apache ShardingSphere 的成长历程就可以一窥。
历经 4 年,从第一行代码到今天,ShardingSphere 正式成为 Apache 顶级开源项目,GitHub 开发者关系主管 Martin Woodward 如此评价道:“我们很高兴看到这个社区在过去两年里发展得非常好,现在有 120 多个直接贡献者。”在本文中,其核心初创人员为我们分享了它的开源之路,相信会对所有热爱开源希望有所建树的开发者们大有裨益。
ShardingSphere-JDBC:定位为轻量级 Java 框架,在 Java 的 JDBC 层提供额外服务。它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。
ShardingSphere-Proxy:定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。目前提供 MySQL/PostgreSQL 版本,它可以使用任何兼容 MySQL/PostgreSQL 协议的访问客户端操作数据,对 DBA 更加友好。
ShardingSphere-Sidecar(TODO):定位为 Kubernetes 的云原生数据库代理,以 Sidecar 的形式代理所有对数据库的访问。通过无中心、零侵入的方案提供与数据库交互的的啮合层,即 Database Mesh,又可称数据网格。
完整的分布式数据库解决方案:提供数据分片、分布式事务、数据弹性迁移、数据库和数据治理等核心能力。
独立的 SQL 解析引擎:支持多 SQL 方言的完全独立化 SQL 解析引擎,能够脱离 ShardingSphere 独立使用。
可插拔微内核:所有的 SQL 方言、数据库协议和功能都能够通过 SPI 的可插拔方式加载或卸载,微内核甚至在未来可以运行于无任何功能的空白环境中。
Apache 基金会独特的 Apache way 和社区建设思想会让一个开源项目更规范、更有生命力;
Apache 基金会的导师制度会为一个开源社区带来优秀的指导和帮助;
Apache 基金会会为其下的开源项目带来版权和商标上的法律保护;
Apache 基金会在全世界范围内的影响不言而喻,若是能进入 Apache 基金会,则会扩大项目的影响力,使其进入世界范围的开源领域。
Apache 基金会内的项目会更有机会登上世界舞台,并与其他开源项目建立友好交流,也能吸引更多贡献者加入社区。
代码层面,合规操作是首要原则。我们梳理第三方依赖的许可协议,确保满足 Apache 软件许可协议(ASL)合规的要求;
社区方面,我们开始由中文转变成英文;
文档方面则需要我们准备英文文档,并准备相关的 proposal。
Earned Authority, Community of Peers, Open Communications, Consensus Decision Making, Responsible Oversight
代码:规整代码结构,划分模块功能,提供项目可插拔能力,从而允许用户局部参与某一模块的同时,尽量不破坏整体代码结构;
心态:开放的心态,编制社区任务,鼓励社区朋友参与,相关 PPMC 或 Committer 积极提供指导和帮助;
规范:梳理文档和代码规范,并提供详细的订阅、参与指南,大范围促进用户自主进行社区贡献;
交流:鼓励社区尽可能使用邮件和 Issue 进行讨论从而公开讨论内容,同时针对较为细节的讨论则放在微信群里进行。此外,官方公众号还会介绍社区的进展、Release、刊登技术文章等;
合作:与其他 Apache 社区建立联系、增加沟通,从合作交流中进行学习和发展。
扩大人际交友圈
不断学习与成长
提高自己的技术影响力
拓宽职业渠道
结合兴趣,享受过程
拓展项目的功能
收获活跃多元化的生态圈
增加项目知名度
获得社区的可持续发展
愿这篇文章能为你打开新的思路,它像一扇窗,为有心的人呈现另一种职业风景,带来新的思潮。
希望文章有关”参与开源社区意义“的部分能为你解答有关开源价值的问题。
每一个 Apache 开源项目都有自己独特的社区发展方向和价值观。参与其中,选择与你气味相投的社区,是一件很有价值且很有意思的事情。
有张有弛,有进有退;不妄自菲薄,也不目空一切;在开源的领域,更确切说在 Apache 开源社区,更多的是遵守规范、开放包容、平等交流、互相学习。
低头工作,便全力以赴;耳闻窗外,便接收新潮,更新大脑。
Craig L Russell
冯嘉,阿里巴巴
姜宁,华为
张亮,京东数科
潘娟,京东数科
赵俊,京东数科
张永伦,京东数科
陈清阳,翼支付
曹昊,海南新软
马晓光
杜红军,领创智信
杨翊,京东数科
吴晟,tetrate.io
高洪涛,tetrate.io
李亚,九个小海豹
颜志一,DaoCloud
董宗磊,京东零售
孙海生,瓜子
王奇,京东零售
欧阳文,一卡易
蒋晓峰,阿里巴巴
王光远
秦金卫,京东数科
岳令
赵亚楠
推荐阅读
360金融首席科学家张家兴:别指望AI Lab做成中台 我们想研发一个机器学习框架,6 个月后失败了
八年,腾讯优图攒了多厚的技术“家底”? 无需训练 RNN 或生成模型,如何编写一个快速且通用的 AI “讲故事”项目? 区块链重大技术分析:IBM、微软、苹果、Google 都做了什么?
你点的每个“在看”,我都认真当成了AI