Hi Cypherdoc… Interesting set of questions.
Firstly we’ve been very vocal about the fact that the original Bitcoin consensus protocol is patent free and will remain so. It’s all been in the public domain for years and so it’s prior art making that a moot point. We’ve also been very vocal about the fact that we intend to deliver software that restores the original Bitcoin protocol and then lock that protocol down in our software implementation. That brings us perfectly into alignment with the set of prior art that was made public 10 years ago. So unless you think we are planning a last second diversion into some bespoke variant of proof of stake or some other nonsense I think this question should be settled by decades of patent case law.
So IF we were to go completely off-the-wall batshit crazy and try to modify the original Bitcoin protocol (the precise opposite of what we’ve put everything on the line to avoid) what is the absolute worst that could happen assuming we were as evil as you can possibly imagine? Well we’ve established the original Bitcoin protocol is patent free. We know the Bitcoin client software up until today is licensed under the MIT open source license, and it’s fairly close to the targeted consensus protocol already. So even if we made the license proprietary tomorrow you could fork today’s version, rewrite backports of any consensus changes we’d made subsequently and be up and running pretty quickly. When you’ve got reference code it’s really not hard to rewrite around licensing. That’s the absolute worst case and it makes some pretty incredible assumptions to get to that case.
As to licensing… I’m not opposed to BSV-only licensing of the client software. What matters though is how you define BSV. It’s clear to me that with a blockchain you can only reliably define it with respect to history (e.g. longest chain that includes block x, post nov 15, 2018), not with respect to the future. There are only two ways I can see to define a license today that specifies future forks of persistent splits: 1) define it by a complete set of protocol rules in which case it’s clear to everyone well in advance and would be tediously long, or 2) insert a discretionary clause i.e. ‘person x decides’, which I would find utterly unacceptable. So any BSV license would be open to all use on Bitcoin SV and to future hard forks or at least it would be very clearly defined what the properties are of a fork it would apply to and that would also preclude the possibility of even us making changes like 63m coin limit. The solution to avoiding future chainsplits is not a legal one, it’s mass proliferation of SPV (real SPV not the variants we have now) and proof of work. If a license were to be devised that made that not the case then the opposing faction could simply fork the code that existed the day before the license came into effect and compete from that point. If necessary taking the time to prep the code for the fork attempt before beginning their campaign with miners.
At the end of the day, anyone can change a license anytime they want and it takes effect from that day forward. I could fork BU or Core code right now and put a proprietary license on all new code I added to it. So no assurance I give you or anyone else will be good enough. People like Freetrader will always assume I am lying. If we do go batshit crazy and raise the coin limit to 63m and there is no one to replace us with an alternative client then that is a failure of the market to perceive the value of keeping the original Bitcoin protocol stable and respond with someone willing to take a capital risk on providing an alternative. If that fails to happen then bitcoin will die. You might have noticed that someone stepped up, committed millions and made this happen once before though. If a defender of the original Bitcoin protocol fails to emerge, I would consider it a complete and utter failure on my part to help build a viable Bitcoin ecosystem. I’m sure there would be many that would feel the same.
Firstly we’ve been very vocal about the fact that the original Bitcoin consensus protocol is patent free and will remain so. It’s all been in the public domain for years and so it’s prior art making that a moot point. We’ve also been very vocal about the fact that we intend to deliver software that restores the original Bitcoin protocol and then lock that protocol down in our software implementation. That brings us perfectly into alignment with the set of prior art that was made public 10 years ago. So unless you think we are planning a last second diversion into some bespoke variant of proof of stake or some other nonsense I think this question should be settled by decades of patent case law.
So IF we were to go completely off-the-wall batshit crazy and try to modify the original Bitcoin protocol (the precise opposite of what we’ve put everything on the line to avoid) what is the absolute worst that could happen assuming we were as evil as you can possibly imagine? Well we’ve established the original Bitcoin protocol is patent free. We know the Bitcoin client software up until today is licensed under the MIT open source license, and it’s fairly close to the targeted consensus protocol already. So even if we made the license proprietary tomorrow you could fork today’s version, rewrite backports of any consensus changes we’d made subsequently and be up and running pretty quickly. When you’ve got reference code it’s really not hard to rewrite around licensing. That’s the absolute worst case and it makes some pretty incredible assumptions to get to that case.
As to licensing… I’m not opposed to BSV-only licensing of the client software. What matters though is how you define BSV. It’s clear to me that with a blockchain you can only reliably define it with respect to history (e.g. longest chain that includes block x, post nov 15, 2018), not with respect to the future. There are only two ways I can see to define a license today that specifies future forks of persistent splits: 1) define it by a complete set of protocol rules in which case it’s clear to everyone well in advance and would be tediously long, or 2) insert a discretionary clause i.e. ‘person x decides’, which I would find utterly unacceptable. So any BSV license would be open to all use on Bitcoin SV and to future hard forks or at least it would be very clearly defined what the properties are of a fork it would apply to and that would also preclude the possibility of even us making changes like 63m coin limit. The solution to avoiding future chainsplits is not a legal one, it’s mass proliferation of SPV (real SPV not the variants we have now) and proof of work. If a license were to be devised that made that not the case then the opposing faction could simply fork the code that existed the day before the license came into effect and compete from that point. If necessary taking the time to prep the code for the fork attempt before beginning their campaign with miners.
At the end of the day, anyone can change a license anytime they want and it takes effect from that day forward. I could fork BU or Core code right now and put a proprietary license on all new code I added to it. So no assurance I give you or anyone else will be good enough. People like Freetrader will always assume I am lying. If we do go batshit crazy and raise the coin limit to 63m and there is no one to replace us with an alternative client then that is a failure of the market to perceive the value of keeping the original Bitcoin protocol stable and respond with someone willing to take a capital risk on providing an alternative. If that fails to happen then bitcoin will die. You might have noticed that someone stepped up, committed millions and made this happen once before though. If a defender of the original Bitcoin protocol fails to emerge, I would consider it a complete and utter failure on my part to help build a viable Bitcoin ecosystem. I’m sure there would be many that would feel the same.