TiDB 社区由开发者、用户和 TiDB 生态中的合作伙伴组成,致力于构建“面向未来的数据库”,以及打造 TiDB 的可持续发展生态。在整个社区的不断努力和帮助下,TiDB 的生态也在不断发展,越来越多的开源项目成为 TiDB 大家庭的一员。比如 TiKV,一个开源的分布式事务 Key-Value 数据库;Weir,一个面向服务的 TiDB 数据库管理平台;以及 TiBigData,一个用于连接 TiDB 和 Apache Flink 等技术栈的大数据组件。
未来还会有更多的项目在 TiDB 社区中萌芽、生长、走向成熟,甚至发展为独立的项目。为了帮助这些项目从社区中获取更多资源和帮助,能够快速成长达到有实际应用场景的成熟阶段,TiDB 社区正式发布孵化器项目!
加入孵化器的意义
能够加入 TiDB 的孵化器,意味着这些项目在 TiDB 生态中有着良好的适配度,并有着广泛的应用场景,这些项目也会从社区的支持和管理中获益。
在孵化阶段,TiDB 社区为这些项目提供技术和规范上的指导,包括开源协议,最新的模板文档和健康的开源协作流程等,项目的开发将遵循 TiDB 社区的行为准则。一旦这些项目达到特定标准,就会成为毕业项目。TiDB 社区会为毕业项目提供全面的市场支持,帮助这些项目快速获得社区和外界的关注。
具体项目收益主要为以下几点:
- TiDB 社区为孵化项目提供技术和规范上的指导,包括开源协议,最新的模板文档和健康的开源协作流程等;
- 经验丰富的 Mentor 帮助项目快速落地,不走弯路;
- 孵化项目的开发者成为开源项目的维护者,增加开源协作经验,荣誉加成;
- TiDB 社区对项目提供推广支持,项目快速获得社区的参与和外界的关注。
孵化中的项目
TiBigData
由知乎发起的 incubator 项目 TiBigData,旨在解决企业大数据场景中各项技术栈对接 TiDB 的整合问题。目前已提供 TiDB 与 Flink 和 Presto 的整合能力,并已应用在知乎的数据集成平台和 OLAP 分析场景中。TiDB Community TOC(Technical Oversight Committee)主席孙晓光介绍:“TiBigData 项目由知乎发起并属于整个 TiDB 社区,一方面希望能够惠及社区内有类似需求的用户,另一方面也希望发动社区的力量补全 TiDB 在大数据各项技术栈的支持能力,将 TiBigData 打造为 TiDB 在大数据领域的一站式解决方案。”
Weir
Weir 是伴鱼发起的面向分布式数据库的数据库中间件平台,现已完成 MySQL 协议支持、多租户管理、连接池、后端负载均衡、配置热加载、平台化管理等功能,在伴鱼内部开始推进业务接入。TiDB Community TOC 成员、伴鱼技术中台负责人陈现麟认为:“通过参与 TiDB 社区 Incubator 项目的方式可以快速找到志同道合的朋友,大家一起分享想法,一起协作,让开源变得更简单和有趣。”
TiDE
TiDE是一个基于流行的代码编辑器 Visual Studio Code 的 TiDB 插件,可以开发和本地/远程调试 TiDB 集群,让开发者不需要搞清楚 TiDB 的内部机制也能方便地在本地启动测试集群和实时调试编写,极大提升开发者开发和调试 TiDB 项目的体验。本项目在 TiDB Hackathon 2020 中一举夺得了二等奖与 CTO 特别奖两项殊荣。
zh.md
zh.md实现了一套中文文档分析与检测工具,基于 AST(抽象语法树)和分词,系统地对文档进行扫描与诊断,评估文档质量并对其进行优化和修复,并且基于文档分析结果,使用统计学/NLP 等工具,辅助作者写出符合风格规范的文档。本项目在 TiDB Hackathon 2020 中获得了三等奖。
Ti-Improve
Ti-Improve项目可以使用 AWS 的基础设施来进行测试 TiDB,如 S3 存储备份文件,lambda 来执行具体的测试事项,AWS codepipeline 来作为调度执行引擎,cloud watch 观测 TiDB 的表现,并且可以使用 Chaos Mesh®️ 作为注入等。本项目在 TiDB Hackathon 2020 中获得了华创资本 — 最具市场潜力奖。
以上所有孵化中的项目都托管在 TiDB Incubator Repo 下:https://github.com/tidb-incubator,欢迎更多感兴趣的小伙伴参与贡献~
如何加入孵化器?
如果你想在 TiDB 生态中孵化一个新项目,请按照下文“项目孵化过程”加入 TiDB 孵化计划。
进入孵化器的条件
- 项目必须扩展现有 TiDB 的功能或性能,属于 TiDB 生态的范畴;
有基本的项目信息文件,包括:
- README.md
- LICENSE(Apache 2)
- 源代码存储在 GitHub 上;
- 有至少 2 个 Committer;
- TiDB Community TOC 投票通过。
项目孵化的流程
申请孵化→开始孵化→项目晋升提案→毕业流程
🌟 申请孵化
第 1 步:写提案
通过 GitHub Issue 的方式向 Community repo 提交,提议中需要包含以下内容:
- 要解决的问题;
- 初始团队成员以及期望达到的成员数量;
- 预计完成时间。通常孵化项目要在 12 个月内完成;
- 与 PR 一起提交设计文档的链接,用以判断项目是否达到标准。
第 2 步:找 Mentor(可选)
Mentor 会定期查看项目的完成情况,并提供适时的指导和建议。项目孵化的申请提交后,可以在社区内寻找 1-2 个 Mentor。但这并不是必须的,如果进入孵化阶段的项目没有 mentor,TOC 会为这些项目提供帮助。
第 3 步:获得 TOC 的批准
TOC 会为申请孵化的项目组织项目答辩。根据答辩情况和项目成熟度标准,TOC 会投票决定是否通过项目孵化的申请。
第 4 步:招募成员
项目孵化的提案通过后,团队招募要在 1 周内完成。如果不能在 1 周内完成,TOC 会帮助团队的组建或推迟项目的孵化。
🌟 开始孵化
整个孵化过程都将以工作小组的形式进行,每个孵化项目都会在 tidb-incubator 组织下获得一个 repo,项目所有人要在 repo 下添加以下文件:
- README.md 文件
- LICENSE 文件(Apache 2.0)
以上文件可以点击【链接】参考相关的模板文档。
每个孵化中的项目,前 10 个月的每个月都要提交月报。月报必须是网上公开的文档,建议使用 Google Docs 来写。月报的汇报对象是项目的 mentor,如果没有 mentor,月报将作为 TOC 月度会议上的议题之一。
🌟 项目晋升提案
当大多数的项目成员都认为项目已经达到更高阶段的标准,可以与 mentor 讨论提交进入下一阶段的提案。如果 mentor 没有意见,项目所有人可以创建 pr 提出申请。TOC 会为项目组织晋升答辩。
🌟 毕业流程
项目毕业包括以下流程:
- 提交毕业 PR
- TOC 成员组织毕业答辩(如果需要)
- TOC 成员通过回复 PR 表明立场
- 相关的工作小组解散
如果毕业申请没有通过,项目将继续孵化。原则上所有孵化项目要在 12 个月内毕业,如果不能在 12 个月内毕业,TOC 有权决定是否要停止孵化这些项目。
欢迎更多优秀项目加入到 TiDB 孵化器中,来和我们一起孵化你的技术理想!如果您有任何疑问或建议,请随时通过 TiDB 社区 Slack 的 #incubator channel与我们联系。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。