diff --git a/README.md b/README.md index 48563a6..ecb794c 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,9 @@ The Beman Project’s [mission](docs/MISSION_STATEMENT.md) is to **support the e ### Community -We have two principle audiences: Library Developers and the C++ community. We want to allow Library Developers to have a clear path on the road to Standardization. And we want to make it easy for the C++ community to use these libraries to ensure we have real world usage. +We have two principle audiences: Library Developers and the C++ community. +We want to allow Library Developers to have a clear path on the road to Standardization. +And we want to make it easy for the C++ community to use these libraries to ensure we have real world usage. ### Governance @@ -20,20 +22,19 @@ This project is organized by our [Governance structure](docs/GOVERNANCE.md). ### Participating and contributing -We welcome all to participate in the Beman project through -[Discourse](https://discourse.boost.org/t/welcome-to-beman-project-development/3) discussions or GitHub contributions. Our discourse community is the best way to stay up to -date with the most recent developments. +We welcome all to participate in the Beman project through [Discourse](https://discourse.boost.org/t/welcome-to-beman-project-development/3) discussions or GitHub contributions. Our discourse community is the best way to stay up to date with the most recent developments. -If you are looking for ways to contribute code, see the open issues of [bemanproject repositories](https://github.com/orgs/bemanproject/repositories). The [beman repository's issue list](https://github.com/bemanproject/beman/issues), in particular, has implementation requests for various papers. Issues marked with `good first issue` are perfect for new -contributors and usually have an assigned mentor. Don't hesitate to post on discourse with any questions. +If you are looking for ways to contribute code, see the open issues of [bemanproject repositories](https://github.com/orgs/bemanproject/repositories). +The [beman repository's issue list](https://github.com/bemanproject/beman/issues), in particular, has implementation requests for various papers. +Issues marked with `good first issue` are perfect for new contributors and usually have an assigned mentor. Don't hesitate to post on discourse with any questions. -Please refer to our [code of conduct](/docs/CODE_OF_CONDUCT.md) and the -[Beman standard](/docs/BEMAN_STANDARD.md) for further information about the community and +Please refer to our [code of conduct](/docs/CODE_OF_CONDUCT.md) and the [Beman standard](/docs/BEMAN_STANDARD.md) for further information about the community and development guidelines. ### FAQ -Questions? Maybe they have already been answered in our [FAQ](docs/FAQ.md). +Questions? +Maybe they have already been answered in our [FAQ](docs/FAQ.md). ### About the Name @@ -41,7 +42,7 @@ The Beman project is named in memory of Beman Dawes - co-founder of [Boost](http ## Getting Started -``` +```bash $ git clone https://github.com/beman-org/beman.git $ cd beman $ cmake -S . -B build @@ -57,11 +58,14 @@ $ ctest --test-dir build *Default*: OFF -By default, the CMake workflow in this repo will clone and build all constituent libraries from git refs as specified in `git_tag` fields in `libraries.json`. If you would instead like to get the *latest* of each library, provide `-DBEMAN_USE_MAIN_BRANCHES=ON` when configuring your CMake build. Be aware that `BEMAN_USE_MAIN_BRANCHES=ON` can result in a less stable user experience as some versions of some libraries may not be published or even fully tested yet. +By default, the CMake workflow in this repo will clone and build all constituent libraries from git refs as specified in `git_tag` fields in `libraries.json`. +If you would instead like to get the *latest* of each library, provide `-DBEMAN_USE_MAIN_BRANCHES=ON` when configuring your CMake build. +Be aware that `BEMAN_USE_MAIN_BRANCHES=ON` can result in a less stable user experience as some versions of some libraries may not be published or even fully tested yet. ## Adding a Library -Libraries are enumerated in `libraries.json` in this repository. To add a library to The Beman Project, create a pull request adding a new object to the `libraries` field in that JSON file. +Libraries are enumerated in `libraries.json` in this repository. +To add a library to The Beman Project, create a pull request adding a new object to the `libraries` field in that JSON file. ### Library Object JSON Schema @@ -88,16 +92,19 @@ A *unique*, logical name for the library. *Type*: String -A URL for cloning the repository containing the library. This URL does not need to be part of the `bemanproject` GitHub organization, or even on GitHub as long as the repo is publicly accessible for cloning. +A URL for cloning the repository containing the library. +This URL does not need to be part of the `bemanproject` GitHub organization, or even on GitHub as long as the repo is publicly accessible for cloning. #### `git_tag` *Type*: String -A git reference (tag, branch, commit, etc.) that contains a known-working version of the provided library. It is recommended to keep this field up-to-date as the library project and its associated paper evolves. +A git reference (tag, branch, commit, etc.) that contains a known-working version of the provided library. +It is recommended to keep this field up-to-date as the library project and its associated paper evolves. #### `default_branch` *Type*: String -The default branch of the library repository, such as `main`. This will be used in workflows where users want the *latest* version of every library, regardless of whether the libraries work, either individually or integrated together. +The default branch of the library repository, such as `main`. +This will be used in workflows where users want the *latest* version of every library, regardless of whether the libraries work, either individually or integrated together. diff --git a/docs/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md index 9cd5cd2..118c837 100644 --- a/docs/CODE_OF_CONDUCT.md +++ b/docs/CODE_OF_CONDUCT.md @@ -6,124 +6,113 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception ## Guidelines -The Beman Project community works to be welcoming and kind among itself and to others, -with a deep commitment to psychological safety, and we want to ensure that -doesn’t change as we grow and evolve. To that end, we have a few ground rules -that we ask all community members to adhere to: - -- be welcoming, -- be friendly and patient, -- be considerate, -- be kind, -- be careful in the words that we choose, -- when we disagree, try to understand why, and -- recognize when progress has stopped, and take a step back. - -This list isn't exhaustive. Rather, take it in the spirit in which it’s intended --- a guide to make it easier to communicate and participate in the community. - -This code of conduct applies to all spaces managed by the Beman Project. This -includes chat systems, forums, emails (on lists or between members), issue -trackers, events, and any other spaces that the community uses for -communication. It applies to all of your communication and conduct in these -spaces, including emails, chats, things you say, slides, videos, posters, signs, -or even t-shirts you display in these spaces. +The Beman Project community works to be welcoming and kind among itself and to others, with a deep commitment to psychological safety, and we want to ensure that doesn’t change as we grow and evolve. +To that end, we have a few ground rules that we ask all community members to adhere to: + +* be welcoming, +* be friendly and patient, +* be considerate, +* be kind, +* be careful in the words that we choose, +* when we disagree, try to understand the reason +* recognize when progress has stopped, and take a step back. + +This list isn't exhaustive. +Rather, take it in the spirit in which it’s intended -- a guide to make it easier to communicate and participate in the community. + +This code of conduct applies to all spaces managed by the Beman Project. +This includes chat systems, forums, emails (on lists or between members), issue trackers, events, and any other spaces that the community uses for communication. +It applies to all of your communication and conduct in these spaces, including emails, chats, things you say, slides, videos, posters, signs, or even t-shirts you display in these spaces. All community members should help support our standards of acceptable behavior. -Everyone is encouraged to speak up in response to any behavior that they deem -inappropriate, threatening, offensive, or harmful. If you believe someone is -violating the code of conduct, please report it to the +Everyone is encouraged to speak up in response to any behavior that they deem inappropriate, threatening, offensive, or harmful. +If you believe someone is violating the code of conduct, please report it to the [conduct team](#conduct-team). More detailed guidance on how to participate effectively in our community spaces: -- **Be welcoming.** We strive to be a community that welcomes and supports - people of all backgrounds and identities. This includes, but is not limited - to, members of any race, ethnicity, culture, national origin, color, - immigration status, social and economic class, educational level, sex, - sexual orientation, gender identity and expression, physical appearance, - age, size, family status, relationship status, political belief, religion or - lack thereof, and mental and physical ability. - -- **Be friendly and patient.** We want to encourage people to participate in - our community in a constructive manner, so we can keep a friendly - atmosphere. This is especially important because many of our communication +* **Be welcoming.** + + We strive to be a community that welcomes and supports + people of all backgrounds and identities. + This includes, but is not limited to, members of any race, ethnicity, culture, national origin, color, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, physical appearance, age, size, family status, relationship status, political belief, religion or lack thereof, and mental and physical ability. + +* **Be friendly and patient.** + + We want to encourage people to participate in our community in a constructive manner, so we can keep a friendly atmosphere. + This is especially important because many of our communication tools on the Internet are low-fidelity and make it difficult to understand - each other. Be patient, acknowledge that we are all on a learning journey, - and stay supportive so that we can learn how to collaborate effectively as a - group. - -- **Be considerate.** Your work will be used by other people, and you in turn - will depend on the work of others. Any decision you make will affect users - and colleagues, and you should take those consequences into account. - Remember that we’re a world-wide community, so you might not be - communicating in someone else’s primary language. - -- **Be kind.** Not all of us will agree all the time, but disagreement is no - excuse for poor behavior and hurtful words. We might all experience some - frustration now and then, but we cannot allow that frustration to turn into - a personal attack. It’s important to remember that a community where people - feel threatened is not a productive one. Members of our community should be - kind when dealing with other members as well as with people outside the + each other. + Be patient, acknowledge that we are all on a learning journey, and stay supportive so that we can learn how to collaborate effectively as a group. + +* **Be considerate.** + + Your work will be used by other people, and you in turn will depend on the work of others. + Any decision you make will affect users and colleagues, and you should take those consequences into account. + Remember that we’re a world-wide community, so you might not be communicating in someone else’s primary language. + +* **Be kind.** + + Not all of us will agree all the time, but disagreement is no excuse for poor behavior and hurtful words. + We might all experience some frustration now and then, but we cannot allow that frustration to turn into + a personal attack. + It’s important to remember that a community where people feel threatened is not a productive one. + Members of our community should be kind when dealing with other members as well as with people outside the Beman Project community. -- **Be careful in the words that we choose and be kind to others.** Do not use - insults or put downs. Harassment and other exclusionary behaviors aren’t - acceptable. This includes, but is not limited to: +* **Be careful in the words that we choose and be kind to others.** + + Do not use insults or put downs. + Harassment and other exclusionary behaviors aren’t acceptable. This includes, but is not limited to: - - Violent threats or language directed against another person. - - Discriminatory jokes and language. - - Posting sexually explicit or violent material. - - Posting, or threatening to post, other people’s personally identifying + * Violent threats or language directed against another person. + * Discriminatory jokes and language. + * Posting sexually explicit or violent material. + * Posting, or threatening to post, other people’s personally identifying information without their explicit permission ("doxing"). - - Personal insults, especially those using racist or sexist terms. - - Unwelcome sexual attention. - - Advocating for, or encouraging, any of the above behavior. - - In general, if someone asks you to stop, then stop. Persisting after + * Personal insults, especially those using racist or sexist terms. + * Unwelcome sexual attention. + * Advocating for, or encouraging, any of the above behavior. + * In general, if someone asks you to stop, then stop. Persisting after being asked to stop is considered harassment. -- **When we disagree, we try to understand why.** Disagreements, both social - and technical, happen all the time. It is - important that we resolve disagreements and differing views constructively. - Remember that we’re different. The strength of the project comes from its - varied community: people from a wide range of backgrounds. Different people - have different perspectives on issues. Being unable to understand why - someone holds a viewpoint doesn’t mean that they’re wrong. Don’t forget that - it is human to err and blaming each other doesn’t get us anywhere. Instead, - focus on helping to resolve issues and learning from mistakes. - -- **Recognize when progress has stopped, and take a step back.** Regardless of - whether you're trying to resolve a disagreement or anything else, think - about whether you're making progress. Sometimes messaging doesn't give time - to think about a situation fully, and repeating positions can make people - defensive. Step back for a few minutes or hours to think through the issue - before responding again. Consider pulling in another community member to - give a fresh perspective. Maybe meet over VC instead. Switching approaches - can help resume progress. - -No weapons are allowed at Beman Project events. Weapons include, but are not limited -to, explosives (including fireworks), guns, and large knives such as those used -for hunting or display, as well as any other item used for the purpose of -causing injury or harm to others. - -In rare cases, violations of this code _outside_ of these spaces may affect, and -be detrimental to, a person’s ability to participate _within_ these spaces. -Important examples include, but are not limited to, -[sexual and gender-based violence and/or harassment](https://hr.un.org/sites/hr.un.org/files/SEA%20Glossary%20%20%5BSecond%20Edition%20-%202017%5D%20-%20English_0.pdf), -[hate crimes](https://hatecrime.osce.org/), and -[hate speech](https://www.un.org/en/genocideprevention/documents/UN%20Strategy%20and%20Plan%20of%20Action%20on%20Hate%20Speech%2018%20June%20SYNOPSIS.pdf). +* **When we disagree, we try to understand the reason.** + + Disagreements, both social and technical, happen all the time. + It is important that we resolve disagreements and differing views constructively. + Remember that we’re different. + The strength of the project comes from its varied community: people from a wide range of backgrounds. + Different people have different perspectives on issues. + Being unable to understand why someone holds a viewpoint doesn’t mean that they’re wrong. + Don’t forget that it is human to err and blaming each other doesn’t get us anywhere. + Instead, focus on helping to resolve issues and learning from mistakes. + +* **Recognize when progress has stopped, and take a step back.** + + Regardless of whether you're trying to resolve a disagreement or anything else, think + about whether you're making progress. + Sometimes messaging doesn't give time to think about a situation fully, and repeating positions can make people + defensive. + Step back for a few minutes or hours to think through the issue before responding again. + Consider pulling in another community member to give a fresh perspective. + Maybe meet over VC (video call) instead. + Switching approaches can help resume progress. + +No weapons are allowed at Beman Project events. +Weapons include, but are not limited to, explosives (including fireworks), guns, and large knives such as those used +for hunting or display, as well as any other item used for the purpose of causing injury or harm to others. + +In rare cases, violations of this code _outside_ of these spaces may affect, and be detrimental to, a person’s ability to participate _within_ these spaces. +Important examples include, but are not limited to, [sexual and gender-based violence and/or harassment](https://hr.un.org/sites/hr.un.org/files/SEA%20Glossary%20%20%5BSecond%20Edition%20-%202017%5D%20-%20English_0.pdf), [hate crimes](https://hatecrime.osce.org/), and [hate speech](https://www.un.org/en/genocideprevention/documentsUN%20Strategy%20and%20Plan%20of%20Action%20on%20Hate%20Speech%2018%20June%20SYNOPSIS.pdf). Although we do not conduct proactive research, we have an obligation to respond -to reported and, to the extent possible, corroborated concerns. Our motivations -are not rooted in responding punitively, or holding people accountable. Instead, -our response will be focused on how the continued participation of the person at -issue could impact the community's safety, well-being, and inclusivity. It is -our priority to remain a welcoming community to victims as well as groups -subjected to systemic marginalization or underrepresentation. +to reported and, to the extent possible, corroborated concerns. +Our motivations are not rooted in responding punitively, or holding people accountable. +Instead, our response will be focused on how the continued participation of the person at +issue could impact the community's safety, well-being, and inclusivity. +It is our priority to remain a welcoming community to victims as well as groups subjected to systemic marginalization or underrepresentation. -If you have questions, please feel free to ask on our communication channels, -or contact -any member of the conduct team directly. +If you have questions, please feel free to ask on our communication channels, or contact any member of the conduct team directly. ## Conduct team @@ -131,146 +120,125 @@ The conduct team will be the Beman Project Leads as outlined in our [Governance ### Reporting conduct -If you believe someone is violating the code of conduct, you can report it -to the Beman Project Leads. +If you believe someone is violating the code of conduct, you can report it to the Beman Project Leads. **All reports will be kept confidential**, and are only used by the conduct team to address conduct issues and keep the Beman Project community safe and inclusive. -Please send reports concerning a member of the conduct team directly to other -members of the conduct team. This allows discussion of the complaint to more -easily exclude the concerned member as a [special case](#special-cases). +Please send reports concerning a member of the conduct team directly to other members of the conduct team. +This allows discussion of the complaint to more easily exclude the concerned member as a [special case](#special-cases). -If you believe anyone is in **physical danger**, please notify appropriate law -enforcement first. If you are unsure what law enforcement agency is appropriate, -please include this in your report and we will attempt to notify them. +If you believe anyone is in **physical danger**, please notify appropriate law enforcement first. +If you are unsure what law enforcement agency is appropriate, please include this in your report and we will attempt to notify them. -If the violation occurs at an event and requires immediate attention, you can -also reach out to any of the event organizers or staff. Event organizers and -staff will be prepared to handle the incident and be able to help. If you cannot -find one of the organizers, the venue staff can locate one for you. Specific -event information will include detailed contact information for that event. In -person reports will still be kept confidential exactly as above, but also feel -free to email the conduct team, anonymously if needed. +If the violation occurs at an event and requires immediate attention, you can also reach out to any of the event organizers or staff. +Event organizers and staff will be prepared to handle the incident and be able to help. +If you cannot find one of the organizers, the venue staff can locate one for you. +Specific event information will include detailed contact information for that event. +In person reports will still be kept confidential exactly as above, but also feel free to email the conduct team, anonymously if needed. ### Filing a report -Reports can be as formal or informal as needed for the situation at hand. If -possible, please include as much information as you can. If you feel -comfortable, please consider including: +Reports can be as formal or informal as needed for the situation at hand. +If possible, please include as much information as you can. +If you feel comfortable, please consider including: -- Your contact info, so we can get in touch with you if we need to follow up. -- Names -- real, nicknames, or pseudonyms -- of any individuals involved. If +* Your contact info, so we can get in touch with you if we need to follow up. +* Names -- real, nicknames, or pseudonyms -- of any individuals involved. If there were other witnesses besides you, please try to include them as well. -- When and where the incident occurred. Please be as specific as possible. -- Your account of what occurred, including any private chat logs or email. -- Links for any public records, including community discussions. -- Any extra context for the incident. -- Whether you believe this incident is ongoing. -- Any other information you believe we should have. +* When and where the incident occurred. Please be as specific as possible. +* Your account of what occurred, including any private chat logs or email. +* Links for any public records, including community discussions. +* Any extra context for the incident. +* Whether you believe this incident is ongoing. +* Any other information you believe we should have. ### What happens after contacting the conduct team? You will receive a reply from the conduct team acknowledging receipt within 1 business day, and we will aim to respond much quicker than that. -The conduct team will review the incident as soon as possible and try to -determine: +The conduct team will review the incident as soon as possible and try to determine: -- What happened and who was involved. -- Whether this event constitutes a code of conduct violation. -- Whether this is an ongoing situation, or if there is a threat to anyone’s +* What happened and who was involved. +* Whether this event constitutes a code of conduct violation. +* Whether this is an ongoing situation, or if there is a threat to anyone’s physical safety. If this is determined to be an ongoing incident or a threat to physical safety, -the conduct team's immediate priority will be to protect everyone involved. This -means we may delay an "official" response until we believe that the situation -has ended and that everyone is physically safe. +the conduct team's immediate priority will be to protect everyone involved. +This means we may delay an "official" response until we believe that the situation has ended and that everyone is physically safe. -The conduct team will try to contact other parties involved or witnessing the -event to gain clarity on what happened and understand any different +The conduct team will try to contact other parties involved or witnessing the event to gain clarity on what happened and understand any different perspectives. -Once the conduct team has a complete account of the events they will make a -decision as to how to respond. Responses may include: +Once the conduct team has a complete account of the events they will make a decision as to how to respond. +Responses may include: -- Nothing, if no violation occurred or it has already been appropriately - resolved. -- One or more [enforcement actions](#enforcement-action-guidelines). -- Involvement of relevant law enforcement if appropriate. +* Nothing, if no violation occurred or it has already been appropriately resolved. +* One or more [enforcement actions](#enforcement-action-guidelines). +* Involvement of relevant law enforcement if appropriate. If the situation is not resolved within one week, we’ll respond to the original reporter with an update and explanation. -Once we’ve determined our response, we will separately contact the original -reporter and other individuals to let them know what actions, if any, we’ll be +Once we’ve determined our response, we will separately contact the original reporter and other individuals to let them know what actions, if any, we’ll be taking. We will take into account feedback from the individuals involved on the appropriateness of our response, but we don’t guarantee we’ll act on it. -After any incident, the Beman Project leads may choose to make a public statement about the -incident. If that’s the case, the identities of anyone involved will remain -confidential unless instructed otherwise by those individuals. +After any incident, the Beman Project leads may choose to make a public statement about the incident. +If that’s the case, the identities of anyone involved will remain confidential unless instructed otherwise by those individuals. ### Appealing -Only permanent resolutions, such as bans, or requests for public actions may be -appealed. To appeal a decision of the conduct team, contact the -[Beman leads](GOVERNANCE.md) with your appeal and -they will review the case. +Only permanent resolutions, such as bans, or requests for public actions may be appealed. +To appeal a decision of the conduct team, contact the [Beman leads](GOVERNANCE.md) with your appeal and they will review the case. In general, it is **not** appropriate to appeal a particular decision in public -areas of GitHub or Discord. Doing so would involve disclosure of information -which should remain confidential. Disclosing this kind of information publicly -may be considered a separate and, potentially, more serious violation of the -Code of Conduct. This is not meant to limit discussion of the Code of Conduct, -the conduct team itself, or the appropriateness of responses in general, but -**please** refrain from mentioning specific facts about cases without the -explicit permission of all parties involved. +areas of GitHub or Discord. +Doing so would involve disclosure of information which should remain confidential. +Disclosing this kind of information publicly may be considered a separate and, potentially, more serious violation of the Code of Conduct. +This is not meant to limit discussion of the Code of Conduct, the conduct team itself, or the appropriateness of responses in general, but **please** refrain from mentioning specific facts about cases without the explicit permission of all parties involved. ### Special cases -If a complaint is raised against a member of the Beman Project leads, -they will be excluded from conduct discussion and decisions, including appeals. -They will only be included as needed for an involved party, such as to get their -perspective or to notify them of decisions. Such complaints may lead to a -member's responsibilities being revoked. +If a complaint is raised against a member of the Beman Project leads, they will be excluded from conduct discussion and decisions, including appeals. +They will only be included as needed for an involved party, such as to get their perspective or to notify them of decisions. +Such complaints may lead to a member's responsibilities being revoked. ## Enforcement action guidelines -The conduct team, moderators, and event organizers have the right and -responsibility to remove, edit, or reject comments, commits, code, wiki edits, -issues, and other contributions that are not aligned to this Code of Conduct. +The conduct team, moderators, and event organizers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. They will communicate reasons for moderation decisions when appropriate. -The conduct team may take additional action they deem appropriate for any -violation of this Code of Conduct using these guidelines based on the behavior +The conduct team may take additional action they deem appropriate for any violation of this Code of Conduct using these guidelines based on the behavior involved: 1. **Correction** - - **Behavior:** Use of inappropriate language or other minor violations of + * **Behavior:** Use of inappropriate language or other minor violations of the code of conduct. - - **Action:** A private, written message providing clarity around the + * **Action:** A private, written message providing clarity around the nature of the violation and an explanation of why the behavior was - inappropriate. A public apology may be requested. + inappropriate. + A public apology may be requested. 1. **Warning** - - **Behavior:** A code of conduct violation through a single moderate + * **Behavior:** A code of conduct violation through a single moderate incident, or a series of minor violations. - - **Action:** In addition to the correction action, a temporary + * **Action:** In addition to the correction action, a temporary restriction forbidding interaction with the people involved for a specified period of time, including unsolicited interaction with the - conduct team. Violating these terms may lead to a ban. + conduct team. + Violating these terms may lead to a ban. 1. **Temporary ban** - - **Behavior:** A serious violation of the code of conduct, including + * **Behavior:** A serious violation of the code of conduct, including sustained inappropriate behavior. - - **Action:** In addition to the warning action, a temporary ban from use - of Beman Project's community spaces for a specified period of time. External - channels, such as social media, should not be used to bypass these - restrictions during the temporary ban. Violating these terms may lead to - a permanent ban. + * **Action:** In addition to the warning action, a temporary ban from use + of Beman Project's community spaces for a specified period of time. External channels, such as social media, should not be used to bypass these restrictions during the temporary ban. + Violating these terms may lead to a permanent ban. 1. **Permanent ban** - - **Behavior:** Demonstrating a pattern of violation of the code of + * **Behavior:** Demonstrating a pattern of violation of the code of conduct. - - **Action:** A permanent ban from use of Beman Project's community spaces. + * **Action:** A permanent ban from use of Beman Project's community spaces. ## Acknowledgements diff --git a/docs/FAQ.md b/docs/FAQ.md index ca3ae7b..e58ac12 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -6,31 +6,41 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception ## What is the relationship between the Beman Project and the Boost Foundation? -While both Beman Project and Boost strive to provide high-quality C++ libraries to the community, the Beman Project is specifically focused on fostering works that can be adopted by the standard library. Note that we expect some Boost libraries will become part of Beman over time. +While both Beman Project and Boost strive to provide high-quality C++ libraries to the community, the Beman Project is specifically focused on fostering works that can be adopted by the standard library. +Note that we expect some Boost libraries will become part of Beman over time. ## Do I have to write a WG21 C++ Standards Committee Paper before I can contribute to the Beman Project? -No! The Beman Project wants to work with you, with experience, feedback, and expertise. Obviously, a paper must be written before becoming accepted as part of the standard, but that paper can be written in tandem with your library development. +No! +The Beman Project wants to work with you, with experience, feedback, and expertise. +Obviously, a paper must be written before becoming accepted as part of the standard, but that paper can be written in tandem with your library development. -In fact, there are plenty of papers already written that need an implementation before they can progress in through the standards track. You can contribute to the Beman project by finding a paper that interests you and working on its library. +In fact, there are plenty of papers already written that need an implementation before they can progress in through the standards track. +You can contribute to the Beman project by finding a paper that interests you and working on its library. Please reach out to the Beman Project Leads to help get your specific project started. ## I have a library that isn't appropriate for the C++ standard. Can I contribute it to the Beman Project? -The Beman Project is dedicated to getting the highest quality libraries through the rigorous effort of standardization. Libraries not falling in this category are out of scope. +The Beman Project is dedicated to getting the highest quality libraries through the rigorous effort of standardization. +Libraries not falling in this category are out of scope. ## I have a personal/work project but I have no interest in it becoming a standard library. Does the Beman Project have anything for me? -Yes! In our effort to create the highest-quality C++ libraries, we've established a set of templates, tools, and guidelines that are broadly applicable even for projects not destined to be standardized. +Yes! +In our effort to create the highest-quality C++ libraries, we've established a set of templates, tools, and guidelines that are broadly applicable even for projects not destined to be standardized: -* Our [Example Project](https://github.com/bemanproject/example) demonstrates a useful structure for organizing libraries. +* Our [Example Project](https://github.com/bemanproject/example) demonstrates a useful structure for organizing libraries * Our [CI Project](https://github.com/bemanproject/ci) utilizes Github Workflows to automate building, testing, and releasing libraries. ## Will libraries stay in Beman forever? -No! The current concept is that libraries will be gradually deprecated as official standard library implementations roll out. We expect this to correspond to two standards cycles. So a library accepted into C++26 would be removed by C++32. Users can, of course, still depend on the original repo for the implementation if they don't want to change to ~std::~ for some reason. +No! +The current concept is that libraries will be gradually deprecated as official standard library implementations roll out. We expect this to correspond to two standards cycles. So a library accepted into C++26 would be removed by C++32. Users can, of course, still depend on the original repo for the implementation if they don't want to change to `~std::~` for some reason. ## Is there are review process like Boost? -No. Inclusion in Beman doesn't depend on passing a formal review. That said, authors can ask the community for reviews at any time! Also, we expect libraries to evolve and using the code review facilities allows authors to get other eyes on updates as proposals evolve. +No! +Inclusion in Beman doesn't depend on passing a formal review. +That said, authors can ask the community for reviews at any time! +Also, we expect libraries to evolve and using the code review facilities allows authors to get other eyes on updates as proposals evolve. diff --git a/docs/GOVERNANCE.md b/docs/GOVERNANCE.md index b96eb38..a55a9b0 100644 --- a/docs/GOVERNANCE.md +++ b/docs/GOVERNANCE.md @@ -4,7 +4,9 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception # 1. Purpose -The Beman Project is dedicated to providing the guidance and facilities to ensure the highest quality libraries in ISO standard C++. We help library authors with development best practices, peer review, and contributing to the C++ standard. We distribute the libraries proposed for standardization to facilitate early usage and feedback. +The Beman Project is dedicated to providing the guidance and facilities to ensure the highest quality libraries in ISO standard C++. +We help library authors with development best practices, peer review, and contributing to the C++ standard. +We distribute the libraries proposed for standardization to facilitate early usage and feedback. The Beman project is named in memory of Beman Dawes - co-founder of [Boost](https://www.boost.org). @@ -12,7 +14,9 @@ The Beman project is named in memory of Beman Dawes - co-founder of [Boost](http ## 2.1 Membership Criteria: -Membership in the Beman Project is open to individuals and organizations actively contributing to the development of libraries proposed to the WG21 C++ Standard. Contributors must adhere to the organization's code of conduct. Members are individuals who fill a role in the project structure. +Membership in the Beman Project is open to individuals and organizations actively contributing to the development of libraries proposed to the WG21 C++ Standard. +Contributors must adhere to the organization's code of conduct. +Members are individuals who fill a role in the project structure. ## 2.2 Membership Rights and Responsibilities: @@ -22,13 +26,17 @@ Members are expected to contribute positively to the organization, uphold its va ## 3.1 Beman Project Leads: -The Beman Project Leads are responsible for maintaining the Library Acceptance and Incubating process. This includes strategic planning, setting goals, and ensuring the organization's objectives are met. This team should broadly understand both the Standardization process, the needs of library developers, and the concerns from Committee Members. The Beman Project Leads ultimately approve or change the process that we use for exposing Beman Libraries to the wider community. +The Beman Project Leads are responsible for maintaining the Library Acceptance and Incubating process. +This includes strategic planning, setting goals, and ensuring the organization's objectives are met. +This team should broadly understand both the Standardization process, the needs of library developers, and the concerns from Committee Members. +The Beman Project Leads ultimately approve or change the process that we use for exposing Beman Libraries to the wider community. -Beman Leads are currently: Jeff Garland, Inbal Levi, and David Sankel +Beman Leads are currently: Jeff Garland, Inbal Levi, and David Sankel. ### 3.1.2 Adding and removing Beman Leads -Any member of Beman Project Leads may step down or be replaced when they are no longer able to contribute effectively. The Beman Project Leads can nominate and decide on adding, removing, or replacing members by a majority decision. +Any member of Beman Project Leads may step down or be replaced when they are no longer able to contribute effectively. +The Beman Project Leads can nominate and decide on adding, removing, or replacing members by a majority decision. ## 3.2 Beman Project Contributors: @@ -44,7 +52,8 @@ The Beman Project Library Authors are the Library authors who are maintaining an ### 3.3.3 Adding and removing Beman Project Library Authors: -Beman Project Library Authors apply for acceptance into Beman Project when they have reached the point of path toward standardization. This would be the submission of a Paper to the Committee, request to have a library to help write their paper, or a similar path. +Beman Project Library Authors apply for acceptance into Beman Project when they have reached the point of path toward standardization. +This would be the submission of a Paper to the Committee, request to have a library to help write their paper, or a similar path. Removal as a Beman Project Library Author may be done when the library no longer becomes part of the Beman Project. @@ -52,7 +61,9 @@ Removal as a Beman Project Library Author may be done when the library no longer # 4.1 Consensus Decision-Making: -Beman Project strives to make decisions through consensus among the Project Contributors and the Project Leads. Proposals on the best way to proceed should be discussed in good faith. Beman Project Leads ultimately decide the direction of the Project. +Beman Project strives to make decisions through consensus among the Project Contributors and the Project Leads. +Proposals on the best way to proceed should be discussed in good faith. +Beman Project Leads ultimately decide the direction of the Project. # 5. Code of Conduct @@ -69,5 +80,3 @@ Discrimination, harassment, or any form of disrespectful behavior will not be to Conflicts should be addressed privately and respectfully between parties involved. If resolution cannot be achieved, mediation by the Beman Leads may be requested. - -