上世纪 70 年代, IBM 发明了关系型数据库但是随着现在移动互联网的发展, 接入设备越来越多, 数据量越来越大, 业务越来越复杂, 传统的数据库显然已经不能满足海量数据存储的需求虽然目前市场上也不乏分布式数据库模型, 但没有品位的文艺青年不是好工程师, 我们觉得, 不, 这些方案都不是我们想要的, 它们不够美, 鲜少能够把分布式事务与弹性扩展做到完美
受 Google Spanner/F1 的启发, 一款从一开始就选择了开源道路的 TiDB 诞生了 它是一款代表未来的新型分布式 NewSQL 数据库, 它可以随着数据增长而无缝水平扩展, 只需要通过增加更多的机器来满足业务增长需求, 应用层可以不用关心存储的容量和吞吐, 用东旭的话说就是他自己会生长
在开源的世界里, TiDB 和 TiKV 吸引了更多的具有极客气质的开发者, 目前已经拥有超过 9000 个 Star 和 100 个 Contributor, 这已然是一个世界顶级开源项目的水准而成就了这一切的, 则是来自社区的力量
最近我们收到了很多封这样的邮件和留言, 大家说:
谢谢你们, 使得旁人也能接触大型开源项目本身自己是 DBA, 对数据库方面较干兴趣, 也希望自己能逐步深入数据库领域, 深入 TiDB, 为 TiDB 社区贡献更多更有价值的力量
我是一个在校学生, 刚刚收到邮件说我成为了 TiDB 的 Contributor, 这让我觉得当初没听父母的话坚持了自己喜欢的计算机技术, 是个正确的选择, 但我还需要更多的历练, 直到能完整地展现表达我的思维
这让我感触颇多, 因为, 应该是我们感谢你们才是啊, 没有社区, 一个开源项目就成不了一股清泉甚至一汪海洋
公司的小姑娘说, 她觉得还有很多的人想要参与进来的, 可工程师团队欠缺平易近人的表达, 这个得改
于是便有了这篇文章以及未来的多篇文章和活动, 我们欢迎所有的具有气质的开发者能和 TiDB 一起成长, 一起见证数据库领域的革新, 改变世界这事儿有时候也不那么难
我要重点感谢今天这篇文章的作者, 来自社区的朱武 (GitHub ID:viile) 小卢 (GitHub ID:lwhhhh ) 和杨文(GitHub ID: yangwenmai), 当在 TiDB Contributor Club 里提到想要做这件事的时候, 是他们踊跃地加入了 TiDB Tech Writer 的队伍, 高效又专业地完成了下文的编辑, 谢谢你们
一个典型的开源项目是由什么组成的
The Community(社区)
一个项目经常会有一个围绕着它的社区, 这个社区由各个承担不同角色的用户组成
项目的拥有者: 在他们账号中创建项目并拥有它的用户或者组织
维护者和合作者: 主要做项目相关的工作和推动项目发展, 通常情况下拥有者和维护者是同一个人, 他们拥有仓库的写入权限
贡献者: 发起拉取请求 (pull request) 并且被合并到项目里面的人
社区成员: 对项目非常关心, 并且在关于项目的特性以及 pull requests 的讨论中非常活跃的人
The Docs(文档)
项目中经常出现的文件有:
Readme: 几乎所有的 GitHub 项目都包含一个 README.md 文件, readme 文件提供了一些项目的详细信息, 包括如何使用, 如何构建有时候也会告诉你如何成为贡献者
TiDB Readme https://github.com/pingcap/tidb/blob/master/README.md(点击阅读原文, 观看支持链接跳转的版本, 下同)
Contributing: 项目以及项目的维护者各式各样, 所以参与贡献的最佳方式也不尽相同如果你想成为贡献者的话, 那么你要先阅读那些有 CONTRIBUTING 标签的文档 Contributing 文档会详细介绍了项目的维护者希望得到哪些补丁或者是新增的特性文件里也可以包含需要写哪些测试, 代码风格, 或者是哪些地方需要增加补丁之类的内容
TiDB Contributing 文档 https://github.com/pingcap/tidb/blob/master/CONTRIBUTING.md
License:LICENSE 文件就是这个开源项目的许可证一个开源项目会告知用户他们可以做什么, 不可做什么(比如: 使用, 修改, 重新分发), 以及贡献者允许其他人做哪些事开源许可证有多种, 你可以在认识各种开源协议及其关系了解更多关于开源许可证的信息
TiDB 遵循 Apache-2.0 Lincense https://github.com/pingcap/tidb/tree/master/LICENSES
TiKV 遵循 Apache-2.0 Lincense https://github.com/pingcap/tikv/blob/master/LICENSE
Documentation and Wikis: 许多大型项目不会只通过自述文件去引导用户如何使用在这些项目中你经常可以找到通往其他文件的超链接, 或者是在仓库中找到一个叫做 docs 的文件夹
TiDB Docs https://github.com/pingcap/tidb/tree/master/docs
来源: http://www.bubuko.com/infodetail-2496104.html