From b00179805f04fe8ab107f92714fb0415eea4a77d Mon Sep 17 00:00:00 2001 From: KB Date: Fri, 9 Oct 2026 13:34:19 +0100 Subject: [PATCH] community: add contributing, security, conduct, roadmap and templates Add the files a public project needs and nothing more: CONTRIBUTING.md (with the licence rules contributions must respect), SECURITY.md with private vulnerability reporting, the Contributor Covenant code of conduct, a short honest roadmap, and GitHub issue and pull-request templates. --- .github/ISSUE_TEMPLATE/bug_report.yml | 89 +++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 14 +++ .github/ISSUE_TEMPLATE/feature_request.yml | 50 ++++++++ .github/PULL_REQUEST_TEMPLATE.md | 21 ++++ CODE_OF_CONDUCT.md | 126 +++++++++++++++++++++ CONTRIBUTING.md | 65 +++++++++++ ROADMAP.md | 41 +++++++ SECURITY.md | 42 +++++++ 8 files changed, 448 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 ROADMAP.md create mode 100644 SECURITY.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..77aeea9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,89 @@ +name: Bug report +description: Report a problem with KB-RPCS3 (source, build, tools or the PS5 title). +title: "[Bug]: " +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to report a problem. + + **Before you continue:** + - This is an **alpha, source-only** project — there is no downloadable PS5 + package. Please read the [README](https://github.com/kamb205/KB-RPCS3#readme) + and [KNOWN_ISSUES.md](https://github.com/kamb205/KB-RPCS3/blob/main/KNOWN_ISSUES.md). + - Do **not** include firmware, games, keys or other Sony content. + - Security problems go through + [SECURITY.md](https://github.com/kamb205/KB-RPCS3/blob/main/SECURITY.md), not here. + - type: textarea + id: summary + attributes: + label: What happened? + description: A clear description of the problem and its impact. + validations: + required: true + - type: textarea + id: expected + attributes: + label: What did you expect? + validations: + required: true + - type: textarea + id: steps + attributes: + label: Steps to reproduce + description: Exact steps. If a game is involved, name it and its serial. + placeholder: | + 1. ... + 2. ... + 3. ... + validations: + required: true + - type: dropdown + id: area + attributes: + label: Area + options: + - PS5 title (running a game or the app) + - Building from source + - Console tools / scripts + - Documentation + - Other + validations: + required: true + - type: input + id: source + attributes: + label: Source or build + description: Tag/commit, or the source archive you built from. + placeholder: e.g. v0.1.0-alpha + validations: + required: true + - type: textarea + id: environment + attributes: + label: Environment + description: If a console was involved, give the details you used. Do not paste secrets. + placeholder: | + PS5 model / firmware: + Enabler (etaHEN version): + kstuff: + Title loader (ShadowMountPlus version): + validations: + required: false + - type: textarea + id: logs + attributes: + label: Logs, screenshots or evidence + description: Paste relevant logs or attach files. Remove anything personal first. + validations: + required: false + - type: checkboxes + id: confirmations + attributes: + label: Confirmations + options: + - label: I read KNOWN_ISSUES.md and this is not already documented. + required: true + - label: I have not included Sony firmware, games, keys or other restricted content. + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..8142e75 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,14 @@ +blank_issues_enabled: false +contact_links: + - name: Building and installing KB-RPCS3 + url: https://github.com/kamb205/KB-RPCS3/blob/main/BUILDING.md + about: How to build from source and install a build on your own console. + - name: Known issues and limitations + url: https://github.com/kamb205/KB-RPCS3/blob/main/KNOWN_ISSUES.md + about: Read this before filing a bug — it may already be documented. + - name: Licence and binary availability + url: https://github.com/kamb205/KB-RPCS3/blob/main/LICENSING_STATUS.md + about: Why there is no downloadable PS5 package yet. + - name: Upstream RPCS3 issues + url: https://github.com/RPCS3/rpcs3/issues + about: Problems with the emulator core itself usually belong upstream, not here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..10da924 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,50 @@ +name: Feature request +description: Suggest an improvement to KB-RPCS3. +title: "[Feature]: " +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + Thanks for the suggestion. Please keep in mind the project is an alpha, ships + source only, and works within the licences of the components it builds on — some + ideas may not be possible. See [ROADMAP.md](https://github.com/kamb205/KB-RPCS3/blob/main/ROADMAP.md). + - type: textarea + id: problem + attributes: + label: What problem does this solve? + description: Describe the need or frustration, not just the solution. + validations: + required: true + - type: textarea + id: proposal + attributes: + label: Proposed solution + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + validations: + required: false + - type: dropdown + id: scope + attributes: + label: Scope + options: + - Compatibility / emulation + - Performance + - PS5 title UI or features + - Building / tooling + - Documentation + - Other + validations: + required: true + - type: checkboxes + id: confirmations + attributes: + label: Confirmations + options: + - label: This request does not require distributing Sony content or an unlawfully combined binary. + required: true diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..5915fe1 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,21 @@ +## Summary + + + +## Area + + + +## Testing + + + +## Checklist + +- [ ] The change is focused on one thing. +- [ ] I respected the licence of each file I changed + ([LICENSING_STATUS.md](https://github.com/kamb205/KB-RPCS3/blob/main/LICENSING_STATUS.md)). +- [ ] I did not add firmware, games, keys or other Sony content. +- [ ] I did not add a prebuilt combined binary. +- [ ] Documentation was updated where behaviour changed. +- [ ] No AI assistants are listed as contributors or co-authors. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..73afcb5 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,126 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body size, +visible or invisible disability, ethnicity, sex characteristics, gender identity and +expression, level of experience, education, socio-economic status, nationality, +personal appearance, race, caste, colour, religion, or sexual identity and +orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, diverse, +inclusive, and healthy community. + +## Our Standards + +Examples of behaviour that contributes to a positive environment: + +- Demonstrating empathy and kindness toward other people. +- Being respectful of differing opinions, viewpoints, and experiences. +- Giving and gracefully accepting constructive feedback. +- Accepting responsibility and apologising to those affected by our mistakes, and + learning from the experience. +- Focusing on what is best not just for us as individuals, but for the overall + community. + +Examples of unacceptable behaviour: + +- The use of sexualised language or imagery, and sexual attention or advances of any + kind. +- Trolling, insulting or derogatory comments, and personal or political attacks. +- Public or private harassment. +- Publishing others' private information, such as a physical or email address, without + their explicit permission. +- Other conduct which could reasonably be considered inappropriate in a professional + setting. + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behaviour and will take appropriate and fair corrective action in response +to any behaviour that they deem inappropriate, threatening, offensive, or harmful. + +Community leaders 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, and will communicate reasons for moderation decisions +when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when an +individual is officially representing the community in public spaces. Examples of +representing our community include using an official email address, posting via an +official social media account, or acting as an appointed representative at an online +or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behaviour may be reported +to the community leaders responsible for enforcement by contacting the maintainer, +**KB**, through GitHub. All complaints will be reviewed and investigated promptly and +fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining the +consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behaviour deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing clarity +around the nature of the violation and an explanation of why the behaviour was +inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of actions. + +**Consequence**: A warning with consequences for continued behaviour. No interaction +with the people involved, including unsolicited interaction with those enforcing the +Code of Conduct, for a specified period of time. This includes avoiding interactions in +community spaces as well as external channels like social media. Violating these terms +may lead to a temporary or permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including sustained +inappropriate behaviour. + +**Consequence**: A temporary ban from any sort of interaction or public communication +with the community for a specified period of time. No public or private interaction +with the people involved, including unsolicited interaction with those enforcing the +Code of Conduct, is allowed during this period. Violating these terms may lead to a +permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community standards, +including sustained inappropriate behaviour, harassment of an individual, or +aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][mozilla]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][faq]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[mozilla]: https://github.com/mozilla/inclusion +[faq]: https://www.contributor-covenant.org/faq diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..f4e83d8 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,65 @@ +# Contributing to KB-RPCS3 + +Thanks for your interest. KB-RPCS3 is an early, small project, so a little +coordination goes a long way. + +## Before you start + +- Read the [README](README.md), [LICENSING_STATUS.md](LICENSING_STATUS.md) and + [BUILDING.md](BUILDING.md). The project is **alpha** and currently ships + **source only** — there is no downloadable PS5 binary. +- Check [KNOWN_ISSUES.md](KNOWN_ISSUES.md), [COMPATIBILITY.md](COMPATIBILITY.md) and + [ROADMAP.md](ROADMAP.md) so you are not duplicating known work. +- For anything substantial, open an issue first so the approach can be agreed. + +## Ways to contribute + +- **Compatibility reports.** Tested a PS3 game on KB-RPCS3? A precise report with + firmware, loader, settings and what happened is genuinely useful. +- **Testing.** Reproduce known issues on your hardware and add detail. +- **Documentation.** Corrections and clarifications to the docs are welcome. +- **Code.** Bug fixes, port improvements and tooling. Most changes touch the RPCS3 + patch series (`port/rpcs3-patches/`) or the PS5 title shell (`app/`). + +## Licensing of contributions + +KB-RPCS3 mixes licences, and contributions must not break that: + +- Changes to **`port/rpcs3-patches/`** are part of RPCS3 and must be + **GPL-2.0-only** compatible. Do not introduce code under a licence that is + incompatible with GPL-2.0. +- Changes to **`app/`** follow the licence of the file you edit (MIT or + GPL-3.0-or-later — see [`app/LICENSING.md`](app/LICENSING.md)). +- By submitting a contribution you agree it may be distributed under the licence of + the file it changes. + +Do **not** submit: + +- PS3/PS5 firmware, games, ROMs, keys, `.pkg`/`.rap` files or any other Sony content. +- Prebuilt binaries of the combined emulator, or anything that would require one to be + distributed. +- Secrets, tokens or personal data. +- Code you do not have the right to contribute. + +## Reporting bugs and requesting features + +Use the issue templates for [bug reports](.github/ISSUE_TEMPLATE/bug_report.yml) and +[feature requests](.github/ISSUE_TEMPLATE/feature_request.yml). Security problems go +through [SECURITY.md](SECURITY.md), not public issues. + +## Pull requests + +- Keep a pull request focused on one change. +- Match the surrounding style; keep existing headers, notices and spelling. +- Describe how the change was tested. Say plainly what was **not** tested. +- Do not add AI assistants as project contributors or co-authors in commits — credit + belongs to the people who authored the work. + +## Commit messages + +Short imperative subject, then a body explaining what and why when it is not obvious. +If a change affects the RPCS3 patch series, say which patch and why. + +## Conduct + +Participation is covered by the [Code of Conduct](CODE_OF_CONDUCT.md). diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000..8e6a368 --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,41 @@ +# Roadmap + +This is a direction, not a schedule or a promise. KB-RPCS3 is a small, unofficial +alpha project, and everything here depends on time and on permissions from the +upstream authors it builds on. + +## Now — make a lawful binary possible + +- Resolve the **GPL-2.0-only / GPL-3.0** conflict so a PS5 package can be distributed. + The realistic route is making every linked non-RPCS3 component available under + GPL-2.0-compatible terms; requests are drafted in + [PERMISSION_REQUESTS.md](PERMISSION_REQUESTS.md) and the reasoning is in + [LICENSING_STATUS.md](LICENSING_STATUS.md). + +## Next — finish validating Alpha 0.1.0 + +- Run the **exact Alpha 0.1.0 source and branding** through console regression testing + (the tested build predates the branding and the logging additions). +- Capture **genuine screenshots** on real hardware and publish them. +- Publish accurate, normal-speed performance results for the tested games. + +## Then — performance and reliability + +- Validate the **experimental SPU options** (LLVM insert-select, hot-SPU pinning, + narrow local-store stores) at normal game speed, and only then consider enabling any + of them. +- Reduce first-run stutter from SPU/JIT and shader compilation. +- Investigate **native TLS** on the PS5, which currently does not work + ([KNOWN_ISSUES.md](KNOWN_ISSUES.md)); the standalone probes live in `tools/tlsprobe/`. + +## Later — reach and reproducibility + +- Broaden **game compatibility testing** and keep the compatibility table honest. +- Make the **build reproducible and portable**, moving away from fixed toolchain paths + to a documented, scriptable setup. + +## Out of scope + +- Distributing Sony firmware, games, keys or any other Sony content. +- Claiming or implying affiliation with Sony Interactive Entertainment or the RPCS3 + project. diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..c4c477d --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,42 @@ +# Security policy + +## Scope + +KB-RPCS3 is a source release. It contains the RPCS3 patch series, the PS5 title shell +and helper scripts. The most relevant security topics are: + +- Destructive or unsafe behaviour in the project's own scripts and tools. +- Build-system issues that could execute untrusted input. +- Code in the PS5 title shell that mishandles untrusted files (firmware, packages, + game images) in a way that could damage a console or a user's data. + +Found a problem in **upstream RPCS3** or **the Mesa/RADV driver**? Report it to those +projects instead. + +## Supported versions + +Only the latest alpha is considered. There is no long-term support: this is an +alpha-stage, unofficial project and fixes are best-effort. + +| Version | Supported | +|---|---| +| Alpha 0.1.0 | Best effort | +| Older | No | + +## Reporting a vulnerability + +**Do not open a public issue for a security problem.** + +Use GitHub's private reporting instead: open the repository's **Security** tab and +choose **Report a vulnerability**. That keeps the report private until a fix is ready. +If that is unavailable to you, contact the maintainer, **KB**, through GitHub and ask +for a private channel — do not post technical details in a public thread. + +Please include: + +- what the issue is and where it lives (file, script, or build step); +- how to reproduce it, and the console/firmware/loader involved if relevant; +- the impact you believe it has. + +You will get an acknowledgement when the report is seen. Please give the maintainer +reasonable time to respond before disclosing anything publicly.