Linus Torvalds: 成功的项目源于99%的汗水与1%的创新

2017年2月15日,在加利福尼亚州的开源领袖峰会上,由Linux基金会执行董事Jim Zemlin进行的一次采访中,Torvalds讨论了他如何管理Linux内核的开发以及他对工作的态度。

\\

784cf85b33d8977239f1a29384d5983f.png

\\

Linus Torvalds认为,科技行业对创新的颂扬是一种自鸣得意,沾沾自喜,以自我为中心。

\\

他更直白地表示:“行业所说的这么多的创新都是扯淡,”他说,“任何人都可以创新,不要把‘另类思考(think different)’当成什么了不起的事情,谈论那些都是毫无意义的。成功的99%就是把工作做好,也就是说要埋头苦干。”

\\

Torvalds说:“所有真正的工作并非说的如云如雨、不着边际的天花乱坠,而是在于细节。”

\\

Torvalds认为成功的项目都是99%的汗水和1%的创新。

\\

作为开源Linux内核的创造者和仁慈独裁者,更不用说Git分布式版本控制系统的发明者,Torvalds已用结果证明了他的观点。Linux对技术行业带来的影响,怎么赞美都不过分。Linux是主要的服务器操作系统之一。几乎所有高性能计算都跑在Linux。而大多数移动设备和嵌入式设备都依赖嵌入式Linux。

\\

Linux内核也许是PC时代最成功的协同技术项目。根据Zemlin显示,内核贡献者自2005年以来贡献总共超过13,500行代码,增加了约10,000行代码,删除8000行代码,并且每天修改1,500~1,800行代码。在过去的25年里,这种情况一直在发生,尽管不是以目前的速度。

\\

“我们这样做,已经有25年了,我们所遇到的常见问题之一是,人们经常互相竞争。”Torvalds说,“回首往昔,我们所做的是:组织代码、组织维护,所以痛点就是当人们不同意一段代码时,然后他基本上就消失不来了。”

\\

该项目的结构使人们可以独立工作,Torvalds解释道。“我们能够真正地模块化代码和开发模型,所以我们可以做很多并行。”

\\

根据Torvalds的观点来看,技术发挥着明显的作用,但是过程至少同样也重要。

\\

“这是一个社区项目,”Torvalds说。“这是关于技术,能够让人们就问题达成一致的恰恰就是技术,因为通常有一个相当明显的正确和错误。”

\\

但现在,Torvalds不是就个人而言来回顾每一个变化,因为他20年前,他就依赖社区网络的贡献者。“这是由于社区网络和信任,”他说。 “……我们有一个非常强大的网络,这就是为什么我们可以做到每一个版本都有一千人参与。”

\\

对信任的强调解释了参与内核开发的困难,因为人们不能登录、提交代码和消失。“当你提交了很多小补丁,直到维护者信任你,在那一刻你不仅仅是一个发布补丁的人,你也成为信任网络的一部分。”Torvalds说。

\\

十年前,Torvalds说他告诉其他内核贡献者他想要一个为期八周的发布计划,而不是一个可能拖延多年的发布周期。于是内核开发人员就设法将其发布周期减少到大约两个半月。从那时起,继续开发没有太多的争议。

\\

Torvalds说:“我们的流程运行得很好,以至于近乎无聊。对我而言,所有真正压力的都跟过程相关,而不是跟代码相关。如果代码不工作的话,反而令人兴奋……但过程中如果出现问题了,那可是令人痛苦的问题。你从来没有,想过有关过程的问题……这就引起了人们互相怒怼对方。”

\\

感谢王下邀月熊对本文的审校。

\\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们。

\\

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/291395.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Large sum

聪明的办法是想:求前10位,那只要前8位加起来,进2位就OK。 本的办法,就是真的加起来,截前面10位。如我。 numList str.split() sum 0 for i in range(0,len(numList)):sum int(numList[i][0:50])print i,numList[i][…

.NET6之MiniAPI(十六):数据保护

对于web,安全是一个永久的话题,所以ASP.NET Core数据保护提供了一个简单,易用的加密API,可以用来保护数据,密钥管理和轮换。ASP.NET Core的数据保护是根据本机的一个key来生成加密码,然后再用这个key来解密…

.NET 云原生架构师训练营(权限系统 代码实现 ActionAccess)--学习笔记

▲ 点击上方“DotNet NB”关注公众号回复“1”获取开发者路线图学习分享 丨作者 / 郑 子 铭 这是DotNet NB 公众号的第188篇原创文章目录开发任务代码实现开发任务DotNetNB.Security.Core:定义 core,models,Istore;实现 defaul…

表格列mouse经过时高亮显示

前几天Insus.NET有练习《表格行mouse经过时高亮显示》http://www.cnblogs.com/insus/p/3715733.html ,今天有奇想,是否可以实现mouse经过表的列时,整列高亮呢?Insus.NET就在前一示例中,修心jQuery来练习。 修改.mouseo…

REDIS调优

2019独角兽企业重金招聘Python工程师标准>>> 1、优先使用批量操作,例如hset, 2、批量命令用管道技术 3、因为redis是单线程的防止慢命令阻塞 4、可以搭建主从读写分离集群,费时的操作都移到读服务 用slowlog get 查看耗时操作 转载…

分库分表下极致的优化

题外话这边说一句题外话,就是ShardingCore目前已经正式加入 NCC 开源组织了,也是希望框架和社区能发展的越来越好,希望为更多.netter提供解决方案和开源组件介绍依照惯例首先介绍本期主角:ShardingCore 一款ef-core下高性能、轻量级针对分表分库读写分离的解决方案,…

关于photoshop

photoshop的常见快捷键:(只写了一部分,还有的实用快捷键不知道) 矩形、椭圆选框工具 M移动工具 V 套索、多边形套索、磁性套索 L 魔棒工具 W 裁剪工具 C 切片工具、切片选择工具 K 喷枪工具 J 画笔工具、铅笔工具 B 像皮图章、图案…

linux(centos) NET模式网络配置

2019独角兽企业重金招聘Python工程师标准>>> linux虚拟机一般使用桥接和net模式,但是由于桥接在不同的网络环境中,需要重新配置,所以建议使用net模式,net模式的配置步骤如下: 虚拟机网络连接使用NAT模式&am…

LeetCode之Island Perimeter

1、题目 You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represents water. Grid cells are connected horizontally/vertically (not diagonally). The grid is completely surrounded by water, and there is exactly one is…

java获取tomcat目录结构_tomcat目录结构简介_动力节点Java学院整理

tomcat目录结构简介如果我们有一个web应用,名称为“mail”(同时也是web应用所在目录的名称),那么其目录内不同类型的文件应该服从如下放置的规则:一般来讲:对于html、jsp、css、js文件等,可以直接放置在web应用所在目录…

Linux和Windows下部署BeetleX服务网关

有朋友希望写一篇BeetleX服务网关部署到Linux和windows下并以服务的方式运行的介绍文章。接下详细介绍如何做并简单介绍一下网的使用。首先需要在官网(beetlex-io.com)下载对应版本的BeetleX服务网关(现阶段只支持linux64和windows64),下载完…

HDU 1978 How many ways DP问题

How many ways Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2568 Accepted Submission(s): 1509 Problem Description这是一个简单的生存游戏,你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的…

课堂练习-找水王绪

题目:三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。 如果你有一张当前论坛的…

java添加事件监听器_Java事件监听器的四种实现方式

自身类作为事件监听器外部类作为事件监听器匿名内部类作为事件监听器内部类作为事件监听器自身类作为事件监听器:1 import javax.swing.*;2 import java.awt.*;3 import java.awt.event.*;45 /**6 *Java事件处理机制:自身类作为事件监听器7 *authorWinty(wintysgmail.com)8 *ve…

使用Brighter实现轻量型独立管道

前言上次,我们介绍了使用MediatR的Behaviors功能,在业务层实现管道模式。(《为什么应该在业务层实现管道模式,而不用ASP.NET Core Middleware实现 | 2点原因和实现方式》)但是,这种管道有个特点或者说缺点,不管你需不需…

CentOS6最小化安装默认启动的服务说明

centos6.2最小化安装后执行chkconfig --list,显示所有服务,如下图:下边分别进行说明:auditd:审核守护进程当 auditd 运行的时候,审核信息会被发送到一个用户配置日志文件中(默认的文件是 /var/log/audit/au…

[有奖励]GeneralUpdate开源项目招募开发者

[有奖励]GeneralUpdate开源项目招募开发者希望看到这篇文章的小伙伴,能看完这篇文章顺便帮忙给项目点一下“star”、转发、“在看”。先在这里谢谢各位了。github仓库地址:https://github.com/WELL-E/AutoUpdatergitee仓库地址:https://gitee…

C/C++ 读取16进制文件

1.为什么有这种需求 因为有些情况需要避免出现乱码。不管什么编码都是二进制的,这样表示为16进制就可以啦。 2.如何读取16进制文件 最近编程用这一问题,网上查了一下,感觉还是自己写吧。 16进制数据一般是:text0x340xb5...,就是0x…

基于PaddleOCR实现AI发票识别的Asp.net Core应用

简要介绍用户批量上传需要识别的照片,上传成功后,系统会启动Hangfire后台Job开始调用PaddleOCR服务返回结果,这个过程有点类似微服务的架构模型。PaddleOCRPaddleOCR是百度AI团队开源的一个项目,应该是目前所有免费开源OCR项目中识别效果最好的,具体可以通过PaddleO…

常用的搜索引擎dork (不断更新)

为什么80%的码农都做不了架构师?>>> pan.baidu.com xiaomi.rar 转载于:https://my.oschina.net/ecnu/blog/265731