写点什么

微软向 Linux Kernel 贡献两万行代码

  • 2009-07-26
  • 本文字数:1317 字

    阅读完需:约 4 分钟

微软在 GPLv2 协议下向 Linux Kernel 2.6.32贡献了 3 个 Linux 设备驱动,两万行代码。

微软开源技术中心主管 Tom Hanrahan 解释了微软作出这个非同寻常举动背后的动因

我们有必要理解虚拟化的一个关键点。如果操作系统作为虚拟机运行,那么它得清楚这件事,这样就不会将调用直接发给各种外围设备了。在微软的术语中,我们称其为启迪(enlightenment)。Windows Server 2008 就被设计成这样,因此它清楚何时作为虚拟机运行,何时在物理硬件上运行。 为了让 Linux 能在 Hyper-V 上拥有同样的体验,我们必须将这种启迪赋予给它。要想实现这一点则需要运行 Linux 设备驱动。

以前这些设备驱动是可以下载并用在 Hyper-V 的第一版上的,然而 Linux 社区使微软相信(通过 Greg Kroah-Hartman,他是在这个议题上与微软进行交涉的第一人)增加 Linux 设备驱动的办法就是将其贡献给社区,这样任何商业或非商业发布者都能够随意使用、修改并分发它们了。

微软开源技术中心经理 Hank Janssen(他领导的团队为这些驱动编写代码)承诺他们不会半途而废

我们将继续更新驱动代码以不断增强其协同性,同时也希望社区中的开发者觉得这些代码对他们是有用的,值得为其付出。

451 Group 的分析师 Jay Lyman就微软的这个举动发表了自己的一些看法。他认为微软会保留这些代码的知识产权:

这些代码的版权属于微软,贡献者的荣誉归功于该工程的领导者 Hank Janssen——微软开源技术中心的程序经理。

然而他的理解却是微软并不会声明任何专利权,因此也不会向使用代码的人索取任何费用:

我们不妨做最坏的打算,假设微软这么做是个阴谋:他现在为 Linux 贡献代码,然后去申请专利。但理论上是否存在这个可能完全取决于我们对 GPLv2 的理解。 …最终这是一个法律上的问题,或取决于律师的口才(显然这么说带有讽刺意味)。与此同时,我们认为微软通过 GPLv2 来贡献代码包含了一个承诺:不会对代码的使用收取费用,也不会对代码申请任何专利。

Lyman 还解释了微软之所以这么做的原因所在:

Red Hat 与 Novell 发布的 Linux 已经支持 enlighten 模式了,这要归功于与微软的合作开发。微软向 Kernel 贡献代码的一个好处是减少了重复开发工作,同时也降低了支持多种不同 Linux 实现的代价。一旦 Kernel 接受了代码,微软将以这些代码为基础进行未来的虚拟化集成开发。 这也意味着 Linux 的社区发布版也可以使用这些代码,这为微软在主机市场上开创了更多的机会,因为 Linux 的社区发布版如 Ubuntu、Debian 与 CentOS 都是非常重要的。这也加强了这些社区操作系统挑战 Red Hat 与 Novell 的能力,而后者对于 Windows 来说是更加直接的挑战者。

别搞错了,微软之所以这么做是由其利益驱使的。他必须要满足使用多种操作系统和混合环境的企业用户的各种需求,微软已经从差异化其 Hyper-V 技术与虚拟化领导者 VMware 中受益无穷了。我们有理由相信相对于 VMware 来说,微软对 Windows 的虚拟化会对 Linux 提供更加友好的体验。

需要说明的是,Linux 无需借助于上面提到的设备驱动就能运行在 Hyper-V 上,但性能却很差。这是微软首次向 Linux Kernel 贡献代码,也是首次在 GPLv2 下发布代码。

查看英文原文: Microsoft Is Contributing 20,000 Lines of Code to the Linux Kernel

2009-07-26 23:472387
用户头像

发布了 88 篇内容, 共 270.4 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

别人就算了,开发人员都不知道低代码的起源就糟糕了

低代码小观

开发者 低代码 开发工具 无代码 低代码起源

自主研发数据库TDSQL和TBase核心架构揭秘和实践

腾讯云数据库

数据库 tdsql

如何使用 GeoTrellis 和 React 构建地理处理应用程序

gisbook

GitHub spark Web GIS React

多环境

程序员鱼皮

Java c++ Python 大前端 后端

TLS协议分析 (八) 实现与开源项目

OpenIM

腾讯云为金融换“心“,TDSQL的发展历程和特性

腾讯云数据库

数据库 tdsql

架构实战营模块七作业

maybe

腾讯云分布式数据库TDSQL再获认可,荣获“最佳保险数字化转型综合解决方案奖”

腾讯云数据库

数据库 tdsql

使用 Jackson – 将字符串转换为 JsonNode 对象

HoneyMoose

基于 Apache APISIX,爱奇艺 API 网关的更新与落地实践

API7.ai 技术团队

Apache APISIX Meetup 爱奇艺 企业案例

【Flutter 专题】53 图解 BackdropFilter 高斯模糊

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

贯穿全产业链做数字孪生产品,给你更好的选择

一只数据鲸鱼

数据可视化 工业4.0 制造业 数字孪生

IntelliJ IDEA 快速插入 for 循环

HoneyMoose

【LeetCode】路径总和Java题解

Albert

算法 LeetCode 9月日更

Java 8 及其后续版本的新遍历 forEach

HoneyMoose

原来搭建淘客项目如此简单,app、web、小程序轻松搞定

Silently9527

Java uniapp 淘宝客开源

腾讯云数据库TDSQL,新基建大潮下的弄潮儿

腾讯云数据库

数据库 tdsql

手撸二叉树之二叉树的所有路径

HelloWorld杰少

9月日更

OkHttp源码解读HTTP

Changing Lin

9月日更

腾讯云数据库TDSQL发展的整体布局和应对策略

腾讯云数据库

数据库 tdsql

Elasticsearch可观测最佳实践分享!3分钟带你快速入门!

观测云

elasticsearch

架构实战营模块七-王者荣耀商城异地多活架构设计

hello

架构训练营

腾讯安全李滨:腾讯云数据安全与隐私保护探索与实践

腾讯安全云鼎实验室

隐私保护 数据安全

Mobileye:开出车库,上路驰骋

科技新消息

在智能运维中如何进行指标异常检测与分类?

云智慧AIOps社区

算法 场景应用落地 异常检测 智能运维 指标

华为云发布【云巢】智慧康养物联网加速器,加入立享多项扶持

华为云开发者联盟

物联网 华为云 应用开发 云巢 智慧康养

顶会CIKM'21论文解读:基于图神经网络的人类行为轨迹恢复模型

华为云开发者联盟

图神经网络 华为云数据库 轨迹分析 CIKM PeriodicMove

测试金字塔,你在哪一层?

华为云开发者联盟

软件测试 测试 软件质量 单元测试 华为云DevCloud

Vue进阶(幺零幺):npm install -g 和 npm install --save-dev 的关系

No Silver Bullet

Vue 9月日更

Django 框架的神奇之处,几行代码就能自动入库,微型博客第 3 篇

梦想橡皮擦

9月日更

吊打一切现有开源OCR项目:效果再升7%,速度提升220%

百度开发者中心

最佳实践 方法论 开源技术

微软向Linux Kernel贡献两万行代码_开源_Abel Avram_InfoQ精选文章