By Jake Edge
September 16, 2009
A foundation to promote increased participation by commercial software
companies in free software projects would normally be seen as a good
thing. That the foundation begins with a budget of $1 million would also
seem to bode well for its success, at least in the near term. But when that
foundation is sponsored—and funded—by Microsoft, it is met with
a healthy dose of skepticism, which is exactly what greeted the recent announcement of the formation of
the CodePlex Foundation.
While the new foundation is not strictly related to CodePlex.com—Microsoft's
SourceForge-like repository for open source code—they share the name
from the "CodePlex brand", as well as supporting the
"same mission", according the foundation's FAQ. Like
CodePlex.com, the CodePlex Foundation is geared towards commercial software
developers who are, evidently, not being served by existing
organizations. Though it is far from clear what is missing from the
existing sites and organizations, the FAQ makes it clear that CodePlex
intends to fill that hole:
CodePlex.com launched in June of 2006 out of a need for a project hosting
site that operated in a way that other forges didn't – with features and
structures that appealed to commercial software developers. The next
chapter in solving for this challenge is the CodePlex Foundation
(Codeplex.org). The Foundation is solving similar challenges; ultimately
aiming to bring open source and commercial software developers together in
a place where they can collaborate. This is absolutely independent from the
project hosting site, but it is essentially trying to support the same
mission. It is just solving a different part of the challenge, a part that
Codeplex.com isn't designed to solve.
One would think that existing foundations—for GNOME, Linux, Mozilla,
Apache, et al.—might also be interested in bringing commercial and
free software developers together. In fact, those foundations have been
fairly successful in doing so. There may be value in having a more
all-encompassing foundation, which doesn't serve a particular sub-genre of
free software, but it is a bit hard to see the CodePlex Foundation filling
that role.
To start with, the foundation's board will be Microsoft-dominated, with
three current Microsoft employees on the six-member board. In addition,
Sam Ramji, up until recently the leader of Microsoft's open source efforts,
will serve as interim president of the foundation and chairman of the
board. Ramji recently announced
that he is leaving Microsoft for a cloud computing startup in Silicon
Valley, but, as a former employee, his detachment from the Microsoft view
is unclear. The two
outside members are Mono/Moonlight developer Miguel de Icaza of Novell and
DotNetNuke developer Shaun Bruce Walker, both of whom have fairly close
ties to Microsoft.
At some level, the make up of the board of directors is unsurprising, but
it is rather puzzling that the board of advisors would be similarly stacked
with Microsoft employees. Six of the twelve members of the advisory board
(listed to the right of the board on its web page linked above) are
employed by Microsoft. There are some seemingly independent voices on the
advisory board, including Larry Augustin of SugarCRM and MySQL developer
Monty Widenius of Monty Program AB. Since the advisory board is just meant
to advise the board of directors, who will make any decisions, also packing the
advisory board certainly gives the appearance that the foundation will just be a
Microsoft mouthpiece.
In a lengthy blog posting,
Andy Updegrove analyzed the by-laws
[PDF] and make up of the foundation. Updegrove is a lawyer known for his
reporting on the ODF and OOXML standards process—and its apparent
subversion by Microsoft—and is the director of standards strategy for
the Linux Foundation, so he is hardly a disinterested observer. He notes,
though, that he has helped set up many "consensus based consortia and
foundations" over the years, which gives him a good basis to
evaluate the CodePlex Foundation.
There are several areas that Updegrove notes as problematic in the
foundation as it stands. In order for an organization to be seen as
neutral, it's best to have multiple partners or members, but the foundation
is not set up as a membership organization. The by-laws mandate a new
five-member board be elected in
100 days, but, since there are no members who can vote on board seats, the
interim board will be doing the electing. Those five new board members will
have complete control of the foundation, and will have been elected for as
many as four years.
In addition, because a 2/3 majority is needed to change many parts of the
by-laws (size of the board, text of the contributor agreements, etc.), any
two members of the board can effectively block those changes. So, even if
the permanent board only has one Microsoft employee—which seems
unlikely—and one "friendly" member, the company effectively has a
veto over any fundamental changes the board might want to make.
The draft Contribution
Agreement [PDF] and Copyright
Assignment Agreement [PDF] may give a look into what the foundation is
trying to achieve. They both grant wide-ranging rights—including licenses
to any patents held by the contributor that cover the contributed code—to
the foundation
and those who get code from it. The introductory slides specifically
mention passing those rights to "downstream developers", but
are mute when it comes to upstream. That may be an oversight, but it might
also be an attempt to isolate the GPL from the CodePlex ecosystem.
Exactly why anyone would want to contribute code to the foundation is
unspecified. There are sometimes good reasons to do copyright assignment,
but the foundation hasn't articulated what benefit developers would get by
doing that. As Updegrove puts it:
They're not bad, if what you want to do is convey the right to create code
that can be distributed under any flavor of open source license. But why
would any developer or contributor want to sign such an all purpose
license? Lines of code are contributed to defined projects, not to some
code bank where they can be archived for posterity.
Like many newcomers to free software—along with some established
players—Microsoft clearly does not feel comfortable working with
existing organizations and communities. It wants to create its own playing
field, where it can dominate, and control if necessary. By using
contributor agreements and by-laws that are favorable to its
interests, potentially at the expense of those who participate, it is
creating something that it feels comfortable with.
In some ways, it is
similar to the control that Sun has, so far, exercised in the OpenSolaris
and Java
communities. For both Sun and Microsoft, there is a corporate aversion to
allowing the community to drive the direction of projects. But, that is
one of the hallmarks of successful free software development. Various
companies have learned this, over time, so it is possible that Microsoft
will as well. Five, or even three, years ago, it would have been
unimaginable that it would create a foundation for open source; clearly
some progress has been made.
Microsoft's penchant for co-opting others' ideas, then twisting them to
their own ends (e.g. "Embrace, Extend, Extinguish") leads many to
scrutinize the CodePlex Foundation more carefully than they might one
created by a different company. There is a level of distrust within the
free software community that can only be erased through fundamental changes
to Microsoft's behavior over a prolonged period. It's certainly possible
that the foundation is one step on that path, but the conflicting signals
it continues to send about free software gives one pause. Updegrove voices
just that concern:
Unless CodePlex is set up in a
truly neutral fashion, that will lead many people to worry that Microsoft
wants to create and legitimize "their" kind of development environment,
where Microsoft can feel safe launching projects (all of the initial
projects under consideration are Microsoft projects) under IPR
[intellectual property rights] rules, and under licenses, that fit their
view of what open source should be all about.
While Updegrove is rather critical of the current foundation structure, he
also has specific suggestions on changes that could be made. Things like
increasing the size of the board, and decreasing the number of Microsoft
employees on it, as well as taking back 3/4 of the initial funding and
replacing it with contributions from other corporate members, are among his
suggestions. The idea behind those suggestions is for the foundation to
truly be a neutral party, rather than just an arm of Microsoft:
But if there really is a need for individual developers and commercial
vendors to get together in a new organization, then community members will
need to feel like CodePlex is a safe place to be. Right now, I can't see
that happening without some serious rethinking of the entire governance
structure as currently proposed.
Overall, the foundation idea seems half-baked. Its announcement may have
been rushed to offset some recent negative publicity—in the form of
patents that Microsoft tried
to sell to patent trolls—or to blunt the impact of Ramji leaving
the fold, but it certainly doesn't have a very polished look. Over time,
it may evolve into something useful to the free software community, but only
time will tell.
That, really, is the crux of the matter. Speculating about Microsoft's
motives and plans is certainly reasonable, but we will have to wait and see
what the foundation actually does. The make up of the new board,
along with any changes to the advisory board, will likely signal where the
foundation is headed. How many commercial software developers "join" the
foundation and start contributing code, will also be interesting to watch.
Based on what we see today, though, it would not be terribly surprising to
see the foundation die quietly on the vine a few years down the road.
(
Log in to post comments)