Microsoft open sources PowerShell, brings it to Linux and OS X
Microsoft today announced that it is open sourcing PowerShell and bringing it to Linux and OS X. — PowerShell is Microsoft's command line shell for Windows power users, as well as an extensible scripting language for automating system tasks.
Context & Ripple Effects
This move caps a year of deliberate groundwork: Microsoft had already signaled its intent to modernize Windows' command line with plans to bring SSH to Windows and PowerShell, and weeks earlier shipped .NET Core 1.0, taking its runtime to Linux, OS X, and beyond. Open sourcing PowerShell and porting it off Windows is the logical next step — the shell runs on .NET, so cross-platform tooling follows the runtime.
The significance is directional rather than isolated: a decade later this arc continues with Microsoft open-sourcing the Windows Subsystem for Linux and shipping Linux-like Coreutils utilities for Windows developers. The company that once kept its shell proprietary now treats interop with Unix environments as a product requirement.
First-order effects
- Windows administrators and automation scripters gain a shell that runs on Linux and OS X, letting the same PowerShell scripts manage mixed Windows-Unix estates instead of requiring separate tooling per platform.
Second-order effects
- Linux and OS X system administrators become a real audience for PowerShell, putting it in direct competition with established Unix shells and forcing Microsoft to sustain the project through open-source contribution rather than internal release cycles alone.
Third-order effects
- If the pattern holds — .NET Core, then PowerShell, then WSL opened up, then Linux-style Coreutils on Windows — Microsoft's developer tooling converges toward what amounts to a public operating system posture, where Windows competes by embracing Unix workflows rather than walling them off.
The trend: Microsoft is systematically dismantling Windows-only boundaries in its developer stack, making cross-platform openness the default for its runtimes, shells, and subsystems.