标签 开源 下的文章

2012 年时候,我出席了一个开源社区的聚会,打那之后我就喜欢上了这个行业。

我做猎头很多年,现在我在 Greythorn 公司专门从事大数据方向招聘。我自己之前学习了几个月大数据,可是当我参加了 OSCON 开源大会,才发现之前的学习多么低效率。OSCON 里聚集了非常多聪明的人,他们每个人都很愿意分享他们的心得。分享的原因不是他们想推销产品,纯粹是因为喜欢。

我很快意识到,与其说开源和大数据是一个行业,不如说他们是一个 社区 community 。这也是为什么我现在特别想把我从开源中学到的东西分享给大家,特别是给那些刚刚踏入工作的新人。

为什么雇主喜欢开源 贡献者 contributor

我的许多客户跟我说过:一个人的技术虽然重要,但真心喜欢自己从事的工作更重要。如果你热爱自己的工作,即便老板不给加班工资你都忍不住想加班。

我的客户也经常问,“这个人没事儿的时候写代码吗?”“我能在哪儿找到他们的作品呢?”“他们有什么爱好呀?”这时候开源社区贡献者的优势就出来了,因为上面的问题就是给他们量身定做的。他们做的项目开源,这就是他们编码能力的例证。

为什么猎头在寻找开源贡献者

硬派科技行业猎头了解技术,知道自己在找一个什么样的人,这样的猎头也能正确的了解对象的技能。我发现,猎头们找到的最优秀的人才很多时候也在做开源,所以我们经常直接去开源社区寻找我们的目标。猎头们会告诉雇主,“我们找到的那个人喜欢和团队一起创造了不起的产品”,而这基本上是优秀雇主共同的要求。

所以说:如果你的项目目标是改变人类的未来,那当这些聪明人来到你的团队之后,他们自己就会爱上自己的工作。

开源贡献者如何得到更好的职业生涯呢

怎么让你的贡献更广为人知呢:把代码放到 Github 上;做开源项目;参加会议和研讨等等。做这些事情你会有意想不到的收获的。

可以尝试问一下自己:

  • 你觉得所在的公司是否回馈开源社区这件事重要吗?很多优秀的人才都强调这一点,回馈社区也会极大的提升他们对工作本身的满意度。
  • 你在做产品是否基于开源软件?基于开源软件的公司的文化氛围会与其他公司与众不同,这也是你选择职位时候需要考虑的问题。
  • 你有没有特别想与之工作的人?虽然你可以随时换项目,但如果团队里有你崇拜或者欣赏的人,那工作就棒极了。

假如你了解自己的人生追求,那么过滤掉那些不适合你的职位就简单多了;假如你有一个相熟的猎头,那找到相合的雇主和团队的机会就大多了。

虽然我自己不写代码,但我会把我从开源社区中学到的东西分享给大家。开源社区是由一大群聪明又乐于分享的人组成,我很开心我也是其中小小的一份子。


via: https://opensource.com/business/16/5/open-source-recruiters-perspective

作者:Lindsey Thorne 译者:eriwoon 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

很多人都知道 EMC 这个公司,知道它是一家全球顶尖的存储产品供应商,但是很多人却不知道 EMC 也是一位开源先锋。

前一段时间去参加 EMC World 2016大会,在大会上的见闻了种种新技术,也第一时间听到了不少最新披露的消息。这期间,令笔者非常吃惊的是,EMC 在开源方面的步伐之大,远在很多同侪之上。

EMC {code} 在 EMC World 2016 上

对 EMC 的印象

原本印象中,EMC 是一个以硬件和专有软件为主的厂商,在开源方面不会有太多的积极性,而且存储方面的专有软件也未必适合开源。

EMC 是一家已经成立了30多年的老牌 IT 公司,也是全球第六大的企业软件厂商。以过去的经验来看,这种类型的公司通常在采用新技术方面和公司战略方面会比较稳健,但是近些年随着 EMC 公司在开源战略方面的部署,其不仅仅在原本的存储市场、企业软件市场方面继续着保持领导地位,也逐渐将其影响力带到了开源领域。

在听了一场由 EMC {code}的 Jonas rosland 和 Stephanie Carlson 做的演讲之后,笔者发现 EMC 已经紧密的融入了整个开源生态方面,不但与包括 Linux 基金会、OpenStack 基金会、GitHub 等在内的各个开源社区形成了紧密的合作,而且在组建自己的开源社区 EMC {code} 方面已经做出了长足的发展。

EMC 在开源方面的工作

EMC {code} 开源社区

EMC 的开源社区,与他们开源的各种项目奇奇怪怪的名字相比,起了一个不算出奇的名字 {code}。这个名字代表着一句他们的开源战略:COMMUNITY ONRAMP for DEVELOPER ENABLEMENT,这句愿景似的标语如果用中文来描述,可以解释为:“让开发者进入高速通道的社区之路”。

EMC {code} 建立两年来,目前已经发布了多达48 个开源项目——哦不, 49 个了,就在写作这篇随笔的时间里又增加了一个。仅在 2015年这一年,就向社区贡献了超过35万行的代码。其中一些开源项目原本能为 EMC 带来大量的商业营收,比如 CoprHD、RackHD 等,因此在开源后得到了社区的高度关注和积极参与。

