今天,我了解到Lerna项目在其项目的MIT许可证中添加了注释 ,由于与这些组织的政治选择存在分歧,因此禁止在众多组织中使用该产品。
作为开放源代码定义的合著者之一,我陈述了一个事实:添加此代码后,Lerna许可证不再与此定义兼容。 特别是违反了与第五款(“不歧视个人或群体”)的兼容性。
因此,Lerna已从开源社区退居一步,任何重视此社区健康的人都应避免。 在取消更改之前,我不会为这个项目做出贡献,并鼓励其他人不要这样做。
我们在《开源的良好源定义》中写了第五段。 如果像Lerna这样的例外和临界点成为惯例,这将在重新使用代码的道德甚至合法性方面造成很多不确定性。 假设我要摘录一段Lerna代码,并在一个项目中重用它(可能是在我不知情的情况下),该项目将被安装在一个被禁止的组织中。 我在这方面的道德和法律角色是什么?
它可能会变得更糟。 假设我写的代码与Lerna的某些部分完全相同或非常相似。 有人可以指控我违反了他们的许可证吗? 当这种情况取决于没有人能确定的假想入侵者头脑中的知识和意图时,这绝对是不安全的。
此外,Lerna项目的选择对保持开源社区正常运作的主要规范之一具有破坏性,即使政治远离我们的工作。 如果我们不支持这一规范,我们就有可能陷入一群争吵的部落中,争辩细节,无法进行真正的大规模合作。
我认为这样的崩溃不仅令人不愉快,而且对文明也是危险的,文明赖以我们日益增长的重要基础设施。 因此,我们必须更多但不更少地合作。
反过来,这意味着,即使我们在某些问题上拥有强烈的个人见解,例如促使Lerna禁令出台的那些问题,在这种情况下,我们的一般举止也应该更加中立和非歧视,但不少于此。
更新 :在我发布此文档后不到24小时,许可证更改被取消,其作者被排除在项目之外。 这就是理智取胜的方式-一次战斗。
译者注:尽管在Lerna的许可证已恢复,但开发人员在其个人项目react-loadable和unstated中留下了例外,该许可证也有数千个用户。