启动一个新的开源项目可能很困难。你的脑海中有一个很棒的想法,但要将其变成一个高效、健康、引人入胜的社区需要付出努力。可悲的是(似乎在几乎所有事情上都是如此),新项目一遍又一遍地犯着相同的错误。
以下是一些开源项目最常犯的错误,以及我关于如何避免这些错误的建议。
1. 光说不做
在成千上万个启动的开源项目中,有太多的项目在一开始就陷入困境,因为在 Slack 频道、邮件列表、问题或其他地方进行了大量讨论。讨论在家中来回弹跳,范围往往越来越大,以纳入许多不同的想法和考虑因素。
早期开源原则——“尽早发布,经常发布”——对我们很有帮助。与其试图解决所有挑战,不如编写代码,将其放入仓库,并开始接受拉取请求。当专注于代码时,你的项目将更快地发展、适应和改进。
2. 试图发布完美的第一个版本
LinkedIn 的创始人 Reid Hoffman 曾经说过一句名言:“如果你没有对你的产品的第一个版本感到尴尬,那么你发布得太晚了。”
这在新开源项目中尤其如此。试图使你的第一个版本,甚至 1.0 版本,尽可能完美可能很诱人。但事实是:大多数人不会注意到你的第一个版本,所以它真的不需要完美。
人们会在开源项目发展过程中注意到、使用和参与其中。开始发布,获得反馈,进行改进,并发布这些改进。这就是你建立增长的方式。
3. 试图构建完美的基础设施
我在新的开源项目中看到的一个常见模式是,他们希望确保基础设施——网站、协作平台(例如 GitHub/GitLab)、持续集成和持续部署 (CI/CD) 以及其他一切——尽可能完美。这可能会导致拥有相当一部分准备发布的代码,但项目创始人却对发布感到不安,因为他们担心其他不太标准的 инфраструктура 部分看起来有点蹩脚。
网站就是一个经典的例子。一些项目会推迟发布,直到一个功能齐全、设计精良的网站到位。不要这样做。
专注于建立足够的基础设施,以便能够协作构建软件。发布你的软件,提高知名度——这将为你的社区带来增长。随着你建立增长,你将获得更多人手来帮助完善你的基础设施。
4. 不执行行为准则
近年来,多元化和包容性问题浮出水面。自然,我们希望确保我们的社区是多元化和包容性的。无论这是否是正确的事情,多元化的社区都能带来更好的结果。
许多社区在启动时没有考虑他们希望看到什么样的行为。对于许多人来说,社区应该是快乐、有趣、引人入胜和包容的,这是理所当然的。
一些项目通过制定行为准则并将其发布在他们的网站上来正式化这一点。但这还不够。执行良好行为的方式是确保项目的领导者践行良好行为。始终将不良行为扼杀在萌芽状态。不要只是试图忽视不良行为,因为它会逐渐恶化。同样,如果人们犯了错误,也不要羞辱他们。通常,友好、私下地用几句话要求人们更加尊重就可以解决问题。
5. 失去焦点
我知道,我知道,现在听起来开始像工作了,对吧?但说真的,虽然开源的主要乐趣之一是无限的创造潜力,但许多项目步履蹒跚或关闭,因为他们将自己和他们的焦点分散得太薄。
不要试图成为所有人的所有事物。随着你的项目逐渐起步,将会收到来自热心用户的数百万个请求。保持专注于你的目标,但始终鼓励人们加入项目并扩展其焦点和潜力。
但重要的是,虽然“欢迎补丁!”是对愿望清单的常见回应,但不要仅仅寻找补丁,还要寻找维护者。你最不想做的事情是为别人的工作维护技术债务。
6. 在太多地方进行太多讨论
我们周围有大量的通信平台,例如 Slack、Mattermost、邮件列表、IRC、论坛、问题、视频会议等等。在所有这些地方都露面以确保每个人都参与进来可能很诱人。这是一个错误。
正如我在关于沟通的喧嚣中所讨论的那样,有不同类型的沟通渠道,我将其大致分为结构化渠道和非结构化渠道。
我推荐以下指南
- 所有错误和技术讨论都放在 GitHub/GitLab 问题中
- 在 Discourse 驱动的论坛上建立一个通用的“社区俱乐部”
- 建立一个实时聊天频道,人们可以在其中进行快速和非正式的讨论
每个频道都有不同的用途,并非所有频道都是必不可少的。问题是最重要的,其次是其他频道。
再次强调,保持专注,并将讨论保持在相当集中的位置,这将建立势头。
7. 太过严肃
最后,这一切都应该是为了乐趣。太多的项目把自己看得有点太严肃了。始终专注于享受乐趣,在社区成员之间建立良好的关系,并互相逗乐。
开源的结构建立在积极参与、具有创新精神的社区成员的基础上,他们具有将新想法付诸行动的创造力。始终保持这种敏捷和创新的精神。这将有助于你的项目蓬勃发展。
祝你好运,如果你对新项目应该避免的其他错误有其他想法和建议,请在评论中分享。
16 条评论