对于开源项目来说,一个细微的改动就会影响到无数使用该项目的产品、公司、生产环境。圣诞节在即,为了增加一些节日气氛,微软对 Visual Studio Code 进行了一些小的更改,在开源 IDE 左下角的“设置”图标上放了一顶圣诞老人的帽子,然而这很快就收到了用户投诉,在技术论坛以及 GitHub 社区引起了广泛讨论。
事件回溯
近日,为了庆祝即将到来的圣诞节,微软在其开发的代码编辑器 Visual Studio Code 左下角的“设置”图标上放了一顶圣诞老人的帽子,如下图所示:
随后,一位用户在 GitHub 上表示,这顶帽子非常令人反感:
vscode 的圣诞老人帽对我来说非常冒犯,圣诞节在数百年的时间里已经使数百万犹太人丧生,将宗教象征作为产品更新的一部分是完全不可接受的。请立即将其删除,并将其作为头等大事。对我而言,这几乎和十字记号一样令人反感。
在事件发生后,微软方面及时做出回应,并表示这是因为在菜单中添加了一个“Happy Holidays”的命令,该命令可以显示出覆盖图的效果(也就是图标被雪花覆盖的样子),但因为圣诞帽的图案受到了个别用户的指责,所以微软决定去掉该样式,这又受到了一群支持该图案用户的反对。一时之间,社区中充斥着各种各样的言论,甚至上升到人身攻击层面。
最终,微软对 VS Code 的 repository 实行了 24 小时锁定,做了很多更改,并出于遵守价值观和行为准则,删除了一些评论,创建了一个名为 * off-topic 的标签,手动添加了关闭原因,并为那些支持圣诞节日图标的用户开通了新的选择。在声明中,微软方面表示:
我们决定遵循这种模式,并让用户配置图标的外观。我们添加了新设置,您可以自行选择。如果您喜欢红色的帽子,那就去吧!也许您住在南半球,或者在假期前往海滩,也有另外的图标。
打开设置(Mac:CMD +,Windows / Linux:CTRL +,)并搜索“ Holiday Gear Icon Style”,然后选择图标。如果喜欢编辑 settings.json,请设置 holiday.gearIconStyle。
据了解,微软的其他产品在推广圣诞老人 方面并没有遇到问题。多年来,Bing 一直在推广“ NORAD Santa Tracker”,其中包括网站和倒计时的计时器。当然,这种方式与在尝试编写代码时将意识形态强加于开发人员并不相同。
如何看待开源项目的责任归属?
如今的开源,早已不是自由软件时代的理想主义。很多公司都参与到开源中来,它们的动机,除了一些回馈社区和分享精神外,还掺杂着商业和利益上的考量,其中包括:
通过领导关键开源项目,成为某行业事实标准,从标准中获取利益;
开源核心代码,基于核心代码提供付费的咨询和外包、资源服务;
通过开源项目,提升团队成员的技术能力和凝聚力,打造技术品牌,方便对外做技术招募。
作为受到全球各地开发人员广泛使用的一款编辑器,VS Code 在本次事件中的响应速度和处理速度都非常之快,虽然不少用户认为这种添加节日图标以烘托氛围的做法没什么不妥,但考虑到这款开源代码编辑器面向的是全球不同地域、不同种族、不同文化的开发者,并且是圣诞节这样的宗教性节日里,还是应该遵守开源准则,适当做出调整。
经过此次事件,想必很多公司在操作开源项目时会更加谨慎。对于底层依赖型的代码,我们要尽量保持稳定,不要随意修改代码。
其次,在修改导致任何功能变化的代码后,一定要在 changelog 里体现出来,这才是负责任的做法。
最后,完善开源项目的管理流程,要有人能够把关代码,不让一些欠缺考虑的代码合并到主线。如果真想做好开源,这些是必须要做到的。
对于开源项目的用户来说,要跟踪所有依赖代码的所有更改显然是不太可能做到的,这就要求在技术选型时要慎之又慎,在不同的场景选择不同的技术。值得庆幸的是,这是一款开发编辑器,而不是前端项目,因此造成的影响还比较可控。
评论 6 条评论