Linuxdirk is correct, it's based on the forum topic currently with certain things being penalised.

The algorithm was designed to obtain an initial ordering of packages which historically used the forums for distribution. This was intended to be temporary whilst I work out how to do it better, but I never got around to that. The algorithm calculates the average number of views per month to estimate interest

A package will be penalised by 20% for not having a screenshot, and 90% for not being completely free and open source

- Code: Select all
`self.score = 10`

if self.forums:

topic = ForumTopic.query.get(self.forums)

if topic:

days = (datetime.datetime.now() - topic.created_at).days

months = days / 30

years = days / 365

self.score = topic.views / max(years, 0.0416) + 80*min(max(months, 0.5), 6)

if self.getMainScreenshotURL() is None:

self.score *= 0.8

if not self.license.is_foss:

self.score *= 0.1