P# is a PowerShell-based programming language built by the community for the community.
Please note that "P#" is a working name and not official. The P# Foundation will select the official name and change it accordingly.
Table of Contents
PowerShell is a Microsoft interactive shell and scripting language created in 2006. In 2016, Microsoft made the language Open Source. However, challenges with balancing between Microsoft's needs and Community asks have proven difficult. The PowerShell Committee, the governing body for the language, comprises only current and former Microsoft Employees. This leaves the language, and many of the core language issues at the mercy of Microsoft.
This project seeks to replace PowerShell with a similar language, but one built from the ground up to be a community programming language first.
- Foundation Members
- Foundation Roles
- Foundation By-Laws
- Foundation Resolution
- Foundation General Sessions Schedule
- P# - The working name for the language.
- P# Foundation - The governing body for the P# language that also serves as the copyright and holder, and licenser.
- Source Language - The parent language P# is written in.
- Plan for P# Foundation incorporation and business structure
- Nominate and Elect registered agent of due process
- Decide on the language name
- Ratify Articles of Incorporation
- Decide on Source Language
- Create rules for P# Foundation membership
- Create rules for P# Foundation quorum and voting
- Identify and recruit initial P# Foundation members
- Nominate and Elect Foundation President
No. Everything about this temporary until we get a foundation set up. The foundation will own everything, and this repo will move to the foundation's GitHub org once created. Mark's role in this is to bootstrap the foundation and move the casual conversations to concrete action items. Mark is more of a facilitator than an owner, and his long-term involvement in the project is not set in stone.
You can find info on the current and founding members at Foundation Members.
Foundation membership is governed by the foundation by-laws.
Absolutely! This is a language made for the community by the community. The Foundation Members are the governing body similar to the PowerShell Committee or the Python Foundation. Any member of the community can engage Foundation Members to sponsor resolutions. Once we have a codebase, anyone will be able to participate in the open source project.
Do you have something specific you would like to do or help with? We'd be happy to have any help we can get. Just reach out to the Foundation Members and explain what you have in mind and we'll make it happen if possible.
You can join the foundation discord at https://discord.gg/NnSp873WUw. You must read and agree to the rules before you can participate in server activities.
That is currently up for debate. We are unsure of the legalities of forking the entire project. While PowerShell is generally under MIT, this is not true for the entire code base. Also, we want to take this opportunity to free ourselves from the bonds of the past. We can now evaluate if C# is still the correct base language and if .NET is still the ideal framework. Nothing is decided here, and this may look very much like PowerShell under the hood, but we don't want to limit ourselves to just forking at this stage.
We are not yet at the stage of discussing these, nor are we at the stage of taking community feedback. We will address technical and engineering concerns after the foundation is formalized. We want to ensure the right decision-making frameworks are in place to guide technical decision-making. We are dedicated to making this a community-driven programming language, and to ensure that, we need those rules in place first.
This is a lesson learned from PowerShell:
If you don't put enough effort into organizing and incorporating the community upfront, you will have an abysmal community experience.