COMMUNITY ONRAMP for DEVELOPER ENABLEMENT

让我们来看来 EMC 在开源方面都做了哪些举措:

RackHD

RackHD

去年底的时候,EMC 公司兑现了其为开源社区带来重要新贡献的承诺,以 Apache 开源协议发布了 RackHD™ (读作Rack ‘H’ ‘D’)项目。这是一个与平台无关的技术栈,旨在解决超大规模环境下管理和组织协调服务器与网络资源这一行业性挑战。

现代化的数据中心是一个多供应商的存储、网络和服务器的混合体,种类不断增加的商品化硬件被用到各种超大规模场景。对数据中心工程师来说,在大量设备上安装低层级的操作系统、更新固件和 BIOS,已经成为一项复杂低效的人工任务,在超大规模环境下,难度和成本以数量级增加。 RackHD 的创建旨在囊括各种数据中心硬件的自动化,简化这些基础任务。

开发人员可使用 RackHD API 作为更大的组织协调系统的一个组件,或者创建一个用户界面管理硬件服务,无需考虑底层硬件是否就绪。其目标是帮助各个组织机构加速现代化应用的部署。而这些应用依赖于大量的商品化服务器和异构基础设施。

目前,RackHD 支持各种基于 Intel® 处理器的数据中心服务器,以及交换机的发现和监控。

详细功能列表请访问 GitHub 上的 RackHD 项目地址: https://github.com/RackHD

REX-Ray

REX-Ray

虽然 EMC 公司旗下已经有了虚拟化领域的领军的 VMWare 公司,但是在 Docker 兴起之后,EMC 还是积极地参与了容器领域的发展,并利用其在存储领域的强大的技术优势,将 Docker 技术融入到其 XtremIO 和 ScaleIO 产品中,利用简单的 Docker 存储容器实现了共享存储。

REX-Ray 是一个存储编排引擎,它为Docker、Mesos及其他容器运行环境提供了持久化存储访问。其设计旨在囊括通用存储、虚拟化和云平台,提供高级的存储功能。REX-Ray 为容器提供了与厂商无关的持久存储,为横跨公共存储、虚拟化和云平台实现先进的存储功能提供了一种简便的集中式架构。

REX-Ray率先提供卷挂载功能,允许主机从无响应的主机上重新分配挂载卷。这样可确保应用程序维持对永久存储的访问。

在 EMC World 2016 大会上,EMC 发布了 REX-Ray 的最新版本 0.4,新功能包括了一个可选的 C/S 模型架构,可用于中心化的控制,兼容 Docker 1.11 Volume API,并支持 EMC ScaleIO、XtremIO、Isilon和 Vmax 存储,以及支持 Amazon EC2、Google Compute Engine、OpenStack和Rackspace 等云存储服务。

EMC {code} 技术副总裁 Josh Bernstein 说,“开源和基于软件的架构变为了我们的客户所急需的。

详细功能列表请访问 GitHub 上的 REX-Ray 的项目地址: https://github.com/emccode/rexray

Polly

Polly

在本次大会上,EMC {code} 还新发布了 Polly,它提供了一个可以连接到容器调度器的中央存储调度服务。它可以与Cloud Foundry、Docker、Kubernetes,、Mesos 等容器调度服务协同工作,这样,存储就可以像计算、内存和网络一样访问了。能够与其他计算资源一起提供存储资源是一个革命性的飞跃,这超越了其他容器计划,而且提升了存储的地位,使其能够像其他资源一样使用。

Polly 顺应“调度环境中将存储作为‘头等公民’”这种需求而出现,其意即“ 多态存储卷调度 polymorphic volume scheduling ”,是一种面向 Cloud Foundry、Docker、Kubernetes、Mesos 以及其他调度环境的开源框架。

以前,就容器部署而言,容器调度器仅关注计算、内存和网络资源。随着容器内的应用开始需要持久的后端存储,将其作为可调度的资源使用的需求出现了。Polly 充当了这样的角色:将存储作为一种开放框架集成到多种容器调度解决方案中。

开源容器生态系统是多种多样的,部署方式也有所不同。多态解决方案允许代码演变,同时保持原始算法完好无损,因此在将存储集成到支持性生态系统中时,多态解决方案对于实现公共功能和方法是至关重要的。

详细功能列表请访问 GitHub 上的 Polly 的项目地址: https://github.com/emccode/polly

CoprHD

CoprHD

CoprHD 是开源的存储自动化软件,将来自多个供应商的存储集中化,并转变成单一且可扩展的平台。现在以 Apache 2.0 许可协议开源。

为了帮助企业迎战各种变化,EMC 推出了核心产品 VIPR 控制器的开源版本:CoprHD,向以社区为主导的开发群体开放 ViPR 控制器所有的存储自动化和控制功能代码,以方便社区开发软件定义的存储自动化系统。CoprHD 提供与 ViPR 控制器同样的灵活性、多种选择、安全性和透明性,同时增强开发新服务和新应用的能力。

CoprHD 是 EMC 首个基于其商业软件产品的开源项目,它的源码具有与 EMC ViPR 控制器相同的核心属性和功能。需要指出的是,CoprHD 其对应的商业版本 EMC ViPR 控制器,EMC 也将继续提供和支持。

详细特性和支持平台的列表请访问 CoprHD 社区页面: https://coprhd.github.io/

对 EMC 开源战略的社区反响

EMC 在开源方面的举措坚定而持续。比如其去年开源的 ScaleIO 就分别来自其花费了3亿美金收购的公司的拳头产品,而 ScaleIO 这个软件在当初发布时,该公司甚至不愿提供试用版。至于 ViPR ,我们前面提到过,它的开源版本 CoprHD 和 ViPR 具有相同的代码基,而现在 CoprHD 已经形成了一个成熟的开源社区。

EMC 2016 大会上,参会者济济一堂

虽然对于 ScaleIO 是否算做是开源产品社区还有一些争论,但是无论如何在非产品环境中ScaleIO 是可以免费下载使用的。

当然,从另外一方面来说,除了部分产品,如 CoprHD 等少数核心产品外,社区也对 EMC 开源的部分外围产品关注不多,希望能见到更多靠近核心的产品能贴近开源战略。

从目前 EMC 开源的几十个软件项目中,我们可以看到,有些项目的参与者还较少。按照 EMC 的产品与市场总裁 Jeremy Burton 所说,“如果一个开源项目没有人参与,那不是开源,而叫做干掉该项目。”因此,如何将这些项目找到合适的贡献者,而不仅仅是“开放”源代码就万事大吉,还需要 EMC 做更多的工作。至少,社区方面应该有足够的渠道来听到 EMC 在开源方面的声音,并有合适的社区氛围参与进社区生态的建设,才有助于 EMC 开源战略的持续发展。

开源能给 EMC 带来什么?

开源是你的战略的一部分吗?

那么为什么 EMC 热衷于开源?开源可以为 EMC 带来什么?

开源可以让 EMC 的软件支持更多的第三方硬件,从而扩展了其应用场景,为客户带来更多的价值。

开源也可以让他们的软件得到更多的发展,从开源生态中汲取更多的养分。CoprHD 和 ViPR 的关系就类似 Fedora 和 Red Hat 的 RHEL 一样,可以通过开源社区的贡献、体验,从而为企业级的产品软件提供更多的发展的可能。

虽然,EMC 还是其开源的软件产品的主要贡献者,但是其开源的产品也会吸引大如 Intel 公司、各个研究机构和大学,小到独立开发者这样的开发力量参与进来。

另外,开源也为其争夺市场份额和对业界标准的影响有不可忽视的作用。

结语

纵观 EMC 在开源方面这两年来的举措,我们可以看到,部分传统的 IT 厂商已经坚定的转向开源战略,将开源作为其产品和业务发展的一大重要方式。

而 EMC 和 DELL 合并之后,笔者在和 EMC 相关高层中的沟通了解到,这种开源战略显然会进一步延续下去,并进一步扩展到新成立的 DELL 科技公司,从而吸引更多的开源社区力量参与,相对地也会进一步促进开源生态的发展。

作为开源战略不可或缺的部分,如何在“开放”源代码之后,将其植入开源社区的土壤,从而真正得到发展,这应该是之后 DELL 科技公司和 DELL EMC 的一大考量的地方。

00 microsoft

最近,微软在开源方面的动作频频引人注目,但是也许你并不知道微软从2004年就开始参与开源了,而就在那一年,Facebook 和 Ubuntu 才刚刚成立。

为此我做了一点研究,向大家揭示从2004年以来微软在开源方面的重大事件。

2004:WiX

01 wix first

WiX 工具集是微软的第一个开源项目,它发布于2004年4月。该工具集包括编译器、链接器、库工具和反编译器。WiX 的原作者 Rob Mensching 在一篇文章中写道,“WiX 成为微软以 OSS 认证的许可证发布的第一个项目,采用的许可证是 Common Public License。”

2005:F# 1.0

02 sharp

F# 是一个微软开发的跨平台、面向对象的编程语言。它在 Apache 2.0 许可证下发布的开源项目。可以运行在 Linux、 Mac OS X、Android、 iOS 和 Windows 下。该项目现在由 F Sharp 软件基金会开发运作。

2006:CodePlex

03 codeplex

CodePlex 是微软的自由开源项目的托管网站,这应该是微软首次重要的开源社区尝试。在该公司发布 CodePlex 的 beta 版时,上面已经有了12个项目。现在该网站上已经托管了几百个项目,也支持 Git 版本控制软件。

2006:在 Windows 上支持 PHP

04 php windows

2003 年,微软和 Zend 公司宣布合作以提升 PHP 在 Windows 服务器上的表现。在公告中,微软说该公司为 PHP 在 Windows 服务器平台部署所开发的各种技术改进都会按照 PHP 许可证提交到 PHP 社区,以寻求社区反馈和贡献。

2006:与 Novell 签署有争议的合作

05 novell

