diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 96cbdb3..ecf4d05 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,6 +16,7 @@ The following is a set of guidelines for contributing to the CoMPAS project. The * [Tools to contribute](#tools-to-contribute) * [Definition of Done](#definition-of-done) * [Copyright Guidelines](#definition-of-done) + * [How-to begin](#how-to-begin) [Styleguides](#styleguides) * [Git Commit Messages](#git-commit-messages) @@ -115,6 +116,58 @@ Current Definition of Done: - (Software) If applicable, the added Unit Test is written, executed and passed. - (Software) Security analysis (vulnerability detection) doesn't spot unaddressed issues. +### How-to begin + +Before you start your coding journey within the CoMPAS project, there are some things we have to talk about. +Some things that will make your start a little bit easier! + +#### Open Community Calls +It's good to know that every other monday, we are having a so called Open Community Call. Everyone participating in the CoMPAS project can join and talk about and ask question about the CoMPAS project. + +When the Open Community Calls are taking place, can be found at the [General CoMPAS mailing list calendar](https://lists.lfenergy.org/g/CoMPAS/calendar). + +The agendas can be found at the [LF Energy wiki](https://wiki.lfenergy.org/display/HOME/CoMPAS+Community+Calls). + +If you have something to add, please add it to the agenda and notify everyone on Slack! + +#### Slack channel +One of the first important things, is to meet the community. Feel free to introduce yourself on our [Slack channel](https://app.slack.com/client/TLU68MTML/C01926K9D39)! + +The Slack channel is the first communication platform within the CoMPAS project (besides email and the Github platform), so if you need help for example you can use Slack! + +#### Github +What's Github? It's where you're looking right now! (Joking!). + +We are using Github for hosting our Git repositories. Github is being used for creating issues and creating Pull Requests to review / merge each others code. + +#### Documenting +A good (open source) project requires documentation. +We have two places for our documentation + +##### LF Energy Wiki +LF Energy has it's own [CoMPAS specific Wiki](https://wiki.lfenergy.org/display/HOME/CoMPAS). This is the place for documenation about CoMPAS in general (like roadmap and the community call agendas). + +##### CoMPAS Architecture Github Pages +There is also a [Github Pages](https://com-pas.github.io/compas-architecture/) website for CoMPAS architecture specific topics. + +#### Copyright and Licensing +Copyright and license information is done on per-file basis. We use the specification of [REUSE](https://reuse.software/spec/) to ensure that copyright information of the project is clear and can be analuzed in an automated fashion. + +Every source code repository within CoMPAS has a Github Action for checking against the REUSE specification. + +For more information, check the [Copyright Guidelines](#copyright-guidelines) section. + +#### LFX Security Tool +For checking potential security issues, we use the [LFX Security Tool](https://security.lfx.linuxfoundation.org/#/e8b6fdf9-2686-44c5-bbaa-6965d04ad3e1/licenses). The LFX Security Tool scans selected repositories for potential security issues in dependencies. It also scans every license that is being used within a repository and checks if they are compatible within open source projects. + +#### SonarCloud +CoMPAS is using [SonarCloud](https://sonarcloud.io/organizations/com-pas/projects) for static code analysis. Every Github repository has a Github Action which automatically pushes the code to SonarCloud with a frequency of the given Github Action (most of the time on each push). + +A Pull Request can't be merged before all SonarCloud issues are being fixed! + +#### Architecture and technologies +For all architecture and technology choices (for example frameworks, build tools, database choices, etcetera), please check the source code (duh!) and our [CoMPAS Architecture Github Pages](https://com-pas.github.io/compas-architecture/). + #### Basic Maven Usage The project uses maven to manage the build. The configuration of all the tools is fairly standard, so if you have already contributed to Java projects, you should feel right at home. You can safely run the full test suite, checkstyle, see code coverage information and the generated documentation with the following command: ```