原文: How to Improve Your Technical Writing Skills by Contributing to Open Source Projects

你是否在 Hashnode 或者 Dev.to 上写过技术帖子,又是否总想尝试新东西呢?如果是这样的话,有一件事情能帮你一解心头之痒:为开源项目做贡献。

我知道,我知道你肯定已经无数次在 Discord 群组里或在技术相关的社交媒体帖子中听到“为开源做贡献!”的呼吁。但是相信我,身为一名技术写作者,这真的是一个你积累经验的好方式。

一方面,你能参与一些公开展示的项目,这能帮助你向技术写作专业人士展现你的能力。

另一方面,和大家的普遍认识不同,实际上编写代码并不是为开源项目做贡献的唯一方式,你也可以利用自己的写作技能帮助项目维护者进行文档优化。

除此之外,为开源项目做贡献能够帮助你学习新的技术语言和软件,而这被美国劳工统计局描述为 技术写作者的重要技能之一

还是无法说服你?没关系,在此指南中,我会探讨如何寻找需要技术写作者的开源项目,也会介绍通过技术写作能为开源项目做什么贡献,并且就如何公开展示这些贡献提出建议。

如何寻找需要技术写作贡献的开源项目

许多开源项目在文档方面都需要帮助,而你需要根据自己的兴趣、技术写作水平以及贡献机会来选择你将参与贡献的项目。

在寻找需要贡献的开源项目时,我强烈建议你向同事询问他们参与的项目。与朋友合作+参与开源项目,这难道不是一举两得吗!:) 在选择了项目之后,我建议你做这些事情:

  1. 前往项目仓库的 Issues 选项卡。
黄色箭头指向 Issues 选项卡
黄色箭头指向 Issues 选项卡
  1. 单击 Label 选项
橙色箭头指向 Label 选项
橙色箭头指向 Label 选项
  1. 在文本框中输入 "documentation",就可以啦!
documentation 显示在文本框中
"documentation" 显示在文本框中

现在如果你想寻找一些更具体的项目,我在这里列出了一些重点关注文档的开源项目:

The Good Docs Project

如果你正在寻找开源项目来积累文档写作的入门经验,我强烈建议你加入 这个群组. :) 他们有多个工作组,且关注不同类型的写作,包括创作文档模板供其他开发者在自己的开源项目中使用、优化组织的网站内容以及为社群成员已创建的模板做 QA (质量验证)。

Codecademy

如果你精通某种特定的编程语言并想向其他人分享相关知识,我强烈建议你为 Codecademy 的 文档文章 仓库做贡献。他们基于不同需求提供模板,比如为特定章节提供新条目并更新/编辑现有条目。

Astro

如果你是 Astro 的狂热用户, 那你可以在他们的 docs repo 中分享该软件的使用建议,他们的文档组非常乐于与拥有不同经验水平的成员合作。

选择项目仅仅是其中一步,接下来让我们看看技术写作者为开源项目做贡献的不同方式。

技术写作者为开源做贡献的不同方式

恭喜!你已经选择了自己的贡献项目。现在,你需要决定如何利用自己的技术写作技能做贡献。

我知道这一步很难,但不要担心。现在,我们将讨论你能做出哪些不同类型的贡献。

修改 README 文件中的拼写错误和其他语法错误

README 文件是开源项目的重要基础,其中会描述项目的目标和贡献步骤,因此 README 文件应该尽可能表达清晰。

如果你在阅读 README 文件时发现逗号缺失或者句子表述不清,你可以向项目维护者发起 issue 并进行编辑(当然,前提是他们通过你发起的 issue)。

我在刚加入 EddieHub 社区的时候就是通过这种方式做贡献。这不仅仅是一种很好的自我介绍方式,也教会我根据特定受众来定制文档。当然,这不是为开源项目做文档贡献的唯一方式,让我们来看看另外一种方式!:)

创建内部文档风格指南

这需要创建一个指南,其中将定义某个开源项目文档的写作和格式标准,从而指导贡献者有效地进行开源项目的文档写作。

