NetworkManager is a network management software that has been in development since 2004. It aims to make networking "just work" by automatically determining the best connectivity option. The software consists of a daemon that runs as root and manages hardware, and a client that runs as user and implements user settings. NetworkManager provides APIs for programs to integrate with its connectivity and notification capabilities. The project is open source and welcoming to new contributors.