If a transaction does not get included in block for a long time, users can replace it with another transaction spending same inputs and use a different nLockTime.
For some reason only a fraction of bitcoin-dev mailinglist posts make it into my mailbox. So although there’s already discussion there, I’ll reply here. One argument I didn’t see in @fjahr’s list there is this:
Transactions with nLockTime values in the past (or a lower height) are mined and relayed by default. A miner opposed to a change would now have an incentive to censor the transaction. And users who don’t like the change may try to censor relay (as some are trying with inscriptions).
We should not creative incentives for better censorship tooling.
Miners including a transaction in block would signal readiness for a soft fork
I’m not sure who you’re referring to with “readiness”.
If you mean that miners are signalling readiness, then I don’t think we should encourage the idea that including a transaction is an endorsement of it.
If on the other hand users are signalling readiness, then inclusion in a block is an unreliable metric since miners could be manipulating that in either direction.
Miners do not endorse any soft forks with signaling. Neither this BIP nor BIP 8/9 signaling is meant for endorsements.
Users are signaling support as mentioned in the BIP draft. All transactions will be mined sooner or later if there is at least one pool which can include it in the block.
Ocean pool (default template) already excludes transactions with nLockTime 21. This BIP does not create incentives for censorship. All transactions will eventually get mined except if all miners decide to exclude it. In case, all miners ignore a transaction, users can use a normal nLockTime to replace the original transaction or increase fees.