Now that we have a free operating system, we need free applications to go with it. We should have free applications to do all the jobs that users want to do. Since this is a big job, we want to do all we can to encourage developers to make their applications free. To help the development of non-free applications would be working directly against our own goal. It would be shooting ourselves systematically in each toe. if the non-Free applications want to provide that support, they would have to reimplement the Free drivers (resulting in a lot of wasted man-hours). A non-free program is bait for people to give up their freedom and accept shackles. If our work is of no use to them, that's good! If that means they have to do extra work (because they can't use our work), that's exactly what the GPL is supposed to achieve. It says, "Here's some useful code you can use IF you make your program free." This is why some of the GNOME libraries are released under the GPL. Some developers, when faced with this situation, decide to make their applications free so that they can use our code. Every time that happens, the Free World gains a new application. We win. We can't win every time. Some developers go ahead and make the application non-free, and don't use our code. When that happens, we don't win, but we lose nothing. Their code was going to be off-limits to us in any case.