自由软件与微软帝国
2009-06-01 08:29:54 Administrator

摘要:比尔盖茨可能不会盛赞Keith Curtis,这位在微软工作了11年之久的程序员,现在已离开了微软,并且写了一本书,书的内容是为什么微软模式将会失败。正如你已经猜到的,Curtis作为一个Linux的大师他并不担心表示出自己的心里话。

比尔盖茨可能不会盛赞Keith Curtis,这位在微软工作了11年之久的程序员,现在已离开了微软,并且写了一本书,书的内容是为什么微软模式将会失败。正如你已经猜到的,Curtis作为一个Linux的大师他并不担心表示出自己的心里话。

在 Curtis的著作《软件大战之后(After the Software Wars)》中,他反复念叨一句的口号:专有软件阻止了我们社会的发展。在这本书中,Curtis表示,虽然专有软件使微软成为迄今为止最成功的公司之一,但这个模式是注定要失败的,因为它没有让软件程序员相好合作并作出贡献,从而扼杀了创新。

Curtis是在Windows和Office上开展编程工作,并在微软从事研究工作,他表示从未实际使用Linux操作系统,直到他在2004年年底辞去这份工作为止。而在随后的几年,他成为了 Linux的狂热分子,他坚信自由、开放源码的软件在技术上是更优越的。但Curtis表示,只要微软及其专有软件的模式继续占据着主导地位,我们将生活在“计算的黑暗时代”。在接受CIO.com网站Shane O'Neill的采访时,Curtis谈到了自由软件的崛起、 Linux在他所说的软件业最大公司必然垮台的过程中所扮演的角色、…、无人驾驶的汽车等话题。

自由软件将以何种方式导致微软的覆灭?

自由软件将导致微软的灭亡,因为我们知道存在两种的方式:
第一,通过一个开放的、合作的研发模式,自由软件社区开发出了在技术上更加优越的产品。人们会把维基百科首先看作一个百科全书,而不是软件,但它是研究这场即将到来的革命的一个很好案例。自由软件还有许多种,它们已经证明了较之专有软件,它们在技术上更具优势,。Web开发人员普遍认为Firefox比Internet Explorer更加优越。Linux内核可以运行从手机到超级计算机等一切设备上。即使苹果也已经放弃其专有内核,却而代之的是一个开源的内核。

第二,自由软件将导致微软的利润率大幅下跌。即使微软采用了Linux(这是一个在本书的后记中提到的思想实验),他们目前的商业模式仍将受到威胁。有很多方法可以使得硬件和服务的厂商通过使用自由软件来获取利润,但这些都不是微软的收入来源。

像Linux和谷歌Docs这样的自由软件,较之微软的产品,目前它们在各自的市场上只占很小的比例。自由软件应该怎样做,才能像你在书中预料的那样真正赢得消费者和企业用户?这得花多长的时间?

Linux以及其他的一些自由软件已经在桌面以外的其他市场上表现优异。谷歌已数以十万计的电脑运行着Linux操作系统。自由软件是顺利地征服了一些较小的和较大的领域,到目前为止只剩下桌面这一块还在微软之后。

桌面这个领域存在一个特别困难的问题,但Linux同样对它密切关注,而且进展的步伐也很迅速。把应用迁到Web上也同样破坏了微软的利益,因为在计算机上目前最流行的的应用就是Web浏览器,而Firefox已经能够满足用户在这方面的需求了。

而最受欢迎排名第二的应用便是能够提高生产力的软件。虽然OpenOffice还需要进一步做好一些工作,但就它目前的状态来说,已经能够满足99 %的用户的需求。我在微软为文本引擎工作了5年,而我在写本书的时候却使用的是OpenOffice 。

我不知道什么时候Linux系统能够占据10 %或25 %的桌面市场。有人表示Linux操作系统在10年前就可以占据主导地位了,虽然这样说是不成熟的,但从目前来看它逐渐接近这个目标了。我书中的一部分将通过讨论其他挑战,从而向计算机行业传递一些信息。

谷歌Docs以及谷歌是否会将所有应用服务放在网络上,这是一个激烈的辩论。但即使没有这种转变,Linux同样也可以成功。我认为,虽然网络对非常简单的应用程序来说是很理想的,但它同样也是非常有限的。我认为,谷歌Docs就是一个很好的例子。

在书中提到在Windows Vista中发现的BUG,并把它作为专有软件局限性的证据。那么微软应该怎么做才能提高Windows的性能呢?

