小米开源经验:崔宝秋谈为何与如何拥抱开源

需积分: 9 5 下载量 158 浏览量 更新于2024-07-21 收藏 1.45MB PDF 举报
“崔宝秋:拥抱开源,小米的开源经验分享” 小米作为一家知名的科技公司,其首席架构师崔宝秋在Qcon2014大会上分享了小米在开源领域的经验。小米积极拥抱开源,将其视为公司文化的一部分,以此推动技术创新、吸引人才,并提升软件质量。开源对于互联网创业公司至关重要,因为它允许站在前人的肩膀上快速创新,同时通过共享技术来回馈社区。 然而,使用开源软件也存在一些顾虑,如学习成本高、缺乏掌控、不够灵活以及知识产权问题。小米在面对这些问题时,遵循了几个基本原则。首先,强调快速响应,不重复制造已有的开源解决方案。其次,如果选择使用开源项目,就要深入精通,而不仅仅是浅尝辄止。此外,小米极力培养自己的Committer,以在开源项目中发挥更大影响力,推动项目朝着对公司有利的方向发展,避免内部分支与社区主线逐渐脱节。 小米在实际运营中广泛使用了各种开源软件,包括Thrift、Scribe、ZooKeeper、Rose、Nginx、Kafka、RabbitMQ、Memcached、HBase、MySQL、Riak、Voldemort、Ganglia、Nagios、Hadoop、Storm、Hive、Spark和Azkaban等,涵盖了日志框架、服务框架、HTTP Web框架、消息队列、分布式缓存、存储业务、监控报警和数据处理等多个领域。 小米不仅使用开源软件,还积极参与开源项目的开发,如HBase和SenseiDB。小米自己开源的软件包括Minos(用于分布式部署和监控的工具)、MIUI系列工具、Chronos(高可用Timestamp服务)和Themis(实现了HBase跨行跨表事务)。这些项目可以通过小米的两个主要开源入口找到:https://github.com/XiaoMi 和 https://github.com/micode。 小米的开源策略表明,积极参与开源社区不仅可以节省研发成本,降低试错风险,还能通过贡献代码和提供反馈来塑造开源项目的发展,从而更好地满足自身业务需求,同时也为整个行业做出了积极贡献。