{"id":12305,"date":"2016-08-18T07:32:02","date_gmt":"2016-08-18T15:32:02","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/powershell\/?p=12305"},"modified":"2019-02-18T12:38:10","modified_gmt":"2019-02-18T19:38:10","slug":"powershell-on-linux-and-open-source-2","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/powershell\/powershell-on-linux-and-open-source-2\/","title":{"rendered":"PowerShell on Linux and Open Source!"},"content":{"rendered":"<p>Since its inception in 2002 PowerShell has been deeply influenced and improved by the passion and needs of our community. As an example, 80 contributors filed bugs and issues on the \u201calpha\u201d release.\u00a0Since that time we, together, have built a strong PowerShell community that supports each other, provides Summits and Conferences and gives great feedback to the product team at Microsoft.<\/p>\n<p>Satya\u2019s new leadership and customer-focused mindset has encouraged and empowered us to do even more with our community. Last year we started a number of successful community initiatives, such as the PowerShell Home Page, the PowerShell Gallery, and various Open Source projects.<\/p>\n<p>Today we are thrilled to move to the next level and provide PowerShell as an open source project on GitHub, available on Windows, Linux and macOS! The official announcement blog can be found <a href=\"https:\/\/aka.ms\/hosoyc\">here<\/a> and the PowerShell Webinar is <a href=\"https:\/\/channel9.msdn.com\/Blogs\/hybrid-it-management\/PowerShell-on-Linux-and-Open-Source\">here<\/a>. This is the most dramatic change since the release of V1 so of course, we had to record the moment for history, <a href=\"https:\/\/aka.ms\/pfufa2\">here is the video <\/a>of the team making the repo public!<\/p>\n<p>Last year we started down this path by contributing to a number of open source projects (e.g. OpenSSH) and open sourcing a number of our own components including <a href=\"https:\/\/github.com\/PowerShell\/DscResources\">DSC resources<\/a>. We learned that working closely with the community, in the code and with our backlog and issues list, allowed us prioritize and drive the development much more responsively. We\u2019ve always worked with the community but shifting to a fine-grain, tight, feedback loop with the code, energized the team and allowed us to focus on the things that had the most impact for our customers and partners. Now we are going big by making PowerShell itself an open source project and making it available on Mac OS X, Ubuntu, CentOS\/RedHat and others in the future.<\/p>\n<h2><u>So, where\u2019s the cool stuff?<\/u><\/h2>\n<p>You can always go to the <a href=\"http:\/\/microsoft.com\/powershell\">PowerShell Home Page<\/a> for information, updates or links about PowerShell and our overall efforts. However, for those who just want to dive in, here some direct links to help you get going right away:<\/p>\n<ul>\n<li>The downloads for the alpha version of PowerShell built in the PowerShell repo that work on: Ubuntu <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/releases\/download\/v6.0.0-alpha.9\/powershell_6.0.0-alpha.9-1ubuntu1.14.04.1_amd64.deb\">14.04<\/a>\/<a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/releases\/download\/v6.0.0-alpha.9\/powershell_6.0.0-alpha.9-1ubuntu1.16.04.1_amd64.deb\">16.04<\/a>, <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/releases\/download\/v6.0.0-alpha.9\/powershell-6.0.0_alpha.9-1.el7.centos.x86_64.rpm\">CentOS 7.1<\/a>, and <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/releases\/download\/v6.0.0-alpha.9\/powershell-6.0.0-alpha.9.pkg\">Mac OS X 10.11<\/a>.<\/li>\n<li>The PowerShell open source project is at <a href=\"https:\/\/github.com\/powershell\/powershell\">https:\/\/github.com\/PowerShell\/PowerShell<\/a>.<\/li>\n<li>The <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/blob\/master\/README.md\">Readme.MD<\/a> file in that folder should display immediately. It contains links the downloads and to installation instructions<\/li>\n<li>The <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/blob\/master\/.github\/CONTRIBUTING.md\">Contribution Guide<\/a> gives you the information you need to develop and contribute to the open source project. The <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/blob\/master\/docs\/FAQ.md\">FAQ<\/a> is currently focused on issues for developers who are working to set up their own builds (although this may change over time).<\/li>\n<li>The <a href=\"https:\/\/aka.ms\/qwmv8m\">PowerShell channel on Youtube<\/a> contains a variety of brief demos to showcase the basic abilities.<\/li>\n<li>Demos, in code with comments, are available in the PowerShell Repo <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/tree\/master\/demos\">demo folder<\/a>.<\/li>\n<\/ul>\n<h2><u>Get Involved<\/u><\/h2>\n<p>All PowerShell development is now done in the open on GitHub at <a href=\"https:\/\/github.com\/powershell\/powershell\">PowerShell\/PowerShell<\/a> with direct community involvement. \u00a0You can find the <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/blob\/master\/docs\/community\/governance.md\">governance<\/a> process defined in GitHub, which describes how to raise issues, contribute to the project, and propose designs via the standard Request for Change process. The governance document identifies the roles, responsibilities, and processes so that contributions can be smoothly incorporated into the product.\u00a0 We modelled our governance process on some of the best practices of other open source projects and after consulting with a number of partner companies and PowerShell MVPs. That said, we are still in learning mode and welcome feedback.<\/p>\n<p>As we move forward, we will work closely with the community to learn and improve our approach to make PowerShell the best tool to manage anything from anywhere. While PowerShell will have been shipping for 10 years on November 14<sup>th<\/sup>, in many ways this is the start of a new journey. Your <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/blob\/master\/.github\/CONTRIBUTING.md\">contributions<\/a>, thoughts and experiences are welcomed and needed. Help us get it right!<\/p>\n<h2><u>Partners<\/u><\/h2>\n<p>We have been working with several internal and external partners to prepare for this release, including .NET Core, Azure, Chef, VMWare, Amazon Web Services, and Google Cloud Platform to name a few. Several of them have provided demos already.<\/p>\n<h2><u>Current Project Status<\/u><\/h2>\n<p>The PowerShell open source project is currently at an \u201calpha\u201d level of stability and is community supported. In the future, we will deliver an official Microsoft released version of PowerShell based on open source to anyone running a supported version of Windows or *nix. The timing of the official Microsoft version will be based upon community input and business needs.<\/p>\n<p>There is a list of <a href=\"https:\/\/github.com\/powershell\/\">Known Issues<\/a> we have already identified that you may want to review.<\/p>\n<p>There are also a set of investments that we know we need to drive moving forward in this area. These include:<\/p>\n<ul>\n<li>Additional Linux Distros covered \u2013 parity with .NET Core<\/li>\n<li>Writing Cmdlets in Python and other languages<\/li>\n<li>Add DSC capability to run PowerShell-based DSC resources on Linux<\/li>\n<li>PSRP over OpenSSH<\/li>\n<li>WSMan based remoting to downlevel versions of Windows and WSMan based PSRP on Linux.<\/li>\n<li>Editor Services and auto-generated GUI<\/li>\n<li>Unix-style wildcard expansion<\/li>\n<li>Increasing test code coverage for Windows and Linux editions<\/li>\n<li>Continue increasing cmdlet coverage for Linux and Windows<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><u>About PowerShell<\/u><\/h2>\n<p>Many users are familiar with PowerShell, but for those of you who desire to start, the <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/tree\/master\/docs\/learning-powershell\">Learning PowerShell<\/a> doc is a great place to begin your introduction. It contains links to several other articles to help you get going.<\/p>\n<h2><u>What about Windows?<\/u><\/h2>\n<p>Today marks the beginning a new community-driven PowerShell development process for a wide range of platforms. However, the focus on open source does not change our commitment to Windows, or to our existing PowerShell customers. PowerShell remains the hub of management capabilities for the Windows operating systems. What this move does is enable at least three things:<\/p>\n<ol>\n<li>You will be able to use PowerShell to manage Windows from Linux or macOS, and Linux from Windows.<\/li>\n<li>You can contribute to resolve issues and improvements to PowerShell in GitHub<\/li>\n<li>PowerShell learning and skill set becomes more widely applicable and hence more valuable.<\/li>\n<\/ol>\n<p>We view this as a very strong win-win.<\/p>\n<h2><u>Terminology<\/u><\/h2>\n<p>In order to maintain clarity and consistency in communication, the following is the terminology we will use for this technology:<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"623\" colspan=\"2\"><strong>Terminology<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"263\">PowerShell<\/td>\n<td width=\"360\">This is the default. We are shipping PowerShell. The term PowerShell can be legitimately used to indicate any of the particular editions. This can be used to refer to the language, framework and default cmdlets, etc.<\/td>\n<\/tr>\n<tr>\n<td width=\"263\">PowerShell Core (PSCore)<\/td>\n<td width=\"360\">PowerShell built on .NET Core Common Language Runtime (CoreCLR) for any of the platforms.<\/td>\n<\/tr>\n<tr>\n<td width=\"263\">PowerShell on XYZ<\/p>\n<p>(eg. PowerShell on Linux)<\/td>\n<td width=\"360\">PowerShell Core built for a particular platform. It can be used to the level of detail desired. Such as \u201cPowerShell on Linux\u201d in the broad sense, or specific such as \u201cPowerShell on Ubuntu 16.04\u201d.<\/td>\n<\/tr>\n<tr>\n<td width=\"263\">Windows PowerShell<\/td>\n<td width=\"360\">PowerShell built on .NET Common Language Runtime (CLR). Windows PowerShell ships only on Windows and requires the complete CLR.<\/td>\n<\/tr>\n<tr>\n<td width=\"263\">PowerShell OSS project<\/td>\n<td width=\"360\">The project and effort that produces PowerShell Core on the PowerShell Repo.<\/td>\n<\/tr>\n<tr>\n<td width=\"263\">PowerShell repo\/repository<\/td>\n<td width=\"360\">The GitHub repo that contains the PowerShell source code and is used to build PowerShell. <a href=\"https:\/\/github.com\/powershell\/powershell\">https:\/\/github.com\/PowerShell\/PowerShell<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"263\">PowerShell Gallery<\/td>\n<td width=\"360\">The PowerShell repository for modules, scripts, DSC Resources and other content. <a href=\"http:\/\/powershellgallery.com\/\">http:\/\/PowerShellGallery.com<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"263\">PowerShell Home Page<\/td>\n<td width=\"360\">The Microsoft PowerShell communication channel to find \u201cAll-Things PowerShell\u201d <a href=\"http:\/\/microsoft.com\/powershell\">http:\/\/microsoft.com\/PowerShell<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><u>Upcoming Events<\/u><\/h2>\n<p>The PowerShell team wants to hear from you, and talk with you, as much as we can. Over the next several months, you can find us at these events:<\/p>\n<ul>\n<li><a href=\"http:\/\/events.linuxfoundation.org\/events\/linuxcon-north-america\">LinuxCon North America 2016<\/a>, August 22-24<\/li>\n<li><a href=\"https:\/\/ignite.microsoft.com\/\">Ignite 2016<\/a>, September 24 \u2013 30<\/li>\n<li><a href=\"http:\/\/events.linuxfoundation.org\/events\/linuxcon-europe\">LinuxCon Europe 2016<\/a>, October 4 \u2013 6 (attending)<\/li>\n<li><a href=\"http:\/\/powershell.asia\/\">PowerShell Conference Asia 2016<\/a><strong>, <\/strong>October 21 \u2013 22<\/li>\n<\/ul>\n<p>Of course, we will have team members at various other conferences and events such as DevOps Days. When we are in town, we will look forward to touching base with any local user groups.<\/p>\n<p>On November 14<sup>th<\/sup>, we will be hosting a special online event to celebrate the 10-year anniversary of PowerShell\u2019s first release.<\/p>\n<p>We will soon be publishing another blog that covers other upcoming events and our broad approach to engaging the community.\u00a0 Watch for upcoming announcements on our <a href=\"http:\/\/microsoft.com\/powershell\">PowerShell Home Page<\/a>.<\/p>\n<h2><u>So\u2026<\/u><\/h2>\n<p>It is with a strong sense of gratitude to our partners, customers and community, as well as with real excitement about the future, that we start this new era of PowerShell with you!<\/p>\n<p>Looking forward!!<\/p>\n<p>Kenneth Hansen and Angel Calvo<\/p>\n<p>PowerShell OSS Project Leads<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since its inception in 2002 PowerShell has been deeply influenced and improved by the passion and needs of our community. As an example, 80 contributors filed bugs and issues on the \u201calpha\u201d release.\u00a0Since that time we, together, have built a strong PowerShell community that supports each other, provides Summits and Conferences and gives great feedback [&hellip;]<\/p>\n","protected":false},"author":600,"featured_media":13641,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[124,223,248,256,261,287],"class_list":["post-12305","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powershell","tag-community","tag-news","tag-powershell","tag-powershell-core","tag-powershell-linux","tag-releasedownload"],"acf":[],"blog_post_summary":"<p>Since its inception in 2002 PowerShell has been deeply influenced and improved by the passion and needs of our community. As an example, 80 contributors filed bugs and issues on the \u201calpha\u201d release.\u00a0Since that time we, together, have built a strong PowerShell community that supports each other, provides Summits and Conferences and gives great feedback [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/12305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/users\/600"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/comments?post=12305"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/12305\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media\/13641"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media?parent=12305"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/categories?post=12305"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/tags?post=12305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}