Design of a Smart Contract Based Autonomous Organization for Sustainable Software

The emerging blockchain technologies have enabled development of crypto-currencies and autonomous smart contracts that can operate in decentralized and trustless settings. Distributed autonomous organizations can be implemented using smart contracts available on the Ethereum blockchain. In this paper, we propose a distributed autonomous software organization model and its Ethereum smart contract implementation called AutonomousSoftwareOrg for providing a continuously operating virtual organization for software development communities and users. AutonomousSoftwareOrg facilitates a funding mechanism based on crypto-currencies, a decision making mechanism based on voting and record keeping for software usage citations and executions. AutonomousSoftwareOrg is deployed and tested on our local Ethereum based blockchain system (http://ebloc.cmpe.boun.edu.tr). Its Solidity language source code is available at https://github.com/ebloc/AutonomousSoftwareOrg.