如果微软在20年前就以一个开放的方式建立起Windows,那么Linux操作系统就不可能存在,而数以百万计的程序员也将改善微软的产品,而不是和它进行竞争。但是,从现在看来,我认为这已经太晚了。比如说,如果微软发布Internet Explorer源代码的话,没有人会关心它,因为Firefox和WebKit (苹果公司Safari浏览器的内核)已经出现在了市面上。微软这艘大船已经开始开裂、进水,他们唯一可做的就是尽量加快抽水的速度。虽然看起来 Windows 7会堵上Vista中的许多漏洞,但它仍然不能从根本上改变局势。

Windows和Linux最大的差别就是自由软件包含了成千上万的应用软件,只需一次点击就可以安装,并可以按一组进行管理。Linux操作系统包括了所有的必备的常用软件,如电子表格、网页浏览器和即时通信软件等。而它也包括制作图片和音乐的工具、服务器软件和开发工具。Linux改变了人们对计算机的认识,而微软对此毫无作为。除此之外,专有软件使微软受伤不已。谷歌开发的大多数软件为专有软件,但同时也利用了大量的自由软件,这正是其成功的关键所在。

微软可以做什么来阻止自由软件的威胁,你认为它会愿意采用什么样的措施?

除了采用Linux操作系统,微软可以做的其实很少。即使微软拥抱Linux,这不仅会伤害他们的利润,也会使得他们被迫向客户解释:如果微软相信自由的OpenOffice足够好,客户还有什么理由为专有的Office软件买单。

微软已经建立起了一些网站,开发人员可以自由使用的代码和并相互协作,最新的网站名为CodePlex。虽然这表明微软知道自由软件的好处,这个网站主要提供的是微软专利产品微不足道的部分。

微软还发布了一些遵守各种开源许可证的软件。虽然这对微软来说是一个不错的公关策略,但这类软件会被外部其他一些开源社会所吸收。这实际上并不能制止自由软件的威胁,相反会增加这种威胁。

所以真的不知道微软将会怎么做。虽然该公司一再表示,不喜欢看见自己的软件被盗版,但会使得这些软件在价格上与自由软件开展竞争。正如比尔盖茨曾说过的那样:“有盗版比没有盗版,更容易让我们的软件与Linux进行竞争。”

除了操作系统和应用程序开发,专有软件还会在哪些方面阻碍世界的进步?

人工智能领域更快的进展,将会是我们收到来自自由软件的一个最神奇的好处。如果我们在几年前就让世界各地研究人工智能的人员能够共同协作,说不定我们已经拥有了具有思维能力的机器和无人驾驶的汽车。

这也将改善我们对生物学的理解。我曾参加过一次人类基因组的会议,发现里面充斥着专有软件。我认为,在这一领域的许多公司已经选择了微软的软件模型,理所当然的认为这就是软件开发的模式。而在我的书中,我将谈到自由软件是如何在21世纪人类进步中发挥关键性作用的。

微软开源用Rust开发Windows驱动程序:windows-drivers-rs

Microsoft Azure 首席技术官兼著名 Windows 软件开发人员 Mark Russinovich 在社交平台上宣布,启动了一个名为 windows-drivers-rs 的新开源项目。该项目可帮助开发人员使用 Rust 开发 Windows 驱动程序,旨在支持 WDM (Windows Driver Model) 和 WDF (Windows Driver Framework) 驱动程序开发模型。

2023年9月发现当前版本的资源库主要由 Rust crates 组成,具体包括:
1.wdk-build:用于配置 Cargo 构建脚本以进行 WDK 的绑定生成和下游链接的库。虽然此 crate 的编写目的是灵活地适应不同的 WDK 版本和不同的 WDF 版本,但目前仅针对 NI eWDK、KMDF 1.33、UMDF 2.33 和 WDM 驱动程序进行了测试。旧版 DDK 可能缺少链接器选项。
2.wdk-sys:直接 FFI 绑定到 WDK 中可用的 API。这包括从 bindgen 中自动生成的 ffi 绑定,以及包括手动重新实现 bindgen 无法生成的宏。
3.wdk:与 WDK 中可用的 API 的安全惯用绑定
4.wdk-panic:使用 WDK 构建的程序的默认 panic 处理程序实现
5.wdk-alloc:对使用 WDK 编译的二进制文件的分配支持
6.wdk-macros:宏的集合,有助于更轻松地与 wdk-sys 的直接绑定进行交互。该 crate 通过 wdk-sys 重新导出,并且通常情况下 crates 不需要直接依赖 wdk-macros

具体示例可查看 Windows-rust-driver-samples。值得注意的是,该项目仍处于早期阶段,不建议用于商业用途;但微软方面鼓励社区对该项目的实验、建议和讨论。在 windows-drivers-rs 的开发过程中,该公司将把 GitHub 讨论区作为与社区互动的主要形式。目前windows-drivers-rs项目已得到了微软开发人员 Melvin Wang 的支持。