"one model is to have the exact same code with multiple licenses, one open, one closed."
I don't understand. why bother with the later then ? what's the benefit ?
"As I understand it they develop enhancements that go into a closed version, but that version automatically becomes open after a given time period"
That sound like a reasonable compromise I could live with...
But I think that Copyright assignment is an overkill to achieve this goal... although I am unsure of how to have the licensed worded to _guarantee_ that outcome (i.e not just hoping that the 'company' will do the 'Right Thing(tm)')