这是一份震动 Linux 世界的公告。微软和 Novell(SUSE 的拥有者)宣布合作了!虽然这两家公司主要关注在微软和 Novell 之间的互操作性的解决方案上,但是其中的专利条款却像捅了蚂蜂窝一样。

2007:微软的开源许可证得到了 OSI 认证

06 microsoft license

开源推进联盟 Open Source Initiative (OSI) 对微软的开源许可证 Microsoft Public License (Ms-PL) 和 Microsoft Reciprocal License (Ms-RL) 进行了认证。在一篇文章中, OSI 写道,“这个决定的通过获得了开源社区大多数人的认可(虽然还有不同意见),这些许可证符合开源定义的10项准则,所以应该通过。”

2007:给 Samba 提供补丁

07 samba

在欧洲法庭上败诉之后,微软与 Samba 项目之间的长期战争终于结束了。微软和由 软件自由法律中心 Software Freedom Law Center 所创建的非盈利机构 协议自由信息基金会 Protocol Freedom Information Foundation PFIF)达成了合作,微软移交该协议的文档,以便 Samba 项目可以无缝的与 Windows 配合。

2008:发布互操作性准则

08 interoperable

2008年,微软在其业务和与开源公司的合作方式方面做了一些重大举措。在一篇文章中,该公司说道,“微软确立了四个互操作性准则,并将它们应用到主要的商业产品上:1、确保开放连接;2、促进数据的可移植性;3、加强对行业标准的支持;4、在客户和行业的开放合作方面投入更多,包括开源组织。”

2008:向 ADOdb 提交补丁

09 adodb

微软向 PHP 社区做的第一次贡献是为 ADOdb 提交补丁,这是 PHP 上的一个流行的数据库抽象层。时任微软平台战略资深总监的 Sam Ramji (现在是 Cloud Foundry 的 CEO)在一篇文章中写道,“该补丁通过 SQL Server 团队开发的原生驱动为 SQL Server 提供了支持。ADOdb 以 LGPL 和 BSD 许可证授权。这是我们第一次贡献到 PHP 社区项目中,但是绝不会是最后一次。”

2008:开始向 Apache Hadoop HBase 贡献代码

010 hbase

微软收购了一家旧金山的初创公司 Powerset,他们重度依赖于 Apache Hadoop 的 HBase 项目。 HBase 是一个以 Java 写的开源的、分布式的列数据库。Powerset 赞助了两名 HBase 开发者,而在微软收购之后依旧保持了赞助,并在一篇文章中写道,“微软参与并对开源社区做出贡献,这有益于客户、有益于社区,也有益于业务。”

2008:为 Apache 项目贡献代码

011 apache

微软通过成为 Apache 软件基金会 Apache Software Foundation 的白金赞助商而逐渐向开源 Web 服务器 Apache 项目靠拢。同年,微软与 Sourcesense 达成了合作关系,目标之一是为 Apache 软件基金会的顶级项目 Apache POI 的新版本开发贡献力量。

2009:向 Linux 内核贡献代码

013 linux many

2009年,微软向 Linux 内核贡献了超过两万行的代码。这些代码大大增强了在 Windows Server 2008 Hyper-V 或 Windows Server 2008 R2 Hyper-V 上运行的 Linux 操作系统虚拟机的性能。这些贡献让微软在一段较短的时间内成为了 Linux 内核排名第一的贡献者。

2011:Node.js 跑在了 Windows 上

012 node

微软与 Joyent 公司和 Node.js 的作者 Ryan Dahl 一起将 Node.js 移植到了 Windows。在一篇 2011 年的文章上,微软的 Claudio Caldato 写道,“我们的首要目标是给 Node 增加一个高性能的 IOCP API,让开发者可以在 Windows 上也获得 同 Node 在其它平台上一样的高性能和可伸缩性,IOCP API 可以让你执行多个并发的异步输入/输出操作。”微软的 Azure 团队也在开发 iisnode ,以便可以在微软的 IIS 服务器上运行 Node.js。

2012:ASP.NET MVC 开源了

014 asp net

2012年,该公司在 Apache 2.0 许可证下开源了它的部分 Web 产品体系,包括 ASP.NET MVC、Razor 和 Web API。在一篇文章中,微软的 Scott Guthrie 说道,“这样做可以带来更开放的开发模式,社区中的每个人都可以参与,并通过提交代码、修正错误、开发新功能等方式来提交反馈,也可以使用它的最新源代码和测试用例随时构建和测试产品。”如 Scott 所说,这也是第一次微软外部的开发者可以给他们提交补丁和贡献代码,微软的开发团队会审核这些代码,并有可能合并到产品中。

(LCTT 译注:原文称作“ASP.NET MCV”,但是微软原文称为“MVC”,不知本文原文何故,译文径改之。)

2012:微软成立“微软开放技术公司”

015 ms open

2012年,微软宣布成立一个全资子公司, 微软开放技术公司 Microsoft Open Technologies, Inc. ,其主要目标是“推动公司在开放性方面的投入,包括互操作性、开放标准和开源”,微软的 Jean Paoli 写道

2012:TypeScript

016 typescript

