The best case would be for NIPs to be fully atomic. If a new NIP changes or replaces an existing one, that should be clearly indicated. The existing NIP exists for legacy purposes, but is clearly marked as deprecated so new development work focuses on the current preferred implementation.

That's basically how the existing web works. It takes a long time for changes to get to everyone (remember how long IE11 was supported?) but it ensures a consistent experience for older software.

Reply to this note

Please Login to reply.

Discussion

In theory yeah, but I think it's more complicated than that. NIPs can be updated in place while maintaining backwards compatibility, so that's often ok. Atomic NIPs are obviously ideal, but many kinds of functionality have interdependencies and would be hard to keep separate. That's the scenario where you'd really need a migration path, but those are just so painful. We're going to witness that with NIP 04/44 this year.