Thank you for your interest in contributing to Newsboat! Here are a few ways you can help:
- Security Vulnerabilities
- Feature Requests and Bug Reports
- Patches/Pull Requests
- Documentation
- Translations
If you happen to stumble upon a security vulnerability, do not open a GitHub issue. Instead, send an email to security@newsboat.org and encrypt your emails using PGP key 4ED6CD61932B9EBE.
Bug reports and feature requests should be reported in the issue tracker. Look through the issue tracker to see if your bug report/feature request was not already reported. Don't forget to look through the closed issues, as your request might have been already fulfilled. But if in doubt, please file an issue anyway!
If you are looking for a place to start contributing, take a look at the issues labeled good first issue and docs on the issue tracker. Contributions that modernize the C++ and clean up the codebase are also great places to start.
Remember to write clear and concise commit messages describing your changes and make sure to reference any issues and/or other commits. An example of a well written commit message can be found here.
When contributing code, it's wise to test your code to ensure it it hasn't broken existing functionality. This can by done by running:
$ TMPDIR=/dev/shm make -j5 PROFILE=1 check
The "5" here is the number of CPU cores in your machine plus one. This
parallelises the build. Rust tests already utilize as many cores as they can,
but if you want to limit them, use the RUST_TEST_THREADS
environment variable.
/dev/shm
is a "ramdisk", i.e. a virtual disk stored in the RAM. The tests
create a lot of temporary files, and benefit from fast storage; a ramdisk is
even better than an SSD.
Newsboat can also be built in Docker.
Please follow our style guide when contributing code. See also the Newsboat hacker's guide.
Patches can be submitted by sending a GitHub Pull Request or emailing a patch to the Newsboat mailing list (newsboat@googlegroups.com). To learn more about patches, see here and here. To learn more about pull requests, see the GitHub docs.
Fixing and/or adding documentation is an easy way to get involved. The Newsboat
documentation can be found in doc/
and related issues can be found under the
docs
label in the
issue tracker. New features
that are added should also be documented.
Fixing and/or adding translations helps localize Newsboat to different regions
around the globe. Translations for the Newsboat interface can be found in po/
and related issues can be found under the i18n
tag in the
issue tracker.