Thank you for the thoughtful comments! To my understanding, the key issues are: (1) the role of software development in a successful project and (2) how to model other types of contributions.
The first issue involves a long debate about the relationship between tech and business. I guess we might want to avoid those “ideological” arguments, but at least there is a spectrum, of which one end is software development playing a major role in the project success and the other end is business development. Our model should cover what it can cover (and hopefully grow as the whole ecosystem switches to more agile “company” architectures). Also consider that, as most open-source practices show, top core developers of a project are capable of directing the project and they are leaders and visionaries. Their “business sense” is rooted in the community where no boundary exists between developers and users (an advantage over big companies). Essentially, developers create value through useful software so that users are willing to pay — I believe that is always the basic economic principle. Other business activities center on the basic principle.
As for the second issue, we will offer two approaches. Both are derived from proven practices. Today, founders of a company take big portions of its shareholdings. They can do the same thing with a virtual company in our model. But the difference is that they would occupy less shareholdings; otherwise, no developers would be willing to collaborate with them. Being open and attractive to global talent is critical to business success, which is not defined only by one or two founders. As the business grows, professional services such as marketing may become necessary. Presently, many software companies outsource a lot of work. We expect those services (or even tools) are more standardized and supportive to small software development teams in the future (see those blogs on salesforce.com). Right, major shareholders would have to make a few ad hoc decisions, but those decisions do not invalidate or interfere with the value allocation mechanism for developers. We just need to ensure it is isolated, in terms of division of shareholdings or revenues, from the value allocation for non-code contributions. The basic isolation principle can be predefined in the smart contract of a virtual company while specific options or configurations can be adjusted in an allowed scope according to business situations.