GitHub
FOSS@PorscheCreating FOSS
How we manage new open-source projects The purpose of this document is to provide transparency on how Porsche is managing new open-source projects and the standards we're endorsing to foster healthy communities. The intended audience is both interested visitors as well as employees of Porsche AG and subsidiaries. Preliminary steps We support and encourage our employees to launch and maintain new FOSS projects. Our employees can find more information on our contribution policy in our corporate wiki. Our GitHub flow We consider the default branch of our projects as stable/working and protect this with a minimal set of the following branch protection rules:
- Require a pull request before merging
- Require 1 approval
- Require status checks to pass before merging
- Require branches to be up to date before merging
- Do not allow bypassing the above settings
More information on our GitHub flow can be found in the Porsche Development Guidance. To contribute to an open-source project maintained by Porsche, please fork the repository, commit your changes to a separate branch and get them merged into the default branch via a reviewed pull request. More information on how to contribute to our projects can be found in the CONTRIBUTING.md file of the particular project. Necessary files and documents The following files and documents are generally included in all our open-source projects: A pull request template .github/PULL_REQUEST_TEMPLATE.md:
### Pull Request Checklist
<!-- Make sure to read and accept the CLA, before you open the pull request! -->
<!-- Tick the checkbox below if you accept our CLA (`[x]`) -->
- [ ] I have read and accept the [Contributor License Agreement](https://opensource.porsche.com/docs/cla)
Further requirements may be included in our pull request templates, but the checkbox "I have read and accept the Contributor License Agreement" is always required.
The unmodified license text of the FOSS project in a file named LICENSE.md. A README.md that introduces and explains the FOSS project. We're following the makeareadme.com template for writing good READMEs. A file CONTRIBUTING.md that explains how to contribute to the FOSS project. If third-party components are distributed as a bundled release, a compulsory Open Source Software Notice in a file named NOTICE.txt.
Fostering a welcoming community Contributions to our open-source projects, may it be reporting issues or contributing changes, are highly appreciated! To foster a welcoming community, we encourage our maintainers to triage new issues created by you in a timely manner, and address pull requests in a timely manner. If a pull request needs change or a pipeline fails, we make sure to indicate a hint on how to resolve them. Release Management By incorporating a minimal release management, we give others the chance to rely on our Porsche FOSS projects. This includes tagging the main branch and releasing whenever reasonable, adopting a suitable versioning scheme, e.g. Semantic Versioning, indicating breaking changes, and publishing release notes that reflect all changes, offering a hint on upgradability and giving credit to all contributors. Further Reading Recommended Practices for Hosting and Managing Open Source Projects on GitHub (linuxfoundation.org) Recommended Community Standards by GitHub