Skip to content
/ psharp Public
forked from markekraus/psharp

P# is a PowerShell based programming language built by the community for the community.

License

Notifications You must be signed in to change notification settings

vexx32/psharp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

P# Language

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.

Background

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 held hostage by a team that is not incentivized to prioritize language needs over business needs.

This project seeks to replace PowerShell with a similar language, but one built from the ground up to be a community programming language first.

Terms

  • 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.

To Do

Meta-activities

  • Create rules for P# Foundation membership
  • Plan for P# Foundation incorporation and business structure
  • Create rules for P# Foundation quorum and voting
  • Identify and recruit initial P# Foundation members

Foundation Actions

  • Nominate and Elect Foundation President
  • Nominate and Elect registered agent of due process
  • Decide on the language name
  • Ratify Articles of Incorporation
  • Decide on Source Language

FAQs

Does markekraus own this language?

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.

Who are the founding members of the foundation?

We are not yet ready to disclose a list of foundation members. We can say that the foundation is made up of well-known PowerShell community members whose books, blogs, and presentations many in the community would recognize. We can also say the foundation currently doesn't have any PowerShell Committee members. Mark's involvement makes it evident that at least one Microsoft employee is a foundation member, but no Microsoft employee is serving on the committee as a representative of Microsoft. We will release the names of the founding members after we formalize the foundation.

How do I become a foundation member?

Currently, membership is mostly closed until the foundation is formalized.

However, in some cases, we may invite additional PowerShell community members. If you are interested in joining at this early stage, reach out to Mark, and he will facilitate possible early membership. At the moment, we will only be accepting new members who are familiar with starting and operating nonprofit organizations or are experienced with language steering committees to help boot the foundation. We will assess adding technical members to the foundation after the foundation is formalized.

Where can I see foundation communications?

We have a community discord server we are not making public just yet. We need to set up the foundation and server to handle the many interested users we expect. We will be making all current and previous conversations publicly viewable on that server. Our objective isn't to keep things secret but to ensure we are set up for success before we invite the community at large. If you are seriously interested in joining in a read-only fashion, reach out to Mark, and he will facilitate that for a limited scope of community members.

Will this be a fork of PowerShell?

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.

What about X/Y/Z language feature/bug/etc?

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.

About

P# is a PowerShell based programming language built by the community for the community.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published