Microsoft is announcing today that it’s open-sourcing PowerShell, its system administration and configuration management tool that’s been a default part of Windows for several years. Microsoft is also making PowerShell available for Linux and OS X. The software is available now under an open-source MIT license on GitHub.
In the past few weeks, Microsoft has been gradually posting PowerShell code and documentation on GitHub, and now the tool itself is available to inspect, download, and build on — even for Linux, despite the years Microsoft spent challenging Linux.
The move comes after Microsoft open-sourced .NET and started bringing it cross-platform. More recently, Microsoft has partnered with Red Hat, announced plans to bring SQL Server to Linux, and brought Bash to Windows. Last year, Microsoft also introduced Visual Studio Code, a free text editor that works on Linux and Mac, as well as on Windows.
“In the past, Microsoft’s business focus meant that .NET, and thus PowerShell, were only available on Windows. But this is a new Microsoft,” PowerShell inventor and Microsoft Enterprise Cloud Group and Azure Stack lead architect Jeffrey Snover wrote in a blog post. Satya’s leadership and Azure have shifted us to a more open, customer-centric mindset. … Microsoft wants to earn customers’ preference as the platform for running all their workloads — Linux as well as Windows. This new thinking empowered the .NET team to port .NET Core to Linux and that in turn, enabled PowerShell to port to Linux as well.”
Today’s move is the newest proof that Microsoft doesn’t want its software to be limited to the all-Microsoft stack, and that the company is willing to deal with the dynamics of open-source software development and maintenance. But Microsoft is not unique in this regard; Apple has been offering its Swift programming language under an open-source licence since December. These efforts have brought Apple and Microsoft a bit more in line with web companies like Facebook, Google, Twitter, which have open-sourced new tools on the regular for many years.
PowerShell lets users remotely manage multiple other machines, and it can work with public cloud infrastructure resources from Microsoft Azure and other providers. PowerShell is itself a scripting language, and people can write PowerShell commands and scripts inside text editors, including Visual Studio Code and Sublime Text. (Support for more editors will come, Snover wrote.) Initially known as Monad, PowerShell first became part of Windows 7 in 2009. Today, it ships as part of Windows 10.
The move to go open-source and cross-platform “does not change our commitment to Windows,” PowerShell open-source project leads Kenneth Hansen and Angel Calvo — both of whom have been at Microsoft for more than 20 years — wrote in a blog post. But now PowerShell is more powerful. “You will be able to use PowerShell to manage Windows from Linux or macOS, and Linux from Windows,” Hansen and Calvo wrote.
PowerShell documentation is here.