YARP supports building a robot control system as a collection of programs communicating in a peer-to-peer way, with an extensible family of connectiontypes" (tcp, udp, multicast, local, MPI, mjpg-over-http, XML/RPC, tcpros, ...) that can be swapped in and out to match your needs. We also support similarly flexible interfacing with hardware devices. Our strategic goal is to increase the longevity of robot software projects.