---
title: 五论开源：理智与情感
date: '2018-12-21'
slug: open-wars
---

作为开源江湖中的一名小学生，我已经分别于 [2010](/cn/2010/08/sas-against-wpl-and-my-thoughts-on-open-source/)、[2013](/cn/2013/11/open-source-again/)、[2014](/cn/2014/06/macdown/)、[2017](/cn/2017/12/homebrew-open-source/) 年谈了一些关于开源的想法。今日是第五次谈论开源。

也许是因为我处在这个圈子而产生的偏见，我感觉码农似乎特别容易用一门语言或工具[把自己标签化](/cn/2018/03/identity/)。学习、进步的过程中，标签会贴得越来越牢。不幸的是，持有标签的人之间容易爆发战争——不管是持有不同标签的人之间，还是持有相同标签的人群内部。

几周前 Clojure 社区的首领愤然写下一篇檄文，名为《[开源不是你家的开源](https://gist.github.com/richhickey/1563cddea1002958f96e7ba9519972d9)》，讨伐那些自以为是的开源贡献者和用户。我看了这篇檄文之后，觉得有些共鸣。在我这几年的开发生涯中，坦白说，我遇到的绝大多数贡献者和用户还是很温和、善解人意的，但你的软件影响越大，你接触到坏人的概率就会越高。这里面的问题是，一颗老鼠屎容易坏一锅粥；只要碰到一个极度自私或蛮不讲理的人，你可能接下来几天或者更长时间的心情就毁了。一份恶意可能需要很多份善意来稀释、化解。

若有小码农有志于长期混迹开源社区的话，我的头条忠告就是彻底摒弃情感。不要去解读别人的语气、语调，只看他说的是否是事实、是否有道理。若有人用私信的方式胡搅蛮缠，忽略之、憋死他。若有人在公开场合胡搅蛮缠，放任之（郑伯克段于鄢）。人在做，天在看，公道自在人心。若能在公共场合接受不公平的攻击，不仅不会让攻击者得逞，反而能向世人展示你自己的器量。

接下来的剧情有点反转。一位疑似他攻击的对象[写了几段回复](https://gist.github.com/richhickey/1563cddea1002958f96e7ba9519972d9#gistcomment-2770124)，解释了自己为什么要胡搅蛮缠。原因基本上是爱之深、恨之切。其实这位哥说得也不是完全没有道理，只不过是当时一时在气头上，把那位首领逼急了。结果是，两位好人为一个本来很崇高的理想（开源）打了起来，不得不说这是一场悲剧。

写檄文的未必全对、被讨伐的也未必全错，这一仗非打不可吗？我觉得双方都有倾听的余地。天子需要体察民情，不要总是一意孤行；臣子也需要体谅皇上日理万机，不要一本奏章参到底。在这个交流的过程中，若能拿掉情感的词汇，可能结局会好一些。

我在 R 社区混迹至今，一共遇到过两个有些影响力的人物在回帖时专门指出我的语气不对。我有时候说话确实很刺耳，但我有个潜在原则（虽然我不知道我贯彻地如何），就是我面对的人物威望越高，我的语气就会越直白，所以当我觉得他们做错了的时候，我根本不会绕弯子，而是直接去啪啪打脸（[例一](https://stackoverflow.com/q/48997278/559676)、[例二](https://stackoverflow.com/q/50164548/559676)）。如果一位所谓的社区名人连这种直白语气测试都通不过，往后我也不愿再与之深交，因为他似乎更在意情感，而不是先去思考理智。
