Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mate-screensaver license issue. #243

Open
darkshram opened this issue Jan 17, 2021 · 15 comments
Open

mate-screensaver license issue. #243

darkshram opened this issue Jan 17, 2021 · 15 comments

Comments

@darkshram
Copy link

If you have read Slashdot, if not, do it now. Lots of years ago GNOME developers copied code from Xscreensaver (BSD license), released it as GPLv2 and removed the authorship of Jamie Zawinski. Therefore [cinnamon/mate/xfce4]-screensaver, which are forks of gnome-screensaver violate Xscreensaver license and Zawinski's copyright.

@lukefromdc
Copy link
Member

This might not be possible to resolve other than by literally taking down the repo for mate-screensaver and ceasing to offer that package unless ALL contributors can be reached and agree to a common license. To arbitrarily "relicense" the copied code from Xscreensaver and remove the authorship is in fact a BSD license violation by GNOME. Thus, we (and GNOME, and Cinnamon) need to either remove that code entirely and make the screensaver work without it, get permission from Zawinski to distribute the code under the GPLv2 license with his name back on it, or get permission from EVERY OTHER CONTRIBUTOR to relicense the entire screensaver under the BSD license.

If none of that can be done and a working version of mate-screensaver cannot be made with the offending code removed, we could drop the existing screensaver, fork xscreensaver and add back needed features (mostly themes), fork another screensaver that does not have a license issue, or not offer or support a screensaver at all until contributors can agree to a license resolution that permits distribution.

@raveit65
Copy link
Member

We should ignore this report.

@lukefromdc
Copy link
Member

We should at least put Jamie Zawinski's name back on the code. The license mess is decades old and may be unresolvable. We could I suppose directly ask Jamie what to do about this, though with no contact info and not being on a lot of popular communication channels I would not know how to go about this.

@lukefromdc
Copy link
Member

lukefromdc commented Jan 17, 2021

This discussion came out of yet another screensaver crash (vs cinnamon-screensaver) made possible by the complexity of gnome-screensaver and all its forks that link against complex libraries:
https://www.jwz.org/xscreensaver/toolkits.html

Also
https://www.jwz.org/blog/2021/01/i-told-you-so-2021-edition/
Kids typing keys randomly crashed cinnamon-screensaver to the desktop, their family reported this and it is considered a high-priority security issue. Then of course there is the problem that X itself is difficult to write a safe screenlocker for...

@lukefromdc
Copy link
Member

https://gitlab.gnome.org/Archive/gnome-screensaver/-/commit/a92d2415810723eb394558ba1aa61f7a6d62611d
is GNOME's commit removing the credit, saying "not much left of that." Question is, is ANY of that old code still present whatsoever, 16 years after that commit? If not, resolution is simple: add back credit for the ideas and be done with it.

@rbuj
Copy link
Contributor

rbuj commented Jan 18, 2021

