Lest CodePlex perplex
Someday we will be able to judge the organization by its actions (including its public relations). Today we can only try to anticipate what it will do, based on its statements and Microsoft's statements.
The first thing we see is that the organization ducks the issue of users' freedom; it uses the term "open source" and does not speak of "free software". These two terms stand for different philosophies which are based on different values: free software's values are freedom and social solidarity, whereas open source cites only practical convenience values such as powerful, reliable software. See http://www.gnu.org/philosophy/open-source-misses-the-point.html for more explanation.
Evidently Microsoft would rather confront the practical competition of open source than the free software movement's ethical criticism. Its long standing practice of criticizing only "open source" does double duty: attacking one opponent while distracting attention from the other.
CodePlex follows the same practice. Its stated goal is to convince "commercial software companies" to contribute more to "open source". Since nearly all open source programs are also free software, these programs will probably be free, but the "open source" philosophy doesn't teach developers to defend their freedom. If they don't understand the importance of this freedom, developers may succumb to Microsoft's ploys encouraging them to use weaker licenses that are vulnerable to "embrace and extend" or patent co-optation, and to make free software dependent on proprietary platforms.
This foundation is not the first Microsoft project to bear the name "CodePlex". There is also codeplex.com, a project hosting site, whose list of allowed licenses excludes GNU GPL version 3. Perhaps this reflects the fact that GPL version 3 is designed to protect a program's free software status from being subverted by Microsoft's patents through deals like the Novell-Microsoft pact. We don't know that the CodePlex Foundation will try to discourage GPL version 3, but it would fit Microsoft's pattern.
The term "commercial software companies" embodies a peculiar confusion. Every business is by definition commercial, so all software developed by a business—whether free or proprietary—is automatically commercial software. But there is a widespread public confusion between "commercial software" and "proprietary software". (See http://www.gnu.org/philosophy/words-to-avoid.html.)
This confusion is a serious problem because it falsely claims free software business to be impossible. Many software companies already contribute to free software, and these commercial contributions are quite useful. Perhaps Microsoft would like people to assume these facts are impossible.
Based on these facts, we can see that CodePlex will encourage developers not to think about freedom. It will subtly spread the idea that free software business is impossible without the support of a proprietary software company like Microsoft. However, it may convince some proprietary software companies to release additional free software. Will that be a contribution to computer users' freedom?
It will be, if the software thus contributed works well on free platforms, in free environments. But that is just the opposite of what Microsoft has said it seeks to achieve.
Sam Ramji, now president of CodePlex, said a few months ago that Microsoft (then his employer) wanted to promote development of free applications that encourage use of Microsoft Windows (http://www.internetnews.com/dev-news/article.php/3811941). Perhaps the aim of CodePlex is to suborn free software application developers into making Windows their main platform. Many of the projects hosted now on codeplex.com are add-ons for proprietary software. These programs are caught in a trap similar to the former Java Trap (see http://www.gnu.org/philosophy/java-trap.html).
That would be harmful if it succeeds, because a program that doesn't run (or doesn't run well) in the Free World does not contribute to our freedom. A non-free program takes away its users' freedom. To avoid being harmed in that way, we need to reject proprietary system platforms as well as proprietary applications. CodePlex free add-ons to a proprietary base increase society's dependence on that base — the opposite of what we need.
Will free software application developers resist this attempt to undermine our progress towards freedom? Here is where their values become crucial. Developers that adhere to the "open source" philosophy, which does not value freedom, may not care whether their software's users run it on a free operating system or a proprietary one. But developers who demand freedom, for themselves and for others, can recognize the trap and keep out of it. To remain free, we must make freedom our goal.
If the CodePlex Foundation wishes to be a real contributor to the free software community, it must not aim at free add-ons to non-free packages. It needs to encourage development of portable software capable of running on free platforms based on GNU/Linux and other free operating systems. If it tries to seduce us into going in the opposite direction, we must make sure to refuse.
However good or bad the CodePlex Foundation's actions, we must not accept them as an excuse for Microsoft's acts of aggression against our community. From its recent attempt to sell patents to proxy trolls who could then do dirty work against GNU/Linux to its longstanding promotion of Digital Restrictions Management, Microsoft continues to act to harm us. We would be fools indeed to let anything distract us from that.
Copyright 2009 Richard Stallman
Verbatim copying and distribution of this entire article are permitted worldwide without royalty in any medium provided this notice is preserved.