@@ -114,107 +114,6 @@ IvorySQL 源码托管在 GitHub:<https://github.com/IvorySQL>。
114114
115115未签署 CLA 的 Pull Request 将无法进入评审阶段。
116116
117- == **贡献者指南**
118-
119- 在贡献之前,我们需要了解下IvorySQL目前的版本以及文档的版本。目前,我们维护着5.0等版本,我们的版本紧跟PG的更新步伐,贡献之前请更新至最新版本。之后我们需要细心浏览一下贡献的样式风格,熟悉代码贡献风格、提Issue样式、拉取PR标题样式、代码注释样式、文档贡献样式、文章贡献样式,这可以帮助您尽快成为IvorySQL的贡献者奥~。
120-
121- === 贡献前的准备
122-
123- ==== 开始
124-
125- IvorySQL是在GitHub上开发的,任何希望对其作出贡献的人都必须拥有GitHub帐户,并熟悉Git工具和工作流。还建议您遵循开发人员的邮件列表,因为一些贡献可能会在那里产生更详细的讨论。
126-
127- 如果您有GitHub帐户,fork这个存储库至您的个人仓库中,这样您就可以拥有您的私人副本来开始hacking,并将其用作拉取请求的来源。
128-
129- ==== IvorySQL贡献的许可
130-
131- 如果您提交的贡献是原创作品,那么您可以假设IvorySQL将作为整个IvorySQL版本的一部分发布给下游用户,该版本将遵循**Apache许可证2.0版本**。
132-
133- 如果您提交的内容不是原创作品,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布。***\*请注意需要满足如下条件\****:
134-
135- (1)需要给代码的用户一份Apache许可证。
136-
137- (2)如果您修改了代码,需要在被修改的文件中说明。
138-
139- (3)在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议、商标、专利声明和其他原来作者规定需要包含的说明。
140-
141- (4)如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache许可证。您可以在Notice中增加自己的许可,但不可以表现为对Apache许可证构成更改。
142-
143- 最后,请记住,从非原始的工作中删除许可标头从来都不是一个好主意。即使您使用的文件部分最初在顶部有许可标头,您也应该保留它。与往常一样,如果您不太确定您的贡献所涉及的许可问题,请随时在开发人员邮件列表中联系我们。
144-
145-
146- === 您可以做什么贡献
147-
148- ==== 贡献代码
149-
150- 可以将自己修改的bug、新增的功能等代码上传至个人仓库,最后提交PR请求合并至官网:https://github.com/IvorySQL/IvorySQL 。
151-
152- ==== 文档贡献
153-
154- IvorySQL社区提供的是中英文文档。英文文档保存在...文档存储库中,中文文档保存在i18n文档存储库中。您可以为任一文档存储库做出贡献。
155-
156- ==== 生态组件适配
157-
158- IvorySQL 作为一款基于 PostgreSQL 研发的 Oracle 兼容数据库,天然继承了 PostgreSQL 丰富的扩展生态。为了让更多的 PostgreSQL 生态组件能够在 IvorySQL 上稳定运行,IvorySQL 社区欢迎外部贡献者参与生态组件的适配工作。
159-
160- 适配工作主要包括:了解目标组件的特点、原理和使用方式,测试其在 IvorySQL 的 PG 模式和 Oracle 兼容模式下能否正常使用;最后基于上述调研与测试结果,编写一篇生态组件适配文档。详细步骤请参考生态组件适配。
161-
162- ==== 测试IvorySQL和报告问题
163-
164- GitHub
165-
166- AtomGit:https://atomgit.com/IvorySQL/IvorySQL
167- 码云
168-
169-
170- ==== 参与IvorySQL网站建设
171-
172- IvorySQL官网下载:https://github.com/IvorySQL/Ivory-www
173-
174-
175- ==== 回答邮件列表问题
176-
177- 邮件列表位于 官网下:https://lists.ivorysql.org/
178-
179- ==== 贡献文章
180-
181- 您可以在IvorySQL-WWW代码仓库自己提交至blog贡献,也可以联系我们IvorySQL小助理发送至邮箱 mailto:ivorysql@highgo.com[ivorysql@highgo.com] 。
182-
183- === 如何做出贡献
184-
185- ==== 编码指南
186-
187- 您获得反馈和看到代码合并到项目中的机会在很大程度上取决于更改的粒度。如果您的想法发生了更大的变化,我们强烈建议您在花大量时间编写代码之前,先加入开发人员的邮件列表,并与我们分享您的建议。即使您的建议得到社区的验证,我们仍然建议您将实际工作作为一系列小型的、独立的提交来完成。这使得评审员的工作更加容易,并提高了反馈的及时性。
188-
189- 当谈到IvorySQL的C和C++部分时,我们尝试遵循PostgreSQL编码约定。除此之外:
190-
191- 对于C和Perl代码,如果需要,请运行pgindent。我们建议在查看更改时使用git diff--color,这样您提交的代码中就不会出现任何虚假的空白问题。
192-
193- 所有贡献给IvorySQL的新功能都应该有与其一起贡献的回归测试覆盖。如果您不确定如何测试或记录您的工作,请在ivorysql-hackers邮件列表中提出问题,社区的开发人员将尽力帮助您。
194-
195- 至少,您应该始终运行make install check world,以确保您没有破坏任何东西。
196-
197- ==== 适用于上游PostgreSQL的更改
198-
199- 如果您正在进行的更改涉及PostgreSQL和IvorySQL之间的通用功能,则可能会要求您将其转发到PostgreSQL。这不仅是为了我们不断减少两个项目之间的差异,而且是为了让与PostgreSQL相关的任何变化都能从对上游PostgreSQL社区更广泛的审查中受益。一般来说,将这两个代码库都放在手边是个好主意,这样您就可以确定您的更改是否需要前移。
200-
201- ==== 补丁提交
202-
203- 一旦您准备好与IvorySQL核心团队和IvorySQL社区的其他成员共享您的工作,您应该将所有提交推送到从官方IvorySQL派生的您自己的存储库中,并向我们发送请求。
204-
205- ==== 补丁审查
206-
207- 假定提交的拉取请求通过验证检查,可供同行审查。同行审查是确保对IvorySQL的贡献具有高质量并与路线图和社区期望保持一致的过程。我们鼓励IvorySQL社区的每个成员审查请求并提供反馈。由于您不必成为核心团队成员就可以做到这一点,因此我们建议您向有兴趣成为IvorySQL长期贡献者的任何人提供一系列拉动式评论。
208-
209- 同行评审的一个结果可能是达成共识,即您需要以某些方式修改pull请求。GitHub允许您将其他提交推送到从中发送请求的分支中。这些额外的提交将对所有审阅者可见。
210-
211- 当同行评议收到参与者至少+1张+1和no-1张的选票时,同行评议会趋于一致。在这一点上,您应该期望核心团队成员之一将您的更改引入到项目中。
212-
213- 在补丁审查期间的任何时候,您都可能会因审查人员和核心团队成员的工作效率而遇到延迟。请耐心点,也不要气馁。如果您在几天内没有收到预期的反馈,请添加一条评论,要求更新pull请求本身,或者向邮件列表发送一封电子邮件。
214-
215- ==== 直接提交到存储库
216-
217- 有时,您会看到核心团队成员直接提交到存储库,而无需执行pull请求工作流。这仅适用于小的更改,我们使用的经验法则是:如果更改涉及任何可能导致测试失败的功能,那么它必须通过pull请求工作流。另一方面,如果更改发生在代码库的非功能部分(例如在注释块中修复打字错误),则核心团队成员可以决定直接提交到存储库。
218117
219118== **提交Issue**
220119
@@ -450,6 +349,7 @@ git push -u origin new-branch-name
450349完成文档推送后,请参考 xref:#_提交_pr[提交 PR] 章节创建 Pull Request。
451350
452351提交 PR 后,系统会自动在 PR 页面生成预览地址。贡献者可以点击预览链接查看修改后的文档效果,确认修改是否符合预期。维护团队会对 PR 进行评审,如有修改建议会在 PR 中留言,贡献者根据反馈进行修改。评审通过后,维护团队会 merge PR,文档贡献即完成。
352+
453353== **组件贡献**
454354
455355IvorySQL 作为一款基于 PostgreSQL 研发的 Oracle 兼容数据库,天然继承了 PostgreSQL 丰富的扩展生态。为了让更多的 PostgreSQL 生态组件能够在 IvorySQL 上稳定运行,IvorySQL 社区欢迎外部贡献者参与生态组件的适配工作。
0 commit comments