From d8cc3eeeb55b92b0d7fe9a325937df11c28fbcaa Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sun, 12 Jan 2020 17:05:25 +0200 Subject: Update doc/ and move various entries to wiki --- doc/contributing.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 doc/contributing.md (limited to 'doc/contributing.md') diff --git a/doc/contributing.md b/doc/contributing.md new file mode 100644 index 0000000..a5cd0ae --- /dev/null +++ b/doc/contributing.md @@ -0,0 +1,37 @@ +## Guidelines + +smolbote is written under the C++17 standard, without any compiler-specific +extensions. Source code should be kept as platform-agnostic as possible. + +## General +* All behaviour, where possible, should be configurable. +* Configuration option names should be as self-descriptive as possible. +* Use sane defaults: normally the program should "just work". + +## Qt +* Check pointers with `Q_CHECK_PTR`. +* Use the Qt5 signal/slot syntax (&Class::method) over the old string-based + syntax (SIGNAL/SLOT). This enables compile-time connect checks. +* Prefer QVector over QList: http://lists.qt-project.org/pipermail/development/2017-March/029040.html +* Use [clazy](https://github.com/KDE/clazy) to check Qt semantics. + +## Licensing +Smolbote is licensed under GPLv3 _only_, and explicitly does not use any +self-updating "-or-later" licensing. Your code needs to be compatible with it, +and have a license header in the style used by the project. + +Interfaces (located in include/) should be licensed under MIT. This is to allow +more license compatibility for plugins. + +### SPDX-License-Identifier +A full list of license identifiers can be found on [the SPDX website](https://spdx.org/licenses/). + +## Style +There is a clang-format style in .clang-format. + +## How to format patch for email +``` +git format-patch $from-commit..$to-commit +``` +Email patches to _aqua at iserlohn dash fortress dot net_. + -- cgit v1.2.1