python3 code cannot import python2 libraries. That split the ecosystem.
Go intends for a go2 library to be able to import and use a go1 library.
This means there isn't a split in the ecosystem at any point in time.
It's fine to remove a feature as long as old programs still build because you must opt in to the removal via setting "version=go2" or whatever in go.mod.
This is distinctly different from being the perl and python transitions because the new compiler can still build old code, including with removed features, until you opt into the new language version.. and even once you do opt in, all your dependencies are fine whether they have opted in or not.
python3 code cannot import python2 libraries. That split the ecosystem.
Go intends for a go2 library to be able to import and use a go1 library.
This means there isn't a split in the ecosystem at any point in time.
It's fine to remove a feature as long as old programs still build because you must opt in to the removal via setting "version=go2" or whatever in go.mod.
This is distinctly different from being the perl and python transitions because the new compiler can still build old code, including with removed features, until you opt into the new language version.. and even once you do opt in, all your dependencies are fine whether they have opted in or not.