什么是Greenplum
Greenplum是目前最先进的开源MPP(大规模并行处理)架构的数据仓库,它在最先进的开源数据库的Postgres的基础上,提供了分布式并行处理的能力以及各种高级的大数据分析工具。它可以轻易处理PB级别海量数据的复杂SQL查询,并且提供了强大的开源优化引擎(ORCA)及开源大数据分析工具(Madlib)。Greenplum自2015年底开源以来以来,至今已经有3万多个代码提交,每天都源源不断不断有新的Pull Request和Commit出现。从最开始闭源版本4.3的fork,到如今完成了Postgres 9.0的合并,Greenplum代码库不断稳定完善。
向Greenplum贡献代码 有什么好处
Pivotal有全球顶级的Postgres代码贡献者工作在Greenplum上,向Greenplum提交代码,你会与顶尖极客近距离高水平切磋交流。
Greenplum有数据库领域领先的技术架构和专业积累,有最先进的开源优化引擎和大数据分析工具,向Greenplum提交代码,你会站在巨人的肩膀上俯瞰众山小。
Greenplum的产品广泛运行在全球顶尖的优秀企业,向Greenplum提交代码,你为整个社会的进步贡献力量。
Greenplum有严格的代码规范和提交审查,向Greenplum提交代码,你向全世界证明自己的技术实力。
如何向Greenplum提交代码
Greenplum源码位于github的代码仓库上(https://github.com/greenplum-db/gpdb),提交代码只需要三个步骤:
• Fork
Greenplum的代码目前有700+个fork,只需轻轻点击右上角的fork按钮,包含完整历史的Greenplum源代码就出现在你的个人repo中。
• 修改提交
拥有整份代码之后,你可以用你喜欢的编辑器或者IDE进行修改,验证。当Greenplum源码里包含的测试都通过以后,就可以把改动提交到你的repo上。
• 发送Pull Request
Greenplum通过Pull request接收修改,并通过持续集成的方式测试每个提交。每个Pull Request都会触发测试,我们叫它PR Pipeline。与此同时,所有人都会看到你的Pull Request并进行Review。
测试和review都通过以后,恭喜你,你贡献的代码被正式合并到了Greenplum的主线里!
从哪里开始
尽管Greenplum的每个模块都有专门的开发团队负责维护,但毕竟由于精力有限,有很多Github上的Issue会得不到及时的修复。我们会定期更新issue的相关信息,对一些问题清晰明确但目前没有精力来修复的问题,我们会为其加上help wanted标签,这类issue非常欢迎你的参与。
此外,Greenplum作为开源数据库,在使用中避免不了会出现bug。如果在你特定环境下运行特定的任务出现了bug,我们非常欢迎你就地修复它,并感激相应的Pull Request。对此,我们也非常乐意提供必要的支持和帮助。
为何签署CLA协议
任何人向Greenplum提交代码,都必须签署一份CLA(Contributor Licence Agreements)协议,那么这份CLA协议究竟是什么目的?首先,对你提交的代码,你永远是代码的原作者和拥有者。这份协议不会影响你作为原作者的任何权力,不会阻止你把你的代码用于任何其它目的。它需要你授权的是,允许Greenplum的管理机构(Pivotal,基金会等)有权对你贡献的代码做重新发布。如果里面包含相应的专利,你也将专利使用权授予了Greenplum的管理机构。关于协议具体细节,可以参考下面这几个连接。
1. https://cla.pivotal.io/about
2. https://github.com/greenplum-db/gpdb/wiki/Greenplum-Database-project-contributions-FAQ
3. http://oss-watch.ac.uk/resources/cla
领取专属 10元无门槛券
私享最新 技术干货