Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HCL App? #14

Closed
yeqbfgxjiq opened this issue May 10, 2019 · 21 comments
Closed

HCL App? #14

yeqbfgxjiq opened this issue May 10, 2019 · 21 comments
Labels
cryptoeconomics Positive-sum incentive alignment Dev Making stuff w code enhancement New feature or request question Further information is requested
Milestone

Comments

@yeqbfgxjiq
Copy link
Contributor

yeqbfgxjiq commented May 10, 2019

I've been thinking about the HCL and how to implement it...

Since DAOs are all crypto based the HCL could actually be tested in the context of an Aragon app, whereas it would be difficult for any traditional structure to work with. Imagine if there were projects that spin out of the hive, use the apps/resources we build, and then use the HCL to give back to the hive to support ongoing research and resource creation. It's completely possible and would make 1Hive the first sustainable open source community project that uses the HCL.

Following the "process" for EIPs:

  • build something useful
  • implement and test it
  • once it's working and people like it create a standard around it

Seems like a similar process could work for the HCL:

  • build an app that makes it easy to use the HCL in an Aragon DAO
  • dogfood it and create resources that help others discover and use it too
  • refine the model with help from developers and legal, then ship an "official" version

@lkngtn do you see this as a reasonable way to go about making the HCL a reality?

@yeqbfgxjiq yeqbfgxjiq added enhancement New feature or request question Further information is requested cryptoeconomics Positive-sum incentive alignment Dev Making stuff w code labels May 10, 2019
@yeqbfgxjiq yeqbfgxjiq added this to the V2 milestone May 10, 2019
@lkngtn
Copy link
Member

lkngtn commented May 10, 2019

A couple quick thoughts here, will come back with a longer response soon but don't have time to dive into it too much right now.

At a high level this is what I'm thinking with the HCL:

  1. It should be possible for software devs to use the license the same way they use any other software license (eg including it as a file with the code they distribute)
  2. We to make it easy for people who choose to create proprietary derivative works to comply with the license terms. This is where I think blockchain/smart contracts are useful. You essentially want someone to be able to register their proprietary derivative work, provide some meta data about it and set their Self-assessed valuation, and deposit funds to pay a "tax" or "fee" based on that self-assessed valuation back to the commons.
  3. Initially it may be reasonable to have all the funding managed by a non-profit foundation (from a legal perspective), and that foundation would create some technical infrastructure to allocate this funding back to software projects (ideally in a bottom up way). I think the CLR mechanism is a really good fit for this.
  4. We would want projects to be able to join a curated registry, which specifies the address they should recieve funds and provides information about the project that they are working on. Being included in the registry would require that they are developing HCL license software. (This is where I think using a DAO makes a lot of sense, as you can send money to the dao and it can be transparently governed by the open source project and distributed to contributors).

So all that is to say that I don't think we need an HCL app for Aragon. But we may use the Aragon Court (depending on timing) for curating the whitelist of recipients, and we would probably want to use AragonOS for creating the derivative works registry.

@yeqbfgxjiq
Copy link
Contributor Author

This sounds great, but why do you think that initially it makes sense to involve a non-profit or any type of legal entity? Wouldn't it be easier to just have the HCL be opt-in and non-binding so that people who want to experiment with it can, and have the whole processed managed by DAOs/smart-contracts? Then as the model evolves and gets more feedback/resources it can become something "official", but initially it's just a light-weight experiment that's opt-in.

Can you explain more what the Aragon Court would enable that an automated system would not?

When you say the AragonOS would create the derivative works registry, that's really just a fancy way of saying a DAO would manage it right?

@lkngtn
Copy link
Member

lkngtn commented May 12, 2019

This sounds great, but why do you think that initially it makes sense to involve a non-profit or any type of legal entity?

  1. Some sort of legal entity is required in order to help enforce the license in the event that people/organizations do not comply with license terms. and 2) on-chain governance is still super experimental, it feels much safer and easier for people to adopt anchoring trust in a non-profit which can then delegate management to the most compelling on-chain experiments. 3) for the HCL to be successful, it needs to be easily adopted/understood by people who do not understand or trust crypto/blockchain etc. (there is actually significant distrust in my experience for anything blockchain related among the wider open source community)

Can you explain more what the Aragon Court would enable that an automated system would not?

I'm not sure how you would automate validating that a specific address is associated with a project which is working on HCL license software. Its a very subjective link, not something that could easily be validated by a smart-contract.

that's really just a fancy way of saying a DAO would manage it right?

I think maybe its the other way around, I think DAO is not a very specific term, it could mean literally any sort of on-chain governance process. 🤷‍♂️

@yeqbfgxjiq
Copy link
Contributor Author

