libbsd

This library provides useful functions commonly found on BSD systems, and lacking on others like GNU systems, thus making it easier to port projects with strong BSD origins, without needing to embed the same code over and over again on each project.

License

The licenses for the code contained in libbsd are quite permissive to make it easier for other projects to use it. Most of the licenses are either ISC, MIT, Beerware, BSD-2-clause, BSD-3-clause, and BSD-4-clause (but only for few of the man pages, and this is considered a bug). Please check the COPYING file and the source code for the actual license details.

Download

Latest released tarballs.

The releases are OpenPGP signed with the key of the current maintainer Guillem Jover with fingerprint 4F3E 74F4 3605 0C10 F569 6574 B972 BF3E A4AE 57A3.

Development

The code under development can be cloned from git:

git clone https://anongit.freedesktop.org/git/libbsd.git

And browsed in either:

CI Status Coverity Scan Build Status CII Best Practices

Contact

Mailing list.

The project has been switched to the FreeDesktop.Org GitLab instance, and filing new bugs in Bugzilla has been disabled. We are using the GitLab issues now. Historic bugs can be accessed from Bugzilla.

Security issues

In case of a security issue that needs to be reported privately, please send encrypted mail to Guillem Jover, the current maintainer.

Contributing

Changes can be sent either as patches to the mailing list, or as merge requests.

New interfaces can be added, depending on their portability, and on their presence on at least one of the BSDs. The preferred form is by importing the best implementation from one of those BSDs. Alternatively an implementation from scratch might be required. In that case the preferred coding style is KNF and a BSD-3-clause license, but a more permissive license is also welcome. Any new function must also come with a man page. Ideally new interfaces should get new unit tests.

Downstreams

Packaging status

Ports