Bug 491151 - Discover thinks too many licenses are proprietary
Summary: Discover thinks too many licenses are proprietary
Status: RESOLVED FIXED
Alias: None
Product: Discover
Classification: Applications
Component: discover (other bugs)
Version First Reported In: 6.1.3
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Nate Graham
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-08-02 02:11 UTC by Nate Graham
Modified: 2024-08-24 10:30 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.2.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nate Graham 2024-08-02 02:11:26 UTC
Search for "akkhara" and you'll find an app with a license listed as "Beerware", which apparently is known to SPDX: https://spdx.org/licenses/Beerware.html#page

Discover labels it in orange and shows the proprietary warning button. However the license's full text is as follows:

> "THE BEER-WARE LICENSE" (Revision 42):
> 
> <phk@FreeBSD.ORG> wrote this file. As long as you retain this notice you can do whatever you
> want with this stuff. If we > meet some day, and you think this stuff is worth it, you can buy me
> a beer in return.
> 
> Poul-Henning Kamp

This is not what I think any normal person would describe as "proprietary." It may not meet GNU definition of free (as in copyleft) software, but it's certainly not proprietary. Branding the app as having a proprietary license is incorrect.
Comment 1 Harald Sitter 2024-08-02 09:37:10 UTC
That data comes from appstream which in turn draws from spdx directly. As the license is neither OSI nor FSF approved it is considered non-free there

https://spdx.org/licenses/
https://github.com/ximion/appstream/blob/04fc478c9a2c432d69969287c3f2d0aa426cc95e/src/as-spdx-data.h#L118
Comment 2 Nate Graham 2024-08-02 14:40:16 UTC
Then it seems the problem is that we ask the question "is this an OSI or FSF approved free license?"

And if we get a no, we present that in the UI as "this app uses a proprietary license". Discover's interpretation is questionable here.

Maybe we need three states here:
1. Free software (uses an OSI or FSF-approved license)
2. Unfree software (license is explicitly marked as "proprietary")
3. Unknown licensing state (Doesn't use an OSI or FSF-approved license, but isn't explicitly marked as proprietary; read the license yourself to see what you can and can't do with it)
Comment 3 Harald Sitter 2024-08-02 15:01:33 UTC
I guess. But spdx doesn't have a concept of [x] proprietary does it?
Comment 4 Nate Graham 2024-08-02 15:04:49 UTC
Not inherently, but I see a bunch of apps in Discover with a License that says "LicenseRef-Proprietary"
Comment 5 Nate Graham 2024-08-02 15:06:47 UTC
Maybe we need to reverse this. Instead of marking licenses as proprietary (which seems impossible), we instead mark licenses as "yay free software woohoo stars and twinkles"

And then for everything not marked as free software, we show the info button popup, re-worded to say something like:

"This application is not free software. Learn what that means [here]. Read its license and make sure you understand that limitations it imposes on you, and make sure you trust its authors."
Comment 6 Harald Sitter 2024-08-02 15:11:07 UTC
Yeah, I fear marking everything proprietary that is explicitly so would seem to swing the pendulum in the other direction reporting more free than are actually free.

Changing our presentation seems more reasonable in that regard. If something isn't OSI/FSF it may be anything.
Comment 7 Nate Graham 2024-08-02 15:36:40 UTC
Ok. I'll work on that.
Comment 8 Bug Janitor Service 2024-08-02 17:41:09 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/discover/-/merge_requests/889
Comment 9 Nate Graham 2024-08-20 23:50:14 UTC
Git commit 37f3970c59a0554c33b215349b570a8130405e25 by Nate Graham.
Committed on 20/08/2024 at 23:47.
Pushed by ngraham into branch 'master'.

ApplicationPage: Be clearer about how we present and explain licenses

Right now Discover considers any non-free license to be proprietary. But
this is inaccurate; there are degrees of freedom, and a non-free license
is not necessarily proprietary.

This commit makes use of information already present to display a more
nuanced set of explanations based on the level of freedom that the
license offers:
- Free
- Non-Free
- Proprietary
- Unknown
FIXED-IN: 6.2.0

M  +82   -13   discover/qml/ApplicationPage.qml
M  +17   -17   libdiscover/appstream/AppStreamUtils.cpp

https://invent.kde.org/plasma/discover/-/commit/37f3970c59a0554c33b215349b570a8130405e25