> It seems to me that the optimal outcome for upstart would be an x.org
> style fork
I suspect that the terms of the "contributors agreement" will work, in practice, as a non-GPL license, provided that all contributors to upstart sign it.
For example, imagining that a forked version is created, while the original upstart keeps under GPL, it will be possible for the forked versions to get patches from the official upstart version.
However, as Canonical developers are bound to the agreement, they cannot get the patches from the forked version back to their version without violating the agreement, since they cannot transfer the copyrights from someone else to Canonical, nor give the additional rights that the "contributor agreement" requests.
So, a GPL patch from someone that doesn't sign the agreement is incompatible with their license.