Following the very heated kernel DRM discussion that came about as the result of a major interface break in the Nouveau DRM code, David Airlie has asked on the Nouveau mailing list about potentially releasing Nouveau 1.0.0. Right now the Nouveau interface is at 0.0.16 and is wondering if developers will accept just renaming the current code to version 1.0.0.This proposal is being considered so that all old user-space compatibility is gone, there is no more user-space mode-setting to support (the code is already removed), and so that there can finally be an officially released version that Linux distributions can utilize and support...
It's not a good idea generally to have a lot of DRM code licensed GPL. Remember that modern *BSD OSes also share this stack, so it must be licensed BSD (or something equally nonrestrictive) if they are to make use of it.
GEM is an API. TTM is a framework. GEM specifies only the API exposed to the outside world, and appears to work fine for that. TTM makes designing the internals to implement that API easier.
I'm not exactly sure how I feel about moving a larger part of the graphics stack in-kernel (especially when it seems that many OSes, eg. Windows Vista/7 are moving the _entire_ graphics stack into user-space), but there are good reasons for the way things are done.