We can also enforce the best practices by leaving the deprecated
interfaces *behind*. For example, currently we have the library
gtk+-2.0. When gtk+ goes 3.x, we will rename the base library to
gtk+-3.0, and leave all the deprecated stuff in a dummy gtk+-2.0
which itself will depend on gtk+-3.0, pulling all the
non-deprecated stuff in. The effect is that applications written
for gtk+-2.0 will continue to work and compile still, but those
targeting gtk+-3.0 do not see the deprecated interfaces. A bit
hackish, but I thought I would say.