I think the GPL has been an important part of the Linux success, but the Linux preamble did entice some of the commercial interest that was vital to its growth. I think projects (like JBoss) that use the LGPL can also avoid fragmentation over the long run while still attracting profit-seeking players.
Not to draw any comparisons (my success thus far cannot be understated), but in my own project I originally intended to leave everything under the GPL. The rationale was that people could launch online services with the framework, so why give anybody the option to make money from shrink-wrapped black-box applications? This plan has now changed:
Half of my code is a gateway application which I'm sure many people could do better. I want to keep that under the GPL to serve as a complex example, but eventually put the core framework code under the LGPL so that developers and businesses can develop new applications unfettered by derived work limitations. So I ask: does this increase the risk of fragmentation? Perhaps it would result in diminished cooperation, but I doubt I could get less of that, regardless of license; I'm typically not invited to the conversations about my code.