开源应用程序自动部署引擎Docker将在本周公布1.0版本,看似与开源软件势不两立的微软和Rackspace 、IBM、谷歌、Canonical、Red Hat等公司一样,都是这款开源软件的功勋之臣。据ZDnet报道,Docker使用整合包(containers)替代虚拟机,能让多款应用程序同时在一个服务器上运行,让开发者和系统管理员轻松地部署分布式应用程序。

拥有丰富软件技术宝库的微软,为这款开源软件贡献了诸多微软技术,测试人员已经能在Linux虚拟机中运行预览版的Docker on Azure。 但在本周的DockerCon show上,微软代表将使用Azure虚拟机扩展软件把Docker部署到Linux虚拟机之中。在Azure上运行时,Docker集成了跨平台的 Azure CLI工具套件,并让用户更简便地登陆到Docker on Azure。

**微软开源技术的发展
**
Docker仅仅是微软力挺开源技术的最新案例,他们对开源技术的热衷要从2006年微软开放源技术中心(OSTC)成立开始谈起。在此之前,微软和Linux几乎是势不两立的。微软第二任CEO鲍尔默曾在2001年把Linux称作恶性肿瘤,2007年夏天的时候微软还指责Linux侵犯了微软的235项专利,暗示将索要授权费。

与此同时,微软内部关于开源软件的讨论开始出现变化。在首席开源战略师萨姆·拉姆齐、微软开源先驱比尔·希尔夫(Bill Hilf)等人的积极推动下,盖茨在公司内部会议上表达了对微软拥抱开源的支持,随后微软开源技术中心就此诞生。

微软在开源技术上的努力很快有了成果,2007年他们首次破天荒地向Linux贡献了3个驱动程序,2万行源代码,引发业内强烈关注。这3个驱动程 序主要改进了Linux运行在微软虚拟环境Hyper-V的支持,同年微软加入了总部位于美国加州的开源组织Open Source Initiative(OSI)。

随着对开源技术支持力度的不断加大,2012年微软开放技术开始独立运营,成立了微软开放技术公司(Microsoft Open Technologies)。同年,微软对Linux源代码贡献终于挤进前20强,排在Red Hat、谷歌、IBM、英特尔等公司之后,殊为难能可贵。

2014年1月,微软开放技术公司全资子公司——微软开放技术(上海)有限公司正式成立,再次扩大了微软开放技术版图。

微软开放技术成果

独立运营的微软开放技术公司已经取得很多成果,微软已经宣布将Node.js和Hadoop等Linux技术移植到Windows。他们还陆续开放 ASP.NET、MVC、Web API、Entity Framework、SignalR、VS Web Essentials、Azure SDK等一系列微软技术的源代码。Build 2014大会上,微软宣布开放.Net编译器Roslyn及WinJS源代码,并成立.Net Foundation基金会开源更多.Net组件和代码库。

除以上开源技术外,微软还和各大开源社区DMTF, ISO, OASIS, W3C在开发开源云计算的标准(如 OData, AMQP, WS-Management 及OVF )方面展开深入合作,保证这些技术在Windows Azure云计算平台上的高效率运用。

此外,微软还与国际标准化制定机构W3C’s HTML、IETF’s HTTPBis、Ecma 推动行业技术标准的制定,在WebRTC、HTTP/2.0、W3C 网络平台文档等诸多标准化技术领域作出了一系列贡献。

同时,为帮助微软Widows 8和Windows Phone平台生态系统的发展,他们积极推动PhoneGap (即 Apache Cordova) jQuery Mobile、Sencha Touch、SQLite 和 SharpDX等等开源和跨平台工具在Windows Phone的应用开发,为JQuery支持Windows应用商店提供技术支持等等。

(也许有人会想起,微软一直在向Android设备制造商收取授权费。实际上Android一直被谷歌公司牢牢掌握,据 VisionMobile 2011年发布的报告,Android开放程度仅有23%,远不及同期Symbian的58%和Linux的71%。同时,收 取授权费与否和支持开源技术并无太大关系)

微软为何钟情开放技术

与非营利机构不同,企业是以盈利为目的的。在纳斯达克上市的微软公司,更有必要向每位投资者负责,为股东带来更多投资回报。投资于开放技术无法获取直接经济收益,却能给微软带来间接回报。

微软开放技术公司的宗旨是成为沟通微软技术与非微软技术的桥梁。

微软云计算平台Azure是微软技术与非微软技术最大、最重要的聚集地,微软允许用户在Azure上通过虚拟机运行Linux操作系统,使用 Oracle 数据库和中间件,使用非Windows开发工具Java、Ruby、PHP和Python。把微软带进开放技术世界的比尔·希尔夫,就曾担任微软云计算平 台产品总经理。微软云计算业务现掌门人斯科特·古斯里,同样是位开放技术的倡导者。微软在开放技术领域作出的许多努力,例如本文开头的Docker软件, 都为Azure更好服务使用非微软技术的客户,占领更广阔的市场份额,作出了很大贡献。

除Azure外,Windows、Windows Phone等微软生态系统经常需要开源技术如Linux的支持,如微软为Linux首次贡献的2万行源代码主要是为Linux运行于微软虚拟化产品 Hyper-V提供支持。同时微软大力拥抱开源技术,可以博得大批开源技术开发者的欢心,让他们有机会为微软技术生态系统贡献力量。

