- Select frameworks for all components that we need for the Mender C++ client
- This list contains the currently identified ones, but please think about whether we need any more of them.
- Only do the ones marked with this task number. The others are covered elsewhere.
- Favor C++ APIs over C APIs wherever possible, unless there are good reasons not to, such as:
- API is badly maintained, much less penetration than C equivalent
- Unreasonably large dependency requirement
- Some compatibility requirements:
- API must not require exception support (but can optionally support them).
- Must be C++11 compatible.
- Must verify that the library is usable on QNX.
- License requirements:
- No copyleft licenses allowed, only permissive (MIT, BSD, Apache, etc.)
- However, there may be exceptions for certain components. If a good library has a copyleft license, ask Kristian.