接受Linus Torvalds的第2部分

2021-05-07 19:46:00

Linux内核今年正在庆祝其第三周年纪念日。在我们的采访中,我们与Linux Creator Linus Torvalds的对话得出结论。如果您已经' t已经,请查看其中的一部分,以了解Linux内核开发和创建Git版本控制系统。

在第二部分,Linus提供了从管理大型开源项目三十年来获得的洞察力和透视。他还讨论了他在Linux基金会的就业,并描述了他在他的业余时间所做的事情,当时没有专注于内核发展。

关于开源项目成功的是什么,Linus承认,"我真的知道成功的关键是什么。是的,Linux一直非常成功,显然Git太右脚了,但它' S总是很难真正归因于更深层次的原因。也许我刚刚幸运?"他继续提供三种实际建议,他跟着他自己:在那里为其他开发人员,开放,诚实。

当他第一次开始该项目时,Linus写了每一行代码。 "我仍然记得早期的时候,人们会寄给我补丁,我' d没有实际应用它们作为补丁,但是我读了他们,弄清楚人们想要做什么,和然后自己做。因为那是我如何开始这个项目,这就是我感觉更舒服的方式,那我知道代码更好。"他解释说,学习委托,&#34很重要;我停止了快速地做到了,因为我刚刚从根本上懒惰。我真的很擅长阅读补丁并了解他们所做的事情,然后我' d只是应用它们。"

Linux已经成长并变得更加成功,Linus也努力保持公正,而且我非常有意识地没有为Linux公司工作。我在第一个十年内保持Linux,没有它就是我的工作。那不是因为我认为商业兴趣是错误的,而是因为我想确保人们认为我是一个中立的聚会,从来没有觉得我是'。""

关于是否是开源是可持续的问题,Linus回答,"是的。我个人100%相信,不仅是开源可持续的,而且对于复杂的技术问题,你真的需要开放来源,因为问题空间最终无法管理一个公司内部。甚至是一个大型和有能力的技术公司。"

最后,正如He' ll继续在Linux,Linus说,"我确实享受了我所做的事情,只要我觉得我' m实际上是帮助项目,我'会在周围。"阅读完整采访。

JA:我们最近与Drupal Creator谈过了Dries Buytaert,他在过去的二十年里担任了大量的灵感和偶尔的指导和建议,他一直维持受欢迎的Drupal CMS。您经常与其他开源项目的维护者沟通,无论是提供指导还是仅供参考?其他开源维护者多久达到您寻求建议或帮助?

LT:我不知道别人,但没有,我不亲自倾向于与其他开源项目相互作用,只是因为我倾向于是一个漂亮的"一履历#34;人。我认为为什么我仍然在三十年之后做内核维护:有些人从项目中掠过项目,而其他人(像我一样),最终会在一件事上相当专注于更长的时间。

也就是说,在开发人员中通常存在相当数量的重叠,许多开发人员在一个以上的开源项目上工作。不同的项目显然相互影响,所有常见的基础设施都有。所以你确实有那种交叉授粉,你最终让人们在同一会议上举行会议(当时那些发生)等)。

JA:作为一个开源项目的维护者,您所知的一些关键课程将帮助他人更成功地管理项目?

LT:这是一个难以回答的人,因为我真的知道成功的关键是什么。是的,Linux一直非常成功,显然Git太右脚了,但它' S总是很难真正归因于更深层次的原因。也许我只是幸运?

因为运气和时间,而且在"正确的时间和#34;真的很重要。我想到了Linux和Git,我开始的项目最终成为需要很多人所需的项目,即使他们没有必要也知道他们需要它们。那就是运气吗?也许。或者是那些需要这些项目的所有人的所有人,我是那个唯一加强的人,做了工作,并滚动了球?

我的自我更喜欢后者,但诚实迫使我说你真的想要运气,你需要选择合适的项目。人们真正需要的那个。

但如果我们忽略这些类型的"大问题"我确实有一些我个人认为如果您是开源维护者的少数实际和脚踏实地。

这是你必须在那里。你必须留在周围,你必须在那里留在其他开发人员身上,你必须一直都在那里。你会达到技术问题,它会令人沮丧。你' ll与可能对如何解决这些技术问题的思想有很多不同的想法。并且技术问题是某种方式方便的部分,因为他们通常确实有技术解决方案,你通常可以相当客观地说"这更好/更快/更简单/无论#34;

更难的部分可以是你' ll结束与你不喜欢的人互动,或者与那些像你一样的人和' t的人,并且会有个性冲突。然后你可以' t倒回"告诉我数字" - 人们只是不要' t始终相处,它不是数字游戏。你' ll有糟糕的日子,你与之合作的人会有糟糕的日子。而且你' ll必须通过它全部工作。

那个'不是说你可以休息一下。我一直这样做。如果我感到沮丧,我只是离开电脑,我会去看一本书或其他东西。当你&#39时试图强制一些富有成效的工作(或讨论);重新沮丧和生气并不伟大。而且我显然并不总是在这方面做得很好,我生气了,用来了太强烈的语言。我想我做得更好,但是一个方式,我做得更好,这就是通过实际上走开了 - 试图积极注意到和#34;我在一个糟糕的情绪上&#34 ;而且只是避开电脑。

