Something like mandating the binary be released for the version operating at the end of the product's life would be good - not ideal, but since making everything open source by fiat isn't feasible, this would still allow people to operate software after it's been abandoned.