在该文档中,你将看见一些诸如标点符号的正确和错误书写方式、代码块格式化的特定方法以及产品文档的语气语调等信息。

Google 开发者文档中的缩写形式 便是一个很好的例子。

在看到 Document Write 的 YouTube 频道 中 Portia 的一则视频后,我决定撰写 一份针对 EddieHub 的 Linkfree 项目的文档风格指南。她在视频中谈论了开源贡献者,尤其想要将技术写作作为职业的贡献者,如何从这些风格指南中受益。

通过创建这份风格指南,我学到以下知识:

  1. 以新的风格或语言编写: 由于 Linkfree 的主要受众来自英国,项目维护者希望使用英式英语来撰写风格指南。我之前从来没有使用过英式英语,所以需要重新学习单词的拼写、大写以及标点符号的使用,这是一个非常有趣的过程。
  2. 使用新的技术工具或框架: MDX (Markdown X) 是贡献者用于维护 Linkfree 文档的一种技术语言。简单来说,你能在 Markdown 文档中使用 JSX (让你将 HTML 代码嵌入 JavaScript 的语法)。我曾短暂地使用过 Markdown,所以我能更轻松地使用这种语言来创建文档指南。

当然,撰写风格指南也只是为开源项目做文档贡献的其中一种方式,让我们再来看看另外一种方式吧!:)

添加产品教程

如果你善于指导他人,或者你在阅读开源软件教程时发现关键信息缺失,你可以考虑通过这种方式来做贡献。

Audacity 网站上的 tutorial 章节 就是一个很好的例子,而 Audacity 是一个免费的录音及音频编辑的开源软件。

作为开源社区的新人,我发现大多数入门级的内容并没有提供关于贡献者如何在找工作或面试时利用开源贡献经验的建议。因此,我在 Github 上浏览 OpenSauced 的仓库时,发现这些内容对于他们的 Intro to Open Source 免费课程很有帮助。

于是,我将这种想法传达给了公司的用户体验经理 Bekah,创建了一个拉取请求,并且最终 它被合并啦

我强烈推荐你去做这种类型的贡献,因为练习的绝佳方式就是简化技术文档,使之便于全球不同技术水平的读者阅读。同时,这也能培养你注重细节的能力。

那么,在你着手通过参与开源贡献来积累技术写作经验之前,你现在还需要考虑一件事。

展示你的作品

当谈及展示作品的重要性时,Austin Kielon 说得最好:“展示你的作品吧”。

我想说的是,我们是大声疾呼的作者,通过文字展示内容是刻在我们骨子里的东西,那为什么不展示自己的作品呢?

你可以通过撰写博客、在社交媒体上发帖子,或者录制一集播客来展示你参与的项目。

如果你想通过一种更系统化的方式来展示作品,我推荐你使用 OpenSauced 免费的 Chrome 拓展插件。利用这款工具,你能追踪你正在做贡献以及计划做贡献的 GitHub 开源仓库。

除此之外,这款工具还具备 “Highlights” 功能,你可以选择将某些贡献发布到个人档案,并将它分享在领英和推特上。了解详细操作信息,请查阅 教程

在你参加工作面试时,这些能作为你很好的作品参考。除此,这也能为其他开源贡献者提供灵感。在将我为 Linkfree 创建的文档风格指南分享到推特后,我的一位同事非常喜欢它,所以她认为为她的项目也创建一份文档风格指南是一个不错的做法。于是在她的邀请下,[我创建了一份文档风格指南]。(https://github.com/AccessibleForAll/AccessibleWebDev/blob/main/docs-style-guide.md)! :) 所以,永远不要低估展示作品的力量!

朋友们,这就是我为你们提供的关于如何通过参与开源贡献提升技术写作能力的指南。我知道,你在真正动手做的时候可能会害怕,尤其在刚开始的时候。但是,根据这些建议来实践并保持积极的态度,我相信你会成功的!

鸣谢

UXwing 提供的开源标志

Ylivdesign 在 Dreamstime上提供的技术写作图标