├── .gitignore ├── .github └── ISSUE_TEMPLATE │ ├── config.yml │ └── Resolution_proposal.md ├── resolutions ├── images │ ├── 20210506-01-01.PNG │ ├── 20210506-01-02.PNG │ ├── 20210506-01-03.PNG │ └── 20210506-01-04.PNG ├── 00000000-00-Template.md ├── 20210524-01.md ├── 20210524-02.md ├── 20210524-03.md ├── 20210605-01.md └── 20210506-01.md ├── foundation-resolutions.md ├── agendas ├── YYYY-MM-DD.md ├── 2021-06-16.md └── 2021-06-05.md ├── minutes ├── YYYY-MM-DD.md └── 2021-05-24.md ├── LICENSE ├── foundation-members.md ├── foundation-general-sessions-schedule.md ├── foundation-roles.md ├── README.md └── foundation-by-laws.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | [Dd]esktop.ini 3 | Thumbs.db -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | -------------------------------------------------------------------------------- /resolutions/images/20210506-01-01.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markekraus/psharp/HEAD/resolutions/images/20210506-01-01.PNG -------------------------------------------------------------------------------- /resolutions/images/20210506-01-02.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markekraus/psharp/HEAD/resolutions/images/20210506-01-02.PNG -------------------------------------------------------------------------------- /resolutions/images/20210506-01-03.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markekraus/psharp/HEAD/resolutions/images/20210506-01-03.PNG -------------------------------------------------------------------------------- /resolutions/images/20210506-01-04.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markekraus/psharp/HEAD/resolutions/images/20210506-01-04.PNG -------------------------------------------------------------------------------- /foundation-resolutions.md: -------------------------------------------------------------------------------- 1 | # Foundation Resolutions 2 | 3 | Table of Contents 4 | 5 | - [Foundation Resolutions](#foundation-resolutions) 6 | - [2021](#2021) 7 | 8 | ## 2021 9 | 10 | - [20210506-01](resolutions/20210506-01.md) 11 | -------------------------------------------------------------------------------- /agendas/YYYY-MM-DD.md: -------------------------------------------------------------------------------- 1 | # PSharp general meeting 2 | 3 | Date: [[DATE]] 4 | Time: [[TIME]] 5 | 6 | 1. Call to Order 7 | 1. Roll call 8 | 1. Routine business 9 | 1. Approval of last meeting minutes 10 | 1. New business arising from the minutes 11 | 1. Approval of agenda 12 | 1. Reports 13 | 1. 14 | 1. New business 15 | 1. 16 | 1. Motion to adjourn meeting 17 | -------------------------------------------------------------------------------- /agendas/2021-06-16.md: -------------------------------------------------------------------------------- 1 | # PSharp general meeting 2 | 3 | Date: June 17, 2021 4 | Time: 02:00 UTC 5 | 6 | 1. Call to Order 7 | 1. Roll call 8 | 1. Routine business 9 | 1. Approval of last meeting minutes 10 | 1. New business arising from the minutes 11 | 1. Approval of agenda 12 | 1. Reports 13 | 1. Language name committee 14 | 2. Language user story committee 15 | 2. New business 16 | 1. 17 | 3. Motion to adjourn meeting 18 | -------------------------------------------------------------------------------- /minutes/YYYY-MM-DD.md: -------------------------------------------------------------------------------- 1 | # [[TYPE]] Meeting [[DATE]] 2 | 3 | ## Call to order 4 | 5 | [[CHAIR]] called the meeting to order at [[START_TIME]] 6 | 7 | ## Attendees 8 | 9 | * [[FOUNDATION_MEMBERS]] 10 | * [[NON_VOTING_OBSERVERS]] 11 | 12 | [[QUORUM]] 13 | 14 | ## [[MOTION]] 15 | 16 | Motion: [[MOTION_CONTENT]] 17 | 18 | * Motioned by [[MOTIONER]] 19 | * For 20 | * Opposed 21 | * Abstained 22 | * Motion [[CARRIED_OR_DEFEATED]] 23 | 24 | ## Adjourn meeting 25 | 26 | [[CHAIR]] adjourned the meeting at [[END_TIME]] 27 | -------------------------------------------------------------------------------- /agendas/2021-06-05.md: -------------------------------------------------------------------------------- 1 | # PSharp general meeting 2 | 3 | Date: June 5 2021 4 | Time: 15:00 UTC 5 | 6 | 1. Call to Order 7 | 1. Roll call 8 | 1. Routine business 9 | 1. Approval of last meeting minutes 10 | 1. New business arising from the minutes 11 | 1. Approval of agenda 12 | 1. Reports 13 | 1. Language Naming update 14 | 1. New business 15 | 1. Motion put forth by Thomas Rayner with sponsors: Adil Leghari and Josh King 16 | Motion to form a working group of at least 3 and no more than 5 foundation members (led by 1) to deliver: 17 | 18 | * A mission/vision statement for the to-be-built language 19 | * At least 5 and no more than 20 initial user stories to define target user base for the to-be-built language (ex: As a programmer I wish to write code in a language my ops folks on the help desk understand in order to increase our opportunities for collaboration) 20 | 1. Motion to adjourn meeting 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Mark Kraus 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /foundation-members.md: -------------------------------------------------------------------------------- 1 | # Foundation Members 2 | 3 | Table of Contents 4 | 5 | - [Foundation Members](#foundation-members) 6 | - [Becoming a Foundation Member](#becoming-a-foundation-member) 7 | - [Foundation President](#foundation-president) 8 | - [Foundation Parliamentarian](#foundation-parliamentarian) 9 | - [General Foundation Members](#general-foundation-members) 10 | - [Founding Members](#founding-members) 11 | 12 | ## Becoming a Foundation Member 13 | 14 | Foundation membership is governed by the [foundation by-laws](foundation-by-laws.md). 15 | 16 | ## Foundation President 17 | 18 | Mark Kraus 19 | 20 | ## Foundation Parliamentarian 21 | 22 | Cory Knox 23 | 24 | ## General Foundation Members 25 | 26 | Mathias Rørbo Jessen 27 | Josh King 28 | Adil Leghari 29 | Chrissy LeMaire 30 | Michael T. Lombardi 31 | Thomas Rayner 32 | Joel Sallow 33 | Stephen Valdinger 34 | 35 | ## Founding Members 36 | 37 | Mathias Rørbo Jessen 38 | Josh King 39 | Cory Knox 40 | Mark Kraus 41 | Adil Leghari 42 | Chrissy LeMaire 43 | Michael T. Lombardi 44 | Thomas Rayner 45 | Joel Sallow 46 | Stephen Valdinger 47 | -------------------------------------------------------------------------------- /foundation-general-sessions-schedule.md: -------------------------------------------------------------------------------- 1 | # Foundation General Sessions Schedule 2 | 3 | [General Sessions](foundation-by-laws.md#general-sessions) are held on the first saturday and third Wednesday of every month. 4 | The times rotate between 8am PDT and 7pm PDT. 5 | 6 | + Month 1 7 | + 1st Saturday 8am PDT 8 | + 3rd Wednesday 7pm PDT 9 | + Month 2 10 | + 1st Saturday 7pm PDT 11 | + 3rd Wednesday 8am PDT 12 | 13 | General Sessions are currently held in the Foundation Planning discord voice channel. 14 | Everyone may attend, but only Foundation Members are allowed to speak. 15 | Recordings of General Sessions will be made available. 16 | 17 | ## Upcoming General Sessions 18 | 19 | + [Saturday, June 5th, 2021, 8am PDT](https://everytimezone.com/s/69803706) 20 | + [Wednesday, June 16th, 2021, 7pm PDT](https://everytimezone.com/s/f530b4dd) 21 | + [Saturday, July 3rd, 2021, 7pm PDT](https://everytimezone.com/s/f530b4dd) 22 | + [Wednesday, July 21st, 2021, 8am PDT](https://everytimezone.com/s/f530b4dd) 23 | + [Saturday, August 7th, 2021, 8am PDT](https://everytimezone.com/s/aed10993) 24 | + [Wednesday, August 18TH, 2021, 7pm PDT](https://everytimezone.com/s/d3d2f096) 25 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/Resolution_proposal.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Resolution Proposal 3 | about: Put forward a proposal for a resolution to be considered at a Foundation Session 4 | title: '' 5 | labels: 'agenda-item-proposed' 6 | assignees: 'corbob' 7 | 8 | --- 9 | 27 | 28 | ## Resolution Text 29 | 30 | [comment]: <> (Replace me) 31 | 32 | ## Resolution Author 33 | 34 | [comment]: <> (Replace me) 35 | 36 | ## Resolution Sponsors 37 | 38 | [comment]: <> (Replace me) 39 | 40 | ## Resolution Votes 41 | 42 | ### Voting Class 43 | 44 | [comment]: <> (Replace me) 45 | 46 | ### Majority Requirement 47 | 48 | [comment]: <> (Replace me) 49 | 50 | ### Vote Type 51 | 52 | [comment]: <> (Replace me) 53 | 54 | ### Vote Mechanism 55 | 56 | [comment]: <> (Replace me) 57 | 58 | ## Artifacts 59 | 60 | [comment]: <> (Replace me) 61 | -------------------------------------------------------------------------------- /resolutions/00000000-00-Template.md: -------------------------------------------------------------------------------- 1 | # Resolution 00000000-00 2 | 3 | [comment]: <> (Be sure to update Title and ToC with correct resolution number) 4 | 5 | Table of Contents 6 | 7 | - [Resolution 00000000-00](#resolution-00000000-00) 8 | - [Resolution Status](#resolution-status) 9 | - [Resolution Text](#resolution-text) 10 | - [Resolution Author](#resolution-author) 11 | - [Resolution Sponsors](#resolution-sponsors) 12 | - [Resolution Votes](#resolution-votes) 13 | - [Voting Class](#voting-class) 14 | - [Majority Requirement](#majority-requirement) 15 | - [Vote Date](#vote-date) 16 | - [Vote Type](#vote-type) 17 | - [Vote Mechanism](#vote-mechanism) 18 | - [Recorded Votes](#recorded-votes) 19 | - [Artifacts](#artifacts) 20 | 21 | ## Resolution Status 22 | 23 | [comment]: <> (Replace me) 24 | 25 | ## Resolution Text 26 | 27 | [comment]: <> (Replace me) 28 | 29 | ## Resolution Author 30 | 31 | [comment]: <> (Replace me) 32 | 33 | ## Resolution Sponsors 34 | 35 | [comment]: <> (Replace me) 36 | 37 | ## Resolution Votes 38 | 39 | ### Voting Class 40 | 41 | [comment]: <> (Replace me) 42 | 43 | ### Majority Requirement 44 | 45 | [comment]: <> (Replace me) 46 | 47 | ### Vote Date 48 | 49 | [comment]: <> (Replace me) 50 | 51 | ### Vote Type 52 | 53 | [comment]: <> (Replace me) 54 | 55 | ### Vote Mechanism 56 | 57 | [comment]: <> (Replace me) 58 | 59 | ### Recorded Votes 60 | 61 | | Foundation Member | Yea | Nay | 62 | |-------------------|-----|-----| 63 | | Jane D. | 1 | | 64 | | Yea's | 1 | | 65 | | Nay's | | 0 | 66 | 67 | ## Artifacts 68 | 69 | [comment]: <> (Replace me) 70 | -------------------------------------------------------------------------------- /minutes/2021-05-24.md: -------------------------------------------------------------------------------- 1 | # Emergency Meeting May 24, 2021 2 | 3 | ## Call to order 4 | 5 | Mark called the meeting to order at 18:03 PDT (UTC-07:00) 6 | 7 | ## Attendees 8 | 9 | * Mark Kraus (President) 10 | * Adil Leghari 11 | * Josh King 12 | * Thomas Rayner 13 | * Cory Knox (Parliamentarian) 14 | * Michael T. Lombardi 15 | * Stephen Valdinger 16 | * Joel Sallow 17 | * szeraax (non-voting observer) 18 | 19 | Quorum considered to be established 20 | 21 | ## Determine schedule and cadence for regular sessions 22 | 23 | Motion: General sessions shall be the first Saturday and third Wednesday of every month, alternating between 8 AM and 7 PM PDT. 24 | 25 | * Motioned by Mark 26 | * None opposed, motion carried 27 | 28 | ## Establish a group for determining the name of the language/foundation 29 | 30 | Motion: Create a working group for the selection of a language name including the criteria and the timelines. This group shall consist of: 31 | 32 | * Michael T. Lombardi (Shepherd) 33 | * Thomas Rayner 34 | * Adil Leghari 35 | * Joel Sallow 36 | * Stevie 37 | 38 | Motioned by Mark 39 | 40 | None opposed, motion carried 41 | 42 | ## Creation of working group to assist Mark in drafting all of the legal crap he needs to do 43 | 44 | Motion: Create a working group for the creation of the articles of incorporation, as well as following through with all the legal processes required to make this a legal entity for the purposes of doing business as this foundation. This group is empowered to find a volunteer from the foundation members or the community if they are interested. The initial group members are: 45 | 46 | * Mark Kraus 47 | * Adil Leghari 48 | 49 | Motioned by Mark 50 | 51 | None opposed, motion carried 52 | 53 | ## Adjourn meeting 54 | 55 | Mark adjourned the meeting at 18:42 PDT (UTC-07:00) 56 | -------------------------------------------------------------------------------- /resolutions/20210524-01.md: -------------------------------------------------------------------------------- 1 | # Resolution 20210524-01 2 | 3 | [comment]: <> (Be sure to update Title and ToC with correct resolution number) 4 | 5 | Table of Contents 6 | 7 | - [Resolution 20210524-01](#resolution-20210524-01) 8 | - [Resolution Status](#resolution-status) 9 | - [Resolution Text](#resolution-text) 10 | - [Resolution Author](#resolution-author) 11 | - [Resolution Sponsors](#resolution-sponsors) 12 | - [Resolution Votes](#resolution-votes) 13 | - [Voting Class](#voting-class) 14 | - [Majority Requirement](#majority-requirement) 15 | - [Vote Date](#vote-date) 16 | - [Vote Type](#vote-type) 17 | - [Vote Mechanism](#vote-mechanism) 18 | - [Recorded Votes](#recorded-votes) 19 | - [Artifacts](#artifacts) 20 | 21 | ## Resolution Status 22 | 23 | Resolution passed. 24 | 25 | ## Resolution Text 26 | 27 | General sessions shall be the first Saturday and third Wednesday of every month, alternating between 8 AM and 7 PM PDT. 28 | 29 | ## Resolution Author 30 | 31 | Mark Kraus 32 | 33 | ## Resolution Sponsors 34 | 35 | None. 36 | 37 | ## Resolution Votes 38 | 39 | ### Voting Class 40 | 41 | Foundation Members 42 | 43 | ### Majority Requirement 44 | 45 | Simple Majority 46 | 47 | ### Vote Date 48 | 49 | May 24, 2021 50 | 51 | ### Vote Type 52 | 53 | Verbal Yay/Nay 54 | 55 | ### Vote Mechanism 56 | 57 | Discord Foundation Discussion Channel 58 | 59 | ### Recorded Votes 60 | 61 | | Foundation Member | Yea | Nay | 62 | |-------------------|-----|-----| 63 | | Ryan R. | 1 | | 64 | | Michael L. | 1 | | 65 | | Adil L. | 1 | | 66 | | Thomas R. | 1 | | 67 | | Cory k. | 1 | | 68 | | Josh K. | 1 | | 69 | | Stephen V. | 1 | | 70 | | Joel S. | 1 | | 71 | | Yea's | 8 | | 72 | | Nay's | | 0 | 73 | 74 | ## Artifacts 75 | 76 | [Meeting Recording](https://github.com/markekraus/psharp/releases/download/2021-05-24-Emergency-Session/2021-05-24-Emergency-Session.mp3) 77 | -------------------------------------------------------------------------------- /resolutions/20210524-02.md: -------------------------------------------------------------------------------- 1 | # Resolution 20210524-02 2 | 3 | Table of Contents 4 | 5 | - [Resolution 20210524-02](#resolution-20210524-02) 6 | - [Resolution Status](#resolution-status) 7 | - [Resolution Text](#resolution-text) 8 | - [Resolution Author](#resolution-author) 9 | - [Resolution Sponsors](#resolution-sponsors) 10 | - [Resolution Votes](#resolution-votes) 11 | - [Voting Class](#voting-class) 12 | - [Majority Requirement](#majority-requirement) 13 | - [Vote Date](#vote-date) 14 | - [Vote Type](#vote-type) 15 | - [Vote Mechanism](#vote-mechanism) 16 | - [Recorded Votes](#recorded-votes) 17 | - [Artifacts](#artifacts) 18 | 19 | ## Resolution Status 20 | 21 | Resolution passed. 22 | 23 | ## Resolution Text 24 | 25 | Create a working group for the selection of a language name including the criteria and the timelines. This group shall consist of: 26 | 27 | - Michael T. Lombardi (Shepherd) 28 | - Thomas Rayner 29 | - Adil Leghari 30 | - Joel Sallow 31 | - Stevie 32 | 33 | ## Resolution Author 34 | 35 | Mark Kraus 36 | 37 | ## Resolution Sponsors 38 | 39 | None. 40 | 41 | ## Resolution Votes 42 | 43 | ### Voting Class 44 | 45 | Foundation Members 46 | 47 | ### Majority Requirement 48 | 49 | Simple Majority 50 | 51 | ### Vote Date 52 | 53 | May 24, 2021 54 | 55 | ### Vote Type 56 | 57 | Verbal Yay/Nay 58 | 59 | ### Vote Mechanism 60 | 61 | Discord Foundation Discussion Channel 62 | 63 | ### Recorded Votes 64 | 65 | | Foundation Member | Yea | Nay | 66 | |-------------------|-----|-----| 67 | | Ryan R. | 1 | | 68 | | Michael L. | 1 | | 69 | | Adil L. | 1 | | 70 | | Thomas R. | 1 | | 71 | | Cory k. | 1 | | 72 | | Josh K. | 1 | | 73 | | Stephen V. | 1 | | 74 | | Joel S. | 1 | | 75 | | Yea's | 8 | | 76 | | Nay's | | 0 | 77 | 78 | ## Artifacts 79 | 80 | [Meeting Recording](https://github.com/markekraus/psharp/releases/download/2021-05-24-Emergency-Session/2021-05-24-Emergency-Session.mp3) 81 | -------------------------------------------------------------------------------- /resolutions/20210524-03.md: -------------------------------------------------------------------------------- 1 | # Resolution 20210524-03 2 | 3 | Table of Contents 4 | 5 | - [Resolution 20210524-03](#resolution-20210524-03) 6 | - [Resolution Status](#resolution-status) 7 | - [Resolution Text](#resolution-text) 8 | - [Resolution Author](#resolution-author) 9 | - [Resolution Sponsors](#resolution-sponsors) 10 | - [Resolution Votes](#resolution-votes) 11 | - [Voting Class](#voting-class) 12 | - [Majority Requirement](#majority-requirement) 13 | - [Vote Date](#vote-date) 14 | - [Vote Type](#vote-type) 15 | - [Vote Mechanism](#vote-mechanism) 16 | - [Recorded Votes](#recorded-votes) 17 | - [Artifacts](#artifacts) 18 | 19 | ## Resolution Status 20 | 21 | Resolution passed. 22 | 23 | ## Resolution Text 24 | 25 | Create a working group for the creation of the articles of incorporation, as well as following through with all the legal processes required to make this a legal entity for the purposes of doing business as this foundation. 26 | This group is empowered to find a volunteer from the foundation members or the community if they are interested. 27 | The initial group members are: 28 | 29 | - Mark Kraus 30 | - Adil Leghari 31 | 32 | ## Resolution Author 33 | 34 | Mark Kraus 35 | 36 | ## Resolution Sponsors 37 | 38 | None. 39 | 40 | ## Resolution Votes 41 | 42 | ### Voting Class 43 | 44 | Foundation Members 45 | 46 | ### Majority Requirement 47 | 48 | Simple Majority 49 | 50 | ### Vote Date 51 | 52 | May 24, 2021 53 | 54 | ### Vote Type 55 | 56 | Verbal Yay/Nay 57 | 58 | ### Vote Mechanism 59 | 60 | Discord Foundation Discussion Channel 61 | 62 | ### Recorded Votes 63 | 64 | | Foundation Member | Yea | Nay | 65 | |-------------------|-----|-----| 66 | | Ryan R. | 1 | | 67 | | Michael L. | 1 | | 68 | | Adil L. | 1 | | 69 | | Thomas R. | 1 | | 70 | | Cory k. | 1 | | 71 | | Josh K. | 1 | | 72 | | Stephen V. | 1 | | 73 | | Joel S. | 1 | | 74 | | Yea's | 8 | | 75 | | Nay's | | 0 | 76 | 77 | ## Artifacts 78 | 79 | [Meeting Recording](https://github.com/markekraus/psharp/releases/download/2021-05-24-Emergency-Session/2021-05-24-Emergency-Session.mp3) 80 | -------------------------------------------------------------------------------- /resolutions/20210605-01.md: -------------------------------------------------------------------------------- 1 | # Resolution 20210605-01 2 | 3 | Table of Contents 4 | 5 | - [Resolution 20210605-01](#resolution-20210605-01) 6 | - [Resolution Status](#resolution-status) 7 | - [Resolution Text](#resolution-text) 8 | - [Resolution Author](#resolution-author) 9 | - [Resolution Sponsors](#resolution-sponsors) 10 | - [Resolution Votes](#resolution-votes) 11 | - [Voting Class](#voting-class) 12 | - [Majority Requirement](#majority-requirement) 13 | - [Vote Date](#vote-date) 14 | - [Vote Type](#vote-type) 15 | - [Vote Mechanism](#vote-mechanism) 16 | - [Recorded Votes](#recorded-votes) 17 | - [Artifacts](#artifacts) 18 | 19 | ## Resolution Status 20 | 21 | Resolution Passed 22 | 23 | ## Resolution Text 24 | 25 | Move to form a working group of at least 3 and no more than 5 foundation members (led by 1) to deliver: 26 | 27 | - A mission/vision statement for the to-be-built language 28 | - At least 5 and no more than 20 initial user stories to define target user base for the to-be-built language (ex: As a programmer I wish to write code in a language my ops folks on the help desk understand in order to increase our opportunities for collaboration) 29 | 30 | The working group will be led by Thomas Rayner supported by Josh King, Mathias Rørbo Jessen. 31 | Michael Lombardi and Mark Kraus volunteer conditionally on the premise that Joel Sallow and other non-present members do not wish to participate. 32 | Determination of the 4th and 5th working group member will be determined asynchronously. 33 | 34 | ## Resolution Author 35 | 36 | Thomas Rayner 37 | 38 | ## Resolution Sponsors 39 | 40 | - Adil Leghari 41 | - Josh King 42 | 43 | ## Resolution Votes 44 | 45 | ### Voting Class 46 | 47 | Foundation Members 48 | 49 | ### Majority Requirement 50 | 51 | Simple Majority 52 | 53 | ### Vote Date 54 | 55 | June 5th, 2021. 56 | 57 | ### Vote Type 58 | 59 | Verbal Yay/Nay 60 | 61 | ### Vote Mechanism 62 | 63 | Discord Foundation Discussion Channel 64 | 65 | ### Recorded Votes 66 | 67 | | Foundation Member | Yea | Nay | 68 | |----------------------|-----|-----| 69 | | Ryan R. | 1 | | 70 | | Michael L. | 1 | | 71 | | Adil L. | 1 | | 72 | | Thomas R. | 1 | | 73 | | Cory k. | 1 | | 74 | | Mathias J. | 1 | | 75 | | Josh K. (Proxy Adil) | 1 | | 76 | | Yea's | 7 | | 77 | | Nay's | | 0 | 78 | 79 | ## Artifacts 80 | 81 | [Meeting Recording](https://github.com/markekraus/psharp/releases/download/2021-06-05-General-Session/2021-06-05-General-Session.wav) 82 | -------------------------------------------------------------------------------- /foundation-roles.md: -------------------------------------------------------------------------------- 1 | # Foundation Roles and Responsibilities 2 | 3 | This document lays out the roles for the Foundation. 4 | This document is a temporary guide until the Foundation is formalized. 5 | 6 | Table of Contents 7 | 8 | - [Foundation Roles and Responsibilities](#foundation-roles-and-responsibilities) 9 | - [Foundation President](#foundation-president) 10 | - [Foundation Member](#foundation-member) 11 | - [Parliamentarian](#parliamentarian) 12 | - [Contributor](#contributor) 13 | - [Proxy Voter](#proxy-voter) 14 | 15 | ## Foundation President 16 | 17 | The Foundation president is elected by a large majority of the Foundation. 18 | The President serves as the public figurehead for the Foundation. 19 | The President is only allowed to vote on agenda items when there is a tie. 20 | The President has guaranteed floor time on all agenda items and may participate in the general debate. 21 | The President may not engage a proxy voter. 22 | The President may also be a Contributor. 23 | 24 | ## Foundation Member 25 | 26 | A foundation member is a voting member of the Foundation. 27 | Foundation members may participate in sponsoring agenda items, general debate on agenda items, and voting on agenda items. 28 | Foundation members may engage a proxy voter at least 24 hours in advance of a general session. 29 | Foundation members are nominated to the Foundation by a minimum of 5 existing Foundation members and elected by a large majority. 30 | There must be a minimum of 5 foundation members at all times. 31 | The Foundation will set maximum foundation members at a later date. 32 | A foundation member may also be a Contributor, Proxy Voter, and/or Parliamentarian. 33 | 34 | ## Parliamentarian 35 | 36 | The Parliamentarian is responsible for ensuring and enforcing the by-laws of the Foundation. 37 | They must be intimately familiar with the by-laws as well as Robert's Rules of Order. 38 | They are also responsible for dutifully updating and maintaining the foundation by-laws as approved by the Foundation. 39 | The Parliamentarian must be a Foundation Member and may be a Contributor and/or Proxy Voter. 40 | 41 | ## Contributor 42 | 43 | Contributors are non-voting community members that are not official members of the Foundation. 44 | They may engage foundation members for sponsorship of agenda items to be voted on by the Foundation. 45 | They may be elected as an SME or Workgroup member and delegated responsibilities and ownership and decision-making authority of specific areas designated by the Foundation. 46 | 47 | ## Proxy Voter 48 | 49 | A proxy voter serves as the authorized voter-by-proxy for a Foundation Member. 50 | A proxy voter must be a Foundation Member. 51 | A proxy voter must be designated by a Foundation Member at least 24 hours in advance of a general session. 52 | A proxy voter may be designated for an entire session or for a specific agenda item at the discretion of the Foundation Member. 53 | A proxy voter may serve as a proxy voter for more than one Foundation Member. 54 | A proxy voter may also serve as a leave-of-absence term proxy voter at a Foundation Member's discretion. 55 | -------------------------------------------------------------------------------- /resolutions/20210506-01.md: -------------------------------------------------------------------------------- 1 | # Resolution 20210506-01 2 | 3 | Table of Contents 4 | 5 | - [Resolution 20210506-01](#resolution-20210506-01) 6 | - [Resolution Status](#resolution-status) 7 | - [Resolution Text](#resolution-text) 8 | - [Resolution Author](#resolution-author) 9 | - [Resolution Sponsors](#resolution-sponsors) 10 | - [Resolution Votes](#resolution-votes) 11 | - [Voting Class](#voting-class) 12 | - [Majority Requirement](#majority-requirement) 13 | - [Vote Date](#vote-date) 14 | - [Vote Type](#vote-type) 15 | - [Vote Mechanism](#vote-mechanism) 16 | - [Recorded Votes](#recorded-votes) 17 | - [Artifacts](#artifacts) 18 | - [Vote Results](#vote-results) 19 | 20 | ## Resolution Status 21 | 22 | Resolution passed 23 | 24 | ## Resolution Text 25 | 26 | Be it resolved that 27 | (1) The P# Foundation (The Foundation) shall be formed as follows 28 | (2) Mark Kraus as President of The Foundation, 29 | (3) Cory Knox as Parliamentarian of The Foundation, 30 | (4) Thomas Rayner, Joel Sallow, Adil Leghari, Chrissy LeMaire, Mathias Rørbo Jessen, Michael T. Lombardi, Josh King, Stephen Valdinger as general Foundation Members, 31 | (5) and bound by the by-laws published at [https://github.com/markekraus/psharp/blob/main/foundation-by-laws.md](https://github.com/markekraus/psharp/blob/main/foundation-by-laws.md). 32 | 33 | ## Resolution Author 34 | 35 | Mark Kraus 36 | 37 | ## Resolution Sponsors 38 | 39 | None. 40 | 41 | ## Resolution Votes 42 | 43 | ### Voting Class 44 | 45 | This resolution was voted on with a proto-foundation of 22 people. 46 | 47 | ### Majority Requirement 48 | 49 | To pass or fail the resolution required a simple majority of 13 votes. 50 | 51 | ### Vote Date 52 | 53 | This vote was conducted on Thursday, May 6th, 2021. 54 | 55 | ### Vote Type 56 | 57 | This vote was conducted publicly and unsealed. 58 | 59 | ### Vote Mechanism 60 | 61 | Vote was cast via Discord reactions to a carl-bot post. 62 | 63 | ### Recorded Votes 64 | 65 | | Foundation Member | Yea | Nay | 66 | |-------------------|-----|-----| 67 | | Stephen V. | 1 | | 68 | | Ryan R. | 1 | | 69 | | Simon B. | 1 | | 70 | | Joel S. | 1 | | 71 | | Devin R. | 1 | | 72 | | Chris G. | 1 | | 73 | | Michael L. | 1 | | 74 | | Adil L. | 1 | | 75 | | Mark K. | 1 | | 76 | | Kevin B. | 1 | | 77 | | Brett M. | 1 | | 78 | | Thomas R. | 1 | | 79 | | Chrissy L. | 1 | | 80 | | Steven J. | 1 | | 81 | | Jess P. | 1 | | 82 | | Cory k. | | 1 | 83 | | Yea's | 14 | | 84 | | Nay's | | 1 | 85 | 86 | ## Artifacts 87 | 88 | ### Vote Results 89 | 90 | ![Vote Results](images/20210506-01-01.PNG) 91 | 92 | Yea's: 93 | ![Yea's 1](images/20210506-01-02.PNG) 94 | ![Yea's 1](images/20210506-01-03.PNG) 95 | 96 | Nay's: 97 | ![Yea's 1](images/20210506-01-04.PNG) 98 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # P# Language 2 | 3 | P# is a PowerShell-based programming language built by the community for the community. 4 | 5 | Please note that "P#" is a working name and not official. 6 | The P# Foundation will select the official name and change it accordingly. 7 | 8 | Table of Contents 9 | 10 | - [P# Language](#p-language) 11 | - [Background](#background) 12 | - [Links](#links) 13 | - [Terms](#terms) 14 | - [To Do](#to-do) 15 | - [Meta-activities](#meta-activities) 16 | - [Foundation Actions](#foundation-actions) 17 | - [Completed](#completed) 18 | - [FAQs](#faqs) 19 | - [Does markekraus own this language?](#does-markekraus-own-this-language) 20 | - [Who are the founding members of the foundation?](#who-are-the-founding-members-of-the-foundation) 21 | - [How do I become a foundation member?](#how-do-i-become-a-foundation-member) 22 | - [Can I participate if I am not a Foundation Member?](#can-i-participate-if-i-am-not-a-foundation-member) 23 | - [Where can I see foundation communications?](#where-can-i-see-foundation-communications) 24 | - [Will this be a fork of PowerShell?](#will-this-be-a-fork-of-powershell) 25 | - [What about X/Y/Z language feature/bug/etc?](#what-about-xyz-language-featurebugetc) 26 | 27 | ## Background 28 | 29 | PowerShell is a Microsoft interactive shell and scripting language created in 2006. 30 | In 2016, Microsoft made the language Open Source. 31 | However, challenges with balancing between Microsoft's needs and Community asks have proven difficult. 32 | The PowerShell Committee, the governing body for the language, comprises only current and former Microsoft Employees. 33 | This leaves the language, and many of the core language issues at the mercy of Microsoft. 34 | 35 | This project seeks to replace PowerShell with a similar language, but one built from the ground up to be a community programming language first. 36 | 37 | ## Links 38 | 39 | - [Foundation Members](foundation-members.md) 40 | - [Foundation Roles](foundation-roles.md) 41 | - [Foundation By-Laws](foundation-by-laws.md) 42 | - [Foundation Resolution](foundation-resolutions.md) 43 | - [Foundation General Sessions Schedule](foundation-general-sessions-schedule.md) 44 | 45 | ## Terms 46 | 47 | - P# - The working name for the language. 48 | - P# Foundation - The governing body for the P# language that also serves as the copyright and holder, and licenser. 49 | - Source Language - The parent language P# is written in. 50 | 51 | ## To Do 52 | 53 | ### Meta-activities 54 | 55 | - Plan for P# Foundation incorporation and business structure 56 | 57 | ### Foundation Actions 58 | 59 | - Nominate and Elect registered agent of due process 60 | - Decide on the language name 61 | - Ratify Articles of Incorporation 62 | - Decide on Source Language 63 | 64 | ### Completed 65 | 66 | - Create rules for P# Foundation membership 67 | - Create rules for P# Foundation quorum and voting 68 | - Identify and recruit initial P# Foundation members 69 | - Nominate and Elect Foundation President 70 | 71 | ## FAQs 72 | 73 | ### Does markekraus own this language? 74 | 75 | No. 76 | Everything about this temporary until we get a foundation set up. 77 | The foundation will own everything, and this repo will move to the foundation's GitHub org once created. 78 | Mark's role in this is to bootstrap the foundation and move the casual conversations to concrete action items. 79 | Mark is more of a facilitator than an owner, and his long-term involvement in the project is not set in stone. 80 | 81 | ### Who are the founding members of the foundation? 82 | 83 | You can find info on the current and founding members at [Foundation Members](foundation-members.md). 84 | 85 | ### How do I become a foundation member? 86 | 87 | Foundation membership is governed by the [foundation by-laws](foundation-by-laws.md). 88 | 89 | ### Can I participate if I am not a Foundation Member? 90 | 91 | Absolutely! 92 | This is a language made for the community by the community. 93 | The Foundation Members are the governing body similar to the PowerShell Committee or the Python Foundation. 94 | Any member of the community can engage Foundation Members to sponsor resolutions. 95 | Once we have a codebase, anyone will be able to participate in the open source project. 96 | 97 | Do you have something specific you would like to do or help with? 98 | We'd be happy to have any help we can get. 99 | Just reach out to the Foundation Members and explain what you have in mind and we'll make it happen if possible. 100 | 101 | ### Where can I see foundation communications? 102 | 103 | You can join the foundation discord at [https://discord.gg/NnSp873WUw](https://discord.gg/NnSp873WUw). 104 | You must read and agree to the rules before you can participate in server activities. 105 | 106 | ### Will this be a fork of PowerShell? 107 | 108 | That is currently up for debate. 109 | We are unsure of the legalities of forking the entire project. 110 | While PowerShell is generally under MIT, this is not true for the entire code base. 111 | Also, we want to take this opportunity to free ourselves from the bonds of the past. 112 | We can now evaluate if C# is still the correct base language and if .NET is still the ideal framework. 113 | 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. 114 | 115 | ### What about X/Y/Z language feature/bug/etc? 116 | 117 | We are not yet at the stage of discussing these, nor are we at the stage of taking community feedback. 118 | We will address technical and engineering concerns after the foundation is formalized. 119 | We want to ensure the right decision-making frameworks are in place to guide technical decision-making. 120 | We are dedicated to making this a community-driven programming language, and to ensure that, we need those rules in place first. 121 | 122 | This is a lesson learned from PowerShell: 123 | 124 | If you don't put enough effort into organizing and incorporating the community upfront, you will have an abysmal community experience. 125 | -------------------------------------------------------------------------------- /foundation-by-laws.md: -------------------------------------------------------------------------------- 1 | # Foundation By-Laws 2 | 3 | Table of Contents 4 | 5 | - [Foundation By-Laws](#foundation-by-laws) 6 | - [Foundation Membership](#foundation-membership) 7 | - [Initial Membership](#initial-membership) 8 | - [Becoming a Foundation Member](#becoming-a-foundation-member) 9 | - [Foundation Membership Term](#foundation-membership-term) 10 | - [Foundation Member Leave of Absence](#foundation-member-leave-of-absence) 11 | - [Revoking Foundation Membership](#revoking-foundation-membership) 12 | - [Quorum](#quorum) 13 | - [Simple Majority](#simple-majority) 14 | - [Large Majority](#large-majority) 15 | - [Proxy Voting](#proxy-voting) 16 | - [General Sessions](#general-sessions) 17 | - [Special Sessions](#special-sessions) 18 | - [Emergency Sessions](#emergency-sessions) 19 | - [Agenda Items and Sponsorship](#agenda-items-and-sponsorship) 20 | 21 | ## Foundation Membership 22 | 23 | ### Initial Membership 24 | 25 | Mark Kraus has personally selected the initial founding members. 26 | This is a vast over-simplification, but no less accurate. 27 | 28 | ### Becoming a Foundation Member 29 | 30 | To become a Foundation Member, no less than five current and active Foundation Members must sponsor the candidate. 31 | The sponsoring Foundation Members will submit the sponsorship as an agenda item to the Parliamentarian for a general or special session. 32 | The Foundation Members will hold a debate during the designated session. 33 | The Foundation Members may vote to allow a candidate to speak for no more than 15 minutes. 34 | The Foundation Members may also vote to require the candidate to be questioned. 35 | The Foundation Members must elect the candidate by a large majority. 36 | 37 | ### Foundation Membership Term 38 | 39 | A Foundation Member's term is permanent but dependent on activity. 40 | To maintain active status as a Foundation Member, the Foundation Member must be counted as actively present at least once in three general sessions or once in any number of general or special sessions in a three-month period, whichever period is longest. 41 | 42 | Failure to meet the minimum presence requirements will result in being placed on a permanent leave of absence in which no voting either by active presence or proxy is allowed. 43 | To return from a permanent leave of absence, a minimum of two active Foundation Members must sponsor the Foundation Member wishing to return from a permanent leave of absence. 44 | The sponsoring Foundation Members will submit the sponsorship as an agenda item to the Parliamentarian for a general or special session. 45 | The Foundation Members will hold a debate during the designated session. 46 | The Foundation Members may vote to allow the Foundation Member wishing to return from a permanent leave of absence to speak for no more than 15 minutes. 47 | The Foundation Members may also vote to require the Foundation Member wishing to return from a permanent leave of absence to be questioned. 48 | A simple majority of active Foundation Members must approve the return status of the Foundation Member wishing to return from a permanent leave of absence. 49 | 50 | A Foundation Member may resign at any time by submitting to the Parliamentarian a letter of resignation. 51 | The letter of resignation must include an effective date. 52 | On the effective date, the resigning Foundation Member will no longer be a Foundation Member. 53 | 54 | ### Foundation Member Leave of Absence 55 | 56 | A Foundation Member may request a Leave of Absence for up to 1 year by submitting the leave of absence to the Parliamentarian. 57 | 58 | During a leave of absence, the Foundation Member may 59 | 60 | 1. Select a Proxy Voter for their entire leave of absence, 61 | 1. Select a Proxy Voter for specific sessions, 62 | 1. Select a Proxy Voter for specific agenda items, or 63 | 1. Abstain from voting and be removed from consideration for a quorum for the duration of the leave of absence. 64 | 65 | Upon the conclusion of the term for the leave of absence, the Foundation Member will be considered active and subject to the by-laws of the Foundation Membership Term. 66 | 67 | ## Revoking Foundation Membership 68 | 69 | At least five active foundation Members must sponsor an agenda item to revoke a Foundation Member's membership. 70 | The sponsoring Foundation Members will submit the sponsorship as an agenda item to the Parliamentarian for a general or special session. 71 | The Foundation Members will hold a debate during the designated session. 72 | The Foundation Member may speak for no more than 30 minutes. 73 | The Foundation Members may also vote to require questioning. 74 | The Foundation Members must vote to revoke membership by a large majority. 75 | The Foundation Member in question may not vote, either actively or by proxy, on their membership revocation. 76 | 77 | ## Quorum 78 | 79 | Quorum is required for all general or special sessions. 80 | 81 | A quorum for General Sessions requires the President, the Parliamentarian, and 50% or more of Foundation Members (including the President and Parliamentarian). 82 | A Foundation Member can be actively present or present via Proxy Voter. 83 | 84 | A Quorum for a Special Session requires the President, the Parliamentarian, and %30 or more of Foundation Members (including the President and Parliamentarian). 85 | A Foundation Member can be actively present or present via Proxy Voter. 86 | 87 | ## Simple Majority 88 | 89 | A Simple Majority will be 51% or more of votes in a session with due quorum. 90 | In the event of a tie, the President may vote. 91 | 92 | ## Large Majority 93 | 94 | A Large Majority will be 60% or more of votes in a session with due quorum. 95 | In the event of a tie, the President may vote. 96 | 97 | ## Proxy Voting 98 | 99 | A Foundation Member may designate any other Foundation Member, including the President or Parliamentarian, to serve as a proxy for their vote. 100 | The Foundation Member must submit the name and scope of their designated Proxy Voter to the Parliamentarian no less than 24 hours before any general or special session. 101 | The scope of a Proxy Voter can be any of the following: 102 | 103 | 1. Any number of specific agenda items, 104 | 1. An entire session, 105 | 1. An entire leave of absence. 106 | 107 | A Foundation Member should choose a Proxy Voter they trust to vote in the Foundation Member's interests. 108 | The Foundation Member cannot later contest a vote cast by a designated Proxy Voter on the Foundation Member's behalf. 109 | Proxy Voters found voting in bad faith may be subjected to sanctions, but a vote, once cast, cannot be rescinded. 110 | 111 | ## General Sessions 112 | 113 | The Foundation shall set a regular cadence for General Sessions at an interval determined to be reasonable by The Foundation by simple majority. 114 | The Foundation shall use General Sessions to conduct regular business of The Foundation. 115 | Sponsors must submit Agenda Items to The Parliamentarian no less than 72 hours before a General Session. 116 | The Parliamentarian must publish the submitted Agenda Items at least 24 hours before a General Session. 117 | 118 | A General Session shall first conduct continued business from any previous session before addressing any new business. 119 | The President may reprioritize Agenda Items based on the urgent operating needs of The Foundation. 120 | Foundation Members may put forward a motion to reprioritize Agenda Items, and the motion shall carry with a simple majority. 121 | Foundation Members may not bring new Agenda Items for business during a General Session. 122 | 123 | ## Special Sessions 124 | 125 | Special Sessions may be called at any time by at least three foundation members or by The President. 126 | The Foundation shall use Special Sessions to conduct any business that cannot wait for a General Session or would not be appropriate for a General Session. 127 | Special Sessions shall be scheduled no less than 24 hours in advance. 128 | Sponsors must submit Agenda Items to The Parliamentarian no less than 24 hours before a Special Session. 129 | The Parliamentarian must publish the submitted Agenda Items at least 12 hours before a Special Session. 130 | 131 | The Foundation may only conduct business for the specified Agenda Items. 132 | The Foundation may not use Special Sessions to conduct continued or new business. 133 | 134 | ## Emergency Sessions 135 | 136 | The President may, at any time, schedule an Emergency Session to conduct emergency business. 137 | Foundation Members may bring emergency Agenda Items during the Emergency Session without any prior submission. 138 | All emergency Agenda Items shall pass with a simple majority. 139 | 140 | The President and The Foundation may not use Emergency Sessions to subvert normal business. 141 | The Foundation may overturn decisions made during an Emergency Session with a large majority at any Special or General Session. 142 | The Foundation may sanction The President if they find The President has abused the power of Emergency Sessions. 143 | 144 | ## Agenda Items and Sponsorship 145 | 146 | Foundation Members may submit Agenda Items before the designated minimum time before a Special or General Session or during an Emergency Session. 147 | Sponsors of Agenda Items will determine the correct majority (Simple or Large) to pass the Agenda Item. 148 | Agenda Items requiring a simple majority must have a minimum of three sponsors. 149 | Agenda Items requiring a large majority must have a minimum of five sponsors. 150 | 151 | Only Foundation Members (including The Parliamentarian and The President) may sponsor Agenda Items; however, sponsors may collect signatures from contributors and community members to strengthen the support for an Agenda Item. 152 | Contributors and community members may engage Foundation members for sponsorship of Agenda Items. 153 | The Foundation may empower contributors, SMEs, or Work Groups to act as non-voting sponsors for Agenda Items in their limited scope of authority. 154 | Only one non-voting sponsor may be listed as a sponsor for any Agenda Item, and the remaining sponsors must be Foundation members. 155 | --------------------------------------------------------------------------------