For the most common reason, dredging up old topics with old information that is no longer valid can confuse new users who don’t pay attention to post dates. Therefore, when a search is sorted by date, it’s preferable to draw the user to a topic that is more up-to-date. By locking old threads it’s more-or-less ensured that a new dataset is presented for subsequent searches rather than users wading through data for, say, API 1 when there would’ve otherwise been a new thread that was filled with information for API 2. It also gives a more obvious flag that you may be looking at outdated information as you can’t reply further.
In some cases, as we’ve seen from time-to-time, spam bots will also try to post on an old topic just to fly under the radar. This prevents that as well.
The key takeaway is probably that you want to keep data fresh and prevent further action on topics that are no longer relevant. There’s a lot of information on the internet as to why necroposting is bad for active communities, especially when that community strives for a Q&A format as the Xojo forum is meant to be, more or less.
This list from SO puts a pretty fine point on the reasoning if my babbling was incoherent:
- The post was started by a user that asked for specific help and already resolved the issue.
- The post was started by a user that asked for specific help and is unresolved. Although there is no resolution the post is old enough (there seems to be a one month rule) that the original poster won’t need the help anymore.
- The subject is not relevant anymore. For example, the topic is outdated.
If you wish to discuss an old thread that you’ve found, you can link to it in your new topic and a reference will also be added to that old topic pointing to the new topic at the bottom of the post list.
You can still read old topics, this is just a means of attempting to keep data fresh for an evolving language. If you like, you can review the discussion around this that happened when it was implemented here.
I do agree that locking old topics should not result in an Unread state for that topic, but that’s hopefully been fixed now.