自由软件与微软帝国


摘要:比尔盖茨可能不会盛赞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在他所说的软件业最大公司必然垮台的过程中所扮演的角色、…、无人驾驶的汽车等话题。大举对开源为基础的企业(FOSS,如Github)进行收购也引起了《软件自由界发起的呼吁抵制》。
微软开源策略的尴尬境地
红联Linux 2009年10月下旬消息,微软到底是开源的朋友还是敌人?如果从微软近几年的动作来看,真的无法说清。一方面,微软拼命向开源领地摇动橄榄枝,捐赠代码、支持像Apache Software Foundation之类的开源企业,就好像它跟开源天生一对似的;另一方面,它仍然对它那些基于开源技术的专利实行收费,而且它的专利许可的运营策略与开源的运营有着天壤之别,况且微软还动辄就跟开源对簿公堂。
然而无论微软采取怎样的开源策略,无可否认的是开源公司、开源开发者及其拥护者已经发展得越来越强大,已经拥有了很成熟的商业模式。尤其是Linux,它驱动了世界上许多大的网络比如Google。而且越来越多的开发者和公司在选择使用开源的工具和软件。年初的时候,微软起诉荷兰汽车导航系统开发商TomTom,指责对方侵权,而且微软坚称此举只是一起专利诉讼而非针对Linux或者开源社区。尽管大部分的Linux社区都接受了微软的观点,但是Linux Foundation 的执行理事Jim Zemlin认为,任何针对开源技术的诉讼都会让整个开源社区感到不爽。
当然在过去的几年中,微软对待开源的态度已经发生了显著的改变。尤其是Sam Ramji就任微软开源实验室主管,在他上任之前,微软的做法一直是极力向用户宣扬Windows环境的价值同时间接贬低Linux环境的价值。Sam Ramji则极力避免与Linux和开源社区的冲突,一直在宣传微软向开源做出的努力,同时在技术上认为微软的技术与开源的技术不但不冲突而且可以相辅相成。微软软件和开源软件共同在这个产业里发展,有许多发展方式, Ramji说,微软会继续在这个领域内发展,并承认和尊重开源的发展。
微软在开源方面也确实做了很多实事。例如去年7月收购Powerset,Powerset产品的HBase组件有开源代码,微软将这些代码捐献到了 Apache Software Foundation的Hadoop项目。除此之外,微软在年初还首次向开源的其他项目捐献代码,七月微软开始向一个名为ADOdb的PHP项目提供代码,同时,微软还成为了Apache的捐赠者
看似前后不一的种种事件恰恰彰显了微软在开源方面的尴尬。实际上,微软公司内部有很多能人,他们都知道,越早利用开源的优势越有利于公司的发展。分析师Andrew Updegrove认为由于微软客户的深度和广度,所以它在市场上的优势地位很不牢靠,如果它不从设计、开发者和策略思考上认真对待开源,他们将丧失市场上的优势。
微软软件之所以流行是由于软件开发者的使用,而且这些开发者有相当一部分是微软的忠实拥趸。然而,越来越多的开发者愿意使用开源技术,原因很多其中就包括开发者不愿意等待开发商的升级和补丁,而开源的工具很多都是免费可用的。如果微软继续怠慢开源,它将无法留住开发者,而且无法跟上快速革新的市场。
Brand Affinity Technologies公司的副总裁Joe Lindsay说,变革一般发生在较小的企业,它们愿意使用能给他们变革提供更多选择、动力和自由的工具。 Lindsay认为微软的技术和产品给常规用户提供了可以变革的技术,但微软自身却不是一个大胆的变革者,尤其是它对自己代码的许可管理。Lindsay 说,微软的技术提供也很不厚道,它给用户提供软件用以变革,但必须支付费用,而且由于微软技术的封闭性使得用户只能以微软的方式变革。这给微软带来了巨大的利润,但给开发者和技术变革者带来了许多不便。
即便微软想在开源方向大刀阔斧,也会遇到很多困难。首先微软的根基就是闭源软件,它的商业盈利皆来源于此。一位Internet的开发者同时也是 Open Source Initiative.的联合创立者Eric Raymond称,虽然微软在某些方面需要开源,但从根本上来说开源与微软公司的策略是矛盾的。
Raymond认为微软在调整专利软件的策略方面将渡过一段很长的艰难时期,因为微软的大部分利润是来自像Windows和Office之类的产品,而且是同类产品市场上特立独行的标准,因为它们是独立的技术。微软前开源实验室主管Sam Ramji就受到了这种商业模式的制约,尽管他在微软的开源发展上做了很多努力。Raymond说,他只能在不影响微软客户和利润的地方做开源,而这种地方很少。
Ramji曾说,微软尊重和感激开源开发者为行业做出的重大贡献。然而,与所有的软件企业合作,包括那些商业性质的开源技术,必须构建在对知识产权的尊重上。所有的玩家都应当在同样的规则下合作,即便是开源的软件公司也会在有必要的时候来到法庭上保护他们的知识产权。
虽然现在Ramji人已卸任,但微软如何发展开源我们仍将拭目以待。
与谷歌之间的那些事儿
南方周末2009年11月下旬消息,十年来,Google产品中不乏成功和失败的先例。正如今天回看尼葛洛庞帝的售价100美元笔记本计划才明白其远见一样,过几年再看Chrome操作系统或许更清晰,那时人们也许会发现,它诞生的今天是一个革命性时刻。电脑将变得越来越简单,甚至可以不需要微软,这是Google告诉我们的未来。
那将是一个Google的世界———你需要安装一个叫作Chrome的操作系统,通过一个叫做Chrome的浏览器,使用那个将HTTP提速了55% 的SPDY网络协议,登陆一个叫做Google的搜索引擎主页,打开一个叫做Gmail的邮箱收发邮件,用Gtalk的即时通讯工具和人交流,用 GoogleReader订阅喜欢的博客和资讯,进GoogleLibrary看书,用GoogleDocs写字,用Picasa编辑、存储照片,用 Youtube看视频,用GoogleVoice拨打电话,用GoogleMap查看地球上任何一个地方……如果你是一位技术爱好者,没准还会在关机前往 Chrome操作系统的源代码中添几笔。
不要惊讶,上面提到那些Google产品你可能已陆续用过,Chrome操作系统不过将它们集中起来送到你面前。早在今年7月8日,Google宣布研发Chrome操作系统的消息后,媒体已多次嘀咕它的降临,11月18日它果真如约而至,第一款预装Chrome操作系统的上网本,很有可能成为不少人的圣诞礼物。ArsTechnica最新发布的2009年10月操作系统市场份额显示,Windows坐拥92.52%,MacOS是 5.27%,Linux只占0.96%。而今,被称为IT界最高精尖领域的操作系统,长久以来的三家并存格局,终于要由Chrome打破。
正如比尔·盖茨在被问及对Chrome操作系统看法时所说的,基于Linux平台的操作系统不胜枚举,但Chrome的兄弟———2007年底 Google推出的开源手机操作系统Android的表现,已证明其不同以往。2009年10月14日,宏碁在伦敦发布第一款双操作系统的上网本 AcerAOD250,用户可选择使用Android或者Windows7操作系统。Android已经从手机延伸到了上网本,这在其他Linux操作系统中实为不可想象。如果说Windows靠的是先入为主对桌面的占领,Mac则主要定位于那些追求时尚与个性的人们,Linux则着眼于开源与自由分享的技术爱好者,Chrome就是一名轻量级选手,功夫不在系统本身而在网络平台之上。
操作系统主要功能是管理电脑硬件与软件资源。最早的DOS操作系统时代,用360K的软盘即可驱动电脑主要硬件。从1995年开始的Windows时代,操作系统不仅要驱动硬件,还要管理和支持各类软件,特别是为了和office系列兼容,系统盘越来越大。Chrome操作系统,打破了微软的游戏规则,使Web操作系统成为现实———系统只需解决本机的硬件驱动问题,如前所述,它更多的软件应用是由网络来实现。人们可以随时随地调出和使用各自文件, 所需不过一个网络接入终端———无论它叫手机、电脑还是其他。
这一变革并非凭空而来,Google至少已经为之准备了五年。2004年4月1日,Google推出1GB容量的gmail,刚开始人们以为那是个愚人节玩笑。紧接着,人们发现这是一款Web版的outlook,它可以实现即时通讯、视频聊天,然后是它附着了一系列办公软件应用,如日历、Docs…… 不知不觉,它已经提供了全套office解决方案。2008年9月,Chrome浏览器出来的时候,人们才恍然大悟:Google不是在做邮箱,也不是在做浏览器,而是操作系统!
对消费者来说,Chrome带来的最直接的好处是免费。如果买一台电脑的费用是1000美元,为之添加操作系统、购买相应的应用软件,或许还得花上 500美元左右。如果以windows7每套售价119.99-219.99美元计算,Chrome将为每台电脑至少节约10%的费用。Google表示,Chrome初期将主要应用在上网本平台。Chrome对CPU要求不高,这或许是AMD、威盛、国产龙芯等厂商们打破Intel独大局面的机会。抛开设计、游戏等专业需求,当人们意识到上网本完全能满足日常电脑使用时,电脑的类别或许会因此而产生变化,IT产业格局也将因此而变,硬件业将削弱,Web应用将兴起。Chrome+上网本,还可能打破Windows+Intel的多年联盟,过去这两家总是在操作系统和CPU上很有默契地一唱一和各推新品,以后他们的步调极有可能错开,2008年3月,一向将CPU往高端推进的Intel背离轨道推出低能耗的Atom系列,不过是一个开始。
上述结果已直接挑战了微软,它自然不会坐视不理。今年10月,微软发布Windows 7,头一次它的新系统没有对CPU提出更高要求,也没有硬件兼容性问题。另外,微软今年的最大动作是推出了搜索引擎Bing,直接将战场开到了Google起家的搜索领域。如果从此两家IT巨头在长长的产品线上拉锯,未尝不是一件好事。但也有人并不看好Chrome,譬如,Chrome虽然强大,但Google应用中尚欠缺视频处理功能;各地网络建设和政治环境不同,如果不能保证网络随时顺畅,Chrome也就英雄无用武之地。十年来,Google产品中不乏成功和失败的先例。正如今天回看尼葛洛庞帝的售价100美元笔记本计划才明白其远见一样,过几年再看Chrome操作系统或许更清晰,那时人们也许会发现,它诞生的今天是一个革命性时刻。
自由软件将以何种方式导致微软的覆灭?
自由软件将导致微软的灭亡,因为我们知道存在两种的方式:
第一,通过一个开放的、合作的研发模式,自由软件社区开发出了在技术上更加优越的产品。人们会把维基百科首先看作一个百科全书,而不是软件,但它是研究这场即将到来的革命的一个很好案例。自由软件还有许多种,它们已经证明了较之专有软件,它们在技术上更具优势,。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 的支持。
微软跌出英国软件和 IT 服务前三名
老牌分析机构 TechMarketView(TMV)2023年7月发布的一个数据分析报告指出,Amazon Web Services 在 2022 年跃居英国软件和 IT 服务行业之首,微软因增长落后于竞争对手而跌出了榜单前三名。数据显示,英国本地市场在 12 个月内增长了 12.2%,达到 677 亿英镑(861.5 亿美元),实现了十多年来最快的增速。其中,AWS 在英国的收入同比增长 30.1%,达到 37.8 亿英镑;紧随其后的是埃森哲增长 30%,达到 36.23 亿英镑。前市场领导者 TCS 增长 16.6%,达到 34.91 亿英镑,位居第三;微软则排名第四,报告增长 17.5%,达到 33.82 亿英镑。
排名第五的是凯捷 (Capgemini),增长 16.7%,达到 23.52 亿英镑;而 Capita(前英国长期运行的软件和 IT 服务领导者)仅增长 1.8%,达到 23.2 亿英镑。IBM、HCL Tech、Oracle 和 Atos 跻身前十。
TMV 在谈到 AWS 时表示,"他们在增长和规模方面确实拉开了距离"。AWS 在基础设施服务领域是明显的行业领导者,它在这方面与微软的 Azure 展开了激烈的竞争,并且仍在超越它。其预计 2023 年软件和技术服务增长将同比下降 6.9%,预测到 2026 年年复合增长率为 5.8%。并表示,这一分析反映了英国 "持续的生产力危机",将继续推动客户在当地的科技投资。
敲打Cursor
微软在2025年4月对Cursor出手了,直接禁了Cursor用一些插件,让其用户非常难受。
这事情说起来,要从微软这些年做的事情说起。微软从一个对开源无比讨厌,让开源社区无比痛恨的公司,到对开源社区有巨大影响力的公司,也就几年时间。这些年里,微软开源了Visual Studio Code,收购了GitHub,为Visual Studio Code提供了一系列的插件,还有npm。可以这样说,微软才是掌握开源软件开发工具生态的幕后大佬。Visual Studio Code是基于MIT许可证的开源,相当的宽松。于是,有几位从MIT毕业的本科生,就克隆了一份VSCode的代码,然后在其上面做了各种魔改,并且闭源了,最后做出了一个产品叫做Cursor。
是的,Cursor如今有名了,程序员也爱用它。毕竟自己再也不用写代码了,只要让AI替你写代码就行了。Cursor是VSCode的克隆,所以兼容各种其插件,可以搭上VSCode的生态便车。但是它自己又是闭源的,没人知道它干了什么,非常的魔幻。而且它还很受用户欢迎。Cursor除了免费版本以外,还有每个月20美元和40美元的付费用户,估计 Cursor 至少有好几万的付费用户了。
所有的这些却不能说Cursor违反了MIT许可证,但是Cursor的确利用了微软的VSCode 生态,还给微软带来了威胁,影响了其软件开发生态背后大佬的地位。怎么办呢?微软出手了。微软的VSCode虽然是开源的,但是有一把插件都是闭源的。这就是微软留的后手。所以微软这次修改了一些插件的许可,C/C++插件,C#插件,Pylance等,都修改成了只能在VSCode上用,但是Cursor这个VSCode的魔改版,却没办法用了。不仅仅如此,微软还修改了插件的许可协议。有用户注意到,2025年4月1日,微软在其vscode-cpp插件中增加了一个条款,这个条款禁止这个插件在VSCode以及其他微软的工具以外的其他环境中使用。
换言之,Cursor虽然克隆了代码,但是Cursor不属于VSCode或者其他的微软工具,因此,Cursor也就不能使用这个vscode-cpp插件。此外还有几个其他插件,也被微软做了类似的处理。这样做的直接后果,就是Cursor没办法很好的做C和C++的开发了,没办法有syntax highlighting,debugging等等,没办法有其他IDE开发需要的功能了。一个没办法做syntax highlighting但是却能用AI写代码的IDE,这是什么魔幻的组合啊,还真的有人能用吗?
Cursor不是很牛吗?但还是寄生在微软VSCode的整个生态圈里面的,微软还是能给以颜色。微软虽然开源了VSCode,但是没开源其他插件啊,用插件收拾Cursor,合理合法。Cursor要是破解了插件,让它和Cursor能兼容了,根据微软的许可证,微软还能起诉Cursor。
虽然不知道微软是不是一定会这样做,但不得不说,大公司就是老奸巨猾,即使是开源了,还是留有各种套路在其中的。寄生在微软生态圈的Cursor,除了要解决AI生成源代码的问题,也需要解决各种IDE的最基本需求的功能问题了。没有了这些基本的功能,即使AI写代码再优秀,也没办法让程序员们用起来。技术主权与生态控制一定要牢牢掌握在微软手中,不能重蹈当年Visual J++的覆辙。
Cursor当然可以通过破解之类的办法解决技术上的问题,但能解决法律上的问题吗?如果解决不了,微软拿起法律的大棒砸过来,Cursor又能怎么办呢?
微软压制Cursor利用自己的VSCode却不开源自己的代码的不满,已经忍了很久,现在终于决定要出手了;就是不知道Cursor在微软的大棒面前,怎么样合理合法地活下去。
毕竟要想重写所有的闭源插件,不是不可能,但是Cursor毕竟是个小公司;要是想靠破解来兼容,微软有的可不仅仅是代码上的阻止,还有许可证上的问题。Cursor敢这么做,微软就可以状告Cursor。所以 Cursor 要如何破,要分多少成给微软?
在 Curtis的著作《软件大战之后(After the Software Wars)》中,他反复念叨一句的口号:专有软件阻止了我们社会的发展。在这本书中,Curtis表示,虽然专有软件使微软成为迄今为止最成功的公司之一,但这个模式是注定要失败的,因为它没有让软件程序员相好合作并作出贡献,从而扼杀了创新。
Curtis是在Windows和Office上开展编程工作,并在微软从事研究工作,他表示从未实际使用Linux操作系统,直到他在2004年年底辞去这份工作为止。而在随后的几年,他成为了 Linux的狂热分子,他坚信自由、开放源码的软件在技术上是更优越的。但Curtis表示,只要微软及其专有软件的模式继续占据着主导地位,我们将生活在“计算的黑暗时代”。在接受CIO.com网站Shane O'Neill的采访时,Curtis谈到了自由软件的崛起、 Linux在他所说的软件业最大公司必然垮台的过程中所扮演的角色、…、无人驾驶的汽车等话题。大举对开源为基础的企业(FOSS,如Github)进行收购也引起了《软件自由界发起的呼吁抵制》。
微软开源策略的尴尬境地
红联Linux 2009年10月下旬消息,微软到底是开源的朋友还是敌人?如果从微软近几年的动作来看,真的无法说清。一方面,微软拼命向开源领地摇动橄榄枝,捐赠代码、支持像Apache Software Foundation之类的开源企业,就好像它跟开源天生一对似的;另一方面,它仍然对它那些基于开源技术的专利实行收费,而且它的专利许可的运营策略与开源的运营有着天壤之别,况且微软还动辄就跟开源对簿公堂。
然而无论微软采取怎样的开源策略,无可否认的是开源公司、开源开发者及其拥护者已经发展得越来越强大,已经拥有了很成熟的商业模式。尤其是Linux,它驱动了世界上许多大的网络比如Google。而且越来越多的开发者和公司在选择使用开源的工具和软件。年初的时候,微软起诉荷兰汽车导航系统开发商TomTom,指责对方侵权,而且微软坚称此举只是一起专利诉讼而非针对Linux或者开源社区。尽管大部分的Linux社区都接受了微软的观点,但是Linux Foundation 的执行理事Jim Zemlin认为,任何针对开源技术的诉讼都会让整个开源社区感到不爽。
当然在过去的几年中,微软对待开源的态度已经发生了显著的改变。尤其是Sam Ramji就任微软开源实验室主管,在他上任之前,微软的做法一直是极力向用户宣扬Windows环境的价值同时间接贬低Linux环境的价值。Sam Ramji则极力避免与Linux和开源社区的冲突,一直在宣传微软向开源做出的努力,同时在技术上认为微软的技术与开源的技术不但不冲突而且可以相辅相成。微软软件和开源软件共同在这个产业里发展,有许多发展方式, Ramji说,微软会继续在这个领域内发展,并承认和尊重开源的发展。
微软在开源方面也确实做了很多实事。例如去年7月收购Powerset,Powerset产品的HBase组件有开源代码,微软将这些代码捐献到了 Apache Software Foundation的Hadoop项目。除此之外,微软在年初还首次向开源的其他项目捐献代码,七月微软开始向一个名为ADOdb的PHP项目提供代码,同时,微软还成为了Apache的捐赠者
看似前后不一的种种事件恰恰彰显了微软在开源方面的尴尬。实际上,微软公司内部有很多能人,他们都知道,越早利用开源的优势越有利于公司的发展。分析师Andrew Updegrove认为由于微软客户的深度和广度,所以它在市场上的优势地位很不牢靠,如果它不从设计、开发者和策略思考上认真对待开源,他们将丧失市场上的优势。
微软软件之所以流行是由于软件开发者的使用,而且这些开发者有相当一部分是微软的忠实拥趸。然而,越来越多的开发者愿意使用开源技术,原因很多其中就包括开发者不愿意等待开发商的升级和补丁,而开源的工具很多都是免费可用的。如果微软继续怠慢开源,它将无法留住开发者,而且无法跟上快速革新的市场。
Brand Affinity Technologies公司的副总裁Joe Lindsay说,变革一般发生在较小的企业,它们愿意使用能给他们变革提供更多选择、动力和自由的工具。 Lindsay认为微软的技术和产品给常规用户提供了可以变革的技术,但微软自身却不是一个大胆的变革者,尤其是它对自己代码的许可管理。Lindsay 说,微软的技术提供也很不厚道,它给用户提供软件用以变革,但必须支付费用,而且由于微软技术的封闭性使得用户只能以微软的方式变革。这给微软带来了巨大的利润,但给开发者和技术变革者带来了许多不便。
即便微软想在开源方向大刀阔斧,也会遇到很多困难。首先微软的根基就是闭源软件,它的商业盈利皆来源于此。一位Internet的开发者同时也是 Open Source Initiative.的联合创立者Eric Raymond称,虽然微软在某些方面需要开源,但从根本上来说开源与微软公司的策略是矛盾的。
Raymond认为微软在调整专利软件的策略方面将渡过一段很长的艰难时期,因为微软的大部分利润是来自像Windows和Office之类的产品,而且是同类产品市场上特立独行的标准,因为它们是独立的技术。微软前开源实验室主管Sam Ramji就受到了这种商业模式的制约,尽管他在微软的开源发展上做了很多努力。Raymond说,他只能在不影响微软客户和利润的地方做开源,而这种地方很少。
Ramji曾说,微软尊重和感激开源开发者为行业做出的重大贡献。然而,与所有的软件企业合作,包括那些商业性质的开源技术,必须构建在对知识产权的尊重上。所有的玩家都应当在同样的规则下合作,即便是开源的软件公司也会在有必要的时候来到法庭上保护他们的知识产权。
虽然现在Ramji人已卸任,但微软如何发展开源我们仍将拭目以待。
与谷歌之间的那些事儿
南方周末2009年11月下旬消息,十年来,Google产品中不乏成功和失败的先例。正如今天回看尼葛洛庞帝的售价100美元笔记本计划才明白其远见一样,过几年再看Chrome操作系统或许更清晰,那时人们也许会发现,它诞生的今天是一个革命性时刻。电脑将变得越来越简单,甚至可以不需要微软,这是Google告诉我们的未来。
那将是一个Google的世界———你需要安装一个叫作Chrome的操作系统,通过一个叫做Chrome的浏览器,使用那个将HTTP提速了55% 的SPDY网络协议,登陆一个叫做Google的搜索引擎主页,打开一个叫做Gmail的邮箱收发邮件,用Gtalk的即时通讯工具和人交流,用 GoogleReader订阅喜欢的博客和资讯,进GoogleLibrary看书,用GoogleDocs写字,用Picasa编辑、存储照片,用 Youtube看视频,用GoogleVoice拨打电话,用GoogleMap查看地球上任何一个地方……如果你是一位技术爱好者,没准还会在关机前往 Chrome操作系统的源代码中添几笔。
不要惊讶,上面提到那些Google产品你可能已陆续用过,Chrome操作系统不过将它们集中起来送到你面前。早在今年7月8日,Google宣布研发Chrome操作系统的消息后,媒体已多次嘀咕它的降临,11月18日它果真如约而至,第一款预装Chrome操作系统的上网本,很有可能成为不少人的圣诞礼物。ArsTechnica最新发布的2009年10月操作系统市场份额显示,Windows坐拥92.52%,MacOS是 5.27%,Linux只占0.96%。而今,被称为IT界最高精尖领域的操作系统,长久以来的三家并存格局,终于要由Chrome打破。
正如比尔·盖茨在被问及对Chrome操作系统看法时所说的,基于Linux平台的操作系统不胜枚举,但Chrome的兄弟———2007年底 Google推出的开源手机操作系统Android的表现,已证明其不同以往。2009年10月14日,宏碁在伦敦发布第一款双操作系统的上网本 AcerAOD250,用户可选择使用Android或者Windows7操作系统。Android已经从手机延伸到了上网本,这在其他Linux操作系统中实为不可想象。如果说Windows靠的是先入为主对桌面的占领,Mac则主要定位于那些追求时尚与个性的人们,Linux则着眼于开源与自由分享的技术爱好者,Chrome就是一名轻量级选手,功夫不在系统本身而在网络平台之上。
操作系统主要功能是管理电脑硬件与软件资源。最早的DOS操作系统时代,用360K的软盘即可驱动电脑主要硬件。从1995年开始的Windows时代,操作系统不仅要驱动硬件,还要管理和支持各类软件,特别是为了和office系列兼容,系统盘越来越大。Chrome操作系统,打破了微软的游戏规则,使Web操作系统成为现实———系统只需解决本机的硬件驱动问题,如前所述,它更多的软件应用是由网络来实现。人们可以随时随地调出和使用各自文件, 所需不过一个网络接入终端———无论它叫手机、电脑还是其他。
这一变革并非凭空而来,Google至少已经为之准备了五年。2004年4月1日,Google推出1GB容量的gmail,刚开始人们以为那是个愚人节玩笑。紧接着,人们发现这是一款Web版的outlook,它可以实现即时通讯、视频聊天,然后是它附着了一系列办公软件应用,如日历、Docs…… 不知不觉,它已经提供了全套office解决方案。2008年9月,Chrome浏览器出来的时候,人们才恍然大悟:Google不是在做邮箱,也不是在做浏览器,而是操作系统!
对消费者来说,Chrome带来的最直接的好处是免费。如果买一台电脑的费用是1000美元,为之添加操作系统、购买相应的应用软件,或许还得花上 500美元左右。如果以windows7每套售价119.99-219.99美元计算,Chrome将为每台电脑至少节约10%的费用。Google表示,Chrome初期将主要应用在上网本平台。Chrome对CPU要求不高,这或许是AMD、威盛、国产龙芯等厂商们打破Intel独大局面的机会。抛开设计、游戏等专业需求,当人们意识到上网本完全能满足日常电脑使用时,电脑的类别或许会因此而产生变化,IT产业格局也将因此而变,硬件业将削弱,Web应用将兴起。Chrome+上网本,还可能打破Windows+Intel的多年联盟,过去这两家总是在操作系统和CPU上很有默契地一唱一和各推新品,以后他们的步调极有可能错开,2008年3月,一向将CPU往高端推进的Intel背离轨道推出低能耗的Atom系列,不过是一个开始。
上述结果已直接挑战了微软,它自然不会坐视不理。今年10月,微软发布Windows 7,头一次它的新系统没有对CPU提出更高要求,也没有硬件兼容性问题。另外,微软今年的最大动作是推出了搜索引擎Bing,直接将战场开到了Google起家的搜索领域。如果从此两家IT巨头在长长的产品线上拉锯,未尝不是一件好事。但也有人并不看好Chrome,譬如,Chrome虽然强大,但Google应用中尚欠缺视频处理功能;各地网络建设和政治环境不同,如果不能保证网络随时顺畅,Chrome也就英雄无用武之地。十年来,Google产品中不乏成功和失败的先例。正如今天回看尼葛洛庞帝的售价100美元笔记本计划才明白其远见一样,过几年再看Chrome操作系统或许更清晰,那时人们也许会发现,它诞生的今天是一个革命性时刻。
自由软件将以何种方式导致微软的覆灭?
自由软件将导致微软的灭亡,因为我们知道存在两种的方式:
第一,通过一个开放的、合作的研发模式,自由软件社区开发出了在技术上更加优越的产品。人们会把维基百科首先看作一个百科全书,而不是软件,但它是研究这场即将到来的革命的一个很好案例。自由软件还有许多种,它们已经证明了较之专有软件,它们在技术上更具优势,。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 的支持。
微软跌出英国软件和 IT 服务前三名
老牌分析机构 TechMarketView(TMV)2023年7月发布的一个数据分析报告指出,Amazon Web Services 在 2022 年跃居英国软件和 IT 服务行业之首,微软因增长落后于竞争对手而跌出了榜单前三名。数据显示,英国本地市场在 12 个月内增长了 12.2%,达到 677 亿英镑(861.5 亿美元),实现了十多年来最快的增速。其中,AWS 在英国的收入同比增长 30.1%,达到 37.8 亿英镑;紧随其后的是埃森哲增长 30%,达到 36.23 亿英镑。前市场领导者 TCS 增长 16.6%,达到 34.91 亿英镑,位居第三;微软则排名第四,报告增长 17.5%,达到 33.82 亿英镑。
排名第五的是凯捷 (Capgemini),增长 16.7%,达到 23.52 亿英镑;而 Capita(前英国长期运行的软件和 IT 服务领导者)仅增长 1.8%,达到 23.2 亿英镑。IBM、HCL Tech、Oracle 和 Atos 跻身前十。
TMV 在谈到 AWS 时表示,"他们在增长和规模方面确实拉开了距离"。AWS 在基础设施服务领域是明显的行业领导者,它在这方面与微软的 Azure 展开了激烈的竞争,并且仍在超越它。其预计 2023 年软件和技术服务增长将同比下降 6.9%,预测到 2026 年年复合增长率为 5.8%。并表示,这一分析反映了英国 "持续的生产力危机",将继续推动客户在当地的科技投资。
敲打Cursor
微软在2025年4月对Cursor出手了,直接禁了Cursor用一些插件,让其用户非常难受。
这事情说起来,要从微软这些年做的事情说起。微软从一个对开源无比讨厌,让开源社区无比痛恨的公司,到对开源社区有巨大影响力的公司,也就几年时间。这些年里,微软开源了Visual Studio Code,收购了GitHub,为Visual Studio Code提供了一系列的插件,还有npm。可以这样说,微软才是掌握开源软件开发工具生态的幕后大佬。Visual Studio Code是基于MIT许可证的开源,相当的宽松。于是,有几位从MIT毕业的本科生,就克隆了一份VSCode的代码,然后在其上面做了各种魔改,并且闭源了,最后做出了一个产品叫做Cursor。
是的,Cursor如今有名了,程序员也爱用它。毕竟自己再也不用写代码了,只要让AI替你写代码就行了。Cursor是VSCode的克隆,所以兼容各种其插件,可以搭上VSCode的生态便车。但是它自己又是闭源的,没人知道它干了什么,非常的魔幻。而且它还很受用户欢迎。Cursor除了免费版本以外,还有每个月20美元和40美元的付费用户,估计 Cursor 至少有好几万的付费用户了。
所有的这些却不能说Cursor违反了MIT许可证,但是Cursor的确利用了微软的VSCode 生态,还给微软带来了威胁,影响了其软件开发生态背后大佬的地位。怎么办呢?微软出手了。微软的VSCode虽然是开源的,但是有一把插件都是闭源的。这就是微软留的后手。所以微软这次修改了一些插件的许可,C/C++插件,C#插件,Pylance等,都修改成了只能在VSCode上用,但是Cursor这个VSCode的魔改版,却没办法用了。不仅仅如此,微软还修改了插件的许可协议。有用户注意到,2025年4月1日,微软在其vscode-cpp插件中增加了一个条款,这个条款禁止这个插件在VSCode以及其他微软的工具以外的其他环境中使用。
换言之,Cursor虽然克隆了代码,但是Cursor不属于VSCode或者其他的微软工具,因此,Cursor也就不能使用这个vscode-cpp插件。此外还有几个其他插件,也被微软做了类似的处理。这样做的直接后果,就是Cursor没办法很好的做C和C++的开发了,没办法有syntax highlighting,debugging等等,没办法有其他IDE开发需要的功能了。一个没办法做syntax highlighting但是却能用AI写代码的IDE,这是什么魔幻的组合啊,还真的有人能用吗?
Cursor不是很牛吗?但还是寄生在微软VSCode的整个生态圈里面的,微软还是能给以颜色。微软虽然开源了VSCode,但是没开源其他插件啊,用插件收拾Cursor,合理合法。Cursor要是破解了插件,让它和Cursor能兼容了,根据微软的许可证,微软还能起诉Cursor。
虽然不知道微软是不是一定会这样做,但不得不说,大公司就是老奸巨猾,即使是开源了,还是留有各种套路在其中的。寄生在微软生态圈的Cursor,除了要解决AI生成源代码的问题,也需要解决各种IDE的最基本需求的功能问题了。没有了这些基本的功能,即使AI写代码再优秀,也没办法让程序员们用起来。技术主权与生态控制一定要牢牢掌握在微软手中,不能重蹈当年Visual J++的覆辙。
Cursor当然可以通过破解之类的办法解决技术上的问题,但能解决法律上的问题吗?如果解决不了,微软拿起法律的大棒砸过来,Cursor又能怎么办呢?
微软压制Cursor利用自己的VSCode却不开源自己的代码的不满,已经忍了很久,现在终于决定要出手了;就是不知道Cursor在微软的大棒面前,怎么样合理合法地活下去。
毕竟要想重写所有的闭源插件,不是不可能,但是Cursor毕竟是个小公司;要是想靠破解来兼容,微软有的可不仅仅是代码上的阻止,还有许可证上的问题。Cursor敢这么做,微软就可以状告Cursor。所以 Cursor 要如何破,要分多少成给微软?