所以你不必在那里"所有的时间"在这种意义上,它必须是恒定的。休假时间很好。休息一周可能意味着你需要让人们知道。休假一个月?在这一点,你真的必须拥有一个维护计划,并在三十年内发生了两次发生的两倍:当凯尔内尔的人被闯入而且人们花了很多时间确保一切都好,第二次休息一下,试图确保我在控制下进行了行为。

我想说的是,维持一个大项目是一个公平的工作,它'你需要继续做的事情。它并非所有乐趣。它'有趣。它以最好的方式挑战&#39。我没有厌倦是一个内核维护者。但它也不是所有玫瑰。不是每个人都想做那种东西。

另一件重要的是你必须开放。我的意思是以多种方式。它真的很容易创造某种" clique"人们,在那里你有一个内在的城市,讨论了私人的东西,然后你只看到了开放的最终结果(或边缘工作),因为所有重要的东西都发生在公司内部或核心群体内而局外人难以闯入那个集团,并且甚至很难看到那个核心组中正在发生的事情,因为它是如此私密和独占。

它'&我真正喜欢打开邮件列表的原因之一。不是一些"通过邀请"列表。不是你甚至要注册参加的东西。真的很开放。而且几乎所有的发展讨论都应该在那里。

但"开放"换句话说也很重要 - 对其他人开放,并对其他人开放,而不是' T有这种非常清晰和不灵活的想法应该如何完成。我认为Linux成功的原因之一恰好是我实际上没有大计划的事实,而且对事情发生的地方没有很高的期望,所以当人们开始向我发送补丁时,或向我发送对功能的请求时,对我来说,这一切都很棒,我没有任何先入为主的Linux应该是什么。最终结果:所有想要参加Linux内核发展的人(和后来的大公司)都有一个相当容易的时间来做,因为我对Linux做了我个人没有真实兴趣的事情。

最后,我认为"开放"在诚实意义上很重要。你不想在人民背后扮演政治。打开你的动机,打开你为什么要做东西和你做什么。你不必喜欢你和你一起工作的人,他们不得不喜欢你,但如果人们对他们所瞄准的东西以及他们所做的事情,你不一定有永远是最好的伙伴 - 最重要的是你可以相互信任。

JA:超出你已经提到的关于较少编码,更多的沟通和领导,是否需要具体的技能来了解您发现困难?例如,委派,是一个更好的作家和其他非编码技能 - 如果是的话,你是如何学习这样做的?它从书籍或其他人中掌握吗?这是在学校教授的吗?

LT:所以我' LL刚刚开始说几乎所有的过程都是非常令人难以置信和学习经历。三十年是很长一段时间,很少有变化突然突然,我们如何做的事情在一个非常"有机"办法。

换句话说,它非常不是规划前进和阅读管理文本书等的结果。它非常恰好是自行发生的,我们现在的任何结构都不是从某些人写下来的图表,但是从人们只是"找到他们的地方"

一个技能,清楚地发现一些人难以找到困难的是"放弃控制"我仍然记得很早的时候,人们会发给我补丁,我' d实际上没有作为补丁,但是我读了他们,弄清楚人们想要做什么,然后自己做什么。因为这就是我如何开始该项目,这就是我感觉更舒服的方式,那么我更好地了解代码。

事实证明,对我来说,这不是最终的大问题。我停止了很快地做到了,因为我在根本上懒惰。我真的很擅长阅读补丁并了解他们所做的事情,然后我' d只是应用它们。所以我的控制怪胎是相当迅速的。我想我很擅长找到人们信任,然后做到这一点 - 相信他们并没有微观管理它们。

所以委派Hasn' t一直是一个巨大的问题,但我知道它有其他项目。再次,部分是我们的维护模型的整个事情,我们需要一定的绝对信任,这确实使一切变得更加容易。

沟通技巧非常重要。我实际上来自一个记者家庭(我的父母都是记者,我的叔叔是一个,我的祖父是一个诗人和一名记者),所以我在一个家庭中长大,阅读和写作几乎被视为理所当然非常年轻的时候。虽然英语是我的第三语言,但是我开始Linux的时间已经是一个非常强大的语言,而且沟通是巨大的问题。但我意识到它非常可能是一个大问题,无论是个人(也许个性)原因和语言障碍原因。

但总的来说,大多数情况下,我确实通过做了学习。再次,记住 - 没有一个Linux过夜。该项目是三十年前的项目与今天的项目非常不同。

JA:虽然开放来源一直非常成功,但许多最大的用户,例如企业,无论是什么都不做或少于支持或贡献他们依赖的最开源项目。即使是令人惊讶的大型和成功的项目(如果按用户数量衡量)的开发人员也很幸运能够赚到一周的咖啡。你认为这是可以解决的吗?是可持续的开源模型吗?

