真爱!微软宣布新开源网站,由 Jekyll 一键生成,代码所见即所得

简介: 近日,微软上线了一个新的开源网站。这不是微软唯一的开源网站,但却代表了新的起点。网友表示:这次真的拥抱开源了!从「恨」到「爱」,微软与开源有着一段长达30年的故事。

微信图片_20220109154203.jpg


微软又又又「搞」开源了!


近日,微软上线了一个新的开源网站:这个网站本身是开源的,内容也是关于开源的,同时提供一些开源服务。


给开源一个大大的拥抱!


从首页来看,这一开源网站的核心理念是「开放」、「协作」和 「灵活」。微软在网站中陈列了自己的开源项目和服务。


微信图片_20220109154205.png


网站分为参与、项目、生态、招聘及博客等版块。其中,「参与」页面还会实时显示微软各个 GitHub repo 的最新动态。


微信图片_20220109154206.png


虽然,这不是微软的首个开源网站,但它是一个全新的站点,用于取代先前过时的版本。 网友们一片「鼓励」、「欣慰」。


微信图片_20220109154209.jpg


根据微软首席软件工程师 Jeff Wilcox 的介绍,该网站由 Jekyll 生成,Jekyll 是用 Ruby 实现的开源静态站点生成器。而动态数据则是由 TypeScript 实现的 Node.js 后端检索而来。


它通过 Linux Azure Kubernetes 服务(AKS)群集部署到 Microsoft Azure 中,并且使用微软自己的 Azure Front Door 和 Azure CDN 服务。


开源是「癌症」,是「剽窃」!


要知道,曾经的微软对开源可谓是「深恶痛绝」。 自由共享计算机源代码——开放源代码,可以追溯到最早的商业计算机。那时起,用户组们共享代码以减少重复性工作和成本。 微软就是这一时期成立的。在创立微软不到一年的时间里,比尔·盖茨曾写过一封公开信,指责业余爱好者复制软件的行为是「盗窃」


微信图片_20220109154211.jpg


上世纪90年代,微软正处于高速发展期。90年代末,微软开始将日益增长的开源运动视为「威胁」。在一份被称为「万圣节文件」的内部战略录中,他们描述了微软总部用来对付开源软件(特别是Linux)的预备策略。


微信图片_20220109154213.jpg


其中一种策略是「拥抱-扩展-再熄灭」,即微软采用标准技术,添加专有扩展,并在建立客户基础的基础上,将消费者锁定在专有扩展中,从而确立对该领域的垄断地位。


微软首席执行官史蒂夫·鲍尔默把Linux比作「知识产权的癌症」。微软可以起诉运行Windows的Linux操作系统Lindows侵犯了其商标。但是,法院驳回了微软的索赔,并在微软购买了其商标后,将其软件名称改为Linspire.


微信图片_20220109154214.png


然而,在2014年,事情转变了。


不恨了!微软 Love 开源


2014年,萨蒂亚·纳德拉被任命为微软新任首席执行官。


微信图片_20220109154216.jpg


从这时开始,微软开始将开源纳入其核心业务。与鲍尔默的立场相反,纳德拉曾展示了一张幻灯片,上面赫然写着「微软热爱Linux」。


微信图片_20220109154218.png


从此,微软对开源来了几个180度的转变。 2014年,公司开放了.net框架的源代码,以推广其软件生态系统,促进跨平台开发。 2016年,微软推出了Windows Linux子系统,可以让Linux应用程序在Windows操作系统上运行。


2018年,微软收购了GitHub。该网站提供了微软的Visual Studio代码和. net运行时系统的源代码。纳德拉还收购GitHub时说道,「我们都是开源的。」而目前,微软也成为了GitHub上最大的开源贡献者。


甚至,微软还在发布的Windows 10更新中提供了一个完整的Linux内核,并在去年为Edge使用了浏览器引擎。微软还与开源社区合作为Windows 10开发PowerToys,而微软新的开放设计理念可能意味着我们将在未来几年看到更多的开源努力。2019年,微软将其Edge浏览器转变为使用开源的Chromium(也是谷歌Chrome的基础)


微信图片_20220109154220.png


如此反转,令人惊讶。


但不得不说,凭借着Windows 10的Linux内核、GitHub、新Android Surface Duo以及商业云计算作为主要收入来源,现在的微软已经和30年前大不相同了。毕竟当时,微软还正担心开源软件会蚕食它的知识产权和收入呢!


微信图片_20220109154222.gif微信图片_20220109154224.gif


这些年微软在开源方面的贡献排名上升


 的确,这些年来,微软说了很多,也做了很多。这个软件巨头现在击败了Facebook、Docker、谷歌、Apache和其他许多公司,是世界上最大的开源项目贡献者。


从「排斥」到「拥抱」。也许,就像微软前CEO布拉德•史密斯的那句名言一样,「如果生命足够长,你可以学会……你需要改变。


参考链接:


https://news.slashdot.org/story/20/08/15/0418256/microsoft-launches-new-web-site-describing-how-its-embracing-open-source

https://en.wikipedia.org/wiki/Microsoft_and_open_source

https://www.theverge.com/2020/5/18/21262103/microsoft-open-source-linux-history-wrong-statement

https://news.slashdot.org/story/20/08/15/0418256/microsoft-launches-new-web-site-describing-how-its-embracing-open-source

相关文章
|
Linux KVM 虚拟化
PVE8.0-2安装使用快速指导
PVE8.0-2安装使用快速指导
|
机器学习/深度学习 存储 人工智能
AI浪潮下,大模型如何在音视频领域运用与实践?
LiveVideoStackCon2023深圳站,阿里云视频云演讲分享
964 1
|
存储 Linux Shell
Linux绝对路径和相对路径
在 Linux 中,简单的理解一个文件的路径,指的就是该文件存放的位置。 只要我们告诉 Linux 系统某个文件存放的准确位置,那么它就可以找到这个文件。指明一个文件存放的位置,有 2 种方法,分别是使用绝对路径和相对路径。 我们知道,Linux 系统中所有的文件(目录)都被组织成以根目录“/”开始的倒置的树状结构 绝对路径一定是由根目录 / 开始写起。例如,使用绝对路径的表示方式指明 bin 文件所在的位置,该路径应写为 /usr/bin,测试代码如下: [root@localhost ~]# bin bash: bin: command not found <-- 没有找到 [
733 0
|
10月前
|
存储 安全 数据处理
从GDPR“天价罚单”到数据安全法“安全评估”:代购系统的合规“避雷指南”
代购系统面临欧盟GDPR与中国《数据安全法》双重合规挑战。本文从法律框架、合规要点、技术工具与操作流程四方面,解析跨境数据处理的应对策略,助力企业实现安全合规的数据跨境流动。
|
Oracle 关系型数据库 MySQL
Oracle Linux 8.10 编译安装sysbench
Oracle Linux 8.10 编译安装sysbench
480 34
|
人工智能 API Go
MCP Server 牛刀小试之雷池 MCP
MCP(Model Context Protocol)是AI编程领域的热门话题,由Anthropic于2024年提出。它是一种标准化协议,用于AI模型与本地/远程资源交互,类似USB-C接口,支持多种数据源和工具连接。本文以雷池WAF为例,介绍如何通过MCP协议创建服务器,实现AI自动化管理。项目使用Golang SDK开发,功能包括创建受保护应用、获取证书及攻击事件统计等。视频演示展示了如何查询近一个月的拦截事件和WAF证书配置。尽管开发工作量较大,但MCP使LLM与工具解耦,提升智能化水平。扩展资料包含中文文档和示例指南。
875 13
MCP Server 牛刀小试之雷池 MCP
|
存储 JSON 数据库
HarmonyOS Next 端云一体化(2)
本文介绍了HarmonyOS云数据库端云一体化中的数据库操作流程。首先创建名为“Study”的存储区,并在DevEco Studio中配置信息;接着定义对象类型,以“Book”为例,详细说明objectTypeName、fields、indexes和permissions的设置规则;然后通过JSON文件添加数据条目,配置cloudDBZoneName和objects字段;最后将本地数据库部署至AGC平台并刷新数据。全文涵盖存储区创建、对象类型定义、数据操作及云端部署等核心步骤,为端云协同开发奠定基础。
399 5
HarmonyOS Next 端云一体化(2)
|
机器学习/深度学习 存储 人工智能
《LSTM与HMM:序列建模领域的双雄对决》
长短期记忆网络(LSTM)和隐马尔可夫模型(HMM)是序列建模中的重要工具。两者都能处理序列数据并基于概率预测,且都使用状态概念建模。然而,LSTM通过门控机制捕捉复杂长期依赖,适用于长序列任务;HMM基于马尔可夫假设,适合短期依赖关系。LSTM训练复杂、适应性强但解释性差,而HMM训练简单、解释性好,适用于离散数据。两者在不同场景中各有优势。
355 7
|
前端开发 网络协议
Nest.js 实战 (十四):如何获取客户端真实 IP
这篇文章介绍了在Nest.js应用中获取客户端真实IP地址的问题及解决方法。问题出现在使用本地代理时,请求的IP地址总是返回::1或::ffff:127.0.0.1。为解决这个问题,需要确保代理服务器正确设置转发头如X-Forwarded-For或X-Real-IP,后端服务能够读取这些头信息来确定客户端的IP地址。文章以作者自己的OpenResty应用为例,展示了如何通过配置反向代理和设置X-Forwarded-For头来获取真实IP地址,并提供了相关的代码示例。最后,文章提到了使用这个解决方案后的实际效果,例如在操作日志中记录真实IP地址。
615 0
|
Java Linux
java命令 : java -jar 和 java -cp
java命令 : java -jar 和 java -cp

热门文章

最新文章