diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8addb2f91..d96c91e23 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,10 +4,76 @@ # Contributing to Calamares +Welcome to Calamares! We're happy that you would like to add +something to Calamares. This contribution guide should help you +get started. The guide is not exhaustive: most of it points +to other documents that you will need. + + +## Code of Conduct + +The Calamares community -- of developers, translators, and downstream (distro) users -- +aims to be courteous, professional, and inclusive. Harrassment, discriminatory +statements and abuse are not tolerated. In general, we apply the +[KDE Code of Conduct](https://www.kde.org/code-of-conduct/) and the +[GNOME Code of Conduct](https://wiki.gnome.org/Foundation/CodeOfConduct) (the +rules of decent behavior in both communities are pretty much the same). + +> See the [CoC section on the wiki](https://github.com/calamares/calamares/wiki#code-of-conduct) +> for a longer text. To report a problem, please contact the maintainer, +> Adriaan de Groot, or the KDE Community Working Group. + + +## Join the Conversation + +GitHub Issues are **one** place for discussing Calamares if there are concrete +problems or a new feature to discuss. + +Regular Calamares development chit-chat happens on old-school IRC +(no registration required). Responsiveness is best during the day +in Europe, but feel free to idle. **DO NOT** ask-and-leave. Keep +that chat window open because it can easily take a few hours for +someone to notice a message. + +[![Visit our IRC channel](https://kiwiirc.com/buttons/webchat.freenode.net/calamares.png)](https://webchat.freenode.net/?channel=#calamares?nick=guest) + + +## General Guidelines + +Pull Requests are welcome! + +It is often a good idea to start a Pull Request early, with just work-in-progress, +so that the overall approach can be discussed before you put a lot of work +into something. Or file an issue describing what you would like to do. + +If you are writing code, stick to the existing coding style and apply +the coding-style tool before you commit. It's not my favorite style, +but at least all of Calamares is consistent and the tool helps it +stay that way. + +If you are writing documentation, use *en_US* spelling. + +If you are doing cool stuff, let us know (on IRC or through issues). + +**Do** fork Calamares to try new things, **don't** keep your fork to +yourself, **do** upstream things as much as you can. When you make cool +new things, it's best for the whole Calamares-using-community +to build new things that are configurable and applicable to other +distributions than your own. So keep other folk in mind. There is +also the [extensions](https://github.com/calamares/calamares-extensions) +repository for somewhat-more-specialized modules and examples. + + +## Building Calamares + +Up to date +[building-Calamares](https://github.com/calamares/calamares/wiki/Develop-Guide) +instructions are on the wiki. + ### Dependencies Main: -* Compiler with C++14 support: GCC >= 5 or Clang >= 3.5.1 +* Compiler with C++17 support: GCC >= 7 or Clang >= 5 * CMake >= 3.3 * Qt >= 5.9 * yaml-cpp >= 0.5.1 @@ -26,10 +92,26 @@ Particular requirements (not complete): * *partition* KPMCore >= 3.3 (>= 4.2 recommended) * *users* LibPWQuality (optional) -### Building -See [wiki](https://github.com/calamares/calamares/wiki) for up to date -[building](https://github.com/calamares/calamares/wiki/Develop-Guide) -and [deployment](https://github.com/calamares/calamares/wiki/Deploy-Guide) -instructions. +## Configuring and Deploying Calamares + +[Deployment](https://github.com/calamares/calamares/wiki/Deploy-Guide) +instructions are on the wiki. + + +## Translating Calamares + +Calamares translations are done on Transifex. +The [translator's guide](https://github.com/calamares/calamares/wiki/Translate-Guide) +on the wiki explains how to get involved there. + + +## Testing Calamares + +There is a [testing guide](https://github.com/calamares/calamares/wiki/Test-Guide) +on the wiki. It is possible to test most parts of Calamares in isolation, +but the real proof of the pudding comes with an actual installation +of *some* distro using Calamares. + +The UI components should get some specific usability testing instructions soon.