
CUPS License Change Coming - executesorder66
https://www.cups.org/blog/2017-11-07-cups-license-change.html
======
rmc
The OpenStreetMap project changed the licence of the data a few years ago (for
Complicated Reasons™). People had to be contacted and ask to relicence their
data, and eventually some data had to be deleted.

There is now a Contributor Terms¹ which governs how the licence can be
changed. It requires a two thirds majority of active contributors (at least
one change in at least 3 of the last 12 months, a working email address and
replies to an email within 3 weeks) to approve a change to an "other free and
open licence".

That's a good way to change licences like that.

[1]
[https://wiki.osmfoundation.org/wiki/Licence/Contributor_Term...](https://wiki.osmfoundation.org/wiki/Licence/Contributor_Terms)

~~~
Someone
Good, but IMO far from watertight. They do not define what “free” and “open”
mean. Presumably this refers to Free Software and Open Source licenses, but
data isn’t software, so it cannot fully mean that. Also, I’m not sure all
contributors would be happy if they moved to a license analogous to the GPL
(that would mean users combining openStreetMap data with their own data would
have to release their data under a similar license)

As it stands, worst-case, the data can, in theory, get locked up in two steps.
Step one would move to a “free and open” license that doesn’t include the
requirement to keep the license “free and open”, step two would take it
commercial.

Also, reading that license for corner cases, what is the legal meaning of
“worldwide”? Would it be legal to use OpenStreetMap data from orbit? From a
moon observatory? From Mars?

~~~
Doctor_Fegg
1\. Open Definition, [http://opendefinition.org/](http://opendefinition.org/)

2\. OSM already has a sharealike licence, albeit more akin to LGPL than GPL

3\. No, you misunderstand entirely. The Contributor Terms and the current
choice of licence (the Open Database Licence) are separate. Even if OSM
changes licence, the same Contributor Terms still apply, and those continue to
mandate a free and open licence. There is no way to move to a non-open licence
without breaking the terms under which every mapper has agreed to contribute
their data.

(Even if you did: why? The OSM Foundation is intentionally light - it's a
million miles away from the Wikimedia Foundation. Its assets are the domain
name and trademark, a very small amount of hardware, and one part-time staff
member. You could fork OSM trivially if the Foundation decided to "close the
dataset", i.e. hosted a non-open dataset on openstreetmap.org.)

------
cyphar
Another day, another reason to never sign a CLA unless it _explicitly_ states
what licenses your code can be relicensed as. I really wish more people used
the FSF CLA, which effectively states that they will not relicense your code
under a license that isn't copyleft[1].

[1]:
[https://mjg59.dreamwidth.org/29160.html?thread=1094632](https://mjg59.dreamwidth.org/29160.html?thread=1094632)

~~~
kobeya
Or just never sign a CLA. Can’t relicense my code? That’s a feature, not a
bug.

~~~
cyphar
There are valid reasons to sign a CLA, though they are vary rare. I believe
the FSF CLA is the only one I would ever feel confident signing (because it
very strongly restricts what they can do) -- mainly because it means that the
FSF has a much stronger case (legally speaking) if it decides to file a
copyright suit against an alleged infringement of the work. From my (not-an-
American-and-definitely-not-a-lawyer) understanding, American copyright suits
are much stronger if you hold a majority copyright over a work rather than
only having a very small set of contributions you own.

But really, licensing things under GPLvX-or-later is the best way of handling
licensing updates with many contributors.

~~~
notl4wy3r
For example, one possible reason to sign a CLA is if you want to contribute,
and the repository owner will not allow you to do so otherwise. It may be that
you value contributing more highly than what license later versions of the
code use. At least for me, that would typically be the case.

------
tsomctl
For those of you that are surprised that this is possible, "In February 2007,
Apple Inc. hired chief developer Michael Sweet and purchased the CUPS source
code." (from Wikipedia)

~~~
klez
Not only that. If I remember correctly, contributors also had to sign a
contributor agreement which gave ownership of the code to the project.

If they didn't, I guess they would have had to ask every contributor if they
were ok with a license change.

~~~
msh
or throw out their code i guess.

~~~
wiz21c
Which is a tough dilemma when you work on something for the love of it. Your
work on code for it to be used, but if someone bullies you with something like
: change your license or get lost, well, it's a tough decision.

Now, in this case, CUPS on Apple product is not the only use of CUPS, but
being able to claim your software runs in Apple product is certainly a nice to
have.

~~~
djrogers
If I own something and I want to control the term of how it's used, that's not
bullying. Isn't that exactly what licensing is all about in the first place?
If that's 'bullying' then every OSS project with a license is also bullying...

------
hsivonen
The title here suggests the license was GPLv2 previously. It was GPLv2 and
proprietary relicensing.

That is, printer vendors were already able to not comply with the GPL when a
proprietary license from Apple applied.

~~~
raimue
Indeed, the old license [1] was not pure GPLv2, but a variant of GPLv2 with
additional exceptions for Apple operating systems, allowing others to develop
proprietary printer drivers for Apple operating systems. It even covered the
use of the example code for this purpose without the need to release the
source code of the resulting driver based on that.

[1]
[https://github.com/apple/cups/blob/branch-2.2/LICENSE.txt](https://github.com/apple/cups/blob/branch-2.2/LICENSE.txt)

------
kennydude
I’m just glad Apple still uses CUPS. The CUPS web interface provides a bit
more power over System Preferences

~~~
nielsbot
There's a web interface?

~~~
leonroy
Yeah, it's great for setting stuff like printing defaults so you don't have to
set the print quality or page size over and over again (unless I'm missing an
obvious way to do it in System Preferences?).

~~~
pbhjpbhj
I have my printer added multiple times with different default configurations;
eg b&w-draft-printer, colour-photo-printer; it's much easier than messing with
settings all the time.

------
riffraff
I like the Apache license, and I'm sure some projects such as the BSDs will be
happy about the change, but is there an explanation of why this change came to
be, and why now?

------
Loic
I just hope they will not start to have an _internal_ branch and slowly stop
pushing improvements back into the mainline. This is the only point where the
Apache license change could negatively affect all the users.

~~~
vog
I don't see any difference between GPL or Apache in this case.

Since they apparently have the full copyright on the code (otherwise they
wouldn't be able to make the license change in the first place), they can do
whatever they want with the code, no matter which license they offer to
others.

Moreover, even if they don't have the full copyright, the GPL already allows
for having an "internal" branch - as long as it is really internal. Also you,
privately, can use and change the code as you want, without any obligation to
publish anything. The GPL rules are designed to only apply once you give the
modified code (source or binary) to others.

~~~
klez
> Moreover, even if they don't have the full copyright, the GPL already allows
> for having an "internal" branch - as long as it is really internal. Also
> you, privately, can use and change the code as you want, without any
> obligation to publish anything. The GPL rules are designed to only apply
> once you give the modified code (source or binary) to others.

Since Apple actually _does_ redistribute the binaries this second point is
moot. But the first part is spot on. It's their code, they can do whatever
they want. I have to admit I'm not even sure why they did change licence.

~~~
gh02t
> I have to admit I'm not even sure why they did change licence.

See previous discussion on HN
[https://news.ycombinator.com/item?id=12894721](https://news.ycombinator.com/item?id=12894721)
, Apple has a history of it.

I think a lot of companies view it as a liability regardless of whether or not
it actually is due to a lot of the legality of copy-left licenses being pretty
untested in court, as well as just generally a liability with little advantage
(Apple probably doesn't care about external contributions to CUPS). I don't
feel like switching CUPS to Apache has any real advantage to Apple
practically, apart from the GPL makes them nervous. I guess I could see why
they wouldn't want it in other places, but surely CUPS doesn't have much in
the way of secret sauce IP.

~~~
fiddlerwoaroof
I thought Apple also dislikes the GPL because it forced them to open source
the original implementation of Objective-C. (I don’t remember where I heard
this... something about the origins of llvm probably.)

~~~
epistasis
Here's Stallman's recollection of what happened:

>The issue first arose when NeXT proposed to distribute a modified GCC in two
parts and let the user link them. Jobs asked me whether this was lawful. It
seemed to me at the time that it was, following reasoning like what you are
using; but since the result was very undesirable for free software, I said I
would have to ask the lawyer.

>What the lawyer said surprised me; he said that judges would consider such
schemes to be "subterfuges" and would be very harsh toward them. He said a
judge would ask whether it is "really" one program, rather than how it is
labeled.

>So I went back to Jobs and said we believed his plan was not allowed by the
GPL.

>The direct result of this is that we now have an Objective C front end. They
had wanted to distribute the Objective C parser as a separate proprietary
package to link with the GCC back end, but since I didn't agree this was
allowed, they made it free.

[http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-...](http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-
CLISP-is-under-GPL)

I think this highlights a few important things:

1) there's significant room for interpretation of what a license means

2) what lawyers and courts think words mean can be quite different from what
technologists think

Also, a lot of interactions are mediated by chances of a lawsuit. So if you're
a party that is generally disliked by the Free Software folks, like Apple,
there's significantly more risk, for identical uses, than a company like
Google, which is more popular. There's room for interpretation of what actions
mean, and if somebody is more likely to think that you're a nefarious actor,
there's a high risk.

I don't blame Apple for switching from GPL to licenses that I consider to be
more "free" than the "Free" software licenses. When I read the philosophy
pages of the FSF, I come away disagreeing vehemently with their arguments, and
often simply unable to understand why people find those documents convincing
for anything.

~~~
gh02t
> When I read the philosophy pages of the FSF, I come away disagreeing
> vehemently with their arguments, and often simply unable to understand why
> people find those documents convincing for anything.

I mean, there's one thing that is obviously appealing (to a developer,
benefits to a user are distinct) - "you can't use my code without giving
back." Apple probably doesn't care whether or not you give back, but on the
other hand a small developer (like me) often does.

From a developer's point of view I think of GPL not in terms of freedom to do
whatever you want, but instead of protecting the developer's wishes about what
people do with their software (roughly). When I choose to license something
with GPL it's not because I want people to take it and do whatever, it's
because I only want people to use it if they are going to be a good citizen.

~~~
epistasis
As a developer, I care a _lot_ more about getting improvements back. GPL is
massively beneficial from that orientation. That's why some commercial
companies prefer GPL, because the developer of code gets stuff back.

As a user, I care a _lot_ less for GPL, because now I have to publish my
changes if I choose to distribute binaries. If I'm a user and I have MIT or
BSD code, as a user I have a lot more freedom to do what I want with MIT code.

------
vortico
I've always wanted to pull code out of this project to make a simple utility
or script that would print a PDF from the command line without needing to set
up printers or run a daemon. If I have access to an IP address or a USB port
as a user, I want to be able to print using a self contained utility. Does
anything exist like this, and if not, is this now the right time (as I
typically develop everything with Apache/BSD/MIT licenses.)

~~~
icebraining
You should be able to do it with foomatic:
[https://wiki.linuxfoundation.org/openprinting/database/nospo...](https://wiki.linuxfoundation.org/openprinting/database/nospoolerdocumentation)

(The prologue talks about non-network printing, but an example below uses nc
to talk to a remote printer)

------
chme
Since the Apache 2.0 license is incompatible with GPLv2 [1], will that cause
problems in projects depending on CUPS?

[1] [https://www.apache.org/licenses/GPL-
compatibility.html](https://www.apache.org/licenses/GPL-compatibility.html)

~~~
ghaff
Apache-licensed code can be used in GPL projects. Just not the other way
around (as noted in your link).

[ADDED: WRT GPLv2 specifically, the quote from the link is: "the FSF has never
considered the Apache License to be compatible with GPL version 2, citing the
patent termination and indemnification provisions as restrictions not present
in the older GPL license." However, note that the quote specifically says that
it's the FSF's opinion.]

~~~
carussell
GPLv3 code can incorporate Apache 2.0 code, but GPLv2 code cannot.

------
sliken
Previous discussion:
[https://news.ycombinator.com/item?id=15655581](https://news.ycombinator.com/item?id=15655581)

~~~
dwc
Two URLs one CUPS

------
notpeter
Here's the commit:

[https://github.com/apple/cups/commit/e310189747c161ac6e737ee...](https://github.com/apple/cups/commit/e310189747c161ac6e737eedadf8f45d11bf2253)

------
cbhl
Does this mean that the *BSDs can adopt CUPS now?

~~~
klez
Couldn't they before? I'm pretty sure there's plenty of GPL code in the *BSDs
(I'm sure there's emacs in FreeBSD's ports). Am I missing something obvious?

~~~
mikebenfield
They strongly prefer to avoid GPL code as much as possible in the core system,
and have on occasion gone to great lengths to use a non-GPL alternative. I
haven't used FreeBSD in a long time, but as I recall ports are considered
extra software, not part of the FreeBSD OS.

~~~
floatboth
CUPS will stay in ports anyway, I really doubt anyone even wants it in base

------
dvfjsdhgfv
It makes me wonder whether it wouldn't be worthwhile for Apple to reconsider
their strategy regarding the GPL and open-sourcing only a part of their
system. If they decided to be more open about macOS development, they might
have spared their users a lot of unpleasant experiences and avoided many
recent complaints.

~~~
coldtea
macOS has much less unpleasant experiences than e.g. each new Ubuntu version
brings, with its incompatibilities, changed subsystems, major bugs, and what
have you...

Not to mention that a lot of majorly used open source stuff have even less
developers (despite being nominally open to all to give a hand/debug/etc) than
a typical macOS component.

To the point that the GTK+ maintainer lamented that it was just him, a single
person, doing most of the work, a few years ago -- and begging for others to
come help.

~~~
frik
GNOME and KDE destroyed their former community, such stupid decisions over and
over again. Changing directions, etc. Gnome 2 and KDE 3 were great, then both
went downhill.

Ubuntu w Unity 7 and Ubuntu MATE are great, but standard GNOME3 is garbage -
too many stupid UI warts.

~~~
ryanpepper
Unity is getting ditched in favour of GNOME3 as of 18.04, which probably means
it's going to die...

------
x0x0
It looks like Apple pay for the majority of work too, assuming @michaelrsweet
is paid by Apple to work on cups.

[https://github.com/apple/cups/graphs/contributors](https://github.com/apple/cups/graphs/contributors)

~~~
aeontech
He is the original developer of CUPS. Apple bought the source, and hired him
back in 2007, and have employed him since then.

------
bedros
I wish someone gets ghostscript-like tools for processing PS to be license
under a license other than GPL2 (older) and new releases under AGPL

------
reagan83
Can a mod please fix the typo in the title with the word 'changing'?

Current: Apple announces CUPS changeing from GPLv2 to Apache licensing

Fixed: Apple announces CUPS changing from GPLv2 to Apache licensing

~~~
floatingatoll
They prefer emails for this sort of thing; address is in the footer somewhere,
IIRC.

~~~
marksomnian
hn@ycombinator.com

------
arca_vorago
I always hated cups and now I hate it more.

~~~
rhinoceraptor
CUPS is great when you have a printer with a weird driver that you can only
get from the manufacturers website. A few minutes setting up a CUPS VM,
install the printer driver, and now I can print from my phone.

~~~
arca_vorago
Oh I know, (sysadmin here) but it has a host of other problems. For example
security wise, distro specific quirks etc. I do have to acknowledge it has
worked when nothing else has sometimes, and I liked how easy it was to use
with samba. Also I prefer IPP these days, at least when stuck dealing with
windows clients.

------
qalmakka
Now, if it didn't suck so bad with usb printers, it would be amazing.

~~~
Aaargh20318
USB printers are still a thing ? Even the €79 color laser printer I got the
other day has ethernet.

~~~
nothrabannosir
I’ve seen many cases first hand where a non technical user was able to buy a
new printer, plug it into usb, wait 10 seconds and literally print their
document without any further setup.

Don’t believe I can say the same for Ethernet. Let alone WiFi, God help us.

~~~
emidln
The last two printers I bought (sub $100 each) had WiFi and just required
being unpackaged and plugged in before Linux found and used them over the
network. This was probably via CUPS, but as a user I clicked on something like
"Print" -> "Add a Printer" -> "Network" -> "Scan" and then hit "Next" a couple
times. I use gnome3 and either Fedora or Ubuntu. Basic printing without driver
preinstall has been solved for a decade at least.

