These modifications don't seem like difficult to do in 4 months, right ?
Making the modifications is not enough. You need to upgrade every bitcoin node in the world as well.
Not really. If you keep your old node running, you copy the the old fork, if sufficient miners go with the old fork to still make some blocks. If you download the new node, you copy the new fork.
But in all of this, you don't even need to run a node. You can just connect your light wallet to one of the miner pool nodes. If you connect to an old-chain miner pool node, then you transact on the old chain ; if you connect to a new-chain miner pool node, you transact on the new chain. You should be careful to avoid replay attacks, this could be done by slightly modifying something in the signature scheme in the new chain.
There's nothing special about having to download another piece of software if you want to run another coin. In fact, exactly the same would happen with a UASF or any other such thing. Monero or ethereum or dash or... nodes also have to upgrade when there's a hard fork. That's part of the game.
Segwit as it is with 4 MB blocks can be deployed in two weeks, however. There are still thousands of nodes not supporting segwit, but it doesn't matter. Those will continue to work just fine, since it is a soft fork.
Of course it matters. That would be nodes that cannot understand segwit transactions. Yes, they wouldn't refuse the block chain, but they cannot understand it. It would see funny transactions, but accepted as "anyone can spend". If I'd pay a user with a segwit transaction, and his light wallet connects to such an old node, he would not see my transaction arrive. The user of the old node himself wouldn't understand my transaction if I were to have segwit coins and wanted to pay him. So this would be a crippled node in any case.
As you know in the mean time, I don't believe in the decentralization value of non mining full nodes, but the decentralization value of crippled full nodes that don't have the witness data and don't understand the segwit transactions is even much more of a ridiculous idea.
The thing is that segwit is a radical modification of how bitcoin functions. I'm not saying it is bad (I think it contains some very good ideas). But it is a radically different way of doing many things. Essentially, the legacy bitcoin and the segwit bitcoin are two entirely different things. A clean hard fork is much more adequate for this. And a clean hard fork would also allow people to "not be tied to backward compatibility". Many crypto currencies have such a policy. There's a lot of clumsiness in the requirement of a soft fork that disappears with a hard fork. For a radical modification like this one, a hard fork is much cleaner.
The whole "leading argument" in this whole business is the irrational belief that non-mining full nodes have any decentralization value, and that old nodes with old node software are important. Both of these notions are entirely wrong, but they are the fundamental argument on which all of this dispute is based.
My own thinking is that Core wants to push people out of the block chain, and onto the LN, because that's their toy, and they think that LN has not much to offer (probably erroneously !) apart if people are FORCED off the chain. I think that *this* is the whole origin of this crazy list of arguments, that culminates in the absolute importance to the security of bitcoin of an old piece of software running on an old PC somewhere on a 56Kbit link in some basement somewhere in Africa or so, as excuse for not having to increase the legacy-transaction room on the chain.
In as much as "increasing block size to 2 MB" was considered a disaster for our old PC on his 56Kbit link in that basement, visibly increasing witness data to 4 MB was not going to be a problem, because somehow, these witness data were not essential to the security of bitcoin, (you could accept that *someone* *somewhere* had checked them, right ?). One needed an army of full nodes that were constantly checking the single available chain out there in all of its details (was the argument), but suddenly, that wasn't needed any more for the witness data.
Going from 1 MB to 2 MB was going to kill all full nodes, but going from 1 MB to 4 MB of witness data wasn't a problem.
In other words, one cannot be so naive, as a bitcoin developer, not to know that if there's only one chain out there, only a few full nodes would be sufficient to be whistle-blowers to tell the world the miners are making a false chain ; at which point all users could consider leaving all their bitcoin holdings for what they are and never touch a bitcoin again ; or accept whatever miners find a consensus on, and hope they will still accept your transaction. And that whether that single chain out there is checked 5 times, or is checked 7000 times in a row, doesn't matter. The guy finding out that it doesn't check, has news to sell (but most probably will first sell his own coins....).
This whole story of the necessity of a lot of non-mining full nodes, crippled or not, from the moment they do not allow more than 1 MB of legacy transactions, but without any problem, are blind to 3 MB extra segwit data, smells as a fundamental desire of core to asphyxiate legacy transactions, and ONLY legacy transactions.
The poor African in his basement with his 20 BTC transactions (smaller ones are not going to be profitable given that he needs legacy transactions on his old node, and the fees will be high) that cannot afford a 3 TB disk and a better internet link, but has to pay $10.- for a transaction, running old core node software, brings tears in my eyes
This whole story only makes sense if somehow, one wanted to force people off legacy transactions, and all false arguments are good to sell that. But there's no technical or game-theoretical justification for that. This is why the story of "no hard forks" and "importance of full-node-in-your-basement" has been propagated in my eyes, because it is obviously false as a logical argument.