Revision 163035402ed376b39d5513e4763911850e4dba1a authored by Thomas Saigre on 07 December 2023, 08:58:56 UTC, committed by Thomas Saigre on 07 December 2023, 08:58:56 UTC
CONTRIBUTING.md
# Contributing
## License Agreement
By contributing changes to this repository, you agree to license your contributions under the LGPL or GPL license. This ensures that your contributions have the same license as the project and that the community is free to use your contributions. You also assert that you are the original author of the work you are contributing and that any changes to your work will be contributed back to the community.
## Submitting an Issue
We use the issue tracker on GitHub associated with this project to track bugs and features. Before submitting a bug report or feature request, please check if it has already been submitted. When submitting a bug report, please include a Gist that provides details to help reproduce the bug, including your C++ compiler and operating system.
Most importantly, since Feel++ provides a Domain Specific Embedded Language (DSEL) based on the embedded Galerkin type language, please provide a concise test case to replicate the issue using Feel++ mathematical concepts. An ideal bug report would include a pull request with failing specifications.
## Submitting a Pull Request
1. Fork the repository.
2. Implement your feature or bug fix.
3. Run `ctest` to run the tests. If the tests fail, go back to step 2.
4. Add documentation for your feature or bug fix. If your changes are not 100% documented, go back to step 3.
5. Add, commit, and push your changes.
6. Submit a pull request.
For ideas on how to use pull requests, refer to the post [Useful GitHub Patterns](http://blog.quickpeople.co.uk/2013/07/10/useful-github-patterns).
## Background Knowledge
As Feel++ is built using C++, it requires some knowledge of C++ and the libraries and tools it uses, such as Boost, PETSc, or Gmsh. The following resources provide a good starting point for contributors who may not be completely comfortable with these tools:
- [Feel++ document site](https://docs.feelpp.org): Provides a lot of information regarding Feel++.
- [Gmsh website](http://gmsh.info): Provides extensive documentation, tutorials, and screencasts on how to use Gmsh, including its graphical user interface.
- [PETSc website](https://www.mcs.anl.gov/petsc): Offers extensive documentation and tutorials on PETSc, which is the main library used by Feel++ for solving (non-)linear systems.
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...