One of the more strongly discussed bits of news over the last week is the
has bought CUPS (the Common Unix Printing system) and hired Michael Sweet,
the project's primary developer. Indeed, this deal happened back in
February; it just took a little while for the people involved to get around
to telling the
rest of the world about it. There is a great deal of concern over what
this deal might mean, though most of it is probably unnecessary. Still,
there are some lessons to be learned here.
CUPS is an important part of our core infrastructure. Those of us who
can think back to the days of trying to create lpr input and output filters
to make a specific printer work can only be thankful that CUPS came along.
It could easily be said that lpr lasted at least ten years longer than it
should have, but, over that time, there were no real attempts to create a
viable alternative. Projects like LPRng were mostly trying to create a
slightly better version of the same thing. Then, there was the print
system which Sun inflicted on users of early Solaris releases (who, as your
editor can attest, were already suffering enough as it was); replacing that system
with some version of lpr was a common thing to do. It took CUPS to
implement contemporary printing protocols, support current hardware, and
generally make the life of printer administrators easier - though, as any
administrator who has lost a day to an obscure printer problem will say,
things could get a lot better yet.
CUPS has always been a corporate-owned free software project, meaning that
it carries all of the potential problems that any other such project has.
When a single company owns a project it can strongly control its
development direction, take the code private, grant license exemptions at
will, abruptly sell the code to somebody else, and so on. Many companies
which own projects do many of these things. Dealing with corporations has
its risks; it has often been said that the corporate personality is best
compared to that of a schizophrenic adolescent. Even so, such
relationships have worked out well for the free software community with
very few exceptions.
In this case, the ownership of CUPS has been passed from Easy Software
Products (ESP) to Apple. Since contributors to CUPS are required to assign
the copyrights to their work, ESP was entirely within its rights to make
this sale. There are few constraints on what Apple can do with this
externally-contributed code in the future; if it chooses, the company could
certainly treat the code in ways that the original authors would not like.
This risk is inherent in the transfer of copyrights; any free software
developer who is contemplating signing a copyright transfer agreement
should always think hard about who the receiving party is and what they
could do in the future. The usual rule for dealing with companies - assume
the person you negotiated the deal with will be immediately replaced by
somebody who hates you - applies in this sort of situation.
The worst thing that Apple can do, in any case, is to take future releases
of CUPS private. The current, GPL-licensed releases will remain available
and free. Should this happen, the community will have to pick up from the
last free version and create a fork; it certainly would not be the first
time such an action proved to be necessary. For now, though, the
announcement of the sale says "CUPS will still be released under the
existing GPL2/LGPL2 licensing terms, and I [Mr. Sweet] will continue to
develop and support CUPS at Apple." Given that certain aspects of
CUPS development - supporting hundreds of printers, for example - are best
done in the community setting, it is not hard to believe that this state of
affairs could continue indefinitely.
Apple just might create enhanced versions of CUPS for its own operating
system or as a commercial product. The company has already published a GPL exception
policy allowing proprietary derived products to be made from CUPS - as
long as they are distributed exclusively for Apple's operating systems. So
Apple's version of CUPS might have shinier widgets or a few more printer
drivers. Not the best of situations, but it is not all that different from
the rights Sun gives itself with the OpenOffice.org code base.
OpenOffice.org lacks features, fonts, and clip art found in StarOffice, but
few OpenOffice.org users have complained that they felt cheated. Companies
like MySQL make a nice living selling GPL exceptions to GPL-licensed code,
including code contributed by outsiders.
The real threat, perhaps, is that Mr. Sweet will find himself carrying a
lot of Apple-specific responsibilities (his statement in the sale
announcement carefully did not say how much he would continue
working on CUPS) and that the rate of outside contributions might slow as
developers worry about what Apple might do. That could significantly slow
the rate at which CUPS moves forward, to the community's cost.
One other potential problem is the CUPS
trademark policy which has been announced by Apple. It requires
permission to use the CUPS name with any derived product; a distributor who
applies any patches at all, even security fixes, would be affected by this
policy. The good news here is that, if this policy becomes a problem, the
name of the print system could be changed to "mugs" or some such and few
users would even notice.
On the other hand, what this deal might do is bring more resources to the
development of CUPS and contributions from a company which, for all its
faults, is known to pay a great deal of attention to the end user's
experience. Development could speed up and head in directions which make
CUPS easier to use than it is now. That would be an outcome which would be
hard to complain about.
to post comments)