Liechi 后来发现最有效的办法还是划清规则和底线,并让共事的人了解它们。
我也觉得这个很重要。
国内合作中遇到问题喜欢诉诸于权威,找更高一级的“老大”来协调,但是国外比较讲究直接沟通,就说清楚自己的顾虑和原则是什么,尽量说服对方,说服不了那就只能彼此尊重对方的做事风格了。
Liechi 后来发现最有效的办法还是划清规则和底线,并让共事的人了解它们。
我也觉得这个很重要。
国内合作中遇到问题喜欢诉诸于权威,找更高一级的“老大”来协调,但是国外比较讲究直接沟通,就说清楚自己的顾虑和原则是什么,尽量说服对方,说服不了那就只能彼此尊重对方的做事风格了。
henrywangnl 这就没必要贴国内国外标签了吧,我国内外都有一定经验,在国内我直接怼权威也无所谓,有时对方还因此特别欣赏你。国外确实偏向直接沟通,但对方强势的话根本就不听,美国慕强文化很重的,特别是程序员这个群体,在解决问题上直接间接对人下药就可以了,没必要加额外价值判断。哈神什么性格谢大很清楚,经常看他推特或在cran开发者邮件列表上的人也都很清楚,既然他领导说了都不听,想解决问题什么方式都可以尝试,但不要用价值观去堵解决方式。
关于教育问题,起初我对老师也很不爽,然而约谈沟通几次之后,我觉得这锅不应该全由老师背。举三个例子:
这种事情见多了之后,你会突然意识到有个东西叫做“大环境”,或者叫“天下大势”,顺昌逆亡,摸不着看不见,任凭你哭爹喊娘。
我也不知道这种情况是如何以及何时形成的。考虑到教育背后关于阶层固化分配不均等等的一切,我只觉得,把社会多种矛盾转移到家长和学校和老师的矛盾,家长投鼠忌器,除了逆来顺受别无选择,社会便可长治久安。这一手实在是太漂亮了。
希望事态往最好的方向发展,二位大神握手言和,继续给我们开发喜闻乐见的包包和提供先进的理念。但是,我觉得也要做好最坏的准备。
我觉得最坏的情况不是辞职走人,而是这么多年的心血,会不会是为他人做嫁衣裳。
包包们都是开源的,虽然都有许可证,那么所有权是归作者还是归公司?我可能措辞不当,这么说吧,如果哈神率众在遵循许可证的前提下,把 foobardown 们全收过来继续开发并且高调宣传,那么 @yihui 该置身何处?厂长会支持谁?这里面有没有任何排华的因素暗暗作祟?
单枪匹马对付千军万马,这才是最凶险的。可惜我等只能摇旗呐喊,却没法助一臂之力。
但愿我这是小人之心,多虑了。
另外,我想在讨伐声中不识时务地为哈神说句话:封神之后,人就不一样了,会狂傲,会偏执,也许这是身不由己。看看那些白手起家的帝王们,有个东西叫做客观规律,换成你我,概莫能外。像 yihui 这种保持低调还时刻反省的实属罕见。
@yihui 要对付的,也许不是哈神,也不是哈神旗下的千军万马,而是客观规律。
dapengde
就我所见,净土的很多包都是重新发明轮子,实现 Base R 已有的功能,然后批判 Base R 的不足,大力宣传新包在某点上的提升,踩着 Base R 步入神坛(这种摧枯拉朽,杀伐果断不一定是坏事,但容易言过其实)。看着狐狗党的诞生,只能感叹历史是惊人地相似。好在都是一个公司的,可以协调。
坦率说,markdown 也不是 yihui 的自留地,自然人人都可以做开发。只是同公司的人在不提前商量的情况下这么做显得不尊重人;另外,哈神的声望给了他相较于任何人都不对称的优势,这不是场公平的竞争。
学术圈不当人的太多了,之前上海神经所那位贪天之功的年轻人就是最近的例子。但恐怕这不是因为学术圈特别坏,大概每个圈子都差不多吧。(得帮牛顿说两句,他跟胡莱二人的争执是独立发现的优先权之争---虽然不好,但比“洗稿”要体面多了)
wglaive 哥,那玩意可能是哈神正想做的东西
感觉在商业公司的框架下比较难以保持开源软件的独立性,这也是我不看好 PBC 这种借回馈社会之名行赚钱之实的组织形式的原因。真的想为社会做贡献,我觉得更好的实践应该是两个明确分割,互不影响的商业公司和非盈利组织。
所以如果能成立一个基金会,搞一个永续基金,用于长期保护和推动一些项目,我愿意带头捐赠。
为了让各位心里有个底,我先简单交代一下目前的进展吧。过去几天通过与同事老板以及他个人的沟通,我现在大概明白是怎么回事了:一定程度上他与我有个相同的病症,就是在感知他人的痛苦这件事上对一部分人有盲点。他完全不认为他做这件事带有任何恶意,甚至还认为这样做是为了帮我省事,因为我会少维护一个 R 包。当时我听到这个理由后,硬生生把心里的一次火山爆发强压下去了:在背后偷袭还说是为了帮我?但即使这样,我的理智脑还是可以相信他并没有撒谎,我相信他做这件事是出于心里的正义感——我要为用户解除 blogdown 带来的巨大痛苦、我要给益辉帮个忙好让他减轻维护 R 包的压力。人脑就是这么擅长自我合理化,只要你愿意,你可以给你想做的几乎任何事情找到合理的理由。或者用费曼的话说,自己是自己最好骗的人。
他做这个包的另一个理由,可能也是最重要的理由,是认为我是一个拒绝沟通的人。坦白讲,他并不是公司里唯一一个认为我很难打交道的人。我曾经直言拒绝过一个同事的会议邀请(因为与他前几次会议的无比低效实在让我受够了)。我在公司 Slack 里的签名档也写得很清楚:重要的事情请邮件联系。然后我的 Slack 常年显示不在线,尽管我每天都会打开看一遍。我对这种有一句没一句的即时通讯工具非常排斥,就更不必说推特了。直到现在,他仍然指责我因为拒绝使用和阅读推特而错过了 blogdown 用户之前在那里的抱怨,以至于错失了改正的机会。就这样,他得出结论,认为我根本不在乎与别人打交道,只愿意呆在自己的小屋里自己一手定夺一切。这又让我觉得无比冤屈。如果我拒绝倾听用户的意见,那几百项反馈我都是瞎着眼睛关掉的么,这里面包括他自己提的。如果用我的理智脑想这件事,一定程度上我也可以理解:这问题就出在我们俩在交流工具的选择上完全是站在两个极端,比如我极度厌恶推特(尤其是正式交流比如提问),他则极度喜爱推特,喜爱到总让我想起上一任“推特治国”的总统的程度;我极度厌恶 Slack,他则极度偏爱 Slack。所以,如果推特和 Slack 上看不到我的话,就跟不存在与我沟通的渠道一样。当时我得知 hugodown 出世后的第一件事便是自检:我到底哪封邮件和哪条 Slack 消息忘回了?并没有。所以才有后来一路的憋屈。
黄河在咆哮、用户在嚎叫、我们所有人想找你都找不到、我偷偷砍你一条腿让你轻装前行都是为你好,那还能怎么搞,当然要来这么一刀!然后便听见我一声嗷。等明白过来再补上一句我靠。
总之,我们两个人在太多方面都是两个极端,包括个性、哲学、价值观。他偏爱的恰好是我痛恨的,他投注巨大热情的恰好是我最不屑的。这一点从我们每次开会的背景就能清楚体现出来:他的背景是一面挂着 ggplot2 以及其它净土包六边形图标的墙,都是加大版的图标,加相框后像艺术品一样挂墙上,这个背景在推特上已经被他的粉丝们发出来过好几次(有时候还有他的爱犬坐在腿上,让粉丝尖叫不已,仿佛养狗也显得平易近人);而我的房间背景是一面墙,墙上空无一物,以至于有一次厂长见了问我是不是刚搬家搬进这房子(已经搬进来四年啦),督促我赶紧弄点什么挂墙上。我费这劲干嘛,本来无一物,何处惹尘埃。何况斯多葛告诫过世人,莫要把信仰挂墙上,我已经接受了这条建议。另外一个例子是穿着打扮,他就不用说了,你们都知道,个人主页有高清帅照,而我平时什么鬼样子,绝大多数人都不知道:来美帝十一年从没去过理发店,头发长了自己剃,一律一推子推到底,管它监狱同款不同款;穿衣方面别说什么蝴蝶领结了(这个梗估计不用推特的人不会懂),穿破了洞的裤子我可以照样接着穿,有时候还穿出门,毫不心虚,倒不是因为要抠门,而是对我而言,实在不觉得这算是个事儿。总之,我信奉的极简哲学与他有无法调和的冲突。极简就意味着很多东西都要舍弃,舍弃就要拒绝,拒绝就容易拉仇恨。我的问题出在哪里呢?极简哲学对个人可能是个好事,但一旦出了自己的门,与他人打交道就会四处碰壁、寸步难行,毕竟真心极简的人还是少之又少。我这几年在这个问题上碰壁碰得满头大包,与哈神的碰撞并不是个例,只不过这次撞得比较惨而已。
他无法感知和感受我的痛苦,不是因为他坏,而是他就是有这个盲点,他就是浑然不觉,解释了也不能理解,就像缺少一块生理机能一样。我深知我也有完全相同的盲点。有些人的痛苦我也无法感知,我做过与他相同的事情,伤害过别人后还暗自奇怪,这有什么好受伤的。而在多数人眼中,我们两个人可能都算是共情能力还可以的人,不然怎能精准把握到用户的痛苦、造出好用的软件?(这个因果关系尚待商榷,共情可能只是小部分原因)他是个无情无义无理取闹的人吗?通常应该不是,我应该也不是;他是不会自我反省的人吗?应该也不是(据同事讲、但我自己之前没感受到),我也一样。这次可能是我作为一个与他在太多方面完全相反的人不偏不倚正好走进了他的盲点,他的一系列行为让我感受到窒息性的碾压,而他自己却完全没意识到这是碾压,反而是觉得是在无私帮忙,所以双方都觉得冤屈。
这也算是我的第二次职业生涯危机了。按达里奥说的,痛苦是大自然在提醒我们有什么东西要学。我依旧在思量,这次到底是想叫我明白什么。上面提的感知他人痛苦的盲点算是我学到的第一点。这是我第一次站到了感觉被严重打压的一面,在这之前,通常都是我打压别人。不真正成为受害者,真的是太难体会到受害者的感受,这种体会的能力光靠自以为是的善意和共情,是难以获取的,就仿佛脑子里有一块区域永远无法被擦亮。这几天有个人一直在我脑子里盘旋,就是 data.table 的作者 Matt Dowle。过去两年我一直对他深表同情,但直到这次,我才明白,我的深表同情是多么一文不值。他数年来的冤屈(净土宗有意无意的不公),可能也只能永远埋在黑暗中了:施害者无法理解,而吃瓜群众们更是无暇理解。继而我又想到 Sweave 的原作者,如果我换位到他的角度,现在恐怕也会对我当年对 knitr 的高调宣传感到不公。在软件开发里,后出招的开发者总是比先出招的开发者占优势,因为走后手的人可以享受走先手的人费力踩平的坑,而先手有些坑在历史条件约束下难填,过了一段时期之后也许就好填了,但这时往往又遇到向后兼容的难题,而后手上来则没有这个负担,于是油门一踩,便轻松超车了。这又是我感到冤屈的地方,如果 blogdown 只要晚一年多开发,等 Hugo 再往前更新几个版本,有些难题就可以轻易解决了,而我从 Hugo 0.19 起步,则要费力得多。类似地,Sweave 虽然在代码实现上做得欠缺火候,但它也有它的制约条件,让它无法放开手与我公平竞争,比如它隶属基础 R,改动起来瞻前顾后,更新也要随 R 更新(所以更新节奏只能慢),再比如它只有七百行代码,而我用了几千行外加若干附加包的支撑,若按我如今的极简哲学来看,指不定我会从直觉上偏爱七百行代码的产品。当年我的宣传把 Sweave 描述得如同垃圾,而浑然不知我的后发优势。Sweave 的作者是否暗自感到受伤,我也完全不知。净土宗把基础 R 最臭名昭著的 options(stringsAsFactors)
选项默认值从 TRUE
改成了 FALSE
(不是真改,而是 tibble 采用了默认 FALSE
的行为),大家集体喜大普奔,却没有人愿意再多等两年,给基础 R 一个费力翻盘的机会(R 核心团队自己也痛恨这个默认值,但这种改动并不是一朝一夕能做的)。这种利用后发优势灭掉先手的例子太多了,而被灭掉的人有苦难言,言了也无人倾听。
哈神无法感知我的痛苦,就更不用说感知我的痛苦带来的次级伤害了。比如我因为这件事疯狂赶工而完全忽视了国内的家人,前几天我那打小最怜爱我的姑妈清早给我发了条消息,说美国这么乱、要是我还有点孝心就跟家里人报个平安,让我感到无地自容、抑郁了一整天,我长这么大她从未对我讲过这么重的话。这次我三岁多的二娃也因为我的糟糕心情躺着中了枪。以往我对他的顽皮淘气大吼小叫是家常便饭,他通常无视我的训斥;前几天我实在觉得憋屈,而他像往常一样淘气不听话,我便提高嗓门大吼了他一嗓子(为了制止他的一个危险行为),结果他自打出生以来,头一次被我吼哭了。这也是我头一次对我训斥他而感到内疚,以往训斥都只有生气的成分(有时候是气得真想揍他一顿)。也不知道是因为他被我真正震慑到了一次,还是我这两天对他温和了一些,感觉他这两天都比以往听话了,甚至我看着他因为疫情隔离在家一个人默默玩耍都觉得有些可怜了(我这个狠爹对他还从没产生过这种想法)。这也算是这场风暴中我收获到的一颗小果实吧。
呜呼!是非善恶谁能清,悲喜祸福孰能料;岁月本是流水长,忙者自促奈何焦。
yihui 关于吼儿子,感同身受,自从年初一次后,我今年没有再做过,大人不应该这样对付一个幼小的心灵。
关于共情一事,不管有意无意,伤害了就是伤害了,我觉得这不能算做一个可以值得原谅的借口。当然这很难,如同你对自己sweave的反省,但至少你在遇到了之后有后悔。如同很多人,包括我,好多时候的蹩脚的借口就是,我没有那个意思。
至于原则问题,那真的是原则或者底线,很难改变,站在巨人的肩膀上,总是这么容易看的更远,但作为一个个开源的项目,到github上岂不是更容易交流一些。还有就是这年代没有强制规定必须用实时通讯工具作为交流的必须品吧,虽然这个世界的潮流是使用微信之类的货,但我还没有报警不是打电话而是发微信等的方式上吧。尤其有的工作是需要专注,有什么工作是需要实时反馈,搞得时间很碎片化呢,有需要的时候,大家开个视频会议讨论好了,提前准备要准备的事情,我觉得这才是主流的做法。
当然我不知道slack是什么玩意,我猜就是qq样子的东西,话说回来,如果能有设置状态或免打扰的设置,谢大可以开着不看,让人觉得无法交流毕竟不是好事情,你也可以博客里解释一下,人毕竟是在社会中,大家可以知道你不爱用的原因,而不是猜测你无法沟通,我相信绝大多数人会理解的。如同你写的你职业危机一样,这能避免很多误解,哪怕有些人不会想到你在github上关闭的问题