CUPS License Change Coming
cups.org
cups.org
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...
http://wiki.osmfoundation.org/wiki/Licence_and_Legal_FAQ/Why...
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?
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.)
I guess that you have similar issues with Apache 2.0 (which also uses the term "worldwide"), GPLv3 (it uses "worldwide" for the patent grant), MPLv2, all of the Creative Commons licenses, etc.
"Worldwide" is a very commonly used term in license texts (even texts of proprietary licenses). Since NASA uses software licensed under the above licenses, and nobody has sued them, I doubt that this is going to be a huge legal problem. Not to mention if it ever went to court, the context of the time the license was written would be considered, and the term "worldwide" would likely be considered identical to "universal".
Ummm... the OSM licence is very close to that already. It has a share-alike part, and most of the members are very much in favour of that....
(still one has to decide for oneself ... I wouldn't sign any CLA with anybody either)
But really, licensing things under GPLvX-or-later is the best way of handling licensing updates with many contributors.
Even worse. Now the FSF, or whoever wrestled control of the FSF in he future, has the authority to relicense as they see fit.
No, I stated my preferences when I licensed it the first time. If that doesn’t work for you in the future, tough beans.
I think if you gave people the option of signing something that allows relicensing of their code under copyleft agreements without needing explicit permission, a lot of people would take it. Tracking folks down who have been gone from your community for years takes a lot of effort.
[1] https://www.cnet.com/news/linux-to-gplv3-a-practical-matter-...
If they didn't, I guess they would have had to ask every contributor if they were ok with a license change.
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.
That is, printer vendors were already able to not comply with the GPL when a proprietary license from Apple applied.
[1] https://github.com/apple/cups/blob/branch-2.2/LICENSE.txt
$ cupsctl WebInterface=yesHappy to know about the web interface though, that will be very handy!
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.
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.
See previous discussion on HN 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.
What surprises me is that it took them so long to try to divorce from GCC.
EDIT: specified I was talking about the compiler used on the NeXT.
>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-...
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.
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.
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.
(The prologue talks about non-network printing, but an example below uses nc to talk to a remote printer)
[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.]
https://github.com/apple/cups/commit/e310189747c161ac6e737ee...
The cause of many of these bugs is an aggressive annual release cycle and fixed release deadlines, not necessarily insufficient QA. Making a significant part of the QA function voluntary wouldn't help with meeting tight deadlines or dependability of the QA process.
The general point of expanding QA resources might help, but it's certainly not a given that making that on a voluntary, best effort, when you get round to it basis would help with the timeliness and reliability of releases without sacrificing some of the other goals Apple and their customers holds dear.
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.
Ubuntu w Unity 7 and Ubuntu MATE are great, but standard GNOME3 is garbage - too many stupid UI warts.
Current: Apple announces CUPS changeing from GPLv2 to Apache licensing
Fixed: Apple announces CUPS changing from GPLv2 to Apache licensing
So near and yet so far because it required an Android app to configure the wifi password, despite the printer having a 2.5" display and a simple keyboard. But apart from the Android app the printer just worked out of the box with CUPS and SANE.
Actually the whole of printing is still a pain, my printer (on wifi, because it has wifi but no ethernet despite being plenty big enough for an ethernet port and thus having no reasonable excuse not to have one) randomly decides not to exist, or Windows decides it's perpetually stuck, or that a job has not finished, or the Linux box stops being able to get any kind of coherent reply from it, or my Android phone starts printing everything all fuzzy.
The latter might be the phone's fault, I haven't quite figured that one out yet.
I daren't get another one because I can't trust that any other printer will behave, but this is a Hewlett-Packard. You would think HP would have figured out how to make a printer that actually WORKS by now.
They were a lot easier when they just plugged into the parallel port. Okay so you spent a couple of hours trying to get the right drivers in place, but once you did it generally just worked and kept on working. The latter seems to be something they're incapable of delivering these days.
I can't see why someone thinks it's a good idea to drop the resolution when printing from a phone, but maybe it's because phones running Android 2.2 might run out of memory.
And now that KRACK is here, you can only wonder who gets a carbon copy.
Don’t believe I can say the same for Ethernet. Let alone WiFi, God help us.
For wifi all you need is to enter the wifi password.
Not to speak of LPR (which does have the advantage of not having to set up anything printer-specific on the client, but it is a pain to set up on the server).