We have found it very helpful that the GNAT front end automatically checks for inconsistent licensing (it checks that when you WITH a unit -- roughtly equivalent to #include a header) that the licenses are consistent. I guess anything equivalent for C or C++ would havce to be done at link time and that's much messier.