Closed michielbdejong closed 6 years ago
Answer, IMHO, definitely not. The versioning schedule is there to create a stable dev experience, and we agreed that that's important, and that we're underperforming on that goal.
I see two reasons why we might want to deprecate BTP-alpha earlier:
k
and k+1
, meaning we can't deploy BTP/2.0 earier than July 2018. However, I don't think anybody would want to deprecate BTP-alpha for this reason, since the current hope is that BTP/1.0 will be more than fit for all our needs until probably later, rather than earlier, than July 2018.To cater for the needs of this last group of developers, I'll publish a BTP/1.0 <-> BTP/alpha proxy, which they can put in front of their deployed node, in case someone wants to peer with a them, and does not support BTP/1.0 yet. That way, even Interledger implementations that do not natively support BTP/alpha can still claim to be testnet-compatible, by pointing to that proxy.
I feel pretty strongly that we should deprecate BTP-alpha as soon as BTP/1.0 is decided upon and implemented.
Reasons:
I'll think about it some more.
OK, I thought about it, and this is what I came up with:
I'll add multiple endpoints to Amundsen, 4 per year. The first ones will be 17Q3 (the current version) and 17Q4 (the one based on https://github.com/interledger/rfcs/300). Initially, the 17Q4 endpoint will only support the 'auth' and 'ilp' protocols. Then we add protocols one-by-one as Q4 progresses. So this is not about BTP versioning, more about resetting the sub-protocols registry once every quarter.
Amundsen will support each protocol incrementally during its dev phase (the quarter its name refers to), and then in frozen form for at least an additional 3 quarters.
Interledger software can decide to only (ever) support the sub-protocols from the 17Q4 registry, that's fine. They don't need to support multiple versions, only Amundsen, as a bootstrap node, will do so, so that developers will have a guarantee that their demos will not start failing unexpectedly. If you build a 17Q4-based demo now, and it uses the testnet by bootstrapping from Amundsen's 17Q4 end-point, you can trust that it will not start failing until at least 1 October 2018.
The switch from 2 to 4 versions per year is for two reasons:
ilp
and auth
, and not other protocols like vouch
and paychan
yet, so that we can still discuss those further during Q4.
According to https://github.com/interledger/interledger/wiki/Interledger-over-CLP#versioning, version 1 (which uses BTP version alpha), should be supported by all testnet nodes until end of June, and version 2, which uses BTP version 1, should be supported during all of 2018.
Therefore, from January to June, testnet nodes require software that supports both BTP version alpha and BTP version 1.
Both @emschwartz and @sharafian asked why we don't deprecate the alpha version of BTP with immediate effect, so I'm opening this issue to discuss that option.