My thinking is that it would be easier to roll out the HCL as a volunteer based opt-in honor system, and then move towards a non-profit legal entity when it's more fully baked. This restricts the initial target market to a very small audience (not the broader open source community), but that will allow us to experiment and get a basic model working. Then once it's ready we can expand into the broader market. This has the benefit of allowing us to move fast initially, and then as we grow use our brand name recognition, experience, and growing awareness of DAOs/blockchains to attract a broader community.

  • if a project really needs/cares about a license that's enforceable, they're not going to try out a novel structure anyways
  • if a project is in the blockchain space they're more likely to be interested in the bleeding edge of technology and want to experiment with new ideas, and they'll be familiar with the concepts/infrastructure required to make it happen

@lkngtn
Copy link
Member

lkngtn commented Jul 1, 2019

We may want to review this project and possibly use it as inspiration for the HCL compliance registry: https://medium.com/blockchannel/introducing-nonomos-35bc87494baa
github is here: https://github.com/anoanoano/NonomosHL

@yeqbfgxjiq
Copy link
Contributor Author

For "the HCL compliance registry" (implying that it's already a thing and I just missed it), or "a potential future HCL compliance registry" (implying that it's a thing we could/should build)?

@lkngtn
Copy link
Member

lkngtn commented Jul 1, 2019

For "the HCL compliance registry" (implying that it's already a thing and I just missed it), or "a potential future HCL compliance registry" (implying that it's a thing we could/should build)?

The later, trying just adding here since there is some additional context in the thread. But we will need to get more specific in order to actually scope and build something.

@yeqbfgxjiq
Copy link
Contributor Author

yeqbfgxjiq commented Jul 1, 2019

I like the part in the article that says: "How does the smart contract collect the “taxes” or fees? As unpaid fees (or “back taxes”) accumulate, they count against the token owner’s equity in the token. Thus, anyone who wants to buy the token can do so by paying the owner her self-reported value, minus her unpaid fees. If unpaid fees are allowed to accumulate to more than 1 ether, the token value is reset to zero so that anyone can claim it."

I think that's a really great mechanism. Not sure if it applies to the HCL in the context of software licences, but it's something to think about and add to this list of mechanisms that can encourage tax/fee payments.

@yeqbfgxjiq
Copy link
Contributor Author

Also, it would be cool to make a website/app where you can see all the software projects that are available via the HCL and their current rates. Initially it would mostly be used for marketing purposes to show what's possible, but eventually it could become a full on marketplace

@yeqbfgxjiq
Copy link
Contributor Author

yeqbfgxjiq commented Jul 1, 2019

Edit 2: please see comment below

### Edit: read back through [the latest blog post](https://1hive.org/blog/2018/08/14/harberger-taxation-and-open-source.html) it says: "If a proprietary derivative work’s owner is paid their self-assessed valuation they must immediately open source the propriertary derivative work." So then a company could force another company to open source their app/product, but not stop them from using the code involved right?

Reading back through this thread, and specifically this comment. 2 says:

"We to make it easy for people who choose to create proprietary derivative works to comply with the license terms. This is where I think blockchain/smart contracts are useful. You essentially want someone to be able to register their proprietary derivative work, provide some meta data about it and set their Self-assessed valuation, and deposit funds to pay a "tax" or "fee" based on that self-assessed valuation back to the commons."

Not sure if I'm understanding this correctly. Currently if I create something and want to make it open source I choose a permissive license (GPL, MIT, unlicense, etc...) and that's it.

With this model, would I have to choose the HCL, then register the app/thing, then pay a tax/fee to register that work?
Or...
With this model do I create the thing, then choose HCL as the license, then register it, and that's it on my part. Then if someone else wants to use my code/work as part of a proprietary product (not open source) they have to pay a tax on the registered code I provided? If they don't pay the tax, then they are either have to make their product open source or stop using my code/app?

Also, what exactly is the purpose of the harberger part of the license and how does it work? Does the person who created and registered the work under the HCL set the price/terms (if anyone wants to use this code in their proprietary product they have to pay X or make it open source)? Or is the tax/fee based on an open market where a company could "purchase" a license to use in their product/app and thus not allow their competitors to use it, but competitors could also "buy" it from them at any time at the current market price? (which would create a timebomb that allows competitors or hedge funds to gut apps by buying the rights to the code used)

@yeqbfgxjiq
Copy link
Contributor Author

@lkngtn Is this accurate?

The HCL in 1 paragraph:

  • Anyone can create work, license it with the HCL, and register it with the HCL Registry. Once a work is registered it allows anyone to use the work in any open source product for free. It also allows anyone to use the work in a proprietary product, but under the condition that they self-asses the value of that work to their project and then pay a tax/fee on that valuation. If the proprietary product does not pay this tax/fee their proprietary product will become open source. If anyone pays the full value that was self assessed by the proprietary user of any HCL licensed work, they can force the work to become open source.

@lkngtn
Copy link
Member

