By Jake Edge
May 17, 2011
I had the opportunity to sit down with Mark Shuttleworth, founder of Ubuntu
and Canonical, for an wide-ranging, hour-long conversation
while at Ubuntu Developer Summit (UDS) in Budapest. In his opening talk, Shuttleworth said that he wanted to "make the case"
for contributor agreements, which is something he had not been successful
in doing previously. In order to do that, he outlined a rather different
vision than he has described before of how to increase Linux and free
software adoption, particularly on
the desktop, in order to reach his goal of 200 million Ubuntu users in the
next four years. While some readers may not agree with various parts of
that vision, it is
definitely worth understanding Shuttleworth's thinking here.
Company participation in free software
In Shuttleworth's view, the participation of companies is vital to bringing the Linux desktop to
the next level, and there is no real path for purely software companies to
move from producing proprietary software toward making free software.
There is a large "spike-filled canyon" between the proprietary
and the free license
world. Companies that do not even try to move in a "more free" direction
are largely ignored by the community, while those which start to take some
tentative steps in that direction tend to be harassed,
"barbed", and "belittled". That means that
companies have to leap that canyon all in one go or face the wrath of the
"ideologues" in the community. It sets up a "perverse
situation where companies who are trying to engage get the worst
experience", he said.
The community tends to distrust the motives of companies and even fear
them, but it is a "childish fear", he said. If we make
decisions based on that fear, they are likely to be bad ones. Like
individuals, companies have varied motives some of which align with the
interests of the community and some of which don't. Using examples like
Debian finding the GNU Free Documentation License to be non-free, while
Debian is not a free distribution under the FSF's guidelines, he noted that
the community can't even define what a "fully free" organization looks
like. Those kinds of disagreements make it such that we are "only
condemning ourselves to a lifetime of argument". In addition, because it is so unclear, "professional software
companies" aren't likely to run the gauntlet of community
unhappiness to start down the path that we as a community should want them
to.
Essentially, Shuttleworth believes that it is this anti-corporate,
free-license-only agenda that is holding free software back. For some,
"the idea of freedom is more important than the reality", and
those people may "die happy" knowing that their ideal was
never breached, but that isn't what's best for free software, its
adoption, and expansion. The "ideologues are costing free software
the chance" to get more corporate participation. What's needed is a
"more mature
understanding of how free software can actually grow", he said.
Existing company participation
There are, of course, companies that do contribute to free software, but
those companies "do something orthogonal" to software
development, he said. He pointed to Intel as a hardware vendor that wants
to sell more chips, and Google, which provides services, as examples of
these kinds of participants. There are also the distribution companies,
Red Hat, SUSE, Canonical, and others, but they have little interest in
seeing free software projects become empowered (by which he means able to
generate revenue streams of their own), he said, because that means
that anyone looking for support or "assurances about the
software" can only get it through the distribution companies.
Though some at Canonical disagree with the approach—because it will
reduce the company's revenues—Shuttleworth is taking a stand in favor
of contributor
agreements to try to empower the components that make up distributions. By
doing that, "it will weaken Canonical", but will strengthen
the ecosystem. There needs to be more investment into the components, he
said, which requires that those components have more power, some of
which could come from the projects owning the copyright of the code.
Whether those projects are owned by Canonical, some other company, or by a
project foundation, owning the code empowers the components.
The other main reason that Shuttleworth is "taking a strong public
view" about contributor agreements is to provide some cover for
those who might want to use them. He has "thick skin" and
would like to move the free software ecosystem to getting more
"companies that are actually interested in software"
involved. So far, he has "seen no proposals from the
ideologues" on how to do that.
Companies may be more willing to open up their code and participate if they
know they can also offer the code under different terms. That requires
that, at least some of the time, contributors be willing to give their patches to
the project. Those who are unwilling to do so are just loaning their
patches to the project, and "loaning a patch is very uncool".
The "fundamentalists" who are unwilling to contribute their
code under a copyright assignment (while retaining broad rights to the code in question) are simply
not being generous, he said.
The state of free software today
The goal should be to "attract the maximum possible participation to
projects that have a free element", he said. He is "not arguing for
proprietary software", but he is tired of seeing "80%
done" software. In addition, the free software desktop applications
are generally far behind their proprietary counterparts in terms of
functionality and usability. He would like to "partner with companies that
get things done", specifically pointing to Mozilla as an
organization that qualifies.
The fear that our code will be taken proprietary is holding us back,
Shuttleworth said. In the meantime, we have many projects where the job is
only 80% done, and there is no documentation. A lot of those projects
eventually end up in the hands of new hackers who take over the project and
want to
change everything, which results in a different unfinished application or
framework.
Involving software companies will not be without its own set of problems,
as those companies will still do "other things that we don't
like", but there is a need for professional software companies to help
get free software over the hump.
The "lone hacker" style of development is great as far as it
goes, but there are lots of other pieces that need to come together. He
pointed to the differences between Qt and GTK as one example. GTK is a
"hacker toolkit", whereas Qt is owned by a company that does
documentation, QA, and other tasks needed to turn it into a "professional
toolkit". Corporate ownership of the code will sometimes lead to
abuse, like "Oracle messing around with Java", but free
software needs to "use" companies in a kind of
"jujitsu" that leverages the use of the companies' code in
ways that are beneficial to the ecosystem.
He said that some of the biggest free software success stories come
from companies being involved with the code. MySQL and PostgreSQL are
"two great free
software databases", which have companies behind their
development or providing support. CUPS is a great
printing subsystem at least partly because it is owned and maintained by
Apple. Android is another example of an open source success; it has Google
maintaining strict control over the codebase.
Shuttleworth has a fairly serious disagreement with how the
OpenOffice.org/LibreOffice split came about. He said that Sun made a $100
million "gift" to the community when it opened up the
OpenOffice code. But
a "radical faction" made the lives of the OpenOffice
developers "hell" by refusing to contribute code under the Sun
agreement. That eventually led to the split, but furthermore led Oracle to
finally decide to stop OpenOffice development and lay off 100 employees.
He contends that the pace of development for LibreOffice is not keeping up
with what OpenOffice was able to achieve and wonders if OpenOffice would
have been better off if the "factionalists" hadn't won.
There is a "pathological lack of understanding" among some
parts of the community about what companies bring to the table, he said.
People fear and mistrust the companies on one hand, while asking
"where can I get a job in free software?" on the
other. Companies bring jobs, he said. There is a lot of "ideological
claptrap" that permeates the community and, while it is reasonable
to be cautious about the motives of companies, avoiding them entirely is
not rational.
Project Harmony
The Canonical contributor
agreement is "mediocre at best", but does have "some
elements which are quite generous", he said. It gives a wide license
back for code that is contributed so the code can be released under any
license the author chooses. In addition, Canonical will make at least one
release of the project using the patch under the license that governs
the project, he said. That guarantee does not seem to appear in the actual
agreement
[PDF], however.
These kinds of contributor agreements are going to continue to exist, he
said, and believing otherwise "denies the reality of the world we
live in". The problem is that there are so many different
agreements that are "all amateur in one form or another", so
there is a need to "distill the number of combinations and
permutations" of those agreements into a consistent set. That is
the role of Project Harmony, he said.
The project brought together various groups, companies, organizations, and
individuals with different ideas about contributor agreements, including
some who are "bitterly opposed" to copyright assignment. The
project has produced draft 1.0
agreements that have "wide recognition" that they
represent the set of options that various projects want.
The agreements will help the community move away from "ad hoc"
agreements to a standard set, which is "akin to Creative
Commons", he said. The idea is that it will become a familiar
process for developers so they don't have to figure out a different
agreement for each project they contribute to. Down the road, Shuttleworth
sees the project working on a 2.0 version of the agreements which would
cover more jurisdictions, and address any problems that arise.
Shuttleworth's vision
In the hour that we spoke, Shuttleworth was clearly passionate about free
software, while being rather frustrated with the state of free software
applications today. He has a vision for the future of free software that
is very
different from the current approach. One can
certainly disagree with that vision, but it is one that he has carefully
thought out and believes in. One could also argue that huge progress
has been made with free software over the last two or three
decades—and Shuttleworth agrees—but will our current approach
take things to the "next level"? Or is some kind of different approach
required?
As far as contributor agreements go, it seems a bit late to be making the
case for them at this point—something that Shuttleworth acknowledged
in his talk at the UDS opening. Opposition to the agreements, at least
those requiring copyright assignment, is fairly high, and opponents have
likely dug in their heels. While he bemoans ideology regarding contributor
agreements, there are procedural hurdles that make them unpopular as well;
few want to run legal agreements by their (or their company's) lawyers.
The biggest question, though, seems to be whether a more agreement-friendly
community would lead to more participation by companies. If the goal is to
get free software on some rather large number of desktops in a few short
years—a goal that may not be shared by all—it would certainly
seem that something needs to change. Whether that means including more
companies who may also be pursuing proprietary goals with the same code is
unclear, but it is
clear that Shuttleworth, at least, is going to try to make that happen.
(
Log in to post comments)