Open Distributed Systems