Igor Moochnick announced the first release of PASH, an open source implementation of PowerShell. (I tripled check the date on his blog to make sure it really said April 6th and not April 1st. ). This is really exciting stuff. This is one of the most requested items from IT shops that run heterogeneous environments. They love PowerShell and want ALL their IT Pros to adopt it. I haven’t tried it yet so I don’t know what it does/does not implement but I’m pretty excited about it. I can’t wait to give it a try.
I’ll have to talk with the .NET guys about how they work with the MONO team to ensure compatibility. If it gets/stays compatible, that is a super good thing for customers. It it becomes a variation or separate dialect and confuses our customers, then that would be problem.
BTW – just to make one point REALLY clear – PowerShell running across heterogeneous platforms was a project goal from the very beginning of the project. We architected and designed PowerShell so that our only "true" dependency was on .NET. There are only 1 or 2 cases where I know that we call a Windows API (code signing). In other words – what Igor is doing IS PERFECTLY FEASIBLE. Sure, he won’t have WMI cmdlets on those other environments – you’ll have incidental variations – that is not a problem. The engine and the language should work perfectly.
One last point. I’m really looking forward to getting the Open Source communities input on PowerShell and suggestions on ways to improve it. Their usage scenarios will be different and will highlight any flaws or shortcomings we have in other areas (e.g. text parsing/manipulation). I look forward to hearing their complaints/recommendations. Adding their perspective and insight will make PowerShell a better technology for everyone.
Check this out:
What a nice day!
Jeffrey Snover [MSFT]
Windows Management Partner Architect
Visit the Windows PowerShell Team blog at: http://blogs.msdn.com/PowerShell
Visit the Windows PowerShell ScriptCenter at: http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx