微軟把 Powershell 也開源且移植到 Linux 上了

作者 | 發布日期 2016 年 08 月 24 日 13:30 | 分類 Microsoft , 軟體、系統 , 雲端 follow us in feedly

繼 .NET 核心開放原碼以後,8 月 19 日微軟宣布也把 Powershell 開放原始碼,而且移植到 GNU/Linux、Mac OSX 系統上。



今日的企業用戶生存在一個多平台、多重雲端、多作業系統的世界。這樣的世界帶來了新的挑戰──複數異質平台的工具需要能好好地合作在一起,就連微軟都無法抵擋如此的趨勢,因此微軟轉而致力於跨異質系統管理的解決方案──不管是部署在哪裡、使用的設備是 Linux 還是  Windows 機器。

微軟執行長 Satya Nadella 曾說:「微軟現在愛 Linux。」目前看來,這確實不是口號,微軟的雲端計算平台與服務 Azure上,3 個 VM 裡面,就有一個是 GNU / Linux 作業系統的。Azure Marketplace 裡面,第三方的 IaaS(基礎設施即服務)近 60% 提供的是開放原始碼軟體。因此微軟已經宣布把自家的 SQL Server 移植到 GNU / Linux 上,把 .NET 開放原碼,也把 BASH(GNU / Linux 系統預設的「殼層」與命令稿語言,或者說「文字指令介面」 CUI )移植到 Windows 10,使之也成為發展 OSS 的平台。此外,微軟也轉變成數個開源軟體計畫的積極參與者與貢獻者(例如 OpenSSH、 FreeBSD、 Mesos、 Docker、 Linux 等)。

現在是微軟開源化進程的下一階段,那就是把 PowerShell( Winows 系統當前的殼層)加以開源化,且移植到Linux上。 (PowerShell 是建立在 .NET 框架下且緊閉地跟 Windows 整合),此外還整合進了微軟 Operations Management Suite,以提升 PowerShell 的使用體驗。

 

開源化起因是客戶不高興

微軟會把 PowerShell 移植到 Linux 上而且開源化是有故事的,起因於客戶不開心……

微軟雲端和企業部門的技術研究員 Jeffrey Snover 表示,早在 Monad 時期(PowerShell 在 2002-2006 年時的開發階段代號),Snover 展示給一個大客戶看,該客戶一開始很喜歡它,但是後來卻由喜轉怒。

對方問 Snover 說:「這程式是用什麼語言實做的?」而且非常不滿意 Snover 的答案:「C#」,Snover 感到很困惑,就詢問為什麼這會是一個難題?對方回答,「因為 Monad 雖然是完全正確的方法,但我們整個公司就得針對它來標準化,但我們沒有辦法,因為 .NET(C# 的執行平台)是 Linux 上不可用的!(這表示該公司有許多 Linux 機器)。」

在過去,微軟的業務重點意味著 .NET 還有在其上執行的 PowerShell,當然只適用於 Windows 系統,微軟當時的跨平台概念是,「都使用微軟的機器就可以跨平台」(例如程式可以跨 Windows 家用版、Windows 伺服器、Windows 手機等)。但是,現在是新的微軟了,在 Satya 的領導下,Azure 已經轉向更為開放、以客戶為中心的思惟方式,重要的事情要再說一次,那就是微軟現在真的喜歡 Linux!

微軟官網

(Source:微軟

微軟想要贏得客戶的偏愛(微軟雲端方案)來運行他們的所有工作,因此在 Linux 上運作要跟在 Windows 上表現一樣好,這新思惟給 .NET 團隊很大的動力,來移植 .NET 核心到 GNU / Linux上,連帶地,當然也把 PowerShell 移植過去。PowerShell 的 Linux 版旨在讓企業客戶一樣的職員得以能使用一樣的工具,從任何地方管理一切;而整合進了 OMS,這表示企業用戶得以把對 Azure、 AWS、 Google 等異質雲端平台的使用虛擬化,用圖形介面來加以管控,優化雲端管理體驗。

現在,對於跨 Windows 和 Linux,當前和未來 PowerShell 的使用者,甚至是應用程式開發者,可以體驗到豐富的交互式命令稿語言、異構自動化、配置管理,得以跟你原先的工具配合良好。這使得一個公司下的 Windows 和 Linux 團隊,得以更好地合作工作。

非常有意思的,微軟在 Windows 上官方支援 GNU / Linux 系統的 BASH,又把 Powershell 移植到 Linux 上,這讓習慣開源軟體系統的使用者得以管控 Windows 機器;而習慣 Windows 商業系統的人,也可以跨到 GNU / Linux 上。

Snover 也表示,其實微軟仍然在學習如何最佳地管理這一類的開放原始碼計畫,其實他的團隊本身就蠻特別的,成員都有泛 Unix 系統的使用經驗,他們花了不少時間跟其他夥伴解說如何成功開源,而微軟也計劃要推動社群治理的管理模型。微軟的開源之途繼續下去,該不會哪一天也會發表 Microsoft Linux 發行套件呢?

如果你有興趣,且是 Ubuntu、 CentOS、 Red Hat 等各 GNU / Linux 系統的使用者,以及 Mac OSX 的使用者,現在可以從 PowerShell 的 GitHub 取得原始碼下載來編譯、使用。

(首圖來源:達志影像) 

關鍵字: , , , ,

發表迴響