跳转至

代码类贡献

在签署了CLA协议,贡献者可以找到想参与的项目或兴趣小组,开始自己的社区贡献之旅!社区贡献的方式多种多样。

发送CLA之前,首先要完成邮件列表订阅:

  1. 发空邮件至 cla+subscribe@lists.opencloudos.org
  2. 您的邮箱将收到一封来自邮件列表的电子邮件,要求您确认订阅了邮件列表,回复该电子邮件确认订阅
  3. 您的邮箱收到来自一封来自邮件列表的欢迎邮件,即成功订阅该邮件列表
  4. 给cla@lists.opencloudos.org发CLA文本邮件即可完成签署

提交和处理Issue

● 找到Issue列表:在感兴趣的repo内,点击“Issues”就可以找到其Issue列表;

● 提交Issue:如果您准备向社区上报Bug或者提交需求,或者为OpenCloudOS社区贡献自己的意见或建议,请在OpenCloudOS社区对应的repo上提交Issue;

(1)提交Issue请参考 Issue提交指南。为了吸引更广泛的注意,您也可以把Issue的链接附在邮件内,通过邮件列表发送给所有人。
(2)参与Issue内的讨论:每个Issue下面可能已经有参与者们的交流和讨论,如果您感兴趣,也可以在评论框中发表自己的意见

● 处理的Issue:如果您愿意处理其中的一个issue,可以将它分配给自己。只需要在评论框内输入 /assign或 /assign @yourself,机器人就会将问题分配给您,您的名字将显示在负责人列表里。

贡献代码

● 准备OpenCloudOS开发环境

● 了解相关项目与兴趣小组的开发注意事项

(1)每个项目与兴趣小组因历史、技术或者习惯等原因可能使用不同的编码语言、开发环境、编码约定。

(2)这些约定可参考该项目或兴趣小组的贡献者指南。该指南一般是在其repo的首页地址内,多数见CONTRIBUTING.MD文件,有时也可在该repo的README.MD文件内找到。

● 下载代码和拉分支

OpenCloudOSr使用Github.com作为首选代码托管平台。要参与代码贡献,您还需要了解在GitHub如何下载代码、提交PR、合入代码等。

● 本地修改、构建和验证: 在本地分支上进行代码修改、构建和验证,请参考构建软件包。

● 提交 Pull-Request (PR):提交PR即意味您已经开始给社区贡献代码了。请参考 OpenCloudOS 社区PR提交指导。

为了使您的提交更容易被接受,建议:

● 遵循项目与兴趣小组的编码和PR提交约定

● 尽可能提供完善的提交信息

● 建议将大型的内容分解成一系列较小的内容分别提交,以便于审核者理解、验证和支持您的贡献

审核代码

OpenCloudOS是一个开放社区,欢迎所有参与者都能成为活跃的审核者。

审核代码是项目和兴趣小组的 committer 或 maintainer 责任与权利,也是贡献者成为committer 或 maintainer 的考察指标之一。

审核者应严格遵循本社区的行为准则,本着实事求是、相互尊重、协作共赢的精神。代码审核时,可重点关注:

  1. 贡献背后的想法的合理性

  2. 贡献的架构是否正确

  3. 贡献是否完善

测试代码

测试是所有贡献者的责任。

贡献者在提交代码前应充分测试,以减少审核者以及后续系统打包、构建时的困难。在提交PR时,宜尽可能多的包括测试用例和测试结果。

代码之外的贡献

下面的列表旨在帮助非代码贡献者找到 OpenCloudOS 社区项目中可以利用代码之外的专业知识的领域。生机勃勃的OpenCloudOS社区不仅需要程序员的贡献,也需要社会各界方方面面的贡献和帮助。

社区生态工作

● 运维社区通信工具,包括联系主持社区会议等

● 共同组织社区聚会,包括OpenCloudOS开发者大会等,

● 管理社区“大事件”等,包括查看管理讨论中的事件

● 参与社区非产品文件的写作,包括但不限于社区推广、博客、视频主播等。

社区建设工作

● 社区网站设计与内容创造和管理

● 社区邮件列表monitor

特殊SIG贡献

文档资料

● 创建、维护、更新项目文档、教程、案例、demo

● 国际语言翻译

UX/UI设计 打包发布 项目管理

● 确认任务、问题等的所有权

● 管理PR,管理项目组分类和标签,编辑PR相关文本

● 为SIG等组织和帮助召开会议

开发者

● 代码仓:https://gitee.com/OpenCloudOS

● 软件包仓:https://gitee.com/src-opencloudos-rpms

● Stream仓:https://gitee.com/opencloudos-stream

● koji构建系统:https://build.opencloudos.tech/koji/