Open deployment software
Open source software is great. It allows all the stakeholders to check the code. And in many cases, to reuse the code. The problem is that users can’t very that the server is executing the published code. It could contain some modifications that may not be acceptable by the user. This is one of the top critics of people from the Free Software Foundation over SaaS.
The only way to check would be letting the users access the server and verify themselves. That’s not realistic, not possible and just crazy. But I think crypto have a solution for that.
Smart contracts are open software deployments
Blockchain nodes execute the code concurrently to agree the result. That’s an improvement, users are validating that the code is the same. Smart contracts code is public, you can check it on the blockchain, so smart contracts are open source software by imposition. But there’s more…
When you deploy a smart contract, everyone can check its constructor arguments, who deployed the contract, the costs of deployment, who were involved and how. Also, you can check the current state and variables of all contracts and their history. For me, this fact makes me think that we have invented something more powerful —in the openness sense— than open source software. Open deployment software.
As far as I know, we didn’t have any way to open a deployment without giving root access to the people that wanted to check the deployment for any reason: security, compliance audits, verifying that what you say you’re deploying is true…
There are room to grow
Right now, blockchain software is limited. Nevertheless, oracle networks are extending the blockchain functionality. Also, there are people working on a more general purpose blockchains to run standard code on it. This would make that blockchain a general purpose open deployment software platform.
This makes me think that there could be many opportunities. A company can create a blockchain just to open their deployment. Imagine not having to trust the server provider because you can check what they’re executing in real time. That’s powerful. Could we create new types of applications based on the open deployment premise?