This is key gap in GPL. Instead of being a single standard (like BSD-Sockets or POSIX), most programmers are forced to write a new solution from scratch every time. Year after year. Because a lot of opensource stuff can be only "GPL opensource stuff". Religion fanatic wars for "freedom", where not freedom. Not public domain license.
I ask once again to think each programmer over licensing wars and stop writing the GPL. And start write Public Domain stuff for each human. Otherwise, we will continue to write shit code for decades (Just for fun!) without achieving a good result, while having hundreds of weak solutions.