IMO the "right" thing to do is either release the source or provide full API and file format specs. Also, if we are going to grant software patents as well as copyright, an "implementation" requirement should be added to the patent - (electronically) attach the source/specs to the patent. I don't thing corporate bean counters will like any of those options, but as someone who has spent 20+yrs developing commercial software I think they are "cutting their nose off to spite their face". Anyone who has ever pinpointed an unknown bug in someone else's proprietary O/S or application will know just how much time and effort goes into just finding the "other geek" in the different department/company who can understand what the hell you are talking about, let alone convince them it's a bug that needs fixing in their code. Fortunately we developers don't see much of that activity, just the delays, missed deadlines, and contradictory requirements that flow from it.
However it must be said that in cases where public safety is an issue suppliers board members, managers and "principle engineers" are often in the legal crosshairs if it can be shown they were "negligent" (eg:Y2K issues). The gaping hole in this approach is an ISO (or similar) audit once every few years is generally enough to get you off the hook. In my experience such an audit can be anything from a full day inquisition with detailed and relevant questions to "I was audited? When?"
OT: Truth be known most IT corporates would love to have a "developer pool" just like the old "typing pool", ie: cheap, replaceable cogs. I'm only 10yrs from retirement, so I doubt it will affect me personally, however IBM's "Watson" is starting to look like a viable way to send many relatively expensive "IT knowledge workers" to the unemployment scrap heap along side the secretaries, typists, telegraph operators, tea ladies, bank tellers, etc. Now may be a good time in history for ambitious young developers to become an expert in the "art" of developing/training expert systems such as Watson.
.