为了在行业技术标准上获得足够话语权,微软有必要参与到行业技术标准的制定中来。在开放的行业技术标准中加入微软贡献的技术,可以帮助微软产品如IE浏览器更好地与竞争对手产品展开竞争,其重要性不言而喻。

微软始终保持着全球最大软件公司的霸主地位,在计算机软件产业中拥有巨大影响力。即便如此,大量非微软技术,尤其是开源技术在计算机产业内依然扮演 着不容忽视的重要作用。微软拥抱非微软技术,沟通微软技术与非微软技术,符合微软、其他软件公司或组织、开发者、用户等所有产业内参与者的利益。

微软为何钟情开源技术?相关推荐

  1. 开源技术可以解决贸易战?Richard Stallman 给微软的十条公开建议等;开源之道每周评论(2019 10 08))...

    点击上方"开源之道"关注我们 声明:本站言论,仅代表本人观点! 文章点评 RedHat,是什么成就了我们 原文链接:What makes us Red Hat 适兕点评: 对于开源 ...

  2. 微软亚洲研究院开源分布式机器学习工具包

    微软亚洲研究院开源分布式机器学习工具包 为了满足研究人员和开发者日益增长的各种需求,微软亚洲研究院于日前将分布式机器学习工具包(DMTK)通过Github开源.DMTK由一个服务于分布式机器学习的框架 ...

  3. Google、亚马逊、微软 、阿里巴巴开源软件一览

    Google.亚马逊.微软 .阿里巴巴开源软件一览 大公司为什么要发布开源项目?一是开源能够帮助他人更快地开发软件,促进世界创新,主要是社会价值层面的考虑.二是开源能够倒逼工程师写出更好的代码.三是开 ...

  4. 微软亚洲研究院开源图数据库GraphView

    好消息!微软亚洲研究院开源图数据库GraphView 发表于8小时前| 885次阅读| 来源CSDN| 0 条评论| 作者张勇 微软亚洲研究院GraphView width="22" ...

  5. 【Alljoyn】Alljoyn学习笔记五 AllJoyn开源技术基础概念解析

    AllJoyn开源技术基础概念解析 摘要: 总线(Bus) 实现P2P通信的基础 AllJoyn 的底层协议类似于D-Bus,相当于是跨设备分布式的 D-Bus 总线附件(Bus Attachment ...

  6. .NET 差点不叫“.NET”?微软大牛爆料技术往事

    作者 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 2000 年注定是不平凡的一年:千年虫问题爆发.互联网泡沫破灭--正值世界风云突变之际,比尔·盖茨和史蒂夫·鲍尔默向全球宣布全力打造&q ...

  7. 微软中国Azure开源开发者(深圳)研讨会

    时间:2017年6月28日 地点:深圳福田香格里拉大酒店 微软开发技术与云平台自从迈向开放.开源.跨平台的转型以来,已经受到全球开源社区们的关注.从Github 上高居世界首位的开源项目贡献数量,可以 ...

  8. 从人工智能到云,英特尔开源技术推动软件栈创新

    戳蓝字"CSDN云计算"关注我们哦! 2019年英特尔开源技术峰会(OSTS)   [CSDN记者现场报道]5月14-16日,英特尔主办一年一度的开源技术峰会(OSTS).该峰会源 ...

  9. 360 回应安全云盘出现交易异常;苹果官网陆续限购 iPhone;GitHub 屏蔽微软工程师的开源项目 | 极客头条...

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦 ...

最新文章

  1. Android静态变量的生命周期
  2. php基于laravel框架的批量插入操作
  3. stdarg.h(c标准库)
  4. gns3中两个路由器分别连接主机然后分析ip数据转发报文arp协议_关于TCP/IP,必知必会的十个问题!...
  5. ScrollView嵌套ViewPager,ViewPage动态设置高度,嵌套事件冲突——滑动冲突解决方法
  6. 机器学习笔记(七)——决策树模型
  7. VS2012程序打包部署详解
  8. WPF:使用WPF应用程序中的默认网络凭据和凭据存储来管理自动登录
  9. 马克·扎克伯格帝国的衰落
  10. javascript实现java的StringBuffer功能
  11. 程序员必读的职业规划书 - 思维导图
  12. ArcGIS地图文档(mxd)过大的问题
  13. 运行.AppImage文件。
  14. [Bzoj3262]陌上花开(CDQ分治树状数组||树套树)
  15. 自动网络设计(NAS)Randomly Wired Neural Networks 何凯明团队
  16. Idea终端中无法使用maven命令问题解决
  17. JUnit5 + JMockit 知识整理
  18. 堪萨斯州立大学计算机科学,美国留学:2019计算机专业最新排名
  19. Windows套接字I/O模型(3) -- WSAAsyncSelect模型
  20. Jmeter设置之ramp-up

热门文章

  1. 一种通用的数据仓库分层方法
  2. 基于深度学习的指针式仪表图像智能读数方法
  3. linux查看无线网卡的信息
  4. 使用Vim 8.0搭建远程服务器端IDE(三)
  5. Celery异步任务重复执行(Redis as broker)
  6. Maven私服Nexus安装与使用,springboot源码解析
  7. 麒麟linux访问windows桌面,VNC轻松连接远程中标麒麟桌面
  8. Web程序设计学习笔记<一>
  9. 【GAOPS049】求补码的三种方法
  10. android项目实战博学谷源码_Vue框架:史上最详细的Vue实战项目之喵喵电影(视频+源码)...