LT:我真的没有对此有答案,因为某种原因,内核始终避免了这个问题。是的,有纯&#34的公司;用户" Linux,但他们仍然最终想要支持,所以他们依靠承包商或Linux发行版,而且那些显然最终成为内核开发者工作的大源之一。

和一个使用内核最终使用内核的大型技术公司积极参与发展过程。有时他们最终做了很多内部工作,而不是伟大的东西喂回上游的东西(我赢了' T名称名称,其中一些人真的正试图做得更好),但它实际上非常令人鼓舞有多少大公司与上游内核开发非常公开,是社区的主要部分。

因此,由于某种原因,内核发展社区非常成功地与所有商业利益融合。当然,一些已经非常有意识:Linux非常始终向商业用户开放,我非常有意识地避开了整个反公司心态,即您最肯定地找到的一些"免费软件和#34;团体。我认为gplv2是一个很大的许可证,但同时我和#39; VE非常违反了一些更极端的形式的"自由软件"和我和Linux - 非常重要整个重塑使用"开源"

因为坦率地说,RMS和FSF的一些几乎宗教过度越野只是坚果,而某部分社区正在积极推动商业利用。

而且我说,作为一直谨慎因商业利益而持谨慎态度的人。例如,我非常有意识地向'例如,要为Linux公司工作。我在第一个十年内保持Linux,没有它就是我的工作。那个''我认为商业利益是错误的,但因为我想确保人们认为我是一个中立的派对,从来没有觉得我是"比赛"

但我认为一些项目可能会在脚下射击自己,并且有点过于反商,并使公司难以参与。

没有,它并不总是与公司合作。我们有几个内核维护者一直非常积极地试图教授公司如何使用开源:Linux基金会(不仅仅是在技术方面:在那里的教学中的教学中的一件'关于法律问题等),除了作为主要的内核维护者之一,Greg Kh在这方面非常活跃。所以它确实需要一些努力。

但它是否可持续?是的。我个人100%相信,不仅是开源可持续的,而且对于复杂的技术问题,你真的需要开放来源,因为问题空间最终无法管理一个公司内部。甚至是一个大型和有能力的技术公司。

但它确实需要双方某种开放性。并非所有公司都将是好合作伙伴,以及一些开发人员不一定想与大公司合作。

JA:一个常见的主题我们在与长期开源维护者交谈时发现,部分原因是由于维持项目的不断压力,以及用户持续的要求,就像你欠他们的东西一样。你经历过这个吗?你如何处理这一点,避免倦怠?您是否考虑过远离内核发展?

LT:很好,我早些时候在你的"关键课程"问题。

与此同时,至少对我而言,我的"好的,' s足够"一般都是非常多的"这对今天的&#34是足够的。我受到压力,我生气了。我有时候在人们爆炸,它'当它发生时不漂亮(而且我真的一直在积极地试图确保它不再发生)。而且你显然不要看到我刚走开的案件,让我离开了一些事情或某人。

我下班了,读一本书,如果它'在外面很好,休息一下。我克服了它。第二天后,我回来了,因为到底,我真的很喜欢我的所作所为。我' D无聊而没有内核发展。

所以即使我休假(我试图每年去潜水潜水,虽然大流行明显意味着去年发生了,我拿了一台笔记本电脑,这样我就可以保持向上。我让人们知道i' m不像常用那样可用,但特别是当我可以将它时间到开发窗口的结尾时,它通常不是很大的交易。我很少很少地离开网格,虽然这也发生了几次(再次 - 潜水有时意味着"异国情调的位置没有互联网"即使是这些日子,所以我' ve由于几次,一周完全没用了。

我喜欢在一个暖气板上,每周做五个潜水,并且甚至没有阅读电子邮件。我认为,我在过去五年中管理了三次。它'可爱。

JA:30年是很长一段时间,虽然我理解它&#39是不可能预测未来,我&#39仍然喜欢问:你在哪里看到Linux在30年内?那时你想象你的卷是什么?

LT:所以这是一个问题,即我可以' T答案,它不是因为我试图从它中掏出来,但是因为它而不是我的工作,而且不是我如何考虑这个项目。

我没有' t有一个" 30年的计划"我甚至有5年的计划。事实上,我不超过一个释放或两个​​(显然是几个月的释放)。

作为工程师,我强烈举行了这一意见"细节物质"细节几乎是唯一重要的事情。如果您对细节进行了解,则其余部分将遵循。

这可能听起来有点奇怪,考虑到我已经谈论了"良好的味道和#34;和我'肯定是在纪录中的纪录中的纪录("一切都是一个文件"作为核心支柱之一)是正确的。

在git中,我非常想拥有一些整体"设计"也是,在那里和#39;也是一对Git中的一对大概念("一切都是一个不可变的对象"也许是Unix的git等价物)。

但这些类型的"高级设计"事情主要是给你一种凝聚力的最终结果,并为社区提供一种"设计指南针"他们最终是最重要的事情。现实是复杂的,经常丑陋,高级大型设计不能妨碍细节,以及你真正需要的特殊情况。

所以我只是想说我' m a" plodding工程师"我现在看看是什么'我现在看看我们现在有的问题,我没有真正规划F.

......