Py学习  »  Git

GitHub 邀您加入拥有 5600 万开发者的新社区

HelloGitHub • 3 年前 • 296 次点击  



作者 | Coco



01

 GitHub 上的新社区

“世界各地的人们都在拥抱开源和 GitHub。GitHub 不仅是代码开发者的家,也成了各行各业的人们工作、学习、与社区互动、为开源作贡献的平台。” —— GitHub 2020 年度报告

GitHub 是全球最大的开发者平台,也是一个社区型的代码项目协作平台。


GitHub 的最新数据显示,GitHub 在全球范围内已有 5600 万开发者用户(中国用户数位列第二,仅次于美国),近一年内产生了 19 亿次贡献。


这些贡献的大多数,都来自开源社区。


开源,意味着同社区一起互动、学习、创造。但 GitHub 是否适合作为开源社区的大本营,组织社区成员进行互动、学习、创造?


此前,GitHub 只提供 Issues、Pull Requests 功能进行社区的互动交流。


这两种页面都是
线性组织的,适合快速合并代码,但不适合多线程的沟通社区知识库的积累而 GitHub 的 wiki 功能则相对较重,不适合碎片化优质内容的积累。


因此得出结论:


此前,GitHub 本身并不能很好地支撑开源社区的基础设施建设


这就导致了,围绕项目产生的社区分散在互联网各个区域


拿一个代码项目举例:


  • 项目的日常交流可能在 Gitter(一款即时聊天工具)、Slack、微信上

  • 项目使用问题可能在 Stack Overflow、GitHub Issues 上

  • 具体事项的讨论可能在自建的论坛、Google Groups 上

  • 社区相关的公告可能在 wiki、公司官网的新闻公告上……


如此“分布式”的互动,容易导致社区的松散、无组织:一方面很多优质的讨论和内容流落在外,另一方面为新成员融入社区平添了许多摩擦。


如果你也有同感,现在可以松一口气了。


因为 GitHub 近期提供了 Discussions 讨论区功能,将“流落在外”的社区重新聚集起来,带回了离源代码更近的地方——项目仓本身


02

 Discussions 功能简介

“软件社区的成员不只在一起写代码。他们还能一起头脑风暴出新想法、新功能,帮助小白用户快速上手,探索软件的最佳实践。社区需要自己的互动空间,这就是 Discussions 的意义。” —— 某 Hacker News 用户

Discussions 是 GitHub 今年年初推出的内测功能:讨论区


该功能于 12 月 8 号正式开放公测,任何项目都可以开启这个功能。


目前,每个公共仓库都可以在 Settings/Options/Features/Discussions 处启用该功能。

启用 Discussions 功能的设置页面


启用后,Discussions(讨论区)作为仓库的一个独立区域(下图红框位置),用于社区成员问答互动,类似于论坛。

Next.js 项目的 Discussions 首页


单个 Discussion 页面与 Issue 页面很相像,但 Discussions 还提供以下新功能:


  • 支持自定义 Discussions 的分类(比如可以有问答区、脑洞区、新项目展示区、求助区等)

  • 支持将已有的 Issues 迁移成 Discussions

  • 支持将某个回复标记为答案(类似于 Stack Overflow)

  • 支持开启对话的 thread(类似于 Slack)

  • 支持在 Discussions 首页固定最多 4 个讨论(可作为官方公告栏)


用户的问题解决路径原来是这样的:

项目使用过程中碰到问题 -> Google -> Stack Overflow 或 GitHub Issues -> 如果没有答案,则新建问题


现在也许是这样的:

项目使用过程中碰到问题 -> 搜索项目的 Discussions -> 如果没有答案,则新建 Discussion


Discussions(讨论区)成用户第一时间寻求解决方案的地方,拉近了开发者和使用者的距离


03

 GitHub 社区新形态展望

好的社区不仅要让贡献者持续增长和参与,还必须尽量减轻项目维护者的负担。 —— GitHub 2020 年度报告

有了 Discussions,未来的 GitHub 开源社区将呈现何种新形态?


这个问题目前很难回答,但我们可以看看从年初就开始内测 Discussions 功能的项目,或许能一探未来的趋势


今年 3 月,Office 365 CLI 项目宣布解散他们的 Gitter 论坛,以后所有的讨论都迁移至 Discussions:

Office 365 CLI 解散 Gitter 论坛的官推


Next.js 仓库今年 1 月开始使用 Discussions,截至 10 月,已使用超过 3000 个 Discussions 进行交流协作。并且,在过去的一年中,向仓库做出贡献的人中近半数都使用了 Discussions。(数据来自 GitHub 2020 年度报告)


Next.js 仓库甚至将 RFC (Request for Comments) 从 Issues 迁至了 Discussions,方便社区成员第一时间参与到新功能的讨论中(瞧瞧评论区的反响,这才是“活生生”、“有人气”的社区啊!):

Discussions 版块下创建的 RFC 页面


目前 Next.js 仓库首页对社区的导流只有两处:一个是 GitHub Discussions,另一个是 Discord(轻量的聊天应用)。前者用于提问、分享新想法和新项目,后者用于与社区成员聊天。

Next.js 仓库首页对社区的引流


从上面的例子可以看出,社区正朝着统一化的方向在发展。


统一平台的社区管理方式,不仅能降低社区成员的参与成本,也能在一定程度上减轻项目维护者的运营压力。


因此,我斗胆在这展望下日后的开源社区形态:


All in GitHub


  • GitHub Issues:用于收集 bug 和待开发的新功能

  • GitHub Discussions:用于发布三类信息 (1) 新功能的 RFC;(2) 帮助和公告信息,如贡献指南、代码规范、社区活动的宣传等;(3) 日常的问答与交流

  • GitHub Projects:用于追踪开发进度、社区成员可以参与协作

  • GitHub Pull Requests:用于提交代码、社区成员可以参与审校


Discussions 让项目信息的发布变得更快捷集中、民主


社区成员留下的每一条问答,都是对社区知识库的贡献;他们在 RFC 讨论区留下的每一个👍,都真正参与了项目的决策。


每个开源项目的作者,或许都梦想过拥有一个活跃、自治、贡献度高的开源社区,加速项目的高质量迭代。


现在,我们离这个梦,似乎又更近了一步。


04

 结束语


毋庸置疑,GitHub 是一款非常棒的产品。自 2018 年被微软收购后,推出了更多走心、实用的功能。


作为一名 GitHub 的产品粉,我由衷地感到欣慰,GitHub 仍在积极地重新定义产品的边界,不断推出让千万用户眼前一亮的新功能。


但在 Hacker News 上,许多开发者对 GitHub 王国的「版块扩张」表示担忧


2008 年,新功能 Pages 发布,与诸多网站托管平台对线

2016 年,新功能 Projects 发布,与 Trello、Waffle 对线

2018 年,新功能 Actions 发布,与 Travis、CircleCI 对线

2019 年,新功能 Sponsors 发布,与 Patreon 对线

2020 年,新功能 Discussions 发布,与 Stack Overflow 对线


GitHub 在性能和 UI 方面做得很好,用户很难抗拒在同一平台上把这些事全做了。


但在长远看来,平台建立垄断性优势,对用户来说未必是件好事


目前看来,对于普通的项目作者和用户,利肯定远远大于弊。至于未来如何,让我们拭目以待吧,也可以在留言区留下你的看法


最后,点击下方「阅读原文」,移步至 HelloGitHub 项目的 Discussion 在那儿体验这个新功能。





关注公众号第一时间收到更新

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/100121
 
296 次点击