写点什么

参与开源共建,你不可不知的贡献技巧

  • 2022 年 8 月 23 日
    上海
  • 本文字数:2239 字

    阅读完需:约 7 分钟

参与开源共建,你不可不知的贡献技巧

近期,在“战码先锋,PR 征集令”活动中,上百位开发者们热情踊跃地参与了活动,以提 PR 的方式为 OpenHarmony 项目贡献自己的力量。但对于开源新手来说,刚开始接触开源项目,对项目结构和文档组织结构比较陌生,不知道如何下手。针对此类问题,我们邀请了 OpenHarmony UI 框架领域 Committer Sun Fei 分享一个不可不知的贡献技巧:从认领一个 Issue 开始,成为社区贡献者。


认领 Issue 是参与贡献较为简单的方式,尤其适用于刚参与开源项目,对贡献毫无头绪的开发者。


Issue 介绍



了解 Issue,可以从阅读 Issue 的标题开始。OpenHarmony Issue 标题的普遍格式为:【系统】+【版本】+具体问题描述,读懂标题就能大致知道自己是否有兴趣来认领 Issue。


开发者们还可以在自己擅长领域的相关仓库中找到 Issue 列表。在列表中,识别自己力所能及的问题并认领,再结合代码,一步步调试并解决问题,就能为 OpenHarmony 贡献力量。此处以 arkui_ace_engine 仓库为例,列出了一些较好解决的 Issue。



认领 Issue 的流程

认领 Issue,迈出贡献的第一步。你可以找到对应的 Issue 列表,选中感兴趣的 Issue 表单并打开详情仔细阅读。以任务 #I5BE7X 为例,题目为【ShowToastOptions 的 Bottom 参数设置为 Number 类型时不生效,且文档和 SDK 不一致】,已经将问题描述的比较清楚,并将相关的系统问题截图反馈出来。



当你确认能够解决此问题时,跳转到页面最下方的对话框,输入你的想法和解决方案,点击“评论”。此时,你的评论将同步给管理员,也将得到他们的回复。如果解决方案得到管理员认可时,管理员将把 Issue 指派给你进行解决。


此时要做的和以往提 PR 贡献类似:Fork 代码仓并下载到本地——修改代码——提交 PR。除此之外,还需要在提交 PR 时与 Issue 关联。流程如下图所示:



在评论 Issue 和提交 PR 的同时,如果想实时掌握项目动态,可以点击仓库页面右上方的“watch”按钮。当自己关注的 Issue 或评论有新的反馈时,系统会及时推送消息到你的邮箱和手机。


提 Issue,共建 OpenHarmony 开源社区



在参与开源项目的过程中,难免会遇到一些自己解决不了的问题。此时,提出 Issue 也相当于在为开源项目做贡献。在【战码先锋,PR 征集令】活动中,现向开发者征集 Issues,提交 Issue 数>10 个的前 50 位开发者,即可获得战"码"先锋限量 T 恤一件。


代码仓范围

活动范围涵盖 OpenHarmony 主干仓、SIG 仓、三方库,共计 1000+个代码仓:

OpenHarmony 主库组织地址:

https://gitee.com/openharmony

OpenHarmony SIG 组织地址:

https://gitee.com/openharmony-sig

OpenHarmony 三方库组织地址:

https://gitee.com/openharmony-tpc


Issue 提交流程

1. 点击仓库中间上方的“+Issue”按钮(如下图)

2. 填写标题:【OpenHarmony 开源贡献者计划 2022】+【系统】+【版本】+具体问题描述。

3. 选择对应 Issue 分类:根据问题的具体类型,在新建 Issue 下方的栏目框内选择对应的 Issue 分类。目前主要分为:任务、需求、缺陷、安全问题四个大类。

4. 然后在对话框内详细填写:任务描述、解决方案和任务来源。(优秀示例请见下图)




优秀 Issue 示例参考:



从认领/提交一个 Issue 开始,迈出贡献第一步,成为开源贡献达人。

Issue 链接:

OpenHarmony 主库 Issue 列表:

https://gitee.com/organizations/openharmony/Issues

OpenHarmony SIG Issue 列表:

https://gitee.com/organizations/openharmony-sig/Issues

OpenHarmony 三方库 Issue 列表:

https://gitee.com/organizations/openharmony-tpc/Issues


Issue 任务列表


任务编号

I5BFFM

问题分类

Dialog

题目

监听横竖屏,当横竖屏状态变化时,自定义弹窗的 Alignment 一直不变

链接

https://gitee.com/openharmony/arkui_ace_engine/issues/I5BFFM?from=project-issue


任务编号

I5BE7X

问题分类

Toast

题目

ShowToastOptions 的 Bottom 参数设置为 Number 类型时不生效,且文档和 SDK 不一致。

链接

https://gitee.com/openharmony/arkui_ace_engine/issues/I5BE7X?from=project-issue


任务编号

I52Y05

问题分类

Input

题目

InputType.Number 类型 Bug

链接

https://gitee.com/openharmony/arkui_ace_engine/issues/I52Y05?from=project-issue


任务编号

I52WE5

问题分类

Search

题目

【Seach 组件】【RK3568】【概率-必现】Seach 组件的 PlaceholderFont 属性的 Size,Weight 参数设置无法改变默认字体样式https://gitee.com/openharmony/arkui_ace_engine/issues/I52WE5?from=project-issue

链接

https://gitee.com/openharmony/arkui_ace_engine/issues/I5BFFM?from=project-issue


任务编号

I57XJN

问题分类

Slider

题目

Slider 中设置滑块滑过的颜色(透明度较高),会透过滑块的颜色

链接

https://gitee.com/openharmony/arkui_ace_engine/issues/I57XJN?from=project-issue


任务编号

I59L1R

问题分类

List

题目

JS 中 List 组件设置 indexer="true"后,其内部的 list-item-group 不显示

链接

https://gitee.com/openharmony/arkui_ace_engine/issues/I59L1R?from=project-issue


任务编号

I58TWQ

问题分类

TextArea

题目

API9,JS 工程 FA 模板,组件 Textarea 键盘输入内容发生改变触发 Change 事件获取参数内容不准确,真机一样效果

链接

https://gitee.com/openharmony/arkui_ace_engine/issues/I58TWQ?from=project-issue


任务编号

I5AZ02

问题分类

Wrap

题目

【Flex】【RK3568】【概率-必现】组件参数 Wrap 的参数值是 Wrap 或者 WrapReverse 时,不是多行排列而是超出父容器一行排列

链接

https://gitee.com/openharmony/arkui_ace_engine/issues/I5AZ02?from=project-issue


Git 入门指导:

https://backlog.com/git-tutorial/cn/

一份给开源新手的保姆级开源百科:

https://oschina.gitee.io/opensource-guide/



用户头像

OpenHarmony开发者官方账号 2021.12.15 加入

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展

评论

发布
暂无评论
参与开源共建,你不可不知的贡献技巧_OpenHarmony_OpenHarmony开发者社区_InfoQ写作社区