BehaviorTree.CPP is a middleware independent framework to develop Behavior Trees in C++.
The library is not particularly opinionated about the way Actions and Conditions should be created; this gives more freedom to the developer, but can also be confusing for those people which are getting started with it.
BehaviorTree.ROS provides some practical examples and utilities related to ROS (the Robotic Operative System).
ROS users can use this library or look at the way Nodes are implemented to implmenent their own version.