小米:开源不仅要站在巨人的肩膀上,还要为巨人指方向

今天上午,第一届小米开源技术峰会在北京举行,会上,小米人工智能与云平台副总裁崔宝秋致开场词,并发表了《小米开源之路》的演讲。

崔宝秋强调小米一直在推动开源,也是开源的倡导者。他告诉我们雷军创立小米的其中一个重要原因是看到了Android的开源,雷军对他说过,任何一家互联网公司离开了开源就输在了起跑线上,这就是小米推动开源的源动力。

开源可以提升开发者的工程能力

过去,崔宝秋在接受InfoQ采访时曾说,提升一个工程师代码水平编程能力很好的方法就是读大量的代码,代码是一个丰富的资源库,读了之后还要写,大量的开源代码可以很快地提升工程水平,也可以提升工程文化或者工程师的文化,让大家喜欢技术、喜欢开放。而且,开源软件可以提升人们对编程的热爱,也使得开发者对代码质量更加苛求,提升大家对完美度的追求。

对于公司来说,开源可以吸引人才,一个公司拥抱开源,崇尚开源文化,可以吸引更多工程师加入你的公司。

小米开源基于“5项原则”

崔宝秋表示,小米的开源战略基于5个原则:

1.速度要快;

2.不重造轮子,重造轮子会浪费公司资源,反之,我们不仅应该站在巨人的肩膀上,还要努力为巨人指方向;

3.不用则已,要用则精,在这方面,中国的很多公司犯了很多错误,没有用精,其实是对开源软件的不信任,不信任的原因是因为没搞定,只拿来用,用的很不舒服,没碰到真正困难的时候一切都好,一旦上线、集群大小不够,一扩容就容易出问题,所以要用则精,要深度掌握;

4.永抱开放和共享的态度,这是工程师文化的一个重要组成部分;

5.极力推出自己的committer,有的项目很成熟了,不需要参与,有的开源项目自身比较封闭,在一个正常的开源项目上能够参与就积极参与,但需要注意的是,即使推出自己的Committer,也要做到不用则已,要用则精。

小米的开源之路

小米的开源之路从2012年开始,下图囊括了这几年小米在开源上的重大成就。

\"\"

业务驱动开源

开源是需要大量投入的,那么如何平衡开源和业务上的投入呢?崔宝秋认为业务第一,开源第二,公司业务发展不要本末倒置,业务永远是第一位的,开源应该是业务驱动的,而不是跟风。

开源还需要与社区融合在一起,孤军奋战很难对开源软件有任何影响力,推出Commiter,其中一个原因是除了精通掌握代码以外,还需要拿到一定的话语权。中国的很多公司犯的一个错误是:在开源上,只是自己玩得嗨,做出来的东西根本不被人所接受,是因为这些公司做了自认为很好的东西,也很有通用性,但由于社区没接触过他们的业务,不会对这些项目产生信任,最终,不管好的、坏的项目,都会被社区抛弃。所以,以开放共享、与社区共同成长的态度去开源才能长期享受开源红利,封闭开发、短期受益,最终会被社区所抛弃。

最后,崔宝秋认为在AI时代,应该呼吁广义的开源,广义开源是指不仅开源代码、深度学习框架,还应开源数据,因为在AI时代,大数据扮演重要角色。再者,如果开源项目变得封闭,将不利于整个开源社区、开源软件的成长,HBase项目之所以做得很好是因为项目负责人的领导风格非常开放、友好、透明,所以在AI时代,开源还应该更加开放。

相关推荐

\"\"
12 月 7 日北京 ArchSummit 全球架构师峰会上,来自阿里、京东、Streamlio 的讲师齐聚一堂,共同分享“Apache Pulsar 解决运维痛点”、“Dubbo 应用实践”和“Flutter 在京东的实践效果”等开源技术相关经验与实践。详情点击 https://bj2018.archsummit.com/schedule

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

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

相关文章

《设计模式》3.结构型模式

点击进入我的博客 3.1 适配器模式 适配器模式把一个类的接口变换成客户端所期待的另一种接口,使得原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 3.1.1 类的适配器结构 目标(Target)角色:这就是所期待得到的接口&…

最快的计算机操作,世界十大最快的超级计算机

最近,《联邦储备技术》杂志对全球超级计算机进行了排名,并从中选出了十个最快的超级计算机. 其中,中国有两台超级计算机进入了榜单,而“天河2号”则依靠双精度浮点算术峰. 速度达到了每秒5490亿次,占据了王位.这也是两…

苹果iOS 10.3.1修复博通Wi-Fi芯片重大安全漏洞

如果你还没有将设备升级到 iOS 10.3.1 的话,那么现在是个机会了。因为不久前发布的 iOS 10.3.1,修复了 iPhone 中博通 Wi-Fi 芯片的一个重大安全漏洞,该安全漏洞可能会使在 Wi-Fi 范围内的攻击者在智能手机上注入并运行代码。 Google Project…

台积电放大招:甩开英特尔 7nm和5nm芯片将诞生

北京时间1月20日消息,据科技网站AppleInsider报道,近几年来台积电的发展势头相当猛,该公司总裁兼联合CEO刘德音(Mark Liu)在最近的投资者会议中表示,预计今年年末公司就将正式量产10nm晶圆。此外,台积电7nm研发一如预期…

