将开源引入网络的 7 个技巧

还没有读者喜欢这个。
Two different business organization charts

Opensource.com

向开放软件定义网络 (SDN) 的转变意味着越来越多的网络硬件元素现在由软件控制。 随着频率的增加,该软件是开源的。

互连格局的变化不适合旧的、静态的客户端-服务器模型,并且网络不仅仅是组织和传递数据,而是关于对话和协作。 社区是 SDN 必要且极其富有成效的一部分。 它们激发了生成性的对话,迫使我们在开发路线上保持灵活性和适应性,并让每个社区成员在测试、修复和提交代码时都有一种投入感。

我认为给您一些创建开源社区的技巧来与您的 SDN 或网络硬件交互会很有帮助。 我将这些技巧分为两个部分:吸引和维护。 毕竟,如果一个社区不能持久存在,那么建立它又有什么用呢?

吸引

让自己走出去

当您试图吸引人们加入您的社区时,重要的是向他们展示为什么您的产品有价值且令人兴奋。 您可以通过多种方式做到这一点,但在大会和聚会上进行演示是让很多人关注您正在做的事情的好方法。 如果您可以让他们亲自动手,那就更好了。

宣传总是有帮助的,但这有点像先有鸡还是先有蛋的情况(先有宣传还是先有社区?)。 因此,请确保您也参与到其他社区中。 这样,您可以表达您对其他开发人员正在做的事情的兴趣,并让他们将一个真实的人与您一直在做的事情联系起来。 个性化、透明度和诚实是激发人们对您所开发的东西感兴趣的重要方面。 很多人都渴望帮助一个人修复错误,但他们可能对帮助一个没有人情味的标志不感兴趣。

将硬件发布出去

好吧,也许不是硬件(那可能会很贵),但尽量至少提供盒子或软件的虚拟映像,作为一种相对便宜的方式,让人们针对您的平台进行开发。 我们的想法是将功能交付给(潜在的)社区,以引起兴趣并激发个人投入。 在某个时候让他们获得实际硬件是必要的,但这实际上是不可扩展的。 考虑创建原始磁盘映像,这些映像可以进入他们正在使用的任何虚拟化管理结构。 即使您没有自己提供映像,您也可以提供指向它的链接,让感兴趣的各方开始在其上构建。 在这个阶段,易于访问和简化交互是最重要的因素,因此请考虑支持各种容器,例如 docker 和 rkt (rocket)。

准备好文档

每个人都知道一遍又一遍地被问到相同的问题是很烦人的,因此请确保您提供一个空间来放置简单明了的说明。 讨论区、常见问题解答和清晰的入职流程都将为每个人节省与每个新成员重复相同要点的麻烦。 如果您可以编译关于如何入门的易于阅读的信息(CloudRouter 入门),这将真正有助于缓解新成员的痛苦。 一旦他们准备好开始提交拉取请求,请确保您已标准化该过程。 大多数开源项目都转向 GitHub 进行拉取请求模型。 您可以在这里找到我们的 -CloudRouter 拉取请求—如果您想了解我们是如何处理的。

与您的社区互动

一旦您建立了一群有兴趣与您一起开发您正在开发的东西的人,请确保您不要消失。 遇到沉默的社区会很快消散,因此当社区规模较小时,提供支持至关重要。 随着社区的壮大,社区成员将更有可能互相帮助,但在早期阶段,您需要确保您在那里为他们服务。 进入讨论区,与他们合作,并在环境中积极主动。

维护

激励贡献

这是与社区互动的一部分,但我将其放在这里是因为保持对您的产品的兴趣非常重要; 一旦您吸引了成员,就不能自满。 有很多方法可以激励成员,但一个好方法是提供挑战。 这样,当您对某人的技能或热情印象特别深刻时,您可以使用我们之前谈到的硬件奖励他们。 它必须在某个时候交付到用户手中,因此这不仅重振了社区,而且还使您可以定位那些最有效地与硬件互动的成员。 您还可以通过电子邮件列表、博客等方式让成员保持更新,但这里的核心思想是互惠——他们正在为您付出,那么您又在为他们付出什么呢? 向社区索取东西是不明智的,但您应该能够以一种有机的、协作的方式引导他们朝着富有成效的目标前进。

促使多样性

多样性是开源社区中最难实现的目标之一,但也是最有价值的目标之一。 感兴趣的人们经常认为您只是在寻找编码人员,虽然编码人员当然很重要,但可以充当图书管理员或协助文档、测试和验证的人员也很重要。 开源是一种精英管理制度,成功添加代码的重要性是理所当然的,但也许我们需要花点时间——无论是在论坛还是博客中——来欣赏那些为社区不太引人注目的方面做出贡献的成员。 图书管理员们:向你们致敬!

培养积极性

维护社区的一部分是欢迎新成员。 这似乎应该属于上面的“吸引”部分,但我想说的是如何防止社区变得消极和狭隘。 社区的帮助和热情友好的氛围意味着减少了闯入社区的恐惧,这反过来意味着更多的社交可能性。

总会有寄生虫,有些人只是想表现得刻薄来显得优越,但重要的是快速处理他们——他们必须被清除掉。 通常,您可以通过提供(或要求成员提供)清晰简洁的说明和文档来减轻消极情绪,以减少入门级问题引起的挫败感,但重要的是要有一个清晰的行为准则,就像我们社区部分中的那样。 同样,不可能让所有的寄生虫都远离(想想如果您举办家庭聚会并敞开大门,谁会来),但如果您快速处理它,其余成员可以继续享受聚会。

我从事开源工作很长时间了,这些技巧是我在尝试建立社区时发现最有帮助的。 如果我要尝试总结一切,我可能会说,“保持开放”。 我知道这听起来很简单,但这就是互连的全部意义所在。 想想“网络”这个词。 它是关于开放、结识朋友和交流信息,以便创造更有用的产品。

标签
User profile image.
Jay Turner 是 CloudRouter 项目的负责人,该项目是网络协作和创新的领先开源项目。 Jay 在开源软件方面拥有超过 20 年的领导经验,包括开发、质量风险评估、运营和支持。

评论已关闭。

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.