Note: I wrote this while having a coffee break, and it’s a topic I have lots of opinions about. I don’t represent freeCodeCamp officially - this is just me rambling. It’s an interesting topic, and I’m particularly interested in anything the community can suggest that adds value to the forum.
It’s an interesting idea, both as a philosophical consideration and a technical one.
The technical aspect is this: the forum is built with Discourse, so features are primarily developed by them. They do have the ability to create plugins - maybe you could see if you can find an existing plugin that does what you are thinking? The other technical issue is then making higher rated topics rise to the top - I’ve no idea how the search results algorithm currently works…
Philosophically…It’s not something I’d personally want to see (it’s not up to me, though).
As I see it, rating ‘high quality’ questions / topics is pretty subjective. Is a high quality question one that has been well framed? One that hasn’t been asked before? One that is particularly interesting?
High quality suggests the existence of low quality. So what constitutes a low quality question? Something others deem to easy to have been asked? Something that was written in broken English? Something poorly formatted?
If we start down the path of rating questions, my fear is that we’d become more like StackOverflow. Don’t get me wrong, StackOverflow is an incredible resource for beginner and seasoned developers alike. But asking a question as a beginner is very problematic. There is a base assumption that all questions pass a rigorous quality test before they will be deemed worthy of an answer. That works fine for SO, but for our community, it presents one more barrier for people learning to code. Coding is hard enough, asking for help shouldn’t be one of the hard parts.
I know that’s not what you’re advocating in your post - it’s just a possible philosophical fork in the road our community could head down if not careful.
The other issue I have with it is that it introduces a more obvious sense of gamification - which again can be problematic. Discourse has its badges, topics and replies have likes, and there is a leaderboard (I dislike the leaderboard!), but apart from that there is little publicly visible to suggest that some community members are more highly valued or qualified than others. It’s a small issue, but I feel like any time you put a number next to something, human nature kicks in and people try to make that number go higher.
The last thing I’d add about alterations to the current search results algorithm is that some of the ‘higher quality’ posts we currently have on the forum are from users that no longer visit.
As far as forums go, we have a reasonably high churn rate. I attribute this to how successful freeCodeCamp is in achieving its goals. We want people to go out and get that dev job they’ve been dreaming about. The trouble is, once they get it, they are suddenly way too busy to stay active on the forum! I say that as someone that was at one time the most active member, and then took a year long hiatus when I landed a job!
If historical posts keep resurfacing because they are good, it can be disappointing for people trying to interact with the OP, only to find they are no longer here.
The way things currently work, unless a spammer necro-posts, most of the posts are from active members of the community and the discussions are well suited to helping people where they are at right now. Also, the shifting nature of the tech landscape means that a high quality JS post from 2016 is now quite heavily outdated with new language features and frameworks introducing new patterns.
All that is to say - personally, it’s not my bag, but this also isn’t my house, so it doesn’t have to play by my rules or align with my preferences.
Any discussion of ways to make our community more valuable and vibrant is excellent, IMO.