Go: proposal: increase contributions by sharing your workflow

Created on 22 Sep 2017  路  6Comments  路  Source: golang/go

Since we'd like to increase quality contributions to Go and attract talent, I would like to suggest an idea on how to do that. It can sometimes seem daunting to start to contribute, even if you want to, especially if you're not familiar with many aspects of the codebase. Many people have the capability and the willingness to, but not the know-how.

On various aspects thorough documentation already exists, including many blog posts out there, so people are able to do some learning shall they want to. There is understandably a lot less on things like the compiler, and people working on it are expected to be very well versed, which is also understandable. Besides that, writing too much documentation and information is a bit hard and time consuming, especially when asked from someone that already has a busy schedule, such as a core contributor. Plus, getting mentored by one is probably an almost inexistent opportunity.

But, I have an idea...

I would like to daringly suggest the following to the main contributors of this repository: when you fix a bug or add a feature in Go, film yourself doing it, going through the whole process of introducing the change, debugging it and testing it, and if possible, speak through your steps, explain your thought processes and what you are doing. You don't need to stop your normal workflow to add any extra explanations (unless you want to!), just do what you normally do, but film it so others can see how it's done and what's going on.

I for one would love to have access to such knowledge and I know it would be pure gold to many, _many_ people. The upside of this in my opinion is that it will not take any extra time from the contributors (other than pressing 'Start' on a recording and uploading it) and it will provide _immense_ value to anyone wishing to get familiar with this codebase, not to mention becoming an exponentially better programmer by learning from the best. This will also share the mindset and core ideas behind Go with the others, things that are not always visible through reading code alone.

I am happy to help with making this a reality in any way that I can. I mean who here wouldn't like to see people like Rob Pike, Robert Griesmer, Ian Lance Taylor, Russ Cox, Brad Fitz (loved your series with Andrew!) and all the other contributors work? Help everybody become better!

Sharing your knowledge would be a great gift!

I realise this is a very daring and perhaps crazy suggestion, but even the slightest chance of this becoming a reality makes posting this here worthwhile.

FrozenDueToAge Proposal

Most helpful comment

Russ is going to be famous now. I hope he does not mind.
https://youtu.be/dP1xVpMPn8M?t=1173

Alex

All 6 comments

I like this suggestion. Sure, it would become a great resource for people willing to contribute.

Russ is going to be famous now. I hope he does not mind.
https://youtu.be/dP1xVpMPn8M?t=1173

Alex

While the editor is part of the contributor's workflow, I think people are more interested in the "end-to-end" experience of starting with a problem, navigating the codebase, fixing it, writing tests, writing a description, mailing it out, addressing reviewer comments, and getting it merged.

@campoy's video contributing to the Go project is probably more along the lines of what the "proposal" is asking for.

@bradleyfalzon made a nice 6-minute video showing the end-to-end process of thinking through a problem in an open source project and the possible solutions, then contributing a fix.

I guess this proposal is about that, but for contributing to the Go project specifically, right? Still, I thought it's a good sample of what an end-to-end contributing video (as @dsnet mentioned) could look like.

While the editor is part of the contributor's workflow, I think people are more interested in the "end-to-end" experience of starting with a problem, navigating the codebase, fixing it, writing tests, writing a description, mailing it out, addressing reviewer comments, and getting it merged.

This is exactly what I mean by my proposal. Maybe not so much for addressing reviewer comments, although that'd be great even if perhaps a lot to ask for. The actual (Git/Gerrit/CLA/etc) process of contributing to Go I think is pretty clear and well documented.

This seems like a good idea, but it's not an actionable issue per se. Even though this is not a question, see golang.org/wiki/Questions for other forums where you might be able to find others to discuss the idea, such as golang-nuts. If people do make videos, a page on the wiki would probably be a good place to post them.

Was this page helpful?
0 / 5 - 0 ratings