4 月 18 日,Docker 创始人 Solomon Hykes 在 Docker 主仓库中通过一个拉取请求发布了一项重大公告:“Docker 正在将其所有开源协作过渡到 Moby 项目。” docker/docker 仓库现在重定向到 moby/moby,Solomon 的拉取请求更新了项目的 README 和徽标以匹配。
来自 Docker 社区的反应绝大多数是负面的。截至撰写本文时,Moby 拉取请求在 GitHub 上获得了 7 个赞和 110 个踩。Docker 社区对这项不透明的公告感到沮丧是可以理解的,这项重要决策是由一个隐藏的内部圈子在闭门造车的情况下做出的。这是一个教科书般的“为什么没有咨询我?”案例。
“内部开源”是指在封闭组织的围墙花园内应用开源原则。Docker 在这里所做的似乎与此相反,将封闭组织原则应用于开源社区。
也许我们可以称之为“内部圈定”。
内部圈定可能是一种难以抗拒的趋势。事实上,我最近在几个我参与的开源社区中看到了它的出现,包括 Sustain 会议(主要组织者每周举行一次私人电话会议),甚至开放组织大使小组(Red Hat 编辑私下控制 Opensource.com)。这是我们都需要努力改进的事情。让我们看看可以澄清如何做得更好的四个问题。
你是谁?封闭组织公开做一些事情与开放组织私下做一些事情之间存在细微(但重要)的差异。前者自然会倾向于做出封闭的决策,除非该组织在特定情况下公开运营有其他动机。但是,您越认同您的社区,在您认为决策已解决之前,审查大小决策就会变得越自然。您将您的身份定位在哪里?在开放的社区中?还是在封闭的门后与内部圈子?
你为什么做出这个决定?即使是开放组织也必须私下做出一些决定。例如,在 Gratipay,我们已确定“法律、安全、安保和支持事宜”是开放决策规则的例外。但是,当公开宣布一项封闭决策时,解释您决策背后的思考过程将有助于您的社区接受您的决定。当 Gratipay 因法律不确定性而不得不重启时,我们花费了大量篇幅向社区解释复杂的法律问题。是的,这需要大量工作。但这对于维护甚至增强社区的信任是值得的。
Docker 有一些充分的理由将其开源项目重命名为 Moby,并且私下做出决定甚至可能是合理的。例如,将 Gittip 重命名为 Gratipay 需要两次史诗般的无休止的争论。对于像 Docker 这样规模的社区,公开对话可能会变得难以管理(尽管 Mozilla 最近的开放品牌重塑表明情况并非如此)。即使只是几句诚实的解释也可能将一些反对票变成赞成票。
你在哪里做决定?让我们假设 Docker 到 Moby 的决策是公开做出的(拉取请求实际上并没有说明)。它在哪里被讨论?在邮件列表中?另一个 GitHub 问题?Google Hangout?一个清楚标记为“更多详情”的链接使有动力的个人能够进行自己的研究并回答自己的问题。这也有助于人们更好地了解他们应该关注哪里,以避免将来出现意外。
你如何做决定?指向来源的链接(或缺乏链接)给出了一些关于您的组织如何做决定的隐含线索,但是,借用 Python 之禅 的话,“显式优于隐式。”Jono Bacon 的书《社区的艺术》包括一整章关于治理和决策的内容。最近在平台合作主义运动中的会议和书籍一直在探索合作治理模式与开源之间的关系。无论如何,设定关于如何做出决策的明确期望可以建立信任。
一旦尘埃落定,将 Docker 开源项目重塑品牌为 Moby 可能会被证明是一个不错的决定。但是,更开放的决策过程本来可以在一开始就减少尘埃。如果 Docker 避免“内部圈定”——将封闭的决策制定引入开放社区——他们的品牌重塑本可以成为信任的来源,而不是紧张的来源。
5 条评论