Synth Daily

如何防止坏人滥用我的开源项目(征求反馈)

一位流行开源项目的维护者认为,大型企业和“坏人”正在无偿利用开源软件,这不仅让维护者感到疲惫,也给整个行业带来了风险。他质疑开源软件“允许任何人用于任何目的”的默认准则,并希望改变这一现状。为此,他正在探索如何通过修改许可协议、提升公众关注度以及推动集体行动等方式,来限制自己的项目被用于不良目的,并就此征求社区的反馈和建议。

开源的剥削现状

近期的观察让我深刻认识到,大型公司正在如何利用开源软件,而开源的可持续性正面临挑战。以下是一些影响我观点的发现:

  • 无偿索取: 流行的开源工具 curl 被 38 个大型汽车品牌使用,但 没有一家公司 提供任何形式的回报。
  • 巨大的商业价值: 研究表明,如果没有开源软件,企业需要多花费 3.5 倍 的成本。开源每年为企业免费提供了大约 12 万亿美元 的价值。
  • 志愿者的付出: 现实情况是,“志愿者们正在免费创造软件,而这些软件主要让大公司受益。”
  • 维护者的倦怠: 开源维护者正因被剥削而感到精疲力竭,并准备退出。这对整个行业来说是 危险的信号
  • 潜在的作恶工具: 像 PyTorch 这样的开源工具,被间接用于军事行动,这让我开始思考开源技术如何 间接导致无辜者丧生

榨取性的组织不会严肃对待许可协议,开源运动需要展示出更强硬的姿态。我们需要将自己置于更广泛的社会背景中进行思考。我们能否改变力量平衡,削弱大公司带来的巨大危害?我们能否阻止纳粹分子使用我们的软件?

我能做些什么?

我维护着一个相当受欢迎的开源软件包,年下载量超过 2 亿次,属于 npm 上下载量排名前 0.1% 的项目。它默默地运行在成千上万个项目中,大多数开发者甚至没有意识到它的存在。

我的目标很明确:我想将开源的默认规则从 “任何人都可以免费使用” 转向 “如果你是邪恶的,请不要使用这个项目”。我希望这不仅仅是为我自己的小项目,而是能够慢慢改变整个行业的讨论方向。

一些具体的想法和问题

对于如何有效实现这一目标,我有一些具体的疑问,并希望获得大家的想法:

  • 如何提高关注度? 我该如何利用项目的人气来引起对这个问题的关注?是写一篇博客文章,还是在项目的文档中添加醒目的说明?
  • 是否应该修改许可证? 我的项目目前使用宽松的 MIT 许可证。我不再信服所谓的“为任何目的运行程序的自由”(即自由 0)。我不想把我的劳动成果奉献给坏人!
  • 集体行动是否更有效? 如果发起集体行动,会有其他维护者愿意参与吗?
  • 是否应该先做测试? 我应该先在我那些不太知名的项目上进行“测试”,看看效果如何吗?