TypeScript 是一个自由开源的编程语言,微软讲该开源项目以 Apache 2.0 许可证下发布。在一篇宣布这个消息的文章中,微软的 S.Somasegar 解释道,它是“一个 JavaScript 的超集,将类型检查、静态分析、明确接口,以及最佳的体验共同组成了一门语言及编译器。”

2013:VM Depot

017 vmdepot

2013年,上面提到的微软开放技术公司宣布了一个 VM Depot 项目,这是一个由社区驱动的 Linux 和 FreeBSD 虚拟机镜像库,用于微软 Azure。在该项目的公告中, Gianugo Rabellino 写道,“在 VM Depot 中,社区可以构建、部署和分享他们的 Linux 配置、创建定制的开源软件组合、与他人协作、在云上创建新的架构,以充分利用 Windows Azure 平台的开放性和灵活性。”

2014:.NET 开源

018 net

2014年,微软宣布它将开源 .NET 的整个服务器端体系。在发布公告中,微软写道,它将“以开源的方式提供完整的 .NET 服务器端体系,包括 ASP.NET、.NET 编译器、.NET 核心库、框架和库,可以让开发者能够横跨 Windows、Mac 和 Linux 开发 .NET 程序。” .NET 的发展推动由 .NET 基金会进行。

2014:向 OpenJDK 贡献代码

019 openjdk

2014年,微软开放技术公司向 OpenJDK 的 JDK9 开放团队提交了第一个补丁。Martin Sawicki 在一篇宣布这次贡献的文章中写道,“这些代码的开发是应我们的合作伙伴之请,它可以让 Java 的套接字能够利用 Windows 的 TCP 回环快速路径 TCP Loopback Fast Path 能力,以提升在同一台机器上的套接字之间的通讯速度。”

2014:纳德拉自称爱上 Linux

020 microsoft linux

2014年,微软的新 CEO 萨提亚.纳德拉 Satya Nadella 宣称“微软爱 Linux”。从勉强同意到技术上认同,这为微软带来了巨大的关注,但是在业界还有不少疑虑。

2015:Debian 来到 Azure

021 debian

微软通过与 credativ 合作,将最流行的 Linux 发行版之一的 Debian 带到了它的 Azure 上。在一篇宣布此消息的文章中,Azure 的高级程序经理 Stephen Zarkos 写道,“通过此次发布,客户现在可以选择由 credativ 构建的最新的 Debian 7 和 Debian 8 在微软 Azure 中创建基于 Debian 的虚拟机。”

2015:RHEL 来到 Azure

022 red hat

2015年末,微软与 Red Hat 达成合作,将 Red Hat 企业版 Linux(RHEL)带到了它的 Azure 云。这两家公司决定协同工作来“解决企业、ISV 和开发者在跨私有云和公有云的 Red Hat 软件上构建、分发和管理应用的常见需求。”

2015:OpenSSH 来到 Windows

023 openssh

超过1/4的 Azure 云服务器运行着 Linux,这些用户需要能够安全地登录进机器来管理它们。微软计划通过 PowerShell 将开源项目 SSH 带到 Windows 上。该公司,他们不仅会将 SSH 支持带到 PowerShell 中,他们也会给 OpenSSH 社区贡献代码。

2016:Ubuntu 来到 Azure

024 ubuntu

2016年1月,微软和 Canonical 展示了在 Azure 上运行 Ubuntu Linux 的第一个技术预览版。John Zannos 在 Ubuntu 博客上写道,他们贡献了可验证的 Ubuntu 镜像,让开源应用可以很好地运行在 Azure 环境中。在此宣告后,微软现在已经将所有的领先的 Linux 发行版带到了 Azure 云上。

2016:SQL Server for Linux

025 sql

通过这一计划,微软将可以让客户跨 Windows 服务器和 Linux 运行 SQL Server ,带来持续一致的数据平台。微软的 Scott Guthrie在一篇文章中说,“我们会将核心数据库能力拿出来,预计时间是2017年中。”

2016:Bash on Windows

026 bash windows

微软与 Canonical 紧密合作,将最流行的 Linux 命令行工具带到了 Windows 10 上面。微软创建了一个名为 Windows Subsystem for Linux 的技术,可以让 Ubuntu 运行在 Windows 内核上。Mike Harsh 在一篇文章中写道,“你现在可以运行 Bash 脚本、类似 sed、awk、grep 的 Linux 命令行工具,甚至你可以直接在 Windows 上试试那些主要用在 Linux 上工具,如 Ruby、Git、Python 等等。”

观点:停止向企业收取虚假的 Android 专利。是的,没错,现在还在收着!

我是一个 Linux 和开源软件的老用户了,我是在 Linux Mint 17.3 桌面上使用 LibreOffice 5.1 写的这篇文章。虽然我知道微软做了一些改变,但是我并不真的相信微软改变了它的反开源路线。

让我们来看看微软都做了些什么。2014年,微软 CEO 萨提亚·纳德拉 Satya Nadella 公开宣称说微软爱 Linux。甚至连曾经说过“Linux 是癌症”的前微软 CEO 史蒂夫·鲍尔默 Steve Ballmer ,现在也认为微软走向开源软件是一个好的方向

