The cornerstone of a DIDO community is the software, which acts as the engine of the distributed network of peers. Software is responsible for maintaining the ledgers on each node: securely and reliably sending transactions to each of the nodes and mitigating any conflicts that may arise while processing these transactions (e.g., the double spend problem). As a general rule, the software is open source software (OSS), governed by OSS rules for its maintenance and the development of new features.
In some communities, the software extends beyond the core software required to maintain the node within a network of nodes. For example, the Ethereum Foundation includes both the software to maintain the network of nodes and smart contracts to monitor and oversee transactions. However, smart contracts themselves may or may not be built, maintained, and supported by the Ethereum Foundation's software team. They may be created, maintained, and supported by external third parties.