2020-12-11 09:55:03 +00:00
|
|
|
## Code style
|
|
|
|
The best thing you can do is follow the code style used in the files you are
|
|
|
|
changing or look for files in format same as those you are adding and use that
|
|
|
|
code style.
|
|
|
|
|
|
|
|
## Static data
|
|
|
|
In many cases using immutable static data rather than generating at runtime and
|
|
|
|
caching it is more optimal. If you want to add code that uses data tables use
|
|
|
|
naming such as `MIBTbl` which makes it easy to look for and Python script for
|
2022-09-24 05:13:22 +03:00
|
|
|
generating the data tables if possible. Check out the existing scripts in the
|
|
|
|
scripts directory of Katie source code for examples.
|
2020-12-11 09:55:03 +00:00
|
|
|
|
|
|
|
## Compatibility
|
2021-01-12 04:53:44 +02:00
|
|
|
Neither source nor binary compatibility is guaranteed between releases which
|
2020-12-11 09:55:03 +00:00
|
|
|
means hacks for binary compatibility and such are not required. If there is
|
|
|
|
breaking change, the changes that need to be applied to other projects should
|
2022-09-24 05:13:22 +03:00
|
|
|
be kept to minimum with backwards compatibility where possible.
|
2020-12-11 09:55:03 +00:00
|
|
|
|
|
|
|
## Standards
|
2020-12-21 15:07:30 +00:00
|
|
|
All standard and extension requirements for optional feature should be checked
|
2021-01-08 09:08:30 +02:00
|
|
|
for during build if they are newer than POSIX.1-2001
|
2020-12-11 09:55:03 +00:00
|
|
|
(https://en.wikipedia.org/wiki/POSIX). Read any documentation that may be
|
|
|
|
relevant to the changes you make such as manual pages for Linux
|
2020-12-13 13:35:58 +00:00
|
|
|
(https://linux.die.net/man/), FreeBSD (https://www.freebsd.org/cgi/man.cgi),
|
2021-02-05 08:58:35 +02:00
|
|
|
NetBSD (https://man.netbsd.org/), OpenBSD (https://man.openbsd.org/) and
|
|
|
|
Solaris (https://docs.oracle.com/en/). Open Group documentation is also a good
|
|
|
|
source of information
|
2021-01-10 04:01:10 +02:00
|
|
|
(https://pubs.opengroup.org/onlinepubs/9699919799/idx/head.html).
|
2020-12-11 09:55:03 +00:00
|
|
|
|
|
|
|
## Tests
|
2022-09-24 05:13:22 +03:00
|
|
|
You can import tests and adjust them as needed from stock Qt4 copy if there are
|
|
|
|
no tests in place relevant to the changes you do. Adding regression tests is
|
|
|
|
optional.
|
2020-12-11 09:55:03 +00:00
|
|
|
|
|
|
|
## Translations
|
|
|
|
To contribute translations either use the web interface at
|
|
|
|
https://www.transifex.com/smil3y/katie or the .pot files provided as base and
|
|
|
|
submit them as pull request.
|
|
|
|
|
|
|
|
## Licensing
|
2020-12-21 15:07:30 +00:00
|
|
|
Unless you add new files you do not have to worry about that. Otherwise use
|
2020-12-11 09:55:03 +00:00
|
|
|
as liberal as possible, preferably public domain (no license) or 3-clause BSD.
|
|
|
|
The reason for that is simple - many vendors (distributions) and consumers will
|
|
|
|
have strict requirements what they distribute and/or use. Debian for an example
|
|
|
|
does not enable by default non-free software repository thus user interaction
|
2020-12-12 15:17:19 +00:00
|
|
|
is required before non-free software can be installed.
|
2020-12-11 09:55:03 +00:00
|
|
|
|
2020-12-11 10:19:01 +00:00
|
|
|
If you cannot contribute your changes with license that is more or equally
|
2021-01-12 04:53:44 +02:00
|
|
|
permissive than those already in use (3-clause BSD, FDL v1.3 and LGPL v2.1+)
|
2020-12-11 09:55:03 +00:00
|
|
|
than your contribution may not be acceptable.
|