01: 实现注册登录功能

目录:抽屉项目之js最佳实践 01: 实现注册登录功能 02: 实现发布帖子功能 03: 将帖子展示到页面、点赞 04: 层级评论 目录: 1.1 显示、隐藏 "登录/注册" 菜单1.2 注册功能1.3 登录功能1.4 获取当前用户数量1.1 显示、隐藏 "登录/注册"…

计算机系统怎么算页面大小,电脑网页的设计尺寸是多少

电脑网页的设计尺寸是多少刚入门的网页设计师可能对电脑网页的设计尺寸大小存在疑问,以下百分网小编整理的电脑网页的设计尺寸,希欢迎阅读!  对大于30W台客户端用户进行测试,得到的测试数据如下(数据来源于网络):安全分辨率为10…

WPF 托盘闪烁

WPF 托盘闪烁控件名:NotifyIcon作者:WPFDevelopersOrg - 弈虎、驚鏵原文链接: https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40。Visual Studio 2022。项目使用 MIT 开源许可协议。接着上一篇基础托盘。新增如下…

Information Retrieval 倒排索引 学习笔记

一,问题描述 在Shakespeare文集(有很多文档Document)中,寻找哪个文档包含了单词“Brutus”和"Caesar",且不包含"Calpurnia"。这其实是一个查询操作(Boolean Queries)。 在U…

计算机地址栏搜索不了网,我的电脑地址栏不见了怎么办 地址栏不见了如何解决...

导语:小编对电脑是比较痴迷的,因此喜欢在自己的电脑上进行各种操作,也经常会碰到一些问题。今天要为大家介绍的是在我的电脑地址栏不见了之后怎么办,熟悉电脑的朋友都能够了解。在我的电脑主界面里面,有一个地址栏&…

实践App内存优化:如何有序地做内存分析与优化

由于项目里之前线上版本出现过一定比例的OOM,虽然比例并不大,但是还是暴露了一定的问题,所以打算对我们App分为几个步骤进行内存分析和优化,当然内存的优化是个长期的过程,不是一两个版本的事,每个版本都需要收集线上内…

WinForm(十四)窗体滚动日志

在桌面程序里,一般日志记录到文件里就可以了,但有的时间,也需要在窗体上动态滚动显示,这时,就需要引入日志框架了。这里引入的依旧是NLog(在我的Mini API系统里,用的也是NLog)。首先…

xp计算机找不到音量调节,WinXP电脑没声音且小喇叭不见了如何解决?

有用户在使用电脑听音乐的时候,突然发现电脑没有声音了,本来以为只是被禁了音,想着调节音量即可解决问题。但是当他想要点开音量小喇叭的时候,发现桌面任务栏通知区域的小喇叭不见了,这该怎么办呢?下面小编…

2018-2019-1 20165211 实验四 外设驱动程序设计

2018-2019-1 20165211 实验四 外设驱动程序设计 任务一 1.实验要求 学习资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章 提交康奈尔笔记的照片(可以多张) 2. 任务完成 任务二 1. 实验要求 在Ubuntu完成资源中全课中的“hqyj.嵌…

《ASP.NET Core 6框架揭秘》实例演示[31]:路由高阶用法

ASP.NET的路由是通过EndpointRoutingMiddleware和EndpointMiddleware这两个中间件协作完成的,它们在ASP.NET平台上具有举足轻重的地位,MVC和gRPC框架,Dapr的Actor和发布订阅编程模式都建立在路由系统之上。Minimal API更是将提升到了前所未有…

java中文乱码解决之道(五)—–java是如何编码解码的

编码&解码 1:I/O操作 2:内存 3:数据库 4:javaWeb 下面主要介绍前面两种场景,数据库部分只要设置正确编码格式就不会有什么问题,javaWeb场景过多需要了解URL、get、POST的编码,servlet的解码…

win10系统按esc会弹出计算机,win10系统版本2004控制面板多出ESC是什么原因?

如果我们的电脑在升级了win102004控制面板多出ESC什么情况方法一:“干净启动”,排除第三方软体的影响1.停止非核心的程序运作(包括第三方杀毒、优化软体)2.情况允许的话,卸载设备中的第三方杀毒、管家、优化软件3.同时按【4.点击【服务】>…

CentOS6/7 配置守护进程

CentOS6.xCentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式。一、相关命令通过initctl help可以查看相关命令[rootlocalhost ~]# initctl help Job commands:start Start job.stop Stop job.restart …

Java并发(二十一):线程池实现原理

一、总览 线程池类ThreadPoolExecutor的相关类需要先了解: (图片来自:https://javadoop.com/post/java-thread-pool#%E6%80%BB%E8%A7%88) Executor:位于最顶层,只有一个 execute(Runnable runnable) 方法&a…

进程池

转自:https://www.cnblogs.com/kaituorensheng/p/4465768.html 在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间。当被操作对象数目不大时,可以直接利用…

gulp版本号管理插件注意事项

2019独角兽企业重金招聘Python工程师标准>>> 打开node_modules\gulp-rev\index.js 第144行 manifest[originalFile] revisionedFile; 更新为: manifest[originalFile] originalFile ?v file.revHash; 打开node_modules\rev-path\index.js 第10行 return filena…