The files from xscreensaver include the license notice below Pre 4-clause license (note wikipedia says "Prior BSD License" isn't GPL compatible in summary box):

/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
*
* setuid.c --- management of runtime privileges.
*
* xscreensaver, Copyright (c) 1993-1998 Jamie Zawinski <[email protected]>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation. No representations are made about the suitability of this
* software for any purpose. It is provided "as is" without express or
* implied warranty.
*/

The FSF reports that Xscreensaver is released under the X11 license (aka MIT license)

which is compatible with the GPL license:

Debian reported that Pre 4-clause license (original "BSD License") is Other_1

I don't think there is any conflict, though I think it's best to get in touch with him to fix it in order to avoid any misunderstanding, we can advise him to replace the license with one below:

@rbuj
Copy link
Contributor

rbuj commented Jan 18, 2021

Another different issue is whether the authors of gnome-screensaver copied more code and they did not include the actual authorship as discussed on this twitter thread: https://twitter.com/jonmccann/status/1345237884283088897 , publishing code with a different license.

/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
*
* Copyright (C) 2004-2009 William Jon McCann <[email protected]>
* Copyright (C) 2009 Red Hat, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
*
* Authors: William Jon McCann <[email protected]>
*
*/

@lukefromdc
Copy link
Member

OK, mate-session-manager now supports xscreensaver since
mate-desktop/mate-session-manager@0719336

@raveit65
Copy link
Member

Sorry, x-screensaver will never start in fedora, see comments from x-screensaver maintainer https://bugzilla.redhat.com/show_bug.cgi?id=1918139
So, we can't remove mate-screensaver for the moment.
We should ask first https://www.jwz.org/xscreensaver/bugs.html for proper licensing of mate-screensaver.
If this isn't possible i will ask for myself at rhbz report or fedora-devel list to add the OnlyShowIn=mate entry to x-screensaver desktop file.
So please do merge open PRs to remove mate-screensaver from MATE, until we know more.

@FOSSPCM
Copy link

FOSSPCM commented Jul 11, 2022

The proper way to contact Jamie Zawinski is through email, and his contact page is here. Go ahead and contact him. I'm sure he will listen. By the way, Jamie Zawinski did say this:

"If they had asked me, 'can you dual-license this code', I might have said yes. If they had asked, 'can we strip your name off and credit your work as (C) William Jon McCann instead'... probably not."

@lukefromdc
Copy link
Member

I am sent the email below to [email protected] asking what we should do about the license issue, given we inherited this from GNOME.

"Asking for guidance on how to handle the license mess on mate-screensaver inherited from when it was gnome-screensaver.
I am no expert on the the legal issues of licensing, mostly having worked on getting the GTK 3 port to work right and some
debugging.

#243

Note that this commit to the mate session manager
mate-desktop/mate-session-manager@0719336
allows xscreensaver to integrate into a MATE session, but it won't start on Fedora due to .desktop file issues.
This blocked dumping mate-screensaver outright in favor of xscreensaver, so now we need to know what to do
about the license issue, given we have different folks having made commits under different licenses."

@lukefromdc
Copy link
Member

Here's the response I got:

As others have noted in that thread, untangling the license violation at this point is probably a lot more work than anyone sane would want to take on. If you want my opinion, you should just dump mate-screensaver. Delete the repo and salt the earth. That's also a good idea as mate-screensaver is buggy dangerous garbage, so, win-win all around?

Note that this commit to the mate session manager
mate-desktop/mate-session-manager@0719336
allows xscreensaver to integrate into a MATE session, but it won't start on Fedora due to .desktop file issues.
This blocked dumping mate-screensaver outright in favor of xscreensaver, so now we need to know what to do
about the license issue, given we have different folks having made commits under different licenses.

Honestly, "we could not figure out how to make XScreenSaver launch" is not something that elicits a lot of sympathy from me, because that's.... just ridiculous.

Good luck I guess? :-)

--
Jamie Zawinski • jwz.org • dnalounge.com

@raveit65
Copy link
Member

.......as mate-screensaver is buggy dangerous garbage

I would say this guy is a liar and wants to kill a competitive product.

@mate-desktop mate-desktop deleted a comment from rbuj Aug 13, 2022
@cwendling
Copy link
Member

@raveit65 I would be very careful qualifying anything related to the subject at hand :)

This is a very heated subject that I believe I recon started off with a crash in GNOME-screensaver's greeter that lead to unlocking the session (because if the greeter crashes, the session unlocks). As I recall, I think some(body?) complained that it dated back to XScreensaver and IIRC kind of blamed JWZ, which he wasn't too happy about. Moreover as he has had a strong opinion on process separation that would inherently prevent the issue, and blamed all screenlockers that did not do this as insecure (to which I would agree he has a point: the more code runs in a critical component, the riskier). And it escalated. And the licensing issue arose, putting even more people on edge.

So yeah, all of this is a mess, and everybody kind of has a point from one perspective. Maybe a couple years ago JWZ would have been more keen on helping, but my guess is that this boat has sailed a while back. Maybe if mate-screensaver was redesigned to separate locking and greeter? I don't know and can't guess, but we end up fairly stuck here I guess.

@raveit65
Copy link
Member

@raveit65 I would be very careful qualifying anything related to the subject at hand :)

I's Ok when you are are careful. But don't tell me what have to do or to say :P

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants