People often ask me what I think of some company's attitude towards the free software community. They would like a simple answer, and in a few cases, such as Microsoft, I can give them one. However, in most cases the right answer is complex. Even a small company can have several activities at once, each affecting our community in a different way. A large company can have even more.
There are many ways a company's activity can affect our community. A few companies sue or threaten free software developers, using software patents, the DMCA, or other legal weapons. A larger number of companies help our community by developing free software. Companies can also affect our community by talking about or distributing free software; but unless they do so in a very big way, this will have less long-term effect than their decision to contribute software or not.
Consider the example of Sun. How does Sun treat the free software community? It has not sued developers (though it has software patents with which it potentially could, and has not promised it won't). Sun probably redistributes some free software, but not in a way that attracts a lot of notice. The principal effect of Sun's activities on our community results from its own software development. But even this is not uniform. In one area, it makes a major contribution in a partly problematical way. In another, it cooperates but in a way that can't do much good; in a third, it holds us back. People who judge by one area alone are like the proverbial blind men who touched different parts of an elephant and gave conflicting reports on its shape.
Several years ago Sun bought StarOffice, a proprietary office suite. Sun released a version of this program as free software, under the name OpenOffice.org . This greatly extended the capabilities of free software. However, Sun continues distributing StarOffice as a proprietary program. The two are not the same, so there is a certain tendency for OpenOffice to act like demoware for proprietary software. Nonetheless, it is very useful in and of itself. It is a major contribution with a cloud over part of it.
By contrast, the release of Solaris as free software is a contribution that looks large, but actually helps little. Solaris is a Unix-like operating system; I don't know whether the source code Sun released is the whole system or not. Either way, it doesn't advance our capabilities greatly, because we already have two free software Unix-like operating systems. These include the GNU/Linux system, completed in 1992 when the kernel, Linux, filled the last gap in the GNU system, and the BSD system. (Each of the two has multiple variants.) Having a third one doesn't enable us to do much that we couldn't do before.
A Unix-like operating system is so large that there must surely be parts of Solaris that are better than their counterparts in GNU/Linux. However, the peculiar incompatible licence used to release Solaris as free software mostly prevents us from incorporating those parts. Thus, our community stays with GNU/Linux, and gains little or nothing from this contribution. Now that Solaris is free software, there's nothing unethical about it, but it is not much as a contribution. Fortunately, as GNU/Linux works pretty well, this is no disaster.
The Java situation is much worse. Sun's Java platform is completely proprietary. Because of this refusal to cooperate, we have to implement a free replacement from the ground up, just as we did with Unix starting in 1984. It consists of the GNU Compiler for Java, and GNU Classpath. It works, but it isn't complete: many Java programs run on it, but many others still do not.
Many programmers choose Java because they have heard it is "platform independent", but unless they are careful, they will find that is not so — that they have written programs that run only on Sun's non-free platform. (We call this the Java Trap.) If you like the Java language, please help us liberate it: join the development of GCJ and GNU Classpath.
So what can we say about Sun? Can we add up these three very different comportments and get an overall measure of how a whole company treats the Free World? Maybe we could, but I think we should not try. Any such combined measure would be simplistic. Except for those companies that do something so nasty that it calls for special outrage, such as Microsoft, Siemens, Philips, Ericsson and Alcatel — all reported by newspapers to have threatened to move or cancel operations in various European countries if those didn't support software patents — and when Adobe got Dmitri Sklyarov arrested, we should decline to "add up" all the activities of one company, decline to judge it "as a whole". It is more useful to judge each activity separately, so we can praise or criticize it as it deserves. I wrote this article because when I was asked to comment on Sun, I forgot this point. We all make mistakes — and we can use them as examples to teach others what not to do.
Copyright 2005 Richard Stallman. Verbatim copying and distribution of this entire article are permitted worldwide without royalty in any medium provided this notice is preserved.