One thing I use Linux for is software development and of course GNU from the free software foundation plays a major part in this.
I recently learnt that GNU stands for 'GNU is Not Unix' and that the Gnu/Linux combination is because the Free Software Foundation's Hurd kernel is not quite ready yet...
An important consideration in using GNU is that it is free and open source, very comprehensive and facilitates porting to different operating systems.
Much GNU software will build both with the Gnu Compile Collection (GCC) and with Microsoft compilers.
I discovered that if you link modules built with Microsoft visual studio with ones built by gcc the result is liable to crash at run time.
Also that support for compiling with Microsoft tools is being discontinued in the case of many packages.
This in turn precludes linking the new GNU library releases with new libraries created by Microsoft in the same application.
Since Microsoft libraries are not open source it seams the only solution for using new technology from both camps is to fork the GNU libraries now which in turn will create potential conflicts on Linux.
I wonder what approach other developers are taking and would like to hear your thoughts.