前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微软撤销开源「禁令」!聊聊开源中的眼镜蛇效应

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

作者头像
腾源会
发布2022-07-27 09:41:17
4870
发布2022-07-27 09:41:17
举报
文章被收录于专栏:腾源会腾源会

今年 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

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

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

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

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


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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾源会 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档