阿里开源:思考,演进和发展-阿里云开发者社区

开发者社区> 开发与运维> 正文

阿里开源:思考,演进和发展

简介: 2016云栖大会·北京峰会于8月9号在国家会议中心拉开帷幕,在云栖社区开发者技术专场中,首位登场的阿里云技术专家唐容为大家带来来题为《阿里开源:思考,演进和发展》的精彩演讲。

2016云栖大会·北京峰会于8月9号在国家会议中心拉开帷幕,在云栖社区开发者技术专场中,首位登场的阿里云技术专家唐容为大家带来来题为《阿里开源:思考,演进和发展》的精彩演讲。


关于分享者:

唐容,2011年加入阿里,负责内部开发者服务相关工作,包含内部源码管理,CI/CD等产品研发,2014年开始负责对外云上代码托管和持续交付平台的开发工作。2016年开始负责阿里开源相关的工作,希望能够打造阿里开源技术生态,融合社区,推动开源技术发展。


演讲内容架构

  • 开源的目的
  • 开源的四个阶段
  • 2016阿里开源关键词
  • 2016阿里开源关键项目

开源的目的

唐容重申阿里开源得目的,阿里开源不是到业内秀肌肉,更不是自卖自夸;阿里之所以选择开源是因为开源是孵化新技术领域的容器,是因为开源是技术演进的最大推动力: 任何一项技术产品,如果能得到Global的社区诸多场景来验证和贡献,通过社会化开发来演进,都是这项技术能够快速发展和普及的关键推手。无论是Linux, Apahce,还是Hadoop ,Docker,都证明了这一点。

同时,阿里开源的核心目的是通过“众创”带来业务和技术上的价值与创新

6578979d1bb9195ca16b7730dd45da3cdc92c10e

开源的四个阶段

开源的四个阶段分别是:拥抱开源、回馈开源、融合开源和回报开源。

1b7710cb6fa55faaafd1c4317dd3261678d59094

开源的第一个阶段:拥抱开源。之所以拥抱开源是因为只有站在巨人的肩膀上,才能快速地获取基本的技术能力。同时开源还有助于吸引人才加入开源项目的研发;有助于吸引外来的贡献,使得开源项目内容多样化;开源还有助于项目研究人员提高技术视野和软件质量。

98fe9f3d06ad591954a38e99742462e84499cef0

开源的第二个阶段:回馈开源。回馈开源分方式多样,主要包括以下几种:

  • 通过代码(补丁、特性)来回馈社区;
  • 通过编写最佳实践、博客、文档、案例、手册来回馈社区,帮助更多的人了解开源项目;
  • 发起或成为项目的Committer, 更多参与社区事务;
  • 成立社区大学,承担人才培育事务;

5332e6619cbc9ec7fe6e6e8dc2a369fbbc1ad091

近年来,阿里巴巴共在Github上开源了包括服务框架 Dubbo、分布式文件系统 FastDFS、分布式key/value存储系统 Tair等在内的总计115个软件。

30cb9097b9571a3d2d2473f643316406180dde09 

开源的第三个阶段:融合开源。融合开源意味着开源项目是否被认可和有效使用;社区是否集成了我们的开源产品。

同时,融合开源就要参与标准的制定,与社区共同成长。合力社区,弥补原始开源项目的短板,促进产品级别相互整合,使得开源项目变得简单易用。 

e17fbce956b213067c247fb03ec2411b654b2632

开源的第四个阶段:回报开源。回报开源可以从管理公益组织事物入手,促进工业界和学术界的合作;同时,也可以和社区一起建立崭新领域。产品级开源,也有助于加快创新。

阿里为回报开源做了很多工作,阿里集团开源委员会层面决策和投入,确保开源连贯性。

415b6cf4f8840eed2168f41a4075433797961cf0

今天的阿里巴巴,我们认为处在第三和第四阶段之间, 因为虽然例如Apache Storm, Docker,Hadoop 等社区已经接纳我们的产品,接受我们的Patch,和我们的产品做了集成和融合,但今天仍然有非常多领域的技术,新技术在不断的发展,阿里巴巴也在这方面逐步的提升自己,补足自己,希望能和社区共同发展。

同时,阿里巴巴是FSF,Apahce ,Linux基金会成员,同时是Xen顾问委员会成员。 那么为什么基金会的项目是更多企业愿意使用的呢? 因为基金会大多是非政府组织,基金会的项目是能够保证持久开源并不被某个公司所垄断和收购的,同时有很多基金会是协同各大技术公司来共同制定标准和方向的。   

  dee5af6961c795be6800bfadf1d7efc5de8dc518

