从 GitHub 2021 年度报告谈开源技术项目的文档问题
最近, Github发布了它每年一度的分析报告,https://octoverse.github.com/,内容很丰富,国内各大技术媒体也都有相关的报道,他们各有各的解读,有的是从中美开发者数量来解读,例如中国开发者数量约为700万;有的是从开发语言流行度来解读,比如最流行的开发语言还是JavaScript。我现在想从另外一个角度来解读这份报告,即documentation 文档。
这份报告里面有一个特定的部分是描述文档相关的统计情况和发展趋势。我们来仔细看一看。
首先是概述,repo中的Readme,Contribution guidelines and issues 是一个开源项目的秘密,保持它们update to date、detail、reliable,能提升开发人员50%的生产力。
我们先来看Readme文档部分,Report的overview中提到readme文档的重要性。
从统计图能看出,85%以上的开源项目都有了Readme文档。
然后我们来看Contribution Guidelines,显然越来越多的开源项目中有这份文档。
之后,Report也提到了Issue, issue也是很重要的文档,其中被标签为“Good First Issue”的issue是项目特意标出、
适合给new comer来完成第一个contribution的issue,Report表明repo如果“Good First Issue”的比例超过40%,能多获得21%的新贡献者。
最后,报告里说“Documentation is good for productivity and culture - it's a win-win”。
ok,对于报告的解读已经告一段落,那么对于一个开源项目来说,究竟哪些文档是必不可少的,而且这些文档最低限度需要达到什么质量要求呢?
带着这个问题,我组织了一个workingroup,邀请了KubeSphere社区的周鹏飞同学,和StreamNative社区的Yu和Jennifer同学,经过讨论和协作,大家一起完成一份文档即《开源技术项目的文档指南》,链接在这里---https://github.com/CommunityLeadershipDevelopment/doc_guide.
我们认为,一个希望进行社区协作的开源技术项目,至少需要如下4份文档:
- Readme: 用于描述项目的最基本信息,并用于链接到其他重要信息
- Quick Start:用于让用户在10分钟内体验到该技术项目的一个场景,从而让用户持续深入进去
- Contributing Guide:描述给这个项目做贡献相关的步骤和方法
- Code of Conduct:用于规定社区协作的最基本礼仪
其中每个文档指南都有自己最基本的质量要求,比如Readme文档需要包含项目介绍,和到QuickStart,Contributing Guide,Code of Conduct,License的链接,项目介绍需要通俗易懂;Quick Start文档需要包含如下模块和具体步骤:使用软件的先决条件,如何下载,如何安装,如何使用,文档需要易使用,易查找,易理解等。
这个文档指南的使用场景如下:
- 开源项目的负责人可以参考此文档,检查自己的开源技术项目是否已有这些文档,这些文档是否达到本指南的各个质量要求
- 开源项目的文档负责人可以参考此文档,把这些文档作为自己项目的文档模版,按需增补自己项目的特定内容,从而快速达到文档完备的基本要求
- 本指南作为开放原子基金会TOC的工作文档一部分,作为导师帮助孵化项目达到文档质量要求的参考和Checklist
- 作为开源项目技术传播社区(包括布道,文档等)的一个初始产出
目前这份指南已经出了1.0版本,也希望国内开源项目的同学可以一起来参与和讨论。
https://github.com/CommunityLeadershipDevelopment/doc_guide.
而且checklist已经正式作为开放原子开源基金会的导师工作手册的一部分,将帮助基金会内孵化项目的导师来进行项目文档质量的check。
另外,开源项目技术传播社区的二维码如下,欢迎大家扫码加入,和我们一起讨论开源项目技术传播的事情,包括技术文档协作,技术线上和线下布道等等。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
GO 语言通用代码生成器:仙童,公布冒烟测试版 6
GO语言通用代码生成器:仙童,已公布冒烟测试版6。在冒烟测试版5的基础上,有更多测试和修错。并开始支持MariaDB和MySQL8两种数据库。更多惊喜等着您去发现。 仙童的项目地址:https://gitee.com/jerryshensjf/Fairchild Go语言通用代码生成器:仙童 简介 Go语言通用代码生成器:仙童 架构 基于Java通用代码生成器:光的架构。 生成的代码基于go语言,使用gin作为web框架。目前支持MariaDB和MYSQL8数据库。 代码生成物 请参考:https://gitee.com/jerryshensjf/GirlOnly 代码生成器截图 代码生成器正在研发中,本月内会完成第一个尝鲜版。 冒烟测试版本下载 请去https://gitee.com/jerryshensjf/InfinityJEEEU/attach_files 代码生成物截图 B站介绍视频 https://www.bilibili.com/video/BV1hh41147pA/ https://www.bilibili.com/video/BV1pR4y147Pd/
- 下一篇
JetBrains 推出全新 IDE —— Fleet
多年来,我们一直被问到:“JetBrains 什么时候会创建一个轻量级编辑器?” 今天,我们很高兴宣布—— Fleet,一个有一点不一样的轻量级编辑器! 🔗 https://www.jetbrains.com/zh-cn/fleet/ 当您第一次启动 Fleet 时,它会作为一个功能齐全的编辑器启动,具有语法高亮显示、简单的代码补全以及您对一个编辑器期待的所有功能。但还不止如此! Fleet 还是一个功能齐全的 IDE! 具有智能补全、重构、导航、调试以及 IDE 中一直存在的所有功能。更重要的是,点击一键即可使用所有这些功能。 Fleet 是从头开始构建的,拥有全新的架构和用户界面。让我们深入了解 Fleet! Fleet 是适用于多语言的 开发者通常在不同的项目中会使用到不同的技术,有时在单个项目中也会使用不同的技术。在 JetBrains,我们一直致力于充分利用用户所使用的环境的知识。这也是为什么我们现有的所有 IDE 都基于相同的核心平台。 因为 Fleet,我们又向前迈进了一步,用了这些知识创建一个单一的 IDE。您不再需要打开不同的 IDE 来获得特定技术所需的功能。使用...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器