这并不是微软的最新举措。早在 2008 年,时任微软平台技术战略总监的 Sam Ramji 就说过,“微软的开源战略关注于帮助客户和合作伙伴们在现今琳琅满目的技术世界取得成功。”

空谈容易,代码才是干货,微软确实也做到了这一点。

2016 年伊始,微软宣布开发 Linux 上的 SQL Server将 Eclipse 和 Visual Studio 集成到一起、发布了基于 Debian Linux 的开源网络交换机,已经将 RedHat RHEL 添加到它的 Azure 混合云里面。

这仅仅是一部分。去年,微软努力将 .NET Core 带到了 Linux 上在 Azure 云上支持 Debian GNU/Linux,甚至还有它自己的 Linux 认证。在此基础上,它在 Ubuntu 上提供了开源的 Hadoop 大数据软件。微软甚至还有它自己的 Linux 发行版——Azure Cloud Switch

但是,为什么微软做了这么多开源举措,仍然有很多开源爱好者和开发者认为微软不值得信任?

一些人讨厌微软是因为他们认为微软又在玩老一套的“ 拥抱、扩展、摧毁 Embrace, extend, and extinguish ”的把戏。但是我不这样认为,微软确实在开源许可证下释放了很多代码,这里并没有隐藏的陷阱。

另外一些人讨厌微软纯粹是因为他们一直讨厌而已。对于他们而言,今天的微软同上世纪90年代到本世纪初那个资助 SCO 攻击 Linux 的微软并没什么不同。其实这也是不对的。

开源社区的越来越多的人们认识到 2016 年的微软不再贪婪,不再是 比尔·盖茨 Bill Gates 史蒂夫·鲍尔默 Steve Ballmer 时代的那个微软了。

然而,还有一件事不能让开源人士们真正相信微软:微软还在继续要求 Android 厂商支付 Android 专利费用。在最近的三月初,微软又签下了两份的 Android 专利许可

每次我写了微软开源方面的进展的文章,读者们就会告诉我,如果微软真的成了一个开源拥护者,那它就应该停止强迫其它公司们为它的虚假 Android 专利付费

虚假?是的,虚假!

根据中国商务部公布的信息,我们知道微软在 Android 方面有 310 项专利。据关注于知识产权和无形资产的全球性金融机构 M-Cam 的报告,微软所拥有的 Android 专利中涉及的专利内容已经是“公开领域的一部分”了

这也是为什么2015年9月微软和 Google/摩托罗拉达成了专利和解的一个原因。微软并没有放弃它的专利,但是不再就这些专利向 Google 收费。

那么,为什么人们宁愿付费而不是打专利官司呢?因为专利诉讼非常非常的昂贵。相比去法院碰碰运气,人们宁愿为每台设备花费 $5 到 $15 的小钱。

而微软呢?在 2014 年,微软就从它的 Android 专利上收入了 34 亿美元。仅仅三星就向微软单独支付了 10 亿美金的 Android 专利费用。这甚至对于世界五百强公司来说也是一笔很大的钱了。

在最近的一个财季,批量许可和专利就占到了微软全部收入的大约 9%

这就是为什么微软绝不会停止 Android 专利收费的原因,这个雷蒙德的家伙可以每年从这些专利中源源不断得到数十亿美元,它才不会放弃呢。

为什么呢?虽然一些开源程序员不喜欢微软的专利流氓做法,但是一些诸如 Canonical 和 RedHat 这样的主要的开源企业仍然在同微软合作。

底线是底线。反正那些骨灰级的自由软件开发者绝不会信任微软,可那又如何?只要微软能在同开源企业合作的同时依旧收取 Android 专利费用,它就没有理由停下来不收。

前一篇文章中,我们了解了微软在开源了 .NET 框架中最大一部分一年以来社区的参与情况。

接下来,我们将继续重复这个分析,但是这次我们将针对 ASP.NET 系列项目进行分析:

  • MVC - 通过分成“模型-视图-控制器(MVC)”等不同的概念部分来构建动态网站的框架,包括合并的 MVC、 Web API、 和 Web Pages w/ Razor。
  • DNX - DNX(一个 .NET 扩展环境)包含了用于启动和运行应用的代码,包括编译系统、SDK 工具和原生 CLR 宿主。
  • EntityFramework - 微软推荐用于新的 .NET 应用的数据访问技术。
  • KestrelHttpServer - 一个基于 libuv 的 ASP.NET 5 的 Web 服务器。

方法

上一篇中,我们首先把 问题 issue / 拉取请求 PR 分成 拥有者 Owner 协作者 Collaborator 社区 Community 三类。然而这有一些问题,正如在评论中指出的那样,有几个人并非微软雇员,但是由于其在某个项目上的积极贡献也被列为了协作者,比如 @kangaroo@benpye

为了解决这个问题,我决定分成两类:

  • 微软
  • 社区

这是可行的,因为(基本上)所有的微软雇员都会在其 GitHub 个人页面上标记其为微软雇员,比如:

David Fowler Profile

这种情况有一些例外,比如 @shanselman 显然是在微软工作,不过这种情况很好解决。

结果

