微软撤销开源「禁令」!聊聊开源中的眼镜蛇效应

原创
2022/07/22 20:25
阅读数 61

今年 6 月,微软更新了 Microsoft Store 政策,禁止开发者从开源或免费软件中获利。此举一出,就遭到了众多开发者的反对。近日,微软表示,在听取了反馈后,删除了政策中对开源收费的限制,同时欢迎更多开源付费软件入驻 Microsoft Store。

在 Microsoft Store 上,许多第三方开发者基于免费的开源软件,复制出「山寨」产品并向用户收费,一方面损害了开源作者的利益,甚至让用户觉得「付费软件可能比免费更好」,因此微软更新了政策。

但软件自由保护协会却认为,这项措施限制了开源软件的商业前景,更是对所有以编写开源软件为生的开发者努力的侮辱。

为保护开源作者利益而诞生的政策,却遭到开源社区的反对。出于好的意图,却最终带来坏的结果,这种情况常常被称为「眼镜蛇效应」。今天我们就来聊聊开源圈里的那些「眼镜蛇效应」。

1

想保护开源,却伤害了开源


眼镜蛇效应
(Cobra effect)指的是针对某问题的解决方案,反而使得该问题恶化。该词来自殖民时期印度的逸闻:

英国政府计划要减少眼镜蛇的数量,因而颁布法令称,每打死一条眼镜蛇都可以领取赏金。然而印度人为了赏金反而开始养殖眼镜蛇。当英国政府意识到这种情况而取消赏金后,养殖蛇的人把蛇都放了;放出去的蛇继而大量繁殖,结果眼镜蛇族群数量不减反增。

经济学家基于此创造了「眼镜蛇效应」这个术语,用于形容错误的政治或经济政策,不仅没有解决问题,反而导致问题更加严重。

回到微软的这次事件。微软起初是为了支持开源软件原作者,避免让他们的产品被第三方开发者山寨并获利。但微软并非像苹果 App Store 那样采取严格的审核,从同类产品中筛选出优质的原创作品进行上架,而是直接限制所有基于开源或免费软件开发的产品。

这种做法,短期内可能会减少 Microsoft Store 上「山寨」产品的数量,保护了一部分开源作者的利益,提高应用商店的质量。但长期来看,可能会打击开发者将开源产品商业化的信心,从而减少对开源的投入,让应用商店缺少来自开源的创新。

2

想提高效率,却降低了效率


另一个典型的眼镜蛇效应,则是软件开发中的「Brooks 法则」——
在一个开发进度已经落后的软件项目中增加人手,只会让它更加落后。

根据 Brooks 法则,增加人员到一个已经延误的项目里,需要把工作切分给更多人做,也会造成额外的沟通代价,这个代价将超过新增程序员所做的贡献。当一份工作因具有连续性的限制而不可切分时,就算投入再多的人力,也不会对进程有所帮助,甚至会带来负面作用。

在开源中,类似的眼镜蛇效应仍然存在。众所周知,Linux 的成功离不开全世界开发者的贡献,但开发者数量不断增加,同样会让开源项目陷入「眼镜蛇效应」,Linus Torvalds 称:

我们始终不停地在改代码,每一次发布都有几乎近百万行代码的更改。但更痛苦的是,要改变工作思路,大家为此争执得异常激烈。我们是这样妥协的:每个人都会用自己觉得舒服的方式做事,换另一种方式必然只会令人恼火且效率低下。

为了帮助管理 Linux 内核开发,Linus Torvalds 开发出了版本控制工具 Git,提高了开发者远程贡献的效率,并进一步推广到所有的开发流程中,成为今天开发者必不可少的协作基础。

3

如何避免「眼镜蛇效应」?


既然开源中有那么多「事与愿违」的事情发生,那是否采取「无为而治」的方式让其自由发展就好了呢?从某方面来说,顺其自然确实是开源治理的重要理念;但适当的引导及奖惩,也能帮助开源项目获得更好的发展。

回到眼镜蛇这个例子,想要控制眼镜蛇的数量,首先不能把「消灭眼镜蛇的数量」作为单一目标,因为眼镜蛇的总数是动态变化的;其次,不仅要对消灭眼镜蛇进行奖励,同时要对养殖眼镜蛇进行惩罚;同时,将民众安全和赏金激励结合起来,实现利益的统一。

而在开源中,这几点则是:避免片面的目标导向、采取阶段性的激励或惩罚,以及实现开发者利益与生态利益的相对统一


欢迎关注「腾源会」公众号,期待你的「在看」哦~👇

本文分享自微信公众号 - 腾源会(TCOS001)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部