BOSL or MIT - Orchard

I’m strongly opposed to the use of BOSL license for any consensus-critical code, and at least for the time being in code that third party wallet devs would need to make.

I like the principle behind it - encouraging incentives for innovative development (“sustainability”) while also ending up with a public good at the end of the transitory period. That’s a great idea and a nice balance of competing interests.

Additionally since this is a new idea, there’s no way to get any experience with it without actually putting it to the test on some real software. So I view this as the strongest reason for ECC to try this out now -they have a new software release that has some commercial demand. How else would we have the opportunity to try it out an unfamiliar new license without first using it on some new software where the unfamiliarity is felt? Have to start somewhere.

The reasons I think it’s not appropriate for consensus code that every node developer or wallet developer would need to make are:

  1. The perceived novelty and uncertainty around the license I expect will have a chilling effect of keeping outside developers from contributing, and this is among the very top priorities for zcash community growth. Even if BOSL is essentially an interpolation between more familiar MIT and GPL licenses, it’s the novelty here that is creating its own effect
  2. I think it’s inappropriate to use the threat of state enforcement as the means to achieve the desired ends of incentive alignment. Like the license works because it carries the threat of creating a lawsuit against developers who don’t follow the license. Lawsuits work in part based on power asymmetry, a well-prepared and well funded entity like ECC would have too much of an edge against independent developers. I personally view there being a 0% chance of ECC attacking an independent dev team because of their values, but I can’t prove that to anyone else and I don’t see anything in the way of safeguards against it. This is equally true for GPL or any copy-left too.
  3. Creating exceptions where needed like for Zebra is retaining too much discretion within the couple of leading organizations when we should be trying to diffuse power more where we can

I said strongly opposed, but there are plenty of things that could change my mind or mitigate the issues I have. What could address #2 is a safeguard clause that prevents using this license to sue small independent development teams. Something that would change my mind about #1 is hearing from wallet developers that they really don’t care about the distinction or that they prefer this

11 Likes