Please note that I'm not saying gcc or emacs should not support windows, solaris, ultrix or any other non-free operating system. I do not hold these extreme ethical views. I merely question RMS's ethics.
Is there anyone here that actually believes it is wrong for free programs to have code to run on non-free systems? Such a person could honestly criticize me for thinking that is acceptable. But I have a hunch that nobody on the list holds those extreme ethical views. In other words, you and others are attacking me for agreeing with all of you on this point. Everyone has to draw lines between cases that are partly similar, and that is not hypocrisy. Hypocrisy is a contradiction between one's stated views and one's actions -- for instance, criticizing someone else for doing that which you do not think is wrong. I too have used (and still use) non-free software. Not only from Microsoft but also from providers such as IBM, Sun, Digital, SGI and Apple. My personal preference is for free software, mostly OpenBSD. Because of practical or pragmatic reasons, I still use non-free software on a daily basis, yet I seek to replace these with free alternatives. I appreciate that you make efforts to replace them with free software. Many others who prefer free software, or say they do, make no efforts to bring their use of non-free programs to an end. They leave the job to others and do not try to shoulder even part of it. Again, I hear you say 'a little pragmatism goes a long way'. Please, if that is not what you're saying correct me if I'm wrong but note that if it is what you're saying then I concur. A little pragmatism does go a long way. I'm not taking the extreme view that non-free software is evil and must be abolished. Non-free software is often (yet, not always) the choice of the user. I do have an issue with someone who takes a very extreme position but doesn't follow through. I believe that all software should be free -- what you call a "very extreme" position -- and I have spent 24 years working for this goal. Free operating systems exist today because of the campaign which I started in 1983. I am also very pragmatic in how to campaign for this; otherwise I would never have got this far. My only method for achieving this goal is by convincing people, and it is clear it will take many years to succeed (if we ever do). Many people do not yet want to migrate all the way to free software, and the possibility of migrating partially as a bridge is very helpful to the progress of free software. I recognize this as much as anyone. I also recognize that we cannot keep moving towards a distant goal without keeping it in our minds and upholding it with our actions. Otherwise, it will be forgotten, or turned into a purely theoretic Sunday-school principle which people do not follow in life. To reconcile these two needs, I concluded that I should generally accept compromises and part-way measures that are beneficial in the short term, as long as they don't undermine the long-term goal. However, we must not advocate part-way measures that imply rejection of the goal. More concretely, this means that I can grant legitimacy to installing free software, even if they don't go all the way and erase all the non-free software on their machines. But I cannot grant legitimacy to installing a non-free program, because that would be treating the problem as a solution. Thus, I can encourage installing Emacs, GCC or OpenOffice on Windows, but I should not encourage installing non-free programs on GNU/Linux or BSD, just as I should not encourage installing Windows. It sounds like you disagree with these conclusions, and also with the goal that they are based on. I respect your right to your views, but I strive to act according to my views.