PowerShell with a Purpose Blog

PowerShell Language Now Licensable

Microsoft just announced that the PowerShell language is now licensed under the company's "Community Promisee" program. This means that anyone can now produce their own compatible implementation of PowerShell on any platform - including *nix, Mac, whatever. While folks have technically made attempts to do so in the past, they've run the risk of violating numerous Microsoft-held patents related to PowerShell's technology and techniques; with this new license, all of those patents are included, so it's safe to proceed.

The license is backed up by a 300+ page language specification that details exactly how a compatible shell ought to work, and provides implementation specifics on numerous language features.

Does this mean Microsoft will produce "PowerShell for Mac?" Doubtful. But it does mean that someone else could do so, and that someone would be covered legally with regard to Microsoft's intellectual property, patents, and so forth. 

"Why would *nix want PowerShell?" you might ask. After all, *nix has a number of wonderful shells. The point is that it has a number of wonderful shells, each with their own strengths and advantages - and there's no reason PowerShell couldn't be counted amongst them. PowerShell does borrow a lot from *nix shell patterns, after all, and it adds a number of unique and powerful capabilities that aren't seen in other shells. I don't see this as MS making a bid to "take over" other platforms; the fact that MS won't be producing PowerShell implementations for other platforms is pretty much proof of that. This is just MS giving people options. The market - that is, paying customers - will decide if there's an advantage in porting PowerShell to other platforms, which is exactly how it should be.

The Microsoft Community Promise page has also been updated to include PowerShell's language specification. There's also a brief video snippet of Microsoft's Jeffrey Snover, the "inventor of PowerShell," making the announcement.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.