Remove non-free score penalisation

This commit is contained in:
rubenwardy 2020-05-30 15:32:50 +01:00
parent 55a90e0464
commit ed78a2e06f
4 changed files with 3 additions and 12 deletions

@ -134,8 +134,6 @@ def download_release(package, id):
set_key(key, "true") set_key(key, "true")
bonus = 1 bonus = 1
if not package.getIsFOSS():
bonus *= 0.1
PackageRelease.query.filter_by(id=release.id).update({ PackageRelease.query.filter_by(id=release.id).update({
"downloads": PackageRelease.downloads + 1 "downloads": PackageRelease.downloads + 1

@ -28,7 +28,7 @@ Limiting the promotion of problematic licenses helps Minetest avoid ending up in
such a state. Licenses that prohibit redistribution or modification are such a state. Licenses that prohibit redistribution or modification are
completely banned from ContentDB and the Minetest forums. Other non-free licenses completely banned from ContentDB and the Minetest forums. Other non-free licenses
will be subject to limited promotion - they won't be shown by default in will be subject to limited promotion - they won't be shown by default in
the client, and their [score](/help/top_packages/) will receive a 10x penalty. the client.
Not providing full promotion on ContentDB, or not allowing your package at all, 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 doesn't mean you can't make such content - it just means we're not going to help

@ -7,10 +7,8 @@ In the future, a package will also gain score through reviews.
## Pseudo rolling average of downloads ## Pseudo rolling average of downloads
Every package loses 5% of its score every day. Every package loses 5% of its score every day, and will gain 1 score for each
unique download.
An open source package will gain 1 score for each unique download,
whereas a non-free package will only gain 0.1 score.
This metric aims to be roughly equivalent to the average downloads. This metric aims to be roughly equivalent to the average downloads.
@ -27,8 +25,6 @@ This legacy heuristic is as follows:
multiplier = 1 multiplier = 1
if no screenshot: if no screenshot:
multiplier *= 0.8 multiplier *= 0.8
if not foss:
multiplier *= 0.1
score = multiplier * (max(downloads, forum_score * 0.6) + forum_bonus) score = multiplier * (max(downloads, forum_score * 0.6) + forum_bonus)

@ -714,9 +714,6 @@ class Package(db.Model):
if self.getMainScreenshotURL() is None: if self.getMainScreenshotURL() is None:
self.score *= 0.8 self.score *= 0.8
if not self.license.is_foss or not self.media_license.is_foss:
self.score *= 0.1
class MetaPackage(db.Model): class MetaPackage(db.Model):
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)