The vision for Grain is that it will create a project-specific token for any open project, and thus provide a way to flow economic value to the project’s contributors, supporters, and upstream dependencies. Thus we could imagine a ‘Harberger Grain License’ as follows:
I believe this has several improvements over the base HCL:
- It provides a framework for directing the tax revenues back to the contributors and supporters of the project
- It flows the revenues upstream to all the project’s dependencies, thus supporting the whole ecosystem and not just leaf nodes
- It suggests a framework for raising the capital to buy out undervalued proprietary projects
To elaborate on point 3: suppose that someone makes a project that would have a value of $50m if open-sourced, and they set the buyout price at $10m. What good samaritans are going to raise $10m to prove that point? Within the framework of grain, the buyers would then own grain in the newly-open-sourced projects (as befits their status as financial sponsors), which provides a way for them to recoup their investment (and then buy-open more projects).
Before either system could be used in practice, we will need to figure out the semantics for splitting the rewards across different open-source dependencies. Suppose that a project depends on both left-pad and nodejs. Clearly nodejs should receive more of the tax revenues than left-pad, but so far we don’t have any framework for making these decisions.
Thanks to @lkngtn for writing the Harberger License post!