Well, 10 years is fine, maybe a bit longer, but more importantly, 'supporting works' should be submitted with the government to maintain the copyright... in other words, software source code would have to be submitted to the government and kept in the Library of Congress, made available when the copyright expires.
Let's call this a measure to protect the heritage of technology.
The side issue is trademarks. I don't have a problem with trademarks not expiring (i.e., nobody could make a Mickey Mouse movie, though the copyright might have expired on Steamboat Willie, for example).
In that light, you'd be able to, say, use Duke Nukem code to make a new game after the copyright expires, but you wouldn't be able to make money on the Duke Nukem character. The repository would give open source a boost, though there would be problems with the tools themselves.
I think the copyright period should be extended if the work is receiving "active and significant" support - i.e. the application or game is receiving regular enhancements and not abandoned.