Skip to content
This repository has been archived by the owner on Apr 18, 2018. It is now read-only.

What about Issues? #8

Closed
mikeal opened this issue Apr 4, 2015 · 14 comments
Closed

What about Issues? #8

mikeal opened this issue Apr 4, 2015 · 14 comments

Comments

@mikeal
Copy link

mikeal commented Apr 4, 2015

We spent a lot of time at the beginning of io.js thinking through how to deal with the split in issues between io.js and node.js. What we finally settled on was just starting over from scratch which turned out to be quite a blessing. From that point on we required that any commit messages refer to the full issue and pr including the org/repo name to distinguish between joyent/node and iojs/io.js issues.

We can recreate everything in io.js and node.js repositories except for issues so the decision of how to start that repo really just comes down to issues.

As I see we have 3 options available:

  • Start with joyent/node and all the issues there.
  • Start with iojs/io.js and all the issues there.
  • Start with a fresh repository.

There are far more issues in joyent/node than any other repository. It also has about 3x the watchers and stars. A ton of those issues are severely outdated despite a valiant effort to clean them up.

Since its creation io.js has done a great job of keep issues clean and well tagged with a high response rate. But, if this has taught us anything it's that starting over from scratch can be accomplished with fairly little negative consequences. Resetting and starting from scratch again gives us a great opportunity to reset the context and if we are changing the tag and triage process at all we won't have to go through thousands of prior issues or have a history of issues that clearly operated under a different process.

@mikeal
Copy link
Author

mikeal commented Apr 4, 2015

pinging @chrisdickinson and @Fishrock123 as they've dealt more than anyone with issues.

@jasnell
Copy link
Member

jasnell commented Apr 4, 2015

I was thinking about this too and quickly came to the conclusion that I do not have enough personal experience in this area to offer an intelligent opinion. Let's ping @tjfontaine, @misterdjules and @mdawsonibm for their thoughts also.

@chrisdickinson
Copy link

I fretted about this a lot when io.js first went public, which was roughly at the same time nodebug.me came out. I worried that a massive amount of value had been poured into the existing issue tracker, and that value would be lost entirely if we started fresh. Years of conversations, decisions, and technical background were woven into and across issues and pull requests, both opened and closed.

However, io.js seems to be doing well without it, and might even be easier to contribute to without the weight of all of that history bearing down on newcomers. I think io.js' success in dealing with its issue tracker proves that a lot of that weight is now of relatively low value compared to the amount of effort it takes to consume and process it.

(It bears mention that community input in the form of new issues and pull requests is high value at the outset, but depreciates rapidly over time. It requires {pro,}active involvement from contributors to capture that value. The amount of cognitive effort it takes to sift through old issues and pull requests goes up with time and distance from the problem, and most old issues that folks truly care about have been re-opened on io.js itself.)

So, that being said: I'd prefer we either retain the io.js repository (adding the node collaborators), or create a new repository and give all existing node and io.js collaborators commit access.

@Fishrock123
Copy link
Contributor

Start with joyent/node and all the issues there.

I really don't this this is preferable to anyone, unless we can mass-close everything that isn't tagged. Too much to reasonably go through.

Start with iojs/io.js and all the issues there.

io.js has a steady ~6 pages of managed issues, virtually all of which are still relevant.

However, moving/renaming the repo could have consequences on links to issues from commits. And, afaik, you cannot specifically move issues.

So, that being said: I'd prefer we either retain the io.js repository (adding the node collaborators), or create a new repository and give all existing node and io.js collaborators commit access.

What @chrisdickinson said.

@chrisdickinson
Copy link

I split out workflow notes into a separate issue, but would be happy to discuss it here if that's easier.

@Fishrock123
Copy link
Contributor

Since its creation io.js has done a great job of keep issues clean and well tagged with a high response rate.

I would like to state the most important bit of this:

Having more active (even semi-active) people able to manage to issues has been the best boon of the io.js issue tracker. Bots or other fancy measures simply do not compare.

@mhdawson
Copy link
Member

mhdawson commented Apr 6, 2015

I'm thinking that a 1 time close all with a comment asking that the original re-open if they believe the issues still needs attention might help identify those that people think are still important. Along the lines of "can you please help us out as we transition, we are going to close all untagged issues, please re-open in this new repo if the issue still needs attention" .

@mikeal
Copy link
Author

mikeal commented Apr 7, 2015

I've been thinking about this a lot and I have to say that I think the best approach is to start with a clean slate.

If we auto-close we're going to upset a lot of people and give them the wrong impression. We want to show contributors that we are more diligent about their issues in a merged project, not less.

Starting with a clean slate gives us the opportunity to seed Issues and PR work for the merger while we continue development on io.js and node.js pre-merger. It forces us to continue to engage with both issue repositories until they can be closed. And finally, we'll have a very good sense of how well we've re-engaged the community under a merged project in the foundation as we see the watch/start count evolve.

@mhdawson
Copy link
Member

mhdawson commented Apr 7, 2015

So what you are suggesting is a new issues repo and keep the existing node.js and io.js ones alive, just closed to new issues ?

@mikeal
Copy link
Author

mikeal commented Apr 7, 2015

@mdawsonibm correct. After the merger is completed either disable new issue in those repos or alter the README and perhaps add an auto-responder pointing to the new repo. The repos would need to stay up though so that the links to old issues are preserved.

@mhdawson
Copy link
Member

mhdawson commented Apr 7, 2015

That sounds reasonable to me. Any value in posting a message to the existing issues along the lines of "while we still have your issue and will get to it when we can, new ones are being handled here:X. If your issue is urgent you may want to open a new one here:X". Softer than the close but a heads up that if you really want your issue to get attention now, opening in the new repo will ensure that. The downside would be if too many people use that option and its floods the new repo.

@mikeal
Copy link
Author

mikeal commented Apr 7, 2015

@mdawsonibm that sounds like a good idea.

@Fishrock123
Copy link
Contributor

After the merger is completed either disable new issue in those repos

Doesn't the disable issues access entirely?

opening in the new repo will ensure that. The downside would be if too many people use that option and its floods the new repo.

Won't matter if we are managing issues well.


The new repo should be the new repo for core though. having a separate issues repo for core (NG is a slight exception) is just going to be confusing.

@mikeal
Copy link
Author

mikeal commented Apr 7, 2015

Doesn't the disable issues access entirely?

Won't disable issues also remove them from being able to read or comment on old ones?

The new repo should be the new repo for core though.

Yes, thanks for calling this out. I was assuming it implicitly but just realized this was not actually clear.

@jasnell jasnell closed this as completed Mar 19, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants