...in any other company...
Here's another thing to consider about programming departments...
You finish up one project, then put your best people on the new, hard, fun, challenging project.
If you keep your top people on the old (510's for instance), and make them do maintenance, they'll get bored and leave the company.
So, you give them new challenges.
Who picks up support on the old units?
The junior programmers, and new-hires.
Then, look at the PVRs that got Linux guts...
Imagine how the old timers put their existing functionality on top of a new operating system like that.
I would have hired people with Linux experience.
But they wouldn't know the functionality of the old code (assuming it was reused)
This situation might lead to programming teams where some folks know Linux, and some people know the PVR functionality, and they have to work together.
Even if they get along together well, that is a difficult division to handle.
Especially if it was introduced a few years ago with the new products.
This is not to excuse the programmers, their bosses, and the management environment that may exist.
It's just how many companies work.
I've seen it umpteen times in umpteen/10 years of consulting.