From b47755669864d16753e42f7e9a71bdc8d6a5e343 Mon Sep 17 00:00:00 2001
From: rubenwardy
Date: Fri, 29 May 2020 15:52:30 +0100
Subject: Add help page on non-free licenses
---
app/flatpages/help.md | 7 ++-
app/flatpages/help/non_free.md | 70 +++++++++++++++++++++++++
app/public/static/contentdb_flag_blacklist.png | Bin 0 -> 28411 bytes
app/templates/macros/packagegridtile.html | 1 -
app/templates/packages/view.html | 7 +--
5 files changed, 80 insertions(+), 5 deletions(-)
create mode 100644 app/flatpages/help/non_free.md
create mode 100644 app/public/static/contentdb_flag_blacklist.png
diff --git a/app/flatpages/help.md b/app/flatpages/help.md
index 2bdd72c..784adf7 100644
--- a/app/flatpages/help.md
+++ b/app/flatpages/help.md
@@ -2,14 +2,19 @@ title: Help
## Content
+Policies and user help.
+
+* [Content Ratings and Flags](content_flags)
+* [Non-free Licenses](non_free)
* [Package Tags](package_tags)
* [Ranks and Permissions](ranks_permissions)
-* [Content Ratings and Flags](content_flags)
* [Reporting Content](reporting)
* [Top Packages Algorithm](top_packages)
## Developers
+Various APIs.
+
* [API](api)
* [Metrics](metrics)
* [Creating Releases using Webhooks](release_webhooks)
diff --git a/app/flatpages/help/non_free.md b/app/flatpages/help/non_free.md
new file mode 100644
index 0000000..b2f3e68
--- /dev/null
+++ b/app/flatpages/help/non_free.md
@@ -0,0 +1,70 @@
+title: Non-free Licenses
+
+## What are Non-Free, Free, and Open Source licenses?
+
+A non-free license is one that does not meet the
+[Free Software Definition](https://www.gnu.org/philosophy/free-sw.en.html)
+or the [Open Source Definition](https://opensource.org/osd).
+ContentDB will clearly label any packages with non-free licenses,
+and they will be subject to limited promotion.
+
+## How does ContentDB deal with Non-Free Licenses?
+
+Minetest is free and open source software, and is only as big as it is now
+because of this. It's pretty amazing you can take nearly any published mod and modify it
+to how you like - add some features, maybe fix some bugs - and then share those
+modifications without worry of legal issues. The project, itself, relies on open
+source contributions to survive - if it were non-free, then it would have died
+when celeron55 lost interest.
+
+If you have played nearly any game with a large modding scene, you will find
+that most mods are legally ambiguous. A lot of them don't even provide the
+source code to allow you to bug fix or extend as you need.
+
+Limiting the promotion of problematic licenses helps Minetest avoid ending up in
+such a state. Licenses that prohibit redistribution or modification are
+completely banned from ContentDB and the Minetest forums.
+
+Not providing full promotion on ContentDB, or not allowing your package at all,
+doesn't mean you can't make such content - it just means we're not going to help
+you spread it.
+
+## What's so bad about licenses that forbid commercial use?
+
+Please read [reasons not to use a Creative Commons -NC license](https://freedomdefined.org/Licenses/NC).
+Here's a quick summary related to Minetest content:
+
+1. They make your work incompatible with a growing body of free content, even if
+ you do want to allow derivative works or combinations.
+
+ This means that it can cause problems when another modder wishes to include your
+ work in a modpack or game.
+2. They may rule out other basic and beneficial uses which you want to allow.
+
+ For example, CC -NC will forbid showing your content in a monetised YouTube
+ video.
+3. They are unlikely to increase the potential profit from your work, and a
+ share-alike license serves the goal to protect your work from unethical
+ exploitation equally well.
+
+## How can I show non-free packages in the client?
+
+Non-free packages are hidden in the client by default, partly in order to comply
+with the rules of various Linux distributions.
+
+Users can opt-in to showing non-free software, if they wish:
+
+1. In the main menu, go to Settings > All settings
+2. Search for "ContentDB Flag Blacklist".
+3. Edit that setting to remove `nonfree, `.
+
+
+
+ Screenshot of the ContentDB Flag Blacklist setting
+
+
+In the future, [the `platform_default` flag](/help/content_flags/) will be used to control what content
+each platforms shows - Android is significantly stricter about mature content.
+You may wish to remove all text from that setting completely, leaving it blank,
+if you wish to view all content when this happens. Currently, [mature content is
+not permitted on ContentDB](/policy_and_guidance/).
diff --git a/app/public/static/contentdb_flag_blacklist.png b/app/public/static/contentdb_flag_blacklist.png
new file mode 100644
index 0000000..1e38e22
Binary files /dev/null and b/app/public/static/contentdb_flag_blacklist.png differ
diff --git a/app/templates/macros/packagegridtile.html b/app/templates/macros/packagegridtile.html
index 3fb39a8..3066194 100644
--- a/app/templates/macros/packagegridtile.html
+++ b/app/templates/macros/packagegridtile.html
@@ -15,7 +15,6 @@
{{ package.short_desc }}
-
{% if not package.license.is_foss and not package.media_license.is_foss and package.type != package.type.TXP %}
Warning: Non-free code and media.
diff --git a/app/templates/packages/view.html b/app/templates/packages/view.html
index 4fe6b51..f6889e0 100644
--- a/app/templates/packages/view.html
+++ b/app/templates/packages/view.html
@@ -42,10 +42,10 @@
{% if package_warning %}
-
+
{{ package_warning }}
-
+
{% endif %}
{% for t in package.tags %}
{% endif %}
-
+
{% if package_warning %}