├── .github ├── ISSUE_TEMPLATE │ ├── -core-team-only--difficult-with-nuance.md │ ├── -core-team-only--initiative.md │ ├── -core-team-only--periodic-checkin.md │ └── -core-team-only--urgent-issues.md └── workflows │ └── sync.yml ├── CODE_OF_CONDUCT.md ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── automation ├── message-invalid.md ├── message-valid.md ├── new-issues.py └── sync-project.py └── minutes ├── core-team └── meetings.md └── project-leadership-sync ├── 2019-07-10.md ├── 2019-07-17.md ├── 2019-07-24.md ├── 2019-07-31.md ├── 2019-08-07.md ├── 2019-08-14.md ├── 2019-08-28.md ├── 2019-09-12.md ├── 2019-09-25.md ├── 2019-10-09.md ├── 2019-10-23.md ├── 2019-11-06.md ├── 2019-11-20.md ├── 2019-12-04.md ├── 2019-12-18.md └── README.md /.github/ISSUE_TEMPLATE/-core-team-only--difficult-with-nuance.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "[CORE TEAM ONLY] Difficult with nuance" 3 | about: Difficult issue that will require extensive discussion to be resolved. 4 | title: '' 5 | labels: A-difficult-with-nuance, M-triage 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/-core-team-only--initiative.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "[CORE TEAM ONLY] Initiative" 3 | about: Initiative the team is working on. 4 | title: '' 5 | labels: A-initiative, M-triage 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/-core-team-only--periodic-checkin.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "[CORE TEAM ONLY] Periodic checkin" 3 | about: Items which we periodically check in on at a slower timeline (i.e. stuff that's 4 | blocked externally). 5 | title: '' 6 | labels: A-periodic-checkins, M-triage 7 | assignees: '' 8 | 9 | --- 10 | 11 | 12 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/-core-team-only--urgent-issues.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "[CORE TEAM ONLY] Urgent issues" 3 | about: Urgent problem that should be handled as soon as possible. 4 | title: '' 5 | labels: A-urgent-problem, M-triage 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/workflows/sync.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | name: Agenda 4 | on: 5 | issues: 6 | types: [opened, deleted, transferred, closed, reopened, labeled, unlabeled] 7 | 8 | jobs: 9 | handle: 10 | name: Handle 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v2 14 | with: 15 | fetch-depth: 1 16 | 17 | - name: Comment on new issues 18 | run: python3 automation/new-issues.py rust-lang/core-team $ISSUE_NUMBER 19 | if: github.event.action == 'opened' 20 | env: 21 | GITHUB_TOKEN: ${{ github.token }} 22 | ISSUE_NUMBER: ${{ github.event.issue.number }} 23 | 24 | - name: Update the agenda project board (private) 25 | run: GITHUB_TOKEN=$TOKEN python3 automation/sync-project.py rust-lang 5 core-team 26 | env: 27 | TOKEN: ${{ secrets.TOKEN }} 28 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # The Rust Code of Conduct 2 | 3 | A version of this document [can be found online](https://www.rust-lang.org/conduct.html). 4 | 5 | ## Conduct 6 | 7 | **Contact**: [rust-mods@rust-lang.org](mailto:rust-mods@rust-lang.org) 8 | 9 | * We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic. 10 | * On IRC, please avoid using overtly sexual nicknames or other nicknames that might detract from a friendly, safe and welcoming environment for all. 11 | * Please be kind and courteous. There's no need to be mean or rude. 12 | * Respect that people have differences of opinion and that every design or implementation choice carries a trade-off and numerous costs. There is seldom a right answer. 13 | * Please keep unstructured critique to a minimum. If you have solid ideas you want to experiment with, make a fork and see how it works. 14 | * We will exclude you from interaction if you insult, demean or harass anyone. That is not welcome behavior. We interpret the term "harassment" as including the definition in the Citizen Code of Conduct; if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don't tolerate behavior that excludes people in socially marginalized groups. 15 | * Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member, please contact one of the channel ops or any of the [Rust moderation team][mod_team] immediately. Whether you're a regular contributor or a newcomer, we care about making this community a safe place for you and we've got your back. 16 | * Likewise any spamming, trolling, flaming, baiting or other attention-stealing behavior is not welcome. 17 | 18 | ## Moderation 19 | 20 | 21 | These are the policies for upholding our community's standards of conduct. If you feel that a thread needs moderation, please contact the [Rust moderation team][mod_team]. 22 | 23 | 1. Remarks that violate the Rust standards of conduct, including hateful, hurtful, oppressive, or exclusionary remarks, are not allowed. (Cursing is allowed, but never targeting another user, and never in a hateful manner.) 24 | 2. Remarks that moderators find inappropriate, whether listed in the code of conduct or not, are also not allowed. 25 | 3. Moderators will first respond to such remarks with a warning. 26 | 4. If the warning is unheeded, the user will be "kicked," i.e., kicked out of the communication channel to cool off. 27 | 5. If the user comes back and continues to make trouble, they will be banned, i.e., indefinitely excluded. 28 | 6. Moderators may choose at their discretion to un-ban the user if it was a first offense and they offer the offended party a genuine apology. 29 | 7. If a moderator bans someone and you think it was unjustified, please take it up with that moderator, or with a different moderator, **in private**. Complaints about bans in-channel are not allowed. 30 | 8. Moderators are held to a higher standard than other community members. If a moderator creates an inappropriate situation, they should expect less leeway than others. 31 | 32 | In the Rust community we strive to go the extra step to look out for each other. Don't just aim to be technically unimpeachable, try to be your best self. In particular, avoid flirting with offensive or sensitive issues, particularly if they're off-topic; this all too often leads to unnecessary fights, hurt feelings, and damaged trust; worse, it can drive people away from the community entirely. 33 | 34 | And if someone takes issue with something you said or did, resist the urge to be defensive. Just stop doing what it was they complained about and apologize. Even if you feel you were misinterpreted or unfairly accused, chances are good there was something you could've communicated better — remember that it's your responsibility to make your fellow Rustaceans comfortable. Everyone wants to get along and we are all here first and foremost because we want to talk about cool technology. You will find that people will be eager to assume good intent and forgive as long as you earn their trust. 35 | 36 | The enforcement policies listed above apply to all official Rust venues; including official IRC channels (#rust, #rust-internals, #rust-tools, #rust-libs, #rustc, #rust-beginners, #rust-docs, #rust-community, #rust-lang, and #cargo); GitHub repositories under rust-lang, rust-lang-nursery, and rust-lang-deprecated; and all forums under rust-lang.org (users.rust-lang.org, internals.rust-lang.org). For other projects adopting the Rust Code of Conduct, please contact the maintainers of those projects for enforcement. If you wish to use this code of conduct for your own project, consider explicitly mentioning your moderation policy or making a copy with your own moderation policy so as to avoid confusion. 37 | 38 | *Adapted from the [Node.js Policy on Trolling](http://blog.izs.me/post/30036893703/policy-on-trolling) as well as the [Contributor Covenant v1.3.0](https://www.contributor-covenant.org/version/1/3/0/).* 39 | 40 | [mod_team]: https://www.rust-lang.org/team.html#Moderation-team 41 | -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any 2 | person obtaining a copy of this software and associated 3 | documentation files (the "Software"), to deal in the 4 | Software without restriction, including without 5 | limitation the rights to use, copy, modify, merge, 6 | publish, distribute, sublicense, and/or sell copies of 7 | the Software, and to permit persons to whom the Software 8 | is furnished to do so, subject to the following 9 | conditions: 10 | 11 | The above copyright notice and this permission notice 12 | shall be included in all copies or substantial portions 13 | of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF 16 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 17 | TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 18 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT 19 | SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR 22 | IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # core-team 2 | 3 | This repository is a place to store minutes, notes, and other 4 | documents created by the core team. 5 | -------------------------------------------------------------------------------- /automation/message-invalid.md: -------------------------------------------------------------------------------- 1 | Thanks for opening the issue! 2 | 3 | This repo serves as a record of the Core Team's public agenda, and for now only members of the Core Team are allowed to open issues here. If you want a topic to be raised during the triage meeting, please get in touch with the Core Team by emailing core-team@rust-lang.org. 4 | -------------------------------------------------------------------------------- /automation/message-valid.md: -------------------------------------------------------------------------------- 1 | This issue is an item on the Core Team's public agenda, and the team will discuss it every week during the triage meeting. The goal of the issue is to provide a public record of our discussion, so only members of the Core Team are allowed to comment here. 2 | 3 | Please get in touch with the Core Team by emailing core-team@rust-lang.org if you have something to add! 4 | -------------------------------------------------------------------------------- /automation/new-issues.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Copyright (c) 2020 Pietro Albini 3 | # 4 | # Permission is hereby granted, free of charge, to any person obtaining a copy 5 | # of this software and associated documentation files (the "Software"), to deal 6 | # in the Software without restriction, including without limitation the rights 7 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | # copies of the Software, and to permit persons to whom the Software is 9 | # furnished to do so, subject to the following conditions: 10 | # 11 | # The above copyright notice and this permission notice shall be included in 12 | # all copies or substantial portions of the Software. 13 | # 14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | # SOFTWARE. 21 | 22 | import os 23 | import pathlib 24 | import requests 25 | import sys 26 | 27 | 28 | SCRIPT_DIR = pathlib.Path(__file__).resolve().parent 29 | 30 | 31 | def can_open_issues(client, repo, username): 32 | resp = client.get(f"https://api.github.com/repos/{repo}/collaborators/{username}") 33 | return resp.status_code == 204 34 | 35 | 36 | def handle_new_issue(client, repo, number): 37 | resp = client.get(f"https://api.github.com/repos/{repo}/issues/{number}") 38 | resp.raise_for_status() 39 | issue = resp.json() 40 | 41 | allowed = can_open_issues(client, repo, issue["user"]["login"]) 42 | 43 | # Leave a comment explaining what's happening. 44 | if allowed: 45 | comment_body = (SCRIPT_DIR / "message-valid.md").open().read() 46 | else: 47 | comment_body = (SCRIPT_DIR / "message-invalid.md").open().read() 48 | resp = client.post(f"https://api.github.com/repos/{repo}/issues/{number}/comments", json={ 49 | "body": comment_body, 50 | }) 51 | resp.raise_for_status() 52 | 53 | # Close the issue. 54 | if not allowed: 55 | resp = client.patch(f"https://api.github.com/repos/{repo}/issues/{number}", json={ 56 | "state": "closed", 57 | }) 58 | resp.raise_for_status() 59 | 60 | # Always lock the issues. 61 | resp = client.put(f"https://api.github.com/repos/{repo}/issues/{number}/lock") 62 | resp.raise_for_status() 63 | 64 | # Prevent the next GitHub Actions steps from running 65 | if not allowed: 66 | exit(1) 67 | 68 | 69 | if __name__ == "__main__": 70 | github_token = os.environ["GITHUB_TOKEN"] 71 | repo = sys.argv[1] 72 | issue_number = int(sys.argv[2]) 73 | 74 | client = requests.Session() 75 | client.headers.update({ 76 | "Authorization": f"token {github_token}", 77 | "User-Agent": "https://github.com/rust-lang/core-team automation", 78 | }) 79 | 80 | handle_new_issue(client, repo, issue_number) 81 | -------------------------------------------------------------------------------- /automation/sync-project.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Copyright (c) 2020 Pietro Albini 3 | # 4 | # Permission is hereby granted, free of charge, to any person obtaining a copy 5 | # of this software and associated documentation files (the "Software"), to deal 6 | # in the Software without restriction, including without limitation the rights 7 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | # copies of the Software, and to permit persons to whom the Software is 9 | # furnished to do so, subject to the following conditions: 10 | # 11 | # The above copyright notice and this permission notice shall be included in 12 | # all copies or substantial portions of the Software. 13 | # 14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | # SOFTWARE. 21 | 22 | # This script automatically synchronizes issues in a GitHub repository with an 23 | # organization's project board. To configure synchronization, add a note to the 24 | # column you want to sync with the following content: 25 | # 26 | # **automation** 27 | # repo: REPOSITORY_NAME 28 | # label: LABEL_NAME 29 | # 30 | 31 | import json 32 | import os 33 | import requests 34 | import sys 35 | 36 | 37 | # Fetch all the contents of an organization board 38 | BOARD_QUERY = """ 39 | query($org: String!, $project: Int!) { 40 | organization(login: $org) { 41 | project(number: $project) { 42 | columns(first: 100) { 43 | nodes { 44 | databaseId 45 | cards(first: 100, archivedStates: NOT_ARCHIVED) { 46 | nodes { 47 | databaseId 48 | note 49 | content { 50 | ... on PullRequest { 51 | number 52 | } 53 | ... on Issue { 54 | number 55 | } } } } } } } } } 56 | """ 57 | 58 | 59 | class Column: 60 | def __init__(self, id): 61 | self.id = id 62 | self.notes = [] 63 | self.issues = [] 64 | 65 | def automated_label(self, repo): 66 | for note in self.notes: 67 | lines = note.text.split('\n') 68 | if not lines or lines[0].strip() != "**automation**": 69 | continue 70 | 71 | try: 72 | kv = {} 73 | for line in lines[1:]: 74 | key, value = line.split(':', 1) 75 | kv[key.strip()] = value.strip() 76 | if kv["repo"] == repo: 77 | return kv["label"] 78 | except (KeyError, ValueError): 79 | continue 80 | 81 | 82 | class NoteCard: 83 | def __init__(self, card_id, text): 84 | self.card_id = card_id 85 | self.text = text 86 | 87 | 88 | class IssueCard: 89 | def __init__(self, card_id, issue_id): 90 | self.card_id = card_id 91 | self.issue_id = issue_id 92 | 93 | 94 | class Issue: 95 | def __init__(self, id, number): 96 | self.id = id 97 | self.number = number 98 | 99 | 100 | def fetch_project(client, org, project): 101 | query = client.post("https://api.github.com/graphql", data=json.dumps({ 102 | "query": BOARD_QUERY, 103 | "variables": { 104 | "org": org, 105 | "project": project, 106 | }, 107 | })).json() 108 | 109 | columns = [] 110 | for raw_column in query["data"]["organization"]["project"]["columns"]["nodes"]: 111 | column = Column(raw_column["databaseId"]) 112 | for card in raw_column["cards"]["nodes"]: 113 | if card["note"] is not None: 114 | column.notes.append(NoteCard(card["databaseId"], card["note"])) 115 | if card["content"] is not None: 116 | column.issues.append(IssueCard(card["databaseId"], card["content"]["number"])) 117 | columns.append(column) 118 | 119 | return columns 120 | 121 | 122 | def fetch_issues(client, org, repo, label): 123 | response = client.get( 124 | f"https://api.github.com/repos/{org}/{repo}/issues?labels={label}&state=open&per_page=100" 125 | ).json() 126 | 127 | issues = [] 128 | for issue in response: 129 | issues.append(Issue(issue["id"], issue["number"])) 130 | return issues 131 | 132 | 133 | def create_issue_card(client, column_id, issue_id): 134 | response = client.post(f"https://api.github.com/projects/columns/{column_id}/cards", data=json.dumps({ 135 | "content_id": issue_id, 136 | "content_type": "Issue", 137 | }), headers={ 138 | "Accept": "application/vnd.github.inertia-preview+json" 139 | }) 140 | if response.status_code != 201: 141 | print(f"failed to add issue {issue_id} to column {column_id} (HTTP status {response.status_code})") 142 | print(response.text) 143 | exit(1) 144 | 145 | 146 | def remove_card(client, card_id): 147 | response = client.delete(f"https://api.github.com/projects/columns/cards/{card_id}", headers={ 148 | "Accept": "application/vnd.github.inertia-preview+json" 149 | }) 150 | if response.status_code != 204: 151 | print(f"failed to remove card {card_id} (HTTP status {response.status_code})") 152 | print(response.text) 153 | exit(1) 154 | 155 | 156 | def synchronize(client, org, project, current_repo): 157 | to_add = [] 158 | 159 | columns = fetch_project(client, org, project) 160 | for column in columns: 161 | label = column.automated_label(current_repo) 162 | if label is None: 163 | continue 164 | 165 | current_issues = {card.issue_id: card.card_id for card in column.issues} 166 | issues = fetch_issues(client, org, current_repo, label) 167 | 168 | for issue in issues: 169 | if issue.number in current_issues: 170 | del current_issues[issue.number] 171 | else: 172 | # The GitHub API returns an error if we try to add an issue 173 | # multiple times to the same project board. 174 | # 175 | # If an issue is moved from a column processed later to a 176 | # column processed earlier we'd add the new card before we 177 | # remove the old one, causing an error on GitHub's side. 178 | # 179 | # To work around the problem we first process all the 180 | # deletions, and process the additions later. 181 | to_add.append((column, issue)) 182 | for issue_number, card_id in current_issues.items(): 183 | print(f"removing issue {issue_number} from the board") 184 | remove_card(client, card_id) 185 | 186 | for column, issue in to_add: 187 | print(f"adding issue {issue.number} to the board") 188 | create_issue_card(client, column.id, issue.id) 189 | 190 | 191 | if __name__ == "__main__": 192 | token = os.environ["GITHUB_TOKEN"] 193 | org = sys.argv[1] 194 | project = int(sys.argv[2]) 195 | repo = sys.argv[3] 196 | 197 | client = requests.Session() 198 | client.headers.update({ 199 | "Authorization": f"token {token}" 200 | }) 201 | 202 | synchronize(client, org, project, repo) 203 | -------------------------------------------------------------------------------- /minutes/core-team/meetings.md: -------------------------------------------------------------------------------- 1 | # Core Team Meetings 2 | 3 | The Core team is conducting an experiment to record ‘non-sensitive’ parts of Core team triage meetings (where we cover current topics of relevance to the core team and track our actions on them) and sharing them with the community on the Rust YouTube channel to provide greater transparency into how we work. 4 | 5 | The posting of these recordings will potentially lag by up to a month, and we’re not currently committing to doing a recording every meeting. We will endeavor to post an update here at most a month after every meeting either with a recording or an indication that there will not be one forthcoming (and ideally a reason why). 6 | 7 | Please file issues or email core-team at rust-lang.org with any questions. 8 | 9 | --- 10 | 11 | * [2019-05-08](https://youtu.be/yL5_QddgOmQ) 12 | * 2019-05-15 - Did not record due to technical difficulties. 13 | * [2019-05-22](https://youtu.be/aFzSfNOpK0Y) 14 | * [2019-05-29](https://youtu.be/lnHBa-uEAYI) 15 | * [2019-06-05](https://youtu.be/E3I77CiG2fM) 16 | * [2019-06-12](https://youtu.be/nDsdAG4wxhA) 17 | * 2019-06-19 - Meeting cancelled due to a number of conflicts. 18 | * 2019-06-26 - Did not record due to technical difficulties. 19 | * 2019-07-03 - Discussed sensitive topics during the entire meeting. 20 | * [2019-07-10](https://youtu.be/tnUxXDIxpRk) 21 | * 2019-07-17 - Only a few people were able to attend so nothing substantive was discussed. 22 | * 2019-07-24 - Meeting cancelled due to a number of conflicts. 23 | * 2019-07-31 - Did not record due to technical difficulties. 24 | * 2019-08-07 - Discussed sensitive topics during the entire meeting. 25 | * [2019-08-14](https://youtu.be/0U9gN62eCvU) 26 | * 2019-08-21 - Did not meet due to RustConf. 27 | * 2019-09-06 - Did not record due to technical difficulties. 28 | * 2019-09-13 - Only a few people were able to attend so nothing substantive was discussed. 29 | * 2019-09-20 - Did not record due to technical difficulties. 30 | * [2019-09-27](https://youtu.be/ZSDsrxV-mog) 31 | * [2019-10-04](https://youtu.be/4xgyyA5FT_0) 32 | * 2019-10-11 - Did not meet due to a number of conflicts. 33 | * 2019-10-18 - Did not meet due to Rust Belt Rust and other conflicts. 34 | * [2019-10-23](https://youtu.be/ZQ_lRe-zCWk) 35 | * [2019-10-30](https://youtu.be/i8TkdADZpO4) 36 | * [2019-11-06](https://youtu.be/ElyOeAXZMDs) 37 | * [2019-11-13](https://youtu.be/m5UkX2XFswI) 38 | * [2019-11-20](https://youtu.be/jySXgvMFcKI) 39 | * [2019-11-27](https://youtu.be/603ETPXf_6o) 40 | * [2019-12-04](https://youtu.be/2-Rubo9Zr3E) 41 | * [2019-12-11](https://youtu.be/08gvVkahGrc) 42 | * 2019-12-18 - Only a few people were able to attend so nothing substantive was discussed. 43 | * 2019-12-25 - Cancelled because of the holiday. 44 | * 2020-01-01 - Cancelled because of the holiday. 45 | * 2020-01-08 - Did not record due to technical difficulties. 46 | * 2020-01-15 - Did not record due to technical difficulties. 47 | * [2020-01-22](https://youtu.be/dOXe3Qc5u6w) 48 | * 2020-01-29 - Discussed sensitive topics during the entire meeting. 49 | * 2020-02-05 - Discussed sensitive topics during the entire meeting. 50 | * [2020-02-12](https://youtu.be/17Y_FZzxWXo) 51 | * [2020-02-19](https://youtu.be/QSLdtlwCUFs) 52 | * [2020-02-26](https://youtu.be/-Go_upxELvc) 53 | * 2020-03-04 - Did not record due to technical difficulties. 54 | * [2020-03-11](https://youtu.be/zyuycHlMdiI) 55 | * [2020-03-18](https://youtu.be/CFoN_2jmW1E) 56 | * [2020-03-25](https://youtu.be/RbRPkjvAceg) 57 | * [2020-04-01](https://youtu.be/P97kkIv0xSU) 58 | * [2020-04-08](https://youtu.be/fV9agy3JZ3o) 59 | * 2020-04-15 - Did not record due to technical difficulties. 60 | * [2020-04-22](https://youtu.be/dh2wcLcV0C8) 61 | * [2020-04-29](https://youtu.be/lcbHTdgfpW8) 62 | * [2020-05-07](https://youtu.be/9yklK3mk_O4) 63 | * [2020-05-14](https://youtu.be/VTbR_obJAEQ) 64 | * [2020-05-21](https://youtu.be/uO_XKHOmXJY) 65 | * [2020-05-28](https://youtu.be/2gFSiMyJrK4) 66 | * [2020-06-04](https://youtu.be/cjcHdhfWhoo) 67 | * [2020-06-11](https://youtu.be/Ho7hULtpJx4) 68 | * [2020-06-18](https://youtu.be/-77uMW4mWY0) 69 | * [2020-06-25](https://youtu.be/XD9jtTYQlEE) 70 | * [2020-07-02](https://youtu.be/hjsw6dIg2gg) 71 | * [2020-07-09](https://youtu.be/hvBsFEipcuw) 72 | * [2020-07-16](https://youtu.be/nTYfL53VJQ4) 73 | * [2020-07-23](https://youtu.be/ebxwXXLhRoQ) 74 | * [2020-07-30](https://youtu.be/4kkGzuQ0tN0) 75 | * [2020-08-06](https://youtu.be/CbGrB61GUsQ) 76 | * [2020-08-13](https://youtu.be/hGYRFhK3akM) 77 | * [2020-08-19](https://youtu.be/XFDvBzEcv_k) 78 | * [2020-08-26](https://youtu.be/J0SsTiO3sog) 79 | * [2020-09-02](https://youtu.be/yPjpizA68d4) 80 | * [2020-09-09](https://youtu.be/GICIDHOgkd8) 81 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-07-10.md: -------------------------------------------------------------------------------- 1 | # Rust Project Sync Meeting 2 | 3 | ## Instructions 4 | 5 | Prior to or during the meeting, jot down a few notes for your team. When it comes time to speak, it is best to focus on **upcoming** or **future plans**, in particular those that may have a cross-cutting nature. 6 | 7 | If you have private remarks that you don't want to be in the minutes, feel free to just write nothing or to write something like "private remarks". 8 | 9 | Since we don't have a lot of time per team, please avoid getting into the details. Ping the speaker after the meeting if you want to follow-up with questions. 10 | 11 | Feel free to add more announcements than those you plan to speak about out loud. For example, you might jot down notable developments from the week. 12 | 13 | At the end of each meeting, we will lightly edit these minutes as needed and then copy them into a repository, clearing this document for the next week. 14 | 15 | ## Teams 16 | 17 | ### Core team - Ashley, Niko 18 | 19 | * this meeting! 20 | * private remarks 21 | 22 | ### Community team -- Florian 23 | 24 | * We're busy with handling translations for the website 25 | * community@ is getting a little more traffic this week 26 | 27 | ### Compiler team (nikomatsakis) 28 | 29 | Spoken: 30 | 31 | * niko, felix will both be away for several weeks. 32 | * nagisa is going to run triage meetings while we are away. 33 | * we would really like to have a "team blog" to help us publicize work 34 | * we have a few folks (niko, felix, mw) taking extended breaks -- should we have a Rust team "PTO" calendar? 35 | * we are having trouble with triage; this was discussed in a [meeting last week][compiler1] where we discussed how to share efforts with WG-triage in the release team. Summary: 36 | * maybe triage team can help with assessing which are the highest priority problems to fix 37 | * compiler ICE-breakers team focused more on fixing 38 | * extending the "expert map" to help in assigning work 39 | * we've been thinking for some time about some kind of ["help wanted"][compiler2] thread to help in recruitment, especically for high priority bugs or less conventional tasks (e.g. organizational), but haven't executed. Might overlap with something like the 'find work' site. 40 | 41 | Unspoken: 42 | 43 | * shout out to whoever made `rfcbot claim` work, that is super useful 44 | 45 | [compiler1]: https://github.com/rust-lang/compiler-team/blob/master/minutes/design-meeting/2019-07-08-triage-wg.md 46 | [compiler2]: https://github.com/rust-lang/compiler-team/issues/77 47 | 48 | ### crates.io team - Justin Geibel (filling in for Sean) 49 | 50 | * Scheduling a meeting for next week to sync on the roadmap 51 | * Focus on growing the team, especially around ops 52 | 53 | ### dev tools team - Manish 54 | 55 | * slow work on cargo clippy improvements 56 | * changelogs!! 57 | 58 | ### doc team -- steveklabnik 59 | 60 | * private remarks 61 | 62 | ### lang team (nikomatsakis) 63 | 64 | Spoken: 65 | 66 | * private remarks (impl trait retrospective) 67 | 68 | Other updates: 69 | 70 | * async expected to ship in 1.38, [current blockers](https://github.com/rust-lang/rust/labels/AsyncAwait-Blocking) 71 | * 72 | 73 | ### library team - alexcrichton 74 | 75 | * Minor stabilizations 76 | * Nothing major to report 77 | 78 | ### moderation team 79 | 80 | * Absent this week 81 | 82 | ### release team - Mark (simulacrum) 83 | * wg-triage in process of forming, ~14 (new!) people onboarded 84 | * initial focus on PR triage, then moving to issues on rust-lang/rust 85 | 86 | ### infra team - Pietro Albini 87 | 88 | * Progress has been made on the Azure Pipelines migration 89 | * Bot posting error messages is now up and running :tada: 90 | * Work on getting 4 core machines is underway 91 | * There is still no clear information on capacity for other repos, but we should be close 92 | * Other private remarks 93 | 94 | ### cli domain wg - Pascal (killercup) 95 | 96 | * meetings and work continues, little of project-wide concern 97 | * push cli book to doc.rust-lang.org? docs/infra/release team? 98 | 99 | ### embedded domain wg (James Munns) 100 | 101 | * Starting our trial move to Matrix from Mozilla IRC 102 | * Process detailed in [these ops notes](https://github.com/rust-embedded/wg/pull/363) 103 | * https://matrix.to/#/#rust-embedded:matrix.org 104 | 105 | ### networking domain wg 106 | 107 | * Absent this week 108 | 109 | ### wasm domain wg (fitzgen) 110 | 111 | * Working on support for the "Web IDL bindings" proposal in wasm-bindgen 112 | * This is the thing enables direct DOM access from wasm, and promises to eventually unlock even-faster-than-JS DOM access 113 | 114 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-07-17.md: -------------------------------------------------------------------------------- 1 | # Rust Project Leadership Sync Meeting 2 | 3 | ## Instructions 4 | 5 | ### In the leadup to the meeting 6 | 7 | Prior to or during the meeting, jot down a few notes for your team. When it comes time to speak, it is best to focus on **upcoming** or **future plans**, in particular those that may have a cross-cutting nature. 8 | 9 | If you have private remarks that you don't want to be in the minutes, feel free to just write nothing or to write something like "private remarks". 10 | 11 | Since we don't have a lot of time per team, please avoid getting into the details. Ping the speaker after the meeting if you want to follow-up with questions. 12 | 13 | Feel free to add more announcements than those you plan to speak about out loud. For example, you might jot down notable developments from the week. 14 | 15 | ### As you join the meeting 16 | 17 | Add your name to the appropriate team or working group that you are representing below. 18 | 19 | ### After the meeting 20 | 21 | At the end of each meeting, we will lightly edit these minutes as needed and then copy them into a repository, clearing this document for the next week. 22 | 23 | ## Teams 24 | 25 | ### Core team - Manish 26 | - core team videos: https://github.com/rust-lang/core-team/blob/master/minutes/core-team/meetings.md 27 | - Private remarks 28 | 29 | ### Community team - Manish 30 | - Internationalization WG 31 | - Plan to make a discord for the translation teams 32 | 33 | ### Compiler team 34 | 35 | - not here 36 | 37 | ### crates.io team - sgrif 38 | 39 | - No major news 40 | 41 | ### dev tools team - Manish 42 | 43 | - Progress on cargo clippy integration 44 | - Work starting on a "std-aware" cargo 45 | - New rustfix release soon 46 | - `cfg(doctest)` in `rustdoc --test` 47 | - rustup moving to Azure for CI 48 | - Work on IPC in RLS starting 49 | - rustup on snapcraft: probably doing this unofficially for now 50 | 51 | 52 | ### doc team 53 | 54 | - not here 55 | 56 | ### lang team - joshtriplett 57 | 58 | Josh Triplett representing going forward. 59 | 60 | - [Stabilization of `!` (never) type](https://github.com/rust-lang/rust/issues/57012): ready to proceed, but likely need to implement a hack that'll look a lot like a bit of specialization, to effectively implement both `From` and `From` for `!`. Want to give folks a heads-up. 61 | - Private remarks 62 | 63 | ### library team 64 | 65 | - not present 66 | 67 | ### moderation team 68 | 69 | - not present 70 | 71 | 72 | ### release team 73 | 74 | * no major news 75 | 76 | ### infra team - pietroalbini 77 | 78 | * GitHub synchronization with the team repo is almost ready 79 | * Team leads, please check the members list in the team repo reflects the 80 | actual team membership 81 | * Rollout will be gradual and y'all will be pinged before your team is 82 | synchronized 83 | * Work on 4 core machines is underway, and we have some initial numbers 84 | (roughly 20% speedup on Windows) 85 | * Finally got around to [merging the static websites hosting guidelines](https://github.com/rust-lang/infra-team/blob/master/guidelines/static-websites.md) 86 | * Almost finished docs.rs changes to keep it sustainable 87 | 88 | 89 | ### cli domain wg 90 | 91 | * no major news 92 | 93 | ### embedded domain wg 94 | 95 | * Private notes 96 | * 2019-07-24 - James Not Present 97 | * Embedded WG looking into how to triage issues/requests to present to this meeting in the future 98 | * Embedded WG starting planning for mentoring/onramping new contributors 99 | * Many teams have folks that are over-busy 100 | * Hoping to unblock reviews 101 | 102 | ### networking domain wg 103 | - not present 104 | ### wasm domain wg 105 | - not present 106 | ### secure code wg - bascule 107 | - Hello! 108 | - trying to unsafe audit popular ecosystem crates ("safety dance"?) 109 | 110 | ### game dev wg 111 | - not present 112 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-07-24.md: -------------------------------------------------------------------------------- 1 | # Rust Project Leadership Sync Meeting 2 | 3 | ### Core team - Mark 4 | 5 | * No news 6 | 7 | ### Community team 8 | 9 | ### Compiler team 10 | 11 | ### crates.io team - Sean 12 | 13 | * No major news 14 | 15 | ### dev tools team 16 | 17 | * No major news 18 | 19 | ### lang team - Josh 20 | 21 | - Discussions on UB 22 | - FFI unwinding 23 | - Private remarks 24 | 25 | ### moderation team 26 | 27 | ### release team - Mark 28 | 29 | * no major news 30 | 31 | ### infra team - pietroalbini 32 | 33 | * Agreed with Microsoft to create a second Azure org for CI-heavy repos, should start contacting those repos maintainers soon 34 | * GitHub sync landed on the team repo, please add it for your teams! 35 | 36 | ### cli domain wg 37 | 38 | * No news 39 | 40 | ### embedded domain wg 41 | 42 | * Embedded WG looking into how to triage issues/requests to present to this meeting in the future 43 | * Embedded WG starting planning for mentoring/onramping new contributors 44 | * Many teams have folks that are over-busy 45 | * Hoping to unblock reviews 46 | 47 | ### async ecosystem wg - Yosh 48 | 49 | ### wasm domain wg - Alex 50 | 51 | * LLVM 9 update has landed 52 | * `#[thread_local]` support coming now 53 | * Needs updated linker support for multithreading applications 54 | * The `wasm-pack` tool has started seeing more triage and maintenance 55 | 56 | ### secure code wg - Tony 57 | 58 | * Safety Dance (https://github.com/rust-secure-code/safety-dance) 59 | * RUSTSEC-2019-0011: memoffset 60 | 61 | ### game dev wg 62 | 63 | ### library team - Alex 64 | 65 | * The `std`-aware Cargo RFC has been closed in favor of a [discussion repository](https://github.com/rust-lang/wg-cargo-std-aware) where issues can serve as a way to categorize discussion. Motivation here is to drive towards an MVP in a reasonable time frame and avoid being blocked on too many issues.e 66 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-07-31.md: -------------------------------------------------------------------------------- 1 | # Rust Project Leadership Sync Meeting 2 | 3 | ## Teams 4 | 5 | ### Core team - Mark 6 | * nothing to report 7 | 8 | ### Community team 9 | 10 | ### Compiler team 11 | 12 | ### crates.io team - Sean 13 | 14 | * Brief downtime next week 15 | 16 | ### dev tools team 17 | 18 | ### lang team - Josh 19 | 20 | * No news to report 21 | 22 | ### moderation team 23 | 24 | ### release team - Mark 25 | 26 | * tool breakage weeks on [Forge](https://forge.rust-lang.org/) 27 | 28 | ### infra team - Pietro 29 | 30 | * Had a small docs.rs outage, deployed changes to fix the root cause 31 | * Private remarks 32 | 33 | ### cli domain wg 34 | 35 | * no major news 36 | 37 | ### embedded domain wg - James 38 | 39 | * Waiting on core team response re: Freenode IRC 40 | * Waiting on response re: https://github.com/rust-lang/rust/issues/62781 from compiler team 41 | * Planning on putting together guide for mentorship 42 | 43 | ### async ecosystem wg - Yosh 44 | * triage meeting last week went really well 45 | * switching leadership 46 | 47 | ### wasm domain wg 48 | 49 | ### secure code wg - Tony 50 | 51 | * nothing to report 52 | 53 | ### game dev wg - AlexEne 54 | * A lot of discussions and other similar sessions about the state of various libraries in game development 55 | * Progress on the GLSL->SPIRV rust-only toolchain design/missing parts 56 | * Math libraries is an ongoing topic still without a clear answer. 57 | 58 | ### library team - Alex 59 | 60 | * nothing to report 61 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-08-07.md: -------------------------------------------------------------------------------- 1 | # Rust Project Leadership Sync Meeting 2 | 3 | ## Teams 4 | 5 | ### Core team 6 | 7 | * Started planning all-hands 8 | 9 | ### Community team 10 | 11 | * Conference help 12 | 13 | ### Compiler team 14 | 15 | - away 16 | 17 | ### crates.io team 18 | 19 | - away 20 | 21 | ### dev tools team 22 | 23 | - away 24 | 25 | ### lang team - Josh Triplett 26 | 27 | * Triage week 28 | 29 | ### moderation team 30 | 31 | - away 32 | 33 | ### release team - Mark 34 | * no major news 35 | 36 | ### infra team - Pietro 37 | 38 | * Private remarks 39 | 40 | ### cli domain wg 41 | 42 | - no major news + Pascal on vacation :) 43 | 44 | ### embedded domain wg - James 45 | 46 | - Freenode registration in progress 47 | - Anyone know anyone working on fn-level optimization? 48 | 49 | ### async ecosystem wg 50 | 51 | ### wasm domain wg 52 | 53 | ### secure code wg 54 | 55 | - no news - Tony out / busy dealing with outage 56 | 57 | ### game dev wg 58 | 59 | ### library team 60 | 61 | * no major news 62 | 63 | ### Additional notes 64 | 65 | Proposal to make this meeting byweekly, but after the next one (otherwise, we would collide with RustConf) 66 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-08-14.md: -------------------------------------------------------------------------------- 1 | # Rust Project Leadership Sync Meeting 2 | 3 | ## Teams 4 | 5 | ### Core team -- Nicholas Matsakis 6 | 7 | * planning all-hands, reminder to fill [all hands form][] 8 | * leading up to RustConf 9 | * Reminder that we are *cancelling* next week's meeting due to RustConf 10 | 11 | [all hands form]: https://forms.gle/iY2rS4qWthMiyuik9 12 | 13 | ### Community team -- Florian Gilcher 14 | 15 | * Conference help 16 | * Promotion of conference writing output 17 | 18 | ### Governance -- Florian Gilcher 19 | 20 | * Documenting gh.com/rust-lang policies 21 | 22 | ### Compiler team - nikomatsakis 23 | 24 | * I'm back now, Felix coming back on/around Sep 9 25 | * many thanks to nagisa 26 | * Async/await likely to stabilize for 1.39 27 | * [stabilization PR][#63209] 28 | * prior to hitting stable, still time to improve book and "onboarding experience" 29 | * after stabilization, still details to improve (optimizations, fewer errors, better error messages, etc) 30 | 31 | [#63209]: https://github.com/rust-lang/rust/pull/63209 32 | 33 | ### lang team - Josh Triplett 34 | 35 | * async/await status (see niko's update) 36 | * [Stabilizing `#[non_exhaustive]`](https://github.com/rust-lang/rust/issues/44109) 37 | * [Raw reference syntax](https://github.com/rust-lang/rfcs/pull/2582) status 38 | * Hoping to accept for nightly implementation Real Soon Now, so people can start using it to write "future proof" unsafe code 39 | * Private remarks on roadmap 40 | 41 | ### crates.io team - Sean 42 | 43 | * SSL certificate issues (https://github.com/rust-lang/rust/issues/63510) 44 | * Index inconsistencies 45 | * Private remarks 46 | 47 | ### dev tools team - Manish 48 | 49 | * No updates 50 | 51 | ### moderation team 52 | 53 | ### release team - Mark 54 | 55 | * Release is on-schedule; [blog post PR](https://github.com/rust-lang/blog.rust-lang.org/pull/397) 56 | 57 | ### infra team - Pietro 58 | 59 | * The team repo's CI is now fixed 60 | * GitHub Actions and GitHub Package Registry beta features are enabled on our orgs 61 | * not recommended for wider use though, as it's in beta still 62 | * Not much progress on 4 core builders last week unfortunately 63 | * Private remarks 64 | 65 | ### cli domain wg - Pascal 66 | 67 | * No updates 68 | 69 | ### embedded domain wg - James 70 | 71 | * Waiting for Freenode feedback from Steve K 72 | * Looking at embedded-hal traits (specifically digital::v2) 73 | 74 | ### async ecosystem wg 75 | 76 | * No updates 77 | 78 | ### wasm domain wg 79 | 80 | * No updates 81 | 82 | ### secure code wg 83 | 84 | * No updates 85 | 86 | ### game dev wg 87 | 88 | * No updates 89 | 90 | ### library team - Alex 91 | 92 | * No updates 93 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-08-28.md: -------------------------------------------------------------------------------- 1 | # Rust Project Leadership Sync Meeting 2 | 3 | ## Teams 4 | 5 | ### Core team -- Niko Matsakis 6 | 7 | - no meeting last week, no major updates 8 | 9 | ### Community team 10 | 11 | ### Governance -- Niko Matsakis 12 | 13 | - triage meeting was quiet 14 | - considering organizing a dedicated meeting around github access rights, affects many teams 15 | - will post something 16 | - some folks interested: Josh 17 | - Josh: maybe include reviewer scope in this meeting? 18 | - i.e., the team is big enough, maybe worth formalizing who the right person is to r? 19 | - Would like to have documentation of who has expertise in various areas; currently mostly tribal knowledge. 20 | - Document how to set yourself on vacation and not get review requests 21 | - Should use existing formats to document reviewers where possible 22 | - [An issue is already open on this.](https://github.com/rust-lang/infra-team/issues/24) 23 | 24 | ### Compiler team -- Niko Matsakis 25 | 26 | - no meeting last week, rust conf 27 | - stabilized async-await on nightly :tada: 28 | 29 | ### lang team - Josh Triplett 30 | 31 | - Requirements/guidelines for additions to the prelude? 32 | - Ongoing discussion about adding `HashMap` to the prelude. 33 | - Want to establish general requirements or guidelines for when and how to add things. 34 | - Need more strict requirements for traits (due to potential breakage), but adding types shouldn't break anything 35 | - Who should make the decision, and who should advise? 36 | - Would like to avoid making this specific item wait on the development of fully general/mechanical requirements 37 | 38 | ### crates.io team 39 | 40 | * No Updates 41 | 42 | ### dev tools team 43 | 44 | * No Updates 45 | 46 | ### moderation team 47 | 48 | * Not present 49 | 50 | ### release team - Mark 51 | 52 | * no updates 53 | 54 | ### infra team - Pietro 55 | 56 | * Work is being done to address long-standing infra issues. 57 | * Still no progress on 4 core builders. 58 | * Private remarks. 59 | 60 | ### cli domain wg - Pascal 61 | 62 | * No Updates 63 | 64 | ### embedded domain wg - James 65 | 66 | * RustConf! 67 | * Docs.rs Stress 68 | * Docs are slow to build for embedded crates 69 | * https://github.com/rust-lang/rust/issues/58849#issuecomment-484278355 70 | * This causes slow build times, bad story for others 71 | * https://github.com/rust-lang/docs.rs/issues/335 72 | * https://github.com/rust-lang/docs.rs/issues/343 73 | * Yet another issue on the docs.rs infrastructure itself (added by Pietro) 74 | * [PR to fix slow S3 uploads is up.](https://github.com/rust-lang/docs.rs/pull/393) 75 | * Credit to Mark Simulacrum for latest work on docs.rs 76 | * Private Remarks 77 | 78 | ### async ecosystem wg - Yosh 79 | 80 | * Moved to bi-weekly meeting schedule. 81 | * Moved off sprints after 2, 6-week sprints 82 | * meeting is more of a "check-in" point for people to post updates on projects in/around the async space 83 | * First meeting in 3 weeks this week b/c RustConf. 84 | * More effort into documenting ecosystem (: 85 | * Major releases of async-related projects: 86 | * [Surf HTTP client release](https://github.com/rustasync/surf) 87 | * [async-rs/async-std release](https://async.rs/blog/announcing-async-std/) 88 | * [tokio alpha release](https://tokio.rs/blog/2019-08-alphas/) 89 | 90 | ### wasm domain wg 91 | 92 | ### secure code wg - Tony 93 | 94 | * Published advisory on spin as part of the [Safety Dance](https://github.com/rust-secure-code/safety-dance) 95 | * Help with `Vec::append_from_within()` RFC? 96 | * https://github.com/rust-lang/rfcs/pull/2714 -- opened in June 97 | * would give a safe pattern to a problem accounting for >50% of problems found thus far 98 | 99 | ### game dev wg 100 | 101 | ### library team 102 | 103 | ### questions for others 104 | 105 | * Question from Niko: there was some discussion about the need to extend cargo/crates.io to incorporate the concept of "vetted crates" in some way, so as to enable people to build more secure code with long lists of dependencies (perhaps similar to cargo-crev). Wanted to highlight here with team leads and suggest people can contact me if that's of interest, though I wouldn't be driving this. =) 106 | 107 | * Private remarks from Josh 108 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-09-12.md: -------------------------------------------------------------------------------- 1 | # Rust Project Leadership Sync Meeting 2 | 3 | ## Teams 4 | 5 | ### Core team (Niko) 6 | 7 | * Got #rust registered on freenode 8 | * Checking a lot of legal issues 9 | * GDPR 10 | * Copyrights of submitters 11 | * ... 12 | * roadmap process -- hoping to kick off something soon-ish 13 | * survey process 14 | 15 | ### Community team (Florian) 16 | 17 | * Working as usual 18 | * Most were on holidays after Rustconf 19 | 20 | ### Governance 21 | 22 | * considering a meeting plan for github access rights 23 | * who should attend? 24 | 25 | ### Compiler team (Niko) 26 | 27 | - [NLL migration plan](https://gist.github.com/Mark-Simulacrum/ff49698b6bffc5a40bf9c20ec255d619) 28 | - want a team blog where we can post announcements and updates from Rust teams, how can we make this happen? 29 | - [Someone willing to review this?](https://github.com/rust-lang/blog.rust-lang.org/pull/402) 30 | 31 | ### Lang team - Josh Triplett 32 | 33 | - Process improvement initial steps: [Shepherds 3.0](http://smallcultfollowing.com/babysteps/blog/2019/09/11/aic-shepherds-3-0/) - Niko 34 | - Plan to discuss in lang team 35 | - Many aspects may generalize to other teams; will report how this goes. 36 | 37 | ### crates.io team - Sean Griffin 38 | 39 | - Roadmap RFC soon 40 | - Discussions beginning around increasing security of publishes 41 | 42 | ### dev tools team - Manish 43 | 44 | - No news 45 | 46 | ### moderation team 47 | 48 | ### release team 49 | 50 | - No news 51 | 52 | ### infra team -- Pietro 53 | 54 | - We got basic monitoring and alerting setup for our servers. 55 | - First Crater on Windows run started! :tada: 56 | - The docs.rs build environment will change in the next few weeks. 57 | - Private remarks. 58 | 59 | ### cli domain wg - Pascal 60 | 61 | - No news 62 | 63 | ### embedded domain wg - James 64 | 65 | * Interesting RFC: `core-mutex` - Mutex as a trait 66 | * https://github.com/rust-embedded/wg/pull/377 67 | * Interesting RFC: "focus-projects", based on Niko's chats, shepherds 1.x-2.x 68 | * https://github.com/rust-embedded/wg/pull/378 69 | * Originally based on http://smallcultfollowing.com/babysteps/blog/2019/07/10/aic-unbounded-queues-and-lang-design 70 | * I now need to revise based on http://smallcultfollowing.com/babysteps/blog/2019/09/11/aic-shepherds-3-0/ :) 71 | * Private Thoughts 72 | 73 | ### async ecosystem wg 74 | - Yosh had to cancel meeting at the last minute (sorry!!) 75 | - We've decided to more carefully assign roles on the GitHub org 76 | - new roles: "review + commit" vs "publish" 77 | - per-repo primary contacts 78 | - No more RFC process for Tide, because it wasn't working well for us 79 | - Going to bring back rustasync.github.com for content 80 | - Meeting again tomorrow (bi-weekly, day after this meeting hah) 81 | 82 | ### wasm domain wg 83 | 84 | ### secure code wg 85 | 86 | ### game dev wg 87 | 88 | ### Library team - Alex 89 | 90 | * Small progress on "Fix Error trait" [RFC 2504](https://github.com/rust-lang/rust/issues/53487) by adding an unstable `std::backtrace` module [rust-lang/rust#64154](https://github.com/rust-lang/rust/pull/64154) 91 | 92 | ### Cargo team - Alex 93 | 94 | * Initial implementation of "std aware" Cargo landed as `-Z build-std` - [rust-lang/cargo#7216](https://github.com/rust-lang/cargo/pull/7216) 95 | * Question: Minimum Rust Version status? -- yes, would like to do some minimal version of this as a start 96 | * Talking a lot within the team about "Minimum Supported Rust Version" (MSRV) recently, looking to make progress on a [proposed RFC](https://github.com/rust-lang/rfcs/pull/2495) in a minimal capacity and we are actively seeking feedback from stakeholders about the RFC and next steps. 97 | 98 | ## other topics to raise 99 | 100 | * team blog planning 101 | * https://github.com/rust-lang/blog.rust-lang.org/pull/402 102 | * what do we want before launching? 103 | * maybe some initial notes on the expected usage? 104 | * how do you pick between this blog and the main one? 105 | * audience: is it targeting "contributors" or "potential contributors" or "general rust audience" 106 | * a few sample blog posts? 107 | * secure code wg might be up for that 108 | * docs.rs changes -- probably 109 | * compiler team 110 | * what about cross posting 111 | * the voice should be "from the team" 112 | * need some review on the UI side of things 113 | * also technical 114 | * maybe need a policy around blogging on the main blog, too 115 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-09-25.md: -------------------------------------------------------------------------------- 1 | # Rust Project Leadership Sync Meeting 2 | 3 | ## Teams 4 | 5 | ### Core team - Niko 6 | 7 | - Roadmap process e-mail sent out 8 | - All Hands 2020 planning getting started 9 | - Rust Survey 10 | 11 | ### Community team 12 | 13 | ### Governance - Niko 14 | 15 | - [draft of a blog policy](https://github.com/rust-lang/wg-governance/issues/23) 16 | - Private remarks 17 | 18 | ### Compiler team - Niko 19 | 20 | - NLL (MIR borrowck) will be on all editions as hard error soon 21 | - https://github.com/rust-lang/rust/pull/64221 22 | - async await is on beta and still stable :) 23 | - had a meeting about target tiers, trying to create a coherent policy 24 | - [minutes from meeting][target-tier] 25 | 26 | [target-tier]: https://rust-lang.github.io/compiler-team/minutes/design-meeting/2019-09-20-target-tier-policy/) 27 | 28 | ### Lang team - Josh 29 | 30 | - [RFC 2753][rfc-2753] is a current priority 31 | - good poster child for some of the challenges with existing RFC process 32 | 33 | [rfc-2753]: https://github.com/rust-lang/rfcs/pull/2753 34 | 35 | ### crates.io team - Sean (likely not online, napping baby in room) 36 | 37 | - DB maintenance next Friday. Expected impact is a few seconds of read only mode. No public comms planned, as it shouldn't end up being noticed by users 38 | 39 | ### dev tools team - Manish 40 | 41 | ### moderation team 42 | 43 | ### release team - Mark 44 | 45 | - [release blog review](https://github.com/rust-lang/blog.rust-lang.org/pull/405) 46 | - Mark is running release: will start at approximately 9:10 ET, released 10:20 or so. 47 | 48 | ### infra team - Pietro 49 | 50 | - New Crater agent sponsored by Microsoft :tada: 51 | - docs.rs breaking changes will be deployed on Monday 30th 52 | - Progress is being made torwards 4 core builders for rustc 53 | 54 | ### cli domain wg 55 | 56 | ### embedded domain wg - James 57 | 58 | * Same RFCs as last time 59 | * Mutex Trait for no_std usage - https://github.com/rust-embedded/wg/pull/377 60 | * Shepherding and Projects process - https://github.com/rust-embedded/wg/pull/378 61 | * Some struggles with keeping permissions and teams up to date 62 | * James to reach out to Pietro 63 | 64 | ### async ecosystem wg - Yosh 65 | 66 | - No notable updates (last meeting was really short) 67 | - Meeting tomorrow 68 | - One more update that's not public yet 69 | 70 | ### wasm domain wg 71 | 72 | ### secure code wg - Tony 73 | 74 | - New `cargo-audit` release: team blog topic? 75 | 76 | ### game dev wg 77 | 78 | ### Library team 79 | 80 | ### Cargo team 81 | 82 | ## other topics to raise 83 | 84 | - Rust 2020 blog posts 85 | - Timeline? 86 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-10-09.md: -------------------------------------------------------------------------------- 1 | # Rust Project Leadership Sync Meeting 2 | 3 | ## Teams 4 | 5 | ### Core team 6 | - no updates 7 | 8 | ### Community team 9 | 10 | ### Governance - Niko 11 | 12 | * Had a meeting, goal is to work with teams and codify procedures 13 | * Forge as a place to house these sorts of documented procedures, with links from other places 14 | * Access rights meeting 15 | * "Inside Rust" blog is live! 16 | 17 | ### Compiler team - Niko 18 | 19 | * Had a meeting about Roadmap goals and the biggest problems we face 20 | * Felix likely to join as co-lead 21 | 22 | ### Lang team - Niko 23 | 24 | * Dedicated group around RFC 2753 getting started ("ffi unwind") 25 | * No major updates at the moment 26 | 27 | ### crates.io team 28 | 29 | * No updates 30 | 31 | ### dev tools team 32 | 33 | ### moderation team 34 | 35 | ### release team - Mark 36 | 37 | * no updates 38 | 39 | ### infra team - Pietro 40 | 41 | * Pietro is now co-leading the infrastructure team. 42 | * docs.rs breaking changes deployed, not many regressions. 43 | * Private remarks. 44 | 45 | ### security team - Pietro 46 | 47 | * creating a team for responding to security issues, trying to formalize something we did informally before 48 | * we now have a security policy across the org, so when you open a new issue it points you to the right place 49 | 50 | ### cli domain wg 51 | 52 | ### embedded domain wg 53 | 54 | ### async ecosystem wg - Yosh 55 | 56 | * Core team shared blog post 57 | * Starting to move over crates 58 | * Need to follow up with areweasyncyet maintainers 59 | * Final meeting 60 | 61 | ### wasm domain wg 62 | 63 | ### secure code wg - Tony 64 | 65 | * Posted a blog post on cargo audit 66 | * doubled downloads 67 | * got interested new contributors 68 | 69 | ### game dev wg 70 | 71 | ### Library team 72 | 73 | ### Cargo team 74 | 75 | ## other topics to raise 76 | 77 | * Rust 2020 blog posts timeline? 78 | * we should get something underway asap so people have time to write! 79 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-10-23.md: -------------------------------------------------------------------------------- 1 | # Rust Project Leadership Sync Meeting 2 | 3 | ## Teams 4 | 5 | ### Core team (Niko) 6 | 7 | * Planning to get Rust 2019 survey up and going 8 | * Consider adding questions or other information to [this hackmd][survey] 9 | 10 | [survey]: https://hackmd.io/OVry1PKwQE2tk2IWDZlP8w 11 | 12 | ### Community team 13 | 14 | * Looking for a new lead 15 | 16 | ### Governance (Niko) 17 | 18 | * Blog post policies to be merged into [forge](https://forge.rust-lang.org/) 19 | * Encouraging the use of forge for documenting "team policies and procedures" 20 | 21 | ### Compiler team (Niko) 22 | 23 | * Announced LLVM ICE-breakers 24 | * This involved adding new infrastructure to support "pinging" teams 25 | * e.g., `@rustbot ping icebreakers-llvm` will ping folks and add a suitable label 26 | * Members of these teams are not required to be members of Rust org 27 | * Might be something that other teams wish to use 28 | * Had a meeting last week: 29 | * Having trouble maintaining debuginfo. Not sure what to do about it. 30 | * pnkfelix to be confirmed soon as co-lead 31 | 32 | ### Lang team (Niko) 33 | 34 | * ffi-unwind remains a major effort 35 | * considering stabilizing `!` 36 | * last lingering controversy is whether to change fallback behavior 37 | * there remains work in the ecosystem to prepare for such a change (most notably by the [objc crate](https://github.com/rust-lang/rust/pull/65355#issuecomment-543887594)) 38 | 39 | ### crates.io team 40 | 41 | ### dev tools team 42 | 43 | ### moderation team 44 | 45 | ### release team - Mark 46 | 47 | * no major updates 48 | 49 | ### infra team - Pietro 50 | 51 | * Infra documentation on the forge! :tada: 52 | * docs.rs outage on Sunday night. 53 | * Lots of CI changes coming in the near future. 54 | * https://gist.github.com/pietroalbini/a148500adae5322a56baa8b26c37952f 55 | * Private remarks. 56 | 57 | ### security team 58 | 59 | ### cli domain wg 60 | 61 | ### embedded domain wg - James 62 | 63 | * LLD Linker Script Regression 64 | * https://github.com/rust-lang/rust/issues/65391 65 | * exposes the limits of our testing infra around bare-metal embedded 66 | * Aliasing Reference UB - https://github.com/rust-lang/rust/issues/55005 67 | * Our potential responses (if not fixed upstream): https://github.com/rust-embedded/wg/pull/387 68 | * https://github.com/japaric/volatile-register/issues/10 69 | * https://github.com/japaric/vcell/issues/10 70 | * https://github.com/rust-console/voladdress 71 | * https://github.com/rust-lang/unsafe-code-guidelines/issues/33 72 | * WG-Embedded Label for triage? 73 | * We get this for free if WG-Embedded switches to teams 74 | * Other option is `@rustbot ping` CC Niko 75 | * depends how "open ended" you want the set of pingable folk to be, basically 76 | 77 | ### async ecosystem wg 78 | 79 | ### wasm domain wg 80 | 81 | ### secure code wg - Tony 82 | 83 | * pcwalton's "left-pad index": https://internals.rust-lang.org/t/calculating-which-3rd-party-crates-are-good-candidates-for-std-inclusion-via-left-pad-index/11129 84 | * `std` PRs: 85 | * matches: https://github.com/rust-lang/rust/pull/65479 86 | * once_cell: https://github.com/rust-lang/rfcs/pull/2788 87 | 88 | ### game dev wg 89 | 90 | ### Library team 91 | 92 | ### Cargo team 93 | 94 | ## other topics to raise 95 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-11-06.md: -------------------------------------------------------------------------------- 1 | # Rust Project Leadership Sync Meeting 2 | 3 | ## Teams 4 | 5 | ### Core team (Niko) 6 | 7 | * call 2020 roadmap blogposts went out 8 | * survey hopefully to start soon 9 | 10 | ### Community team 11 | 12 | ### Governance (Niko) 13 | 14 | * new plan :) you'll see blog posts :) 15 | 16 | ### Compiler team (Niko) 17 | 18 | * no major updates 19 | 20 | ### Lang team (Josh) 21 | 22 | * we are in the process of going back over a number of older RFCs that have laid idle 23 | * want to get out of the state where we have dozens of RFCs that haven't been touched in months 24 | * looking to revisit some of the discussions that got postponed, in part due to lack of energy 25 | * continuing to make incremental steps towards "shepherds process" 26 | * want to try to be more transparent about the "work queue" of 27 | each team member, to help people understand where proposals 28 | stand 29 | * working to address a [dyn trait soundness fix](https://github.com/rust-lang/rust/issues/57893) 30 | * may want a change coupled with an edition, but still unclear 31 | 32 | ### crates.io team 33 | 34 | not present 35 | 36 | ### dev tools team (Pascal) 37 | 38 | * [clippy is removing its plugin interface][c] 39 | 40 | [c]: https://blog.rust-lang.org/inside-rust/2019/11/04/Clippy-removes-plugin-interface.html 41 | 42 | ### moderation team 43 | 44 | not present 45 | 46 | ### release team (Mark) 47 | 48 | * we have a release tomorrow ([blogpost](https://github.com/rust-lang/blog.rust-lang.org/pull/444)) 49 | * release simultaneously with [async-await is stable][aas] blog post 50 | 51 | [aas]: https://github.com/rust-lang/blog.rust-lang.org/pull/443 52 | 53 | ### infra team (Pietro) 54 | 55 | * perf server -- we are moving to a co-location setup 56 | 57 | ### Library team (Alex) 58 | 59 | * no updates 60 | 61 | ### security response wg (Pietro) 62 | 63 | * no updates 64 | 65 | ### cli domain wg (Pascal) 66 | 67 | * discussing what to do next year 68 | 69 | ### embedded domain wg 70 | 71 | * not present 72 | 73 | ### wasm domain wg 74 | 75 | * no updates 76 | 77 | ### secure code wg 78 | 79 | * not present 80 | 81 | ### game dev wg 82 | 83 | * not present 84 | 85 | ### Cargo team (nrc) 86 | 87 | * no updates 88 | 89 | ## other topics to raise 90 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-11-20.md: -------------------------------------------------------------------------------- 1 | # Rust Project Leadership Sync Meeting 2 | 3 | ## Instructions 4 | 5 | ### In the leadup to the meeting 6 | 7 | Prior to or during the meeting, jot down a few notes for your team. When it comes time to speak, it is best to focus on **upcoming** or **future plans**, in particular those that may have a cross-cutting nature. 8 | 9 | If you have private remarks that you don't want to be in the minutes, feel free to just write nothing or to write something like "private remarks". 10 | 11 | Since we don't have a lot of time per team, please avoid getting into the details. Ping the speaker after the meeting if you want to follow-up with questions. 12 | 13 | Feel free to add more announcements than those you plan to speak about out loud. For example, you might jot down notable developments from the week. 14 | 15 | ### As you join the meeting 16 | 17 | Add your name to the appropriate team or working group that you are representing below. 18 | 19 | ### After the meeting 20 | 21 | At the end of each meeting, we will lightly edit these minutes as needed and then copy them into a repository, clearing this document for the next week. 22 | 23 | ## Teams 24 | 25 | ### core team (nikomatsakis) 26 | 27 | * roadmap planning 28 | * we've been reviewing the #rust2020 blog posts 29 | * planning to have a meeting very early in December to discuss and try to pull our major themes, goals 30 | * will bring those results to the teams (and this meeting) to try and figure out how they apply to particular teams 31 | * aiming to do a roadmap that is more "cohesive" than last year's, which was kind of a concatenation of many different roadmaps 32 | * rust survey update 33 | * #rust-survey-2020 on rust-lang zulip [link](https://rust-lang.zulipchat.com/#narrow/stream/214615-rust-survey-2020) 34 | * draft is very similar to last year 35 | * caution around holiday breakage 36 | * in previous years, we sometimes had breakage right before xmas -- people would then try rustc over xmas break and find it broken. Not a good look. 37 | * Maybe it makes sense to institute a "no toolstate breakage" policy in the week before xmas? Or just be careful in what you merge. Would have to coordinate with folks doing rollups. 38 | 39 | ### community team 40 | 41 | ### governance (XAMPPRocky) 42 | 43 | * following up on our [call for participation](https://blog.rust-lang.org/inside-rust/2019/11/13/goverance-wg-cfp.html) 44 | * Updating RFC 1068 to include current teams and structure. 45 | * Creating RFC for a formal access policy. [(draft)](https://github.com/rust-lang/wg-governance/issues/4#issuecomment-520193578) 46 | * Creating RFC codifying "Working Group" and "Project Group" terminology. [(draft)](https://github.com/rust-lang/wg-governance/blob/master/draft-rfcs/working-group-terminology.md) 47 | 48 | ### compiler team (nikomatsakis) 49 | 50 | * upcoming planning meeting tomorrow to plan design meetings for the next 3 weeks 51 | * if you have things for compiler team to discuss, consider creating a proposal 52 | * did a retrospective on compiler team working groups 53 | * [minutes available here](https://rust-lang.github.io/compiler-team/minutes/design-meeting/2019-11-16-Working-Group-Retrospective/) 54 | * one of the key takeaways was that we plan to have team leads (and maybe other folks) actively mentor wg leads to try and develop roadmaps 55 | * niko is gone next week 56 | 57 | ### lang team (nikomatsakis) 58 | 59 | * working on a proposal around "stage0" of the RFC process 60 | * ["shepherded rfcs"](https://github.com/nikomatsakis/project-staged-rfcs/blob/master/rfcs/0001-shepherded-rfcs.md) 61 | * [clippy uplift](https://github.com/rust-lang/rust/issues/53224#issuecomment-482334580) 62 | * proposed to move towards individual PRs for specific uplift 63 | * goal is to have a "quick review process" 64 | * clippy team's take? 65 | * some preliminary investigation into how to address some of the [shortcomings that Microsoft raised](https://msrc-blog.microsoft.com/2019/11/07/using-rust-in-windows/) 66 | * notably safe unions 67 | * other shepherded items: 68 | * there is a [soundness hole around `dyn Trait`](https://github.com/rust-lang/rust/issues/57893) that we have been working to fix 69 | * this may require an edition-like transition 70 | * specifically, one would declare traits that can be made into `dyn` with `dyn trait Foo { .. }` 71 | * but in Rust 2018 it would work as now, with traits implicitly made "dyn capable" 72 | * modulo the soundness bug :) 73 | 74 | ### crates.io team (Pietro) 75 | 76 | * DNS switch + CloudFront for the crates.io domain happened today. 77 | 78 | ### dev tools team 79 | 80 | - New rustup release soon 81 | - New lockfile format soon 82 | - Potentially new docs.rs team ([PR to teams repo](https://github.com/rust-lang/team/pull/182)) 83 | 84 | ### moderation team 85 | 86 | ### release team (Mark) 87 | 88 | * beta triage went well ([current list](https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3Aregression-from-stable-to-beta)) 89 | * crater (https://github.com/rust-lang/rust-forge/pull/278) 90 | 91 | ### infra team (Pietro) 92 | 93 | * Got the new perf server! 94 | * GitHub Actions [Inside Rust Blog Post](https://blog.rust-lang.org/inside-rust/2019/11/14/evaluating-github-actions.html) :tada: :tada: :tada: 95 | * Private remarks. 96 | 97 | ### security response working group (pietro) 98 | 99 | * No update. 100 | 101 | ### cli domain wg 102 | 103 | ### embedded domain wg (James) 104 | 105 | * Landed [Mutex Trait RFC](https://github.com/rust-embedded/wg/pull/377) 106 | * https://github.com/rust-embedded/wg/blob/master/rfcs/0377-mutex-trait.md 107 | * Re-organizing some Repos: 108 | * Embedded-HAL: splitting up the traits 109 | * Books: Consolodating the books to remove duplicate work 110 | * How to keep up to date w/ upstream 111 | * James to follow up with Mark 112 | 113 | ### wasm domain wg 114 | 115 | ### secure code wg (Tony) 116 | 117 | * No update 118 | 119 | ### game dev wg 120 | 121 | ### library team 122 | 123 | ### cargo team 124 | 125 | ## other topics to raise 126 | 127 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-12-04.md: -------------------------------------------------------------------------------- 1 | # Rust Project Leadership Sync Meeting 2 | 3 | ## Instructions 4 | 5 | ### In the leadup to the meeting 6 | 7 | Prior to or during the meeting, jot down a few notes for your team. When it comes time to speak, it is best to focus on **upcoming** or **future plans**, in particular those that may have a cross-cutting nature. 8 | 9 | If you have private remarks that you don't want to be in the minutes, feel free to just write nothing or to write something like "private remarks". 10 | 11 | Since we don't have a lot of time per team, please avoid getting into the details. Ping the speaker after the meeting if you want to follow-up with questions. 12 | 13 | Feel free to add more announcements than those you plan to speak about out loud. For example, you might jot down notable developments from the week. 14 | 15 | ### As you join the meeting 16 | 17 | Add your name to the appropriate team or working group that you are representing below. 18 | 19 | ### After the meeting 20 | 21 | At the end of each meeting, we will lightly edit these minutes as needed and then copy them into a repository, clearing this document for the next week. 22 | 23 | ## Teams 24 | 25 | ### core team (Mark) 26 | 27 | * [survey published](https://blog.rust-lang.org/2019/12/03/survey-launch.html) 28 | * all hands dates and location set (will receive an email in the future about that) 29 | 30 | ### community team 31 | 32 | ### governance (nikomatsakis) 33 | 34 | * tie access rights to Rust team repo (and the gh teams created by it) 35 | * try to consolidate on the rust-lang org except for domain working groups 36 | * next week's topic: a staged RFC proposal 37 | 38 | ### compiler team (nikomatsakis) 39 | 40 | * maybe consider a meeting with release team triage? 41 | 42 | ### lang team (Josh) 43 | 44 | * no update 45 | 46 | ### crates.io team 47 | 48 | ### dev tools team 49 | 50 | ### moderation team 51 | 52 | ### release team (Mark) 53 | 54 | * no major updates 55 | 56 | ### infra team (pietro) 57 | 58 | * [GitHub Actions is building Linux and Windows on the test repo](https://github.com/rust-lang/rust-gha/commit/d9b6712b6d102181f7d8fa53b9db415757300e64/checks?check_suite_id=332181608) 59 | * Around 1 hour and 20 minutes for every builder 60 | * We'll still need to probably run macOS on Azure 61 | * In that case that's going to be the bottleneck (around 2 hours) 62 | 63 | ### security response working group (pietro) 64 | 65 | * no updates 66 | 67 | ### cli domain wg 68 | 69 | ### embedded domain wg 70 | 71 | ### wasm domain wg 72 | 73 | ### secure code wg (bascule) 74 | 75 | * no updates 76 | 77 | ### game dev wg 78 | 79 | ### library team 80 | 81 | ### cargo team 82 | 83 | ## other topics to raise 84 | 85 | * are these meetings sufficient value to justify the sync cost? 86 | * maybe we want to send an e-mail to survey people's take 87 | * consider some alternative format or time 88 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/2019-12-18.md: -------------------------------------------------------------------------------- 1 | # Rust Project Leadership Sync Meeting 2 | 3 | ## Topic 4 | 5 | In today's meeting, we diverted from the "status update" format 6 | and instead had a conversation about how best to have this meeting 7 | going forward. The consensus was that the current format didn't 8 | seem optimal, and we decided to experiment with an alternative: 9 | 10 | * Create two zulip streams to use for async communication 11 | * team leads (public) -- preferred choice, public 12 | * team leads (private) -- private stream, no history 13 | * We can give major updates or raise questions there 14 | * We have another sync meeting scheduled for 1 month from now to review 15 | 16 | ## Notes 17 | 18 | * We could do regular updates in some async fashion but do regular posts to the blog 19 | * These don't have to be compiled, teams could update separately and post to blog 20 | * already happening to some extent 21 | * (but does everyone read?) 22 | * Other forms of communication? 23 | * In this meeting, WG asking the teams for things 24 | * Communication between teams, particularly around technical things 25 | * In principle core team might do this but 26 | * This could well be handled by a separate stream 27 | * Zulip might be better because topics 28 | * maybe a private steam? maybe a public/private stream? 29 | * Observation 30 | * since meeting started, Niko (and simulacrum) feel somewhat better informed 31 | * but we've tended towards "larger" events in these meetings, maybe a lighter weight forum might allow for something else 32 | * maybe there are specific pairings (e.g., embedded+lang) that should be in more common conversation 33 | * Topics at the interesction of technical + social 34 | * interesting to have a place where one can make observations that you wouldn't want to make properly 35 | * private stream for team leads might help 36 | * specifically, one without full history 37 | * would people be interested in "mediation consultations" 38 | * having a defined escalation path might be helpful 39 | * Specific proposal that seems to be gaining currency 40 | * team leads (public) 41 | * team leads (private) 42 | * Document purpose of channels 43 | * and especially privacy expectations from "private" channel 44 | * Could also be used for teams to communicate with one another 45 | * e.g., no place for a team member to go and see "what is changing" for the teams and for the project 46 | * some kind of "announcement"-like channel 47 | * kind of a twitter 48 | * could be on Discord, since not everybody uses it 49 | * Can we bridge? 50 | * Maybe but skepticism 51 | * But also a desire not to force people to use Zulip 52 | * But it's not clear if a discord will work in the same way 53 | * This has always been an experiment, always the option to eagerly create and see how it goes 54 | * maybe we schedule next meeting for 1 month 55 | * in the meantime, create two zulip streams as an experiment 56 | -------------------------------------------------------------------------------- /minutes/project-leadership-sync/README.md: -------------------------------------------------------------------------------- 1 | The "sync meeting" is a meeting held on a weekly basis amongst the 2 | leads of major teams and working groups. It gives team leads a chance 3 | to synchronize about upcoming things and to discuss sensitive topics. 4 | Minutes of the meeting are stored in this directory. 5 | --------------------------------------------------------------------------------