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,一经查实,立即删除!

相关文章

LeetCode之Fizz Buzz

1、题目 Write a program that outputs the string representation of numbers from 1 to n. But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three a…

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来解密…

linux下安装配置DHCP服务器

前提是已经安装了 core 及 base 两个组 12345# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.4 (Santiago) # uname -a Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux修改…

java ecc 加密_java-信息安全(十一)-非对称加密算法002-ECC,签名003-ECDSA签名

一、概述ECC算法(Elliptic curve cryptography,椭圆曲线密码学)椭圆加密算法(ECC)是一种公钥加密体制,最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。是目前已知的公…

网络数据嗅探工具HexInject

网络数据嗅探工具HexInject网络数据嗅探是渗透测试工作的重要组成部分。通过嗅探,渗透人员可以了解足够多的内容。极端情况下,只要通过嗅探,就可以完成整个任务,如嗅探到支持网络登录的管理员帐号和密码。为了实现这个功能&#x…

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

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

小米暑期实习在线笔试2015-04-25

周五晚上参加了小米的全国在线笔试,使用的是百一测评,不得不说,这是我参加过的最不靠谱的在线笔试。 先来描述题目,再来吐槽,在线笔试就是三个必做题和两个附加题。 必做题是三个算法题, 第一题是判断两个十…

表格列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 查看耗时操作 转载…

socket.io服务端是java_SpringBoot(23) 集成socket.io服务端和客户端实现通信

Slf4jService(value "socketIOService")public class SocketIOServiceImpl implements ISocketIOService {/*** 存放已连接的客户端*/private static Map clientMap new ConcurrentHashMap<>();/*** 自定义事件push_data_event,用于服务端与客户端通信*/priv…

LeetCode之Next Greater Element I

1、题目 You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of nums2. Find all the next greater numbers for nums1s elements in the corresponding places of nums2.The Next Greater Number of a number x in nums1 is …

分库分表下极致的优化

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

网页小要求

1. 制作出的网页要求图文并茂&#xff0c;有自己设计的网站Logo图标&#xff1b;文字要有字体格式和颜色上的变化&#xff0c;图形要与网页的内容相关。2. 页面要求使用DIVCSS进行页面设计布局&#xff0c;至少 4个页面&#xff08;图像文件不能太大&#xff09;&…

关于photoshop

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

linux(centos) NET模式网络配置

2019独角兽企业重金招聘Python工程师标准>>> linux虚拟机一般使用桥接和net模式&#xff0c;但是由于桥接在不同的网络环境中&#xff0c;需要重新配置&#xff0c;所以建议使用net模式&#xff0c;net模式的配置步骤如下&#xff1a; 虚拟机网络连接使用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应用&#xff0c;名称为“mail”(同时也是web应用所在目录的名称)&#xff0c;那么其目录内不同类型的文件应该服从如下放置的规则&#xff1a;一般来讲&#xff1a;对于html、jsp、css、js文件等&#xff0c;可以直接放置在web应用所在目录…

Linux和Windows下部署BeetleX服务网关

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

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这是一个简单的生存游戏&#xff0c;你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的…