开源除了基金会,还有一个协议存在,是要遵守一定的规则的,简单分为学术型和Copyleft协议两类,从下表可以看出阿里开源的协议以学术型的为主。开源协议的具体介绍参见:https://yq.aliyun.com/articles/57148

 

ddd371444c764aad66e1a0fdaf7a99171ba8a7d7

 

2016阿里开源关键词

2016年阿里巴巴开源的关键字是:开发效率提升、无线和前端技术、数据库技术。

其中开发效率提升,一方面从去年开始,阿里云开放了非常多的OpenAPI,SDK和Demo Code,拟为云上开发者提供更透明,更直接的使用云资源方式,另外Docker的出现新增了一种开源技术交流的方式,以前大家只能通过看源代码来学习一款开源软件,现在通过获取软件的Dockerfile和编排文件,可以一键搭建起来整个系统来使用,以前的开源只是Code,以后的开源是Code + 依赖栈 + 整个运行环境,Docker技术在革命了软件交付链的同时,也在革命者开源软件交付。 如果想要了解docker技术,请移步阿里云容器服务https://www.aliyun.com/product/containerservice  和容器服务官方公众号 https://yq.aliyun.com/teams/11 。

无线开发人员近几年来暴涨到300万,Android和IOS两个平台的APP达到500万,无线,跨平台等业务的发展速度为技术人员带来了巨大的挑战,阿里今年开始也在大力的补充这个领域的技术生态,已经逐步开源了跨平台移动开发框架Weex、跨平台测试框架Macaca 、跨平台H5游戏引擎Hilo,前端UI设计Ant-Design等,同时在下半年仍然会有新的前端技术开放,敬请期待。

阿里云数据库团队是一直和开源社区共同发展的团队,无论是覆盖了DBRanking top 20的数据库产品,还是发起中国Redis社区,还是今年新增的大数据领域的EMR等,数据库团队一直坚持每月输出开源技术月报的形式,和开源社区共同发展和分享着数据领域的诸多技术。

 

8f5074841d07559159ed4c1c3199b5610a431672

 

2016阿里开源关键项目

今年四月份,阿里在Qcon大会上宣布跨平台移动开发工具Weex即将开源。Weex项目孵化于阿里无线、阿里百川。它吸收了React Native的思想,结合Web Component和Vue.js 。Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。

对于移动开发者来说,Weex主要解决了频繁发版和多端研发两大痛点,同时解决了前端语言性能差和显示效果受限的问题。现在已经全面开源,具体介绍请移步Weex官方网站和云栖社区:(http://alibaba.github.io/weex/https://yq.aliyun.com/teams/13 。

 

d3e57526ecca0eca3759eb9b455b05e69784c466

Ant Design 是蚂蚁金服开发和正在使用的一套企业级的前端设计语言,他是基于 React 的前端框架实现。旨在统一中台项目的前端 UI 设计,屏蔽不必要的设计差异和实现成本,解放设计和前端的研发资源。

目前在Github上已获得了4935个Star,更多信息请移步:http://ant.design 。

6f0e2122dd52ba8703ecea1e0544952e5972779e

今天,阿里云正式宣布启动 AliSQL 数据库开源项目。AliSQL 是基于 MySQL 官方版本的一个分支,由阿里云数据库团队维护,该版本性能优于社区版 MySQL 70% 左右,可帮助中小企业和开发者提升数据运营能力。

它具有以下特性:

  • 性能和稳定性:引入thread pool,并行复制,细粒度锁拆分等性能优化;
  • 运维监控:增加了更多的监控指标,帮助DBA进行问题诊断;
  • 适配行业特点的功能:针对不同的行业,比如电商的秒杀,物联网的大数据压缩,金融的数据保护方案等解决方案;
  • 安全:通过国际合规认证的加密,防火墙特性。

按照开源时间表,预计在 9 月邀请部分用户内测。在10月,阿里云 Code 平台(code.aliyun.com) 和代码托管网站 Github 则可以下载 AliSQL 源代码。 想知道70%是不是真的?想知道300个Patch是什么含义?Just Try :https://promotion.aliyun.com/ntms/act/alisql.html 。

 

37122c64eeafebae37fdd398830a8838e8106349

阿里巴巴集团积极拥抱开源事业,无论是开源软件的应用、回馈以至自研技术的开源都非常活跃。阿里表示欢迎大家共同参与开源项目,在使用的同时也贡献智慧,为开源界带来更多进步。 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章