在结束了所有分析之后,我得到了结果。总的来说,超过 60% 的“ 发现的问题 Issues Created ”和 33% 的“ 合并的 PR Merged Pull Requests ”来自社区。然而,PR 的占比受到了 Entity Framework 项目中微软雇员超高的 PR 数量的影响,从而有些不能准确反映情况。如果忽略这个项目,社区贡献的 PR 将占到 44%。

发现的问题(2013/11 - 2015/12)

项目微软社区合计
aspnet/MVC71613802096
aspnet/dnx89712062103
aspnet/EntityFramework106614272493
aspnet/KestrelHttpServer89176265
合计276841896957

合并的 PR(2013/11 - 2015/12)

项目微软社区合计
aspnet/MVC385228613
aspnet/dnx406368774
aspnet/EntityFramework9372251162
aspnet/KestrelHttpServer6988157
合计17989092706

备注:我包括了 Kestrel Http Server 项目,因为它是一个有趣的例子。当前它的第一号贡献者 Ben Adams 并非微软雇员,他为改善其内存使用做出了很大的贡献,让 Kestrel 可以每秒钟接受更多的请求。

通过观察随时间推移的变化,可以很清楚的看到社区(浅色条)在过去两年(2013/11 - 2015/12)来的参与情况,看起来并不像是趋于停止。

每月发现的问题数 - 按提交者

每月问题数 - 按提交者(微软或社区)

此外,虽然社区参与情况可以很容易地从每月发现的问题数上看出来,不过从合并的 PR 数上也可以再次印证这两年来的趋势。

每月合并的 PR 数 - 按提交者

每月合并 PR 数 - 按提交者(微软或社区)

贡献总数

每个项目的贡献人数也很有意思。通过这个你可以看到社区贡献者的实际规模,并不是少量的人做了大量的工作,而是这些工作由大量的人分散完成的。

这个表格展示了每个项目中发现问题和提交了被合并的 PR 的人数:

项目微软社区合计
aspnet/MVC39395434
aspnet/dnx46421467
aspnet/EntityFramework31570601
aspnet/KestrelHttpServer2295117
合计13814811619

FSharp

在我的第一篇文章的评论中,Isaac Abraham 指正说:

.NET 的一部分已经开源一年多了,F# 编译器和 FSharp.Core 已经开源一段时间了。

所以,为了解决这个问题,我去了解了一下主要的 FSharp 仓库:

按 Isaac 的解释,他们之间的关系是:

... visualfsharp 是微软自己的 Visual F# 版本仓库。而另外一个是社区管理的一个。前一个是直接作为 Visual Studio 其中的 Visual F# 工具;而后一个则是类似 Xamarin 的东西。这里有个(稍微过时的)解析它们关系的图表,以及另外一个有用的资源:http://fsharp.github.io/

FSharp - 发现的问题(2010/12 - 2015/12)

项目微软社区合计
fsharp/fsharp9312321
microsoft/visualfsharp161367528
合计170679849

FSharp - 合并的 PR(2011/5 - 2015/12)

项目微软社区合计
fsharp/fsharp27134161
microsoft/visualfsharp363369
合计63167230

结论

我认为,公平地说社区已经对微软越来越多地开源其代码的动作做出了回应。在几个项目上社区花费了大量时间,做出了显著的贡献。虽然你可以说微软也花费了大量的时间来开源,但是看起来 .NET 开发人员很喜欢他们做的事情,体现了可观的社区响应。

2015年的大事件

2015年已经过去,我在这里(It's FOSS)发表《2015年的大事件》系列。这个系列的第一篇文章为《2015年 Linux 世界的十个大事件》。这些事件在 Linux 世界中产生了极大的影响,无论它们是积极的还是消极的。

我总结了2015发生的十件产生了最大影响的事件。让我们来看看:

2015年度十大 Linux /开源相关事件

补充一句,以下这些事件没有按照时间顺序排列。

微软与 Linux 的结盟

在9月下旬,所有人听到微软构建了自己的 Linux 发行版这个消息时都大吃一惊。其在后来被揭露,这其实是一个微软开发的用于它的 Azure cloud switches 的软件

但故事还没结束。微软真的与 Canonical(Ubuntu Linux 的母公司)达成合作来开发 HDInsight,这是微软在 Azure 上构建的 Hadoop 大数据服务。 Ubuntu 是微软在其上部署应用的第一个 Linux 系统。

微软会继续保持它与 Linux 的关系吗? 还是在使用 Linux 达到其目的(Azure)就会收手?只有时间能告诉我们一切。

微软发布适用于 Linux 的 Visual Studio Code

在微软发布 Linux 发行版引起喧嚣之前,微软扔下了另一枚炸弹——发布 Linux 版 Visual Studio Code, 与其一并发布的还有 Windows 版以及 OS X 版。尽管 Visual Studio Code 并不是开源的,从某种意义上讲,发布 Linux 版本仍然是 Linux 用户的胜利。(LCTT 译注:此处原文消息有误,Visual Studio Code 已开源。)无论如何,Linus Torvalds 曾说过一句很著名的话:“如果微软给 Linux 开发过一款应用的话,这就意味着我已经赢了”。

你可以看这个教程来学习如何在 Ubuntu 中安装 Visual Studio Code

苹果公司开源编程语言 Swift

在向 Linux 及开源“示爱”方面,苹果公司也不甘示弱。苹果用来制作 iOS 应用的首选编程语言 Swift,现已开源并移植到 Linux 中。虽然其还在测试中,但你已经可以轻易地在 Ubuntu 中安装 Swift

但是,苹果就是苹果,它开始吹嘘其为“第一个视开源开发为公司关键的软件开发策略的计算机公司巨头(原文如此)”。

Ubuntu 手机终于发布

Ubuntu 手机终于在今年年初发布。因其早期使用者及开发者,Ubuntu 深受 Ubuntu 社区喜爱。主流智能机用户仍然回避它,主要是因为该系统还在重度开发中。对于 Ubuntu 手机的问世,2016年将成为决定性的一年。

Jolla 遭受经济危机

Jolla 是 Sailfish OS 这个基于 Linux 的智能手机系统的幕后公司,它遭受了严重的财政困难。这导致了一半的Jolla 员工被裁

Jolla 在2014年针对它的平板电脑完成了一次非常成功的众筹,显然,他们将大部分预算都花在了 Sailfish OS 的开发上,而在主要投资者退出后,公司正在挣扎以求生存。

不过有一个好消息,Jolla 成功拿到了一些雄厚的资金,而且他们已经继续运营了

Firefox OS 已死

作为安卓的开源替代品,Mozila 的移动操作系统 Firefox OS 在去年底慢性死亡。本打算在发展中国家售卖低至25美金的智能手机,可基于 Firefox OS 的手机却一直没有流行起来。我认为主要原因是它的硬件配置不高,以及它缺少流行应用。

在十二月,Mozilla 宣布其将停止开发 Firefox OS,并停止出售 Firefox 智能手机。

虽然没有正式宣布过,我认为 Tizen,这个 Linux 基金会旗下的基于 Linux 的移动操作系统,也已经消失了。我没有看到任何关于 Tizen 开发的消息,而且 Linux 基金会从未推动过它的开发。Tizen 何时死亡只是一个时间问题。(LCTT 译注:此处原文消息有误,Tizen 在2015年发布了 3.0 版本。)

“Ubuntu 家族”内讧

五月份时,Kubuntu 项目的领导者 Jonathan Riddell 被 Ubuntu 社区委员会强制要求下台,这引起了很多激烈的讨论。Jonathan 曾质问 Ubuntu 所收捐款的使用情况,他抱怨 Kubuntu 从未见到过这些钱。

这导致了两方的互相谴责。最终。Ubuntu 的大老板,Mark Shuttleworth 要求 Jonathan 下台

女性 Linux 内核开发者因“野蛮的沟通方式”而退出

Linux 之父 Linus Torvalds 以其粗俗的语言而著称。Linux 内核开发者 Sarah Sharp 也因为嘴快心直而闻名。

Sarah Sharp 曾在2013年与 Linus Torvalds 公开争执,建议 Linus 将“语言暴力”赶出邮件列表。但 Linus 也没有委婉地回复她。

那是在2013年。2015年,Sarah 宣布她正在逐步停止她在内核社区的工作,因为他们的交流方式缺乏基本礼仪,并且野蛮而充满亵渎。

这一举动让人们开始讨论 Linux 内核社区是否真的应该改变他们的行为方式,还是 Sarah 做的太过分了。

Unity 游戏编辑器移植到 Linux平台

尽管在 Linux 上玩游戏仍是 Linux 用户们的阿克琉斯之踵,而在游戏引擎 Unity 宣布其正在测试Linux 下的游戏编辑器时整个社区都沸腾了。因为在渲染图像时,Linux 是一个最流行的选择,所以我们推测这将使游戏开发者向 Linux 靠拢。不过,Unity 是否真的会推出一个最终版本的游戏编辑器,这个问题还未被证实。

政府机构采用开源软件

欧洲数个城市的管理机构决定抛弃先前的软件,并使用其开源的替代品。大多数城市管理机构将 Microsoft Office 替换为 LibreOffice 或 OpenOffice. 一些城市管理机构和公立学校也在跟进,将 Microsoft Windows 换成 Linux。

对于这一行为,削减成本是一个重要的因素,因为城市管理机构通过采用开源软件省下了无数欧元。

大学也并没有在采用开源软件的道路上落后。这一年,我们听到了大学如何抛弃 Photoshop 改用 Krita 以及大学使用开源 Office 软件的消息。

总结

与其他年一样,2015年同样有许多令 Linux 爱好者感到积极或消极的时刻。我们看到 Linux 的竞争者,如微软和苹果,向 Linux 靠拢,政府机构采用开源软件。同时,我们还见证了 Firefox 智能手机系统的失败。我想说,这真是喜忧参半的一年。

你认为呢?我希望你们分享你所认为对于 Linuxer 们来说最重要的新闻,和你们对这一年的整体感受。


via: http://itsfoss.com/biggest-linux-stories-2015/

作者:Abhishek 译者:StdioA 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出