lkngtn commented Jul 1, 2019

Seems mostly accurate. My nitpicks would be:

If the proprietary product does not pay this tax/fee their proprietary product will become open source

We can't automate this, so its really that if they do not pay they are in violation of the license and can be sued. Which would force them potentially pay back "taxes" + damages/penalty for not complying.

If anyone pays the full value that was self assessed by the proprietary user of any HCL licensed work, they can force the work to become open source.

Similar as above, we can't automatically open source their code, but we can enforce the license and seek remedy for non-compliance.

@yeqbfgxjiq
Copy link
Contributor Author

yeqbfgxjiq commented Jul 1, 2019

if they do not pay they are in violation of the license and can be sued. Which would force them potentially pay back "taxes" + damages/penalty for not complying.

we can enforce the license and seek remedy for non-compliance.

That sounds expensive. How about we start with a public shaming? In the crypto space reputational/social capital seems to be important to people, and it certainly is in the open source world too (because unpaid volunteers often work for social capital vs financial capital). There could be a "naughty" and "nice" list on the website of people who are paying their dues and supporting the HCL, and people who reneged and are shunned lol

Also, legal fees are expensive and everyone knows that we would never actually pursue them in court for any of this anytime in the near future

@lkngtn
Copy link
Member

lkngtn commented Jul 1, 2019

Also, it would be cool to make a website/app where you can see all the software projects that are available via the HCL and their current rates. Initially it would mostly be used for marketing purposes to show what's possible, but eventually it could become a full on marketplace

A dashboard for registered proprietary works and the taxes associated with them makes sense... for a list of all software under the license I would guess that something like https://github.com/search?utf8=✓&q=license%3Agpl-3.0&type=Repositories&ref=advsearch&l=&l= would make sense.

@lkngtn
Copy link
Member

lkngtn commented Jul 1, 2019

That sounds expensive. How about we start with a public shaming? In the crypto space reputational/social capital seems to be important to people, and it certainly is in the open source world too (because unpaid volunteers often work for social capital vs financial capital). There could be a "naughty" and "nice" list on the website of people who are paying their dues and supporting the HCL, and people who reneged and are shunned lol

Also, legal fees are expensive and everyone knows that we would never actually pursue them in court for any of this anytime in the near future

Sure, the point isn't that you would be suing all the time as the first course of action, the point is at the end of the day that is the enforcement mechanism.

@yeqbfgxjiq
Copy link
Contributor Author

Yeah I think it's a good fallback plan, but other incentives/mechanisms ahead of that would be great (esp for the first few prototypes)

@yeqbfgxjiq
Copy link
Contributor Author

yeqbfgxjiq commented Jul 1, 2019

MVP Idea (minimal viable prototype)

  • draft the HCL license into something that can be included in a GitHub repo (key word here is "draft")
  • fork NomomosHL and create a website that allows anyone to register, discover, and use/purchase HCL works (with a "naughty" and "nice" list, and potentially even extra "karma" tokens/badges for such lol)
  • docs and user guides explaining the process and making it easy to use (hopefully leading to more users than just 1Hive)

@DISC30
Copy link

DISC30 commented Jul 3, 2019

Also, it would be cool to make a website/app where you can see all the software projects that are available via the HCL and their current rates. Initially it would mostly be used for marketing purposes to show what's possible, but eventually it could become a full on marketplace

A dashboard for registered proprietary works and the taxes associated with them makes sense... for a list of all software under the license I would guess that something like https://github.com/search?utf8=✓&q=license%3Agpl-3.0&type=Repositories&ref=advsearch&l=&l= would make sense.

Great idea! I don't trust courts, "naughty" and "nice" lists, or blockchains unless they're transparent. Perhaps the method of enforcement should be not sueing each other but making the relevant facts transparent, not picking sides but coming to a consensus.

Harberger taxes are great but that doesn't mean we have to use them, and I'm sure the what did you call it Creative Commons OG is relevant: http://the-future-of-ideas.com/

@yeqbfgxjiq
Copy link
Contributor Author

Useful Resource:

@yeqbfgxjiq
Copy link
Contributor Author

@DISC30 I literally have no idea what you're saying with this comment. We're brainstorming ways to make harberger taxation licenses a viable option for open source projects. If you were commenting on that please try to be more specific as to your suggestion for improvement or the problem you see. If you were not specifically commenting on harberger tax licenses to support open source projects, then please move the conversation elsewhere

@yeqbfgxjiq
Copy link
Contributor Author

Moving this work to https://github.com/1Hive/hcl-mvp

@yeqbfgxjiq yeqbfgxjiq mentioned this issue Jul 8, 2019
5 tasks
@lkngtn lkngtn closed this as completed Jan 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cryptoeconomics Positive-sum incentive alignment Dev Making stuff w code enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants