开源项目 Mono 并入微软

be0866f5d0b08b3f235e11b1662df153.jpeg

最近发生了一件不起眼的新闻,微软把 Mono 的上游项目交给了 Wine 团队来管理。

可能很多小伙伴已经不知道 Mono 是什么东西了,但是在它的背后,是多家公司的激烈争斗,是多个大佬的爱恨情仇。

故事很长,我们慢慢从 Java 说起。

777ed03edab51e95b290e158dae6cbe9.png

上世纪90年代,微软一手遮天,不仅统治了操作系统,还把一众应用软件厂商打得惨不忍睹,成为行业公敌。

这时候出现了三个新事物:Linux、Java、Netscape,它们将成为微软帝国的掘墓人。

Java 刚出现的时候,高呼“一次编写,到处运行”的口号,好像操作系统变得不那么重要了。

但 Java 写的桌面应用实在差劲,界面丑陋,性能低下,被人嘲笑。

Sun 公司一看这不行啊,不能在桌面端和微软争了,往服务器端走!

服务器端的程序没有界面,内存和 CPU 管够,缺的就是 Java 这种非常适合写商业业务逻辑的语言!

Sun 提出了 J2EE(Servlet、EJB、JPA、JMS……)规范,联合了一众大佬,形成了反微软联盟,在互联网时代牢牢地卡住了位置。

我要是 Bill Gates,心里估计就要滴血了:老子用了二十年,好不容易把“桌面”收拾干净,现在又来了一个互联网!

Bill Gates 先是搞了一个小阴谋,挖来了编程语言和编译器的大师级人 Anders,开发了 VJ++,不但可以绕过 Java API 直接访问操作系统的功能,还可以把 Java 代码编译成 Windows 的 exe 来执行!

cd95889013b97076ef621d6612e088bb.png

Sun 一看 VJ++ 就炸锅了:你这是破坏 Java 一次编写,到处运行的特点,立刻就把微软告了。

微软的小动作没搞成,只能下定决心,重起炉灶,和 Java 对抗,这就是 .Net 战略。

94b60e8d813ab0ce609a3e652804d910.png

.Net 刚开始就是和 Java 打擂台的,Java 有字节码,.Net 就有中间语言(Common Intermediate Language,简称 IL);

Java 有 JRE,.Net 就有 CLR(Common Language Runtime)。

.Net 的一大亮点是支持多语言开发,用 C#、F#、VB .NET、C++ 都可以,反正最终都要编译成中间语言 IL。

8b16bdd324d2e2b6256889fc0148c950.png

微软为了吸引更多的同盟军,这一次难得地和自己的铁哥们 Intel 一起,制定了公共语言基础结构(CLI)规范,并且提交给 ISO 和 ECMA 做了标准化。

用面向对象来做个类比,CLI 相当于接口,微软的 .Net Framework,是 CLI 的一个商业实现。

任何人都可以实现 CLI,理论上都是和 .Net Framework 都是平起平坐的。

但是实现 CLI,工作量过于庞大,CLI 又是微软主导的,真的有人会这么干吗?

7a078139d0c0dfcce48579540e96c556.png

0eac0d410a4195e6825baa5ed390a78b.png

Miguel de Icaza(米格尔·德·伊卡萨)是个墨西哥裔程序员,大学专业本来是数学,但是他不务正业,迷上了 Linux 和编程,给 Linux 内核做了很多贡献。

c670dbdda53d0da2f3691cffb4f4649b.png

没时间学习,他干脆辍学了。

没有学位,拿不到美国的 H-1B 签证,这让他丧失了进入微软的机会。

不过幸亏他没进微软,否则以微软当时仇视开源软件的态度,他根本不可能搞出来 GNOME。

没错,GNOME 就是米格尔牵头发起的,很就和 KDE 一样成为 Linux 桌面的双子星。

55b4f3a1c9ba4c8bf82bda8468584356.png

在微软面试时,米格尔遇到了在微软实习的 Nat Friedman,成为好友。

1999年,两人一起成立了一个叫做 Ximian 的公司,专门支持 GNOME 的发展。

这是刚刚流行起来的一种商业模式,软件是开源免费的,但是技术支持服务是可以收费的。

公司获得了获得了几百万美元的融资,但让人苦笑不得的是,虽然米格尔已经在 IT 界有了非常高的名气,但依然无法获得美国的 H-1B 签证。

最后米格尔通过 O1 签证来到了美利坚,O1 签证本来是颁发给顶级音乐家,运动员,以及诺贝尔获奖者的。当时 O1 签证很麻烦,米格尔每隔6个月就需要会墨西哥的美国领事馆续签一次。

微软发布 .Net 战略后,米格尔意识到 .Net 这种支持多语言的策略对 GNOME 有很大的帮助,如果在 Linux 上实现 .Net,那程序员就可以用自己喜欢的编程语言来开发 Linux 桌面应用程序了。

于是,米格尔决定推出开源项目 Mono,在 Linux 上实现 .Net,把 .Net 的另外一条腿接上。

f97e03151ea5f712ea012979092364ff.png

这是米格尔第二次和微软发生联系,这个决定引发了很多开源界大佬的批评, GNU 的创始人,自由软件的斗士 Richard Stallman 猛批他是为“自由软件的叛徒”,竟然把邪恶的微软持有专利的东西在 Linux 上实现!

b6e6d0f34fe263ae0e192f79b720d633.png

Mono 虽然比不上微软的亲儿子 .Net Framework,但的确解决了一个大问题,获得了很多人的喜爱。

比如著名的游戏引擎 Unity 最早就选择了 Mono 作为底层的 .Net 运行时,可以跨平台地执行 C# 代码。

0d5102830c30bcf7525c7322e1bcb880.png

9cab07b63349b94993bfc8d3e2b1c607.png

随后,一系列大鱼吃小鱼事件开始上演。

2003年,米格尔的 Ximian 公司被 Novell 收购。米格尔出任副总裁。

2011年,Novell 又被 Attachmate 收购,Attachmate 解雇了所有在美国从事 Mono 工作的员工,包括米格尔。

Mono 前途未卜,米格尔和 Nat Friedman 又成立了新公司 Xamarin 公司,继续开发 Mono。

4ac227ae9304eb965f0796fd4ef7393d.png

此时移动互联网已经兴起,Xamarin 公司趁势推出了 Xamarin.iOS 和 Xamarin.Android,让 .Net 程序可以运行在手机之上。

不得不说,米格尔眼光独到,这是至关重要的一个决定。

因为仅仅3年后,微软就推出了开源、跨平台的 .Net Core,一下子让 Mono 处于很尴尬的地位,毕竟再怎么着,也很难和官方的产品竞争啊。

2016年,微软以4亿美元收购了 Xamarin,让 Xamarin 成为微软 .Net 框架的一部分。

这一次,米格尔正式加入了微软。

6dbf35e75bc1cf96b7de0e35db615e9c.png

从 .Net 5 开始,.NET Framework、.NET Core、Mono 又被整合到了一起,可以支持桌面、Web、云、移动设备、游戏、IoT、AI 等各种开发。

7fc39ec1a4892571398abd338d8d0ccd.png

2024 年 8 月 27 日,微软将 Mono 上游项目的所有权转让给 Windows 兼容层 Wine 的开发团队 WineHQ 。

Wine 的文章参见:《国产操作系统最致命的短板,被这个开源软件补上了?

55e7ee04f5071914b776fdf6cc869cf5.png

发起了 GNOME、Mono 两个著名项目,两次创业,全部成功,米格尔不愧为人生赢家。

作为开源界的知名人物,他和很多热爱 Linux 的大牛不一样,他是个实用主义者。

为了让 GNOME 支持多语言的应用,他把微软拥有专利的 .Net 引入了 Linux 世界和手机的世界,被批为“叛徒”。

他公开支持微软的开放技术,在 ODF(Open Document Format) 和 OOXML (Office Open XML)的大战中,他旗帜鲜明地支持微软的 OOXML,完全不顾开源社区的广泛批评。

虽然他是 Linux 桌面 GNOME 的发起者,但是他毫不掩饰对 macOS 的喜爱,他批评 Linux 桌面以开发者为中心的文化、缺乏向后兼容性以及各种 Linux 发行版之间的分裂,这都导致“Linux 桌面被毁掉”。

25918c48760bd1d5bbcae93decf0f903.png


本文作者刘欣,著有畅销书《码农翻身》,《半小时漫画计算机》,前 IBM 架构师,领导过多个企业应用架构设计和开发工作;洞察技术本质,擅长用故事去讲解复杂技术。

转载自丨码农翻身

编辑丨王军

相关阅读 | Related Reading

分布式多模数据库 KWDB 开源

Data for AI Meetup @北京,9月21日中关村见!

outside_default.png

开源社简介

outside_default.png

开源社(英文名称为“KAIYUANSHE”)成立于 2014 年,是由志愿贡献于开源事业的个人志愿者,依 “贡献、共识、共治” 原则所组成的开源社区。开源社始终维持 “厂商中立、公益、非营利” 的理念,以 “立足中国、贡献全球,推动开源成为新时代的生活方式” 为愿景,以 “开源治理、国际接轨、社区发展、项目孵化” 为使命,旨在共创健康可持续发展的开源生态体系。

开源社积极与支持开源的社区、高校、企业以及政府相关单位紧密合作,同时也是全球开源协议认证组织 - OSI 在中国的首个成员。

自2016年起连续举办中国开源年会(COSCon),持续发布《中国开源年度报告》,联合发起了“中国开源先锋榜”、“中国开源码力榜”等,在海内外产生了广泛的影响力。

7ec768bacd2b7e40bc732c209c5842bb.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值