]> git.lizzy.rs Git - cheatdb.git/commitdiff
Add help page on non-free licenses
authorrubenwardy <rw@rubenwardy.com>
Fri, 29 May 2020 14:52:30 +0000 (15:52 +0100)
committerrubenwardy <rw@rubenwardy.com>
Fri, 29 May 2020 14:52:30 +0000 (15:52 +0100)
app/flatpages/help.md
app/flatpages/help/non_free.md [new file with mode: 0644]
app/public/static/contentdb_flag_blacklist.png [new file with mode: 0644]
app/templates/macros/packagegridtile.html
app/templates/packages/view.html

index 2bdd72ca5d148b3615032b9c76c71c2598231c99..784adf75702baa31e761e3d3953801151bc915d7 100644 (file)
@@ -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 (file)
index 0000000..b2f3e68
--- /dev/null
@@ -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, `.
+
+<figure class="figure my-4">
+       <img class="figure-img img-fluid rounded" src="/static/contentdb_flag_blacklist.png" alt="Screenshot of the ContentDB Flag Blacklist setting">
+       <figcaption class="figure-caption">Screenshot of the ContentDB Flag Blacklist setting</figcaption>
+</figure>
+
+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 (file)
index 0000000..1e38e22
Binary files /dev/null and b/app/public/static/contentdb_flag_blacklist.png differ
index 3fb39a8f406b1708ff931d84697dc7d62d473e11..306619478bf4629e025d95b7dfef9ab34ad172e9 100644 (file)
@@ -15,7 +15,6 @@
                                {{ package.short_desc }}
                        </p>
 
-
                        {% if not package.license.is_foss and not package.media_license.is_foss and package.type != package.type.TXP  %}
                                <p style="color:#f33;">
                                        <b>Warning:</b> Non-free code and media.
index 4fe6b51571972d2f194ef6c1cc20f5ddb3ee0034..f6889e04487ad8e2284254bf2674c686ea788e3d 100644 (file)
 
                        <p>
                                {% if package_warning %}
-                                       <span class="badge badge-danger">
+                                       <a class="badge badge-danger" href="/help/non_free/">
                                                <i class="fas fa-exclamation-circle" style="margin-right: 0.3em;"></i>
                                                {{ package_warning }}
-                                       </span>
+                                       </a>
                                {% endif %}
                                {% for t in package.tags %}
                                        <a class="badge badge-primary"
                                                <a class="btn btn-danger btn-sm ml-1" href="{{ package.getRemoveURL() }}"><i class="fas fa-trash"></i></a>
                                        {% endif %}
                                        </div>
-
                                </div>
+
                                {% if package_warning %}
                                        <div class="card-body">
                                                <div class="alert alert-danger">
+                                                       <a href="/help/non_free/" class="float-right">Info</a>
                                                        <b>Warning:</b> {{ package_warning }}
                                                </div>
                                        </div>