This is an issue that is dear to my heart. I think it is possible to almost always avoid killing a product. When a company doesn't want to invest further they can do combinations of the following: * Just open source it. * If code has external IP, isolate them behind interfaces. * If product is service and uses internal infrastructure, you can still isolate those interfaces (assume someone else would build necessary i…
I’ve only seen this work a couple different ways. One: if the company spins off something very large (like an entire division) that was already self-sufficient so it is pretty clear how to keep it all functional from the outside. Or, two: if, from the very beginning, the person pitching a project insists on an open-source/flexible model and takes lots of steps to ensure that it is constantly working in that way.