Auto-lock old evolution threads?

[Tagged as swift-evolution, this doesn't neccessarily apply to other sub-forums]
[CC: @xwu, who raised the bumping issue]
[CC: @DevAndArtist, @twof, who have bumped threads recently, I'd be interested if you think this is reasonable]

While bumping old topics isn't so much of a problem in itself, these old topics don't seem to generally regain traction, both because the discussion faded out long ago, and the bumps don't always raise any new points. Anyone (re-)joining the discussion may have to catch up on 200+ messages, but the cost of bumping such a thread is comparatively very low.

If we have the feature of auto-locking threads on Discourse, it could help limit bumps to older threads where discussion has run its course, or where the state of Swift has significantly progressed since the discussion occurred.

This could work in two ways:

  • Threads with no activity after a certain period of time (3-6 months) get locked automatically.
  • During the transition period from Swift N to Swift N+1, all existing threads are locked.

With either of these rules in place, it could be made policy that revival of discussion requires making a new thread, containing:

  • Links to prior threads.
  • An adequate summary of the discussion so far.
  • The addition of something new to the discussion, and/or the expression of the author that the topic is relevant to the goals of the current version of Swift and should be reconsidered.

The intent is to allow the discussion of old topics to be resumed, but require that the member reviving it has understood the prior discussion, and has something new to contribute. It would greatly reduce the possibility of an overly enthusiastic new member bumping an unmanageable amount of old threads just to express interest, as some ‘proof-of-work’ would be required for each topic.

The alternative is to leave things as they are, with bumping being effortless, with the risk of an eventual bump-ocaplype making it difficult to find active discussions. One arguable benefit of the current setup is that it reduces the total number of threads, by keeping all discussion in one megathread.


I'll also add that I think the ‘adequate summary’ should help to revive discussions, which is the main intent of bumping, by making it easier for people to catch up or refresh themselves on the discussion so far.

1 Like

I don't mind opening a new thread for an older topic that can be pushed forward and provide links and summary for the topic. This would lay down the focus to the point and start a clean and constructive discussion. What I don't think would be a good idea is, if we forbid specific topics altogether. If a particular topic is 2 years old, it does not mean that we should never bring this up again. There were other topics that were deferred or which had lack of interest back then, which does not mean there isn't any interest now.

That said, I'm fine with locking down old topics.


I completely agree. The trouble is, while bumps can ‘bring up’ a topic, I'm not sure they're serving to revive the discussion. Without revived discussion, I don't see them standing a chance of getting anywhere.

1 Like

I agree with your point of view.

I'm for the policy of making new threads that link back and summarize the original. As long as we're not actively discouraging reviving discussions that fizzled out.


Another point in favor of locking old threads is that older threads are largely unstyled, making them harder to read. New threads, with a link to the old discussion and fully styled code are much easier to follow.


I feel that it's too early to know if bumping old threads will revive the discussion or not. But not really opposed to locking if the general consensus is that it will help.

I think this is reasonable.

If I'm making a new thread for an old proposal, should the old proposal be subject to the new evolution rules? ie should an implementation be required?

If I'd like to see an old proposal that doesn't have an implementation get attention, and I'm personally not in the position to be writing an implementation, what's the path forwards?

Sure you can, the forum is also there to discuss implementations and to find people who can tackle the implementation. I don't know why it should be different.


Should the new threads be tagged as pitches in that case?

I don't think it would hurt someone, I'd say yes, or you can go with discussion category, but it really depends on the topic.

I would say it depends. If a thread was settled on a specific way of doing something, but died because of a lack of resources, I would say that could be a pitch. But if the topic just lost interest, I would say that's a discussion.

Presently, I'm more inclined to stick with the status quo and see how things go. Things seem to be dying down a bit following the forum transition, and in the long term it may turn out revived threads fare better than we've seen so far.

I'm not sure whether any admins have seen this thread or not, but ultimately it's up to them to make changes if they deem it worthwhile.


So FYI, there's no feature to do auto-locking. Let's see how things go, and if it's really a problem we can see if there's something we can do in this area.


@Nicole_Jacque Is there a way to have a bot auto close threads just like big projects in github do it?

I'm on another Discourse forum that has topics set to close after a month or two of inactivity. This is a built-in feature of Discourse and can be enabled/disabled on a per-category basis:

Ok, is the general sentiment that we should do this for evolution threads, or all threads. I note that this conversation was reopened on a pretty old thread...

1 Like

My threshold for old is probably 12+ months. I would say all threads. I think less than 6 months is too short so anywhere between 6-12 months would be ideal. The original issue was that people were bumping three year old threads.

1 Like

I'd say just Evolution threads, and I think three months is probably a fine threshold.

1 Like