Re: contributing to Hyperledger projects


Hart Montgomery
 

+1 to this.  I think it captures my sentiments on the general problem really well.

 

“I'm an introvert, and I really don't want to ask anyone for help.”

 

You could probably have a whole different (but similar) story on the difficulty in asking for and getting help, as well.

 

Thanks,

Hart

 

From: tsc@... [mailto:tsc@...] On Behalf Of Christopher Ferris
Sent: Tuesday, July 2, 2019 12:37 PM
To: tsc@...
Subject: [Hyperledger TSC] contributing to Hyperledger projects

 

Hart's note has me thinking about how we make on-boarding more obvious and accessible for new comers.

 

Let's say that I want to contribute to Hyperledger, but don't know where to start, and am not familiar with open source culture and operations. I think it is worthwhile for people to follow this thought experiment.

 

I hear about Hyperledger, and want to get involved. I point my browser at www.hyperledger.org. The site loads and I see in the main banner three tiles. One is a case study of Fabric in action. The middle one is how to join as a member. The right-most tile has Transact. Cool! And look! There's a "Start Contributing" button! <click> My browser takes me to a crates.io page for Transact (we aren't in Kansas anymore, Toto!) but there is something here that tells me "How to Participate", but TBH not much more than a nice welcome message inviting contributions, and a link to the mailing list and chat (to which you would have to figure out how to login).

 

I click on a link to one of the repositories and the README.md basically has the very same information. Now I need to ask someone how this actually works for me to make a contribution. There is a link on the crates.io page to the transact-rfcs repository, but no information about how to submit one, nor are there any samples for me to follow.

 

I'm an introvert, and I really don't want to ask anyone for help. I'll move on and look for something else to do.

 

Now, I don't want to be picking on Transact. It's a brand new project still in the process of getting off the ground. Only got the repositories established a few days ago.

 

However, my point here is that Hyperledger as a whole *does* need to think about this sort of thing and should be ensuring that we have a path for people to follow to getting involved that does not lead to a dead end. That path should help people understand that there are multiple projects, each with their own governance, but generally conforming to a high level pattern. If someone is new to open source, maybe some pointers as to where they might learn about how open source works generally.

 

Yes, I do realize that there's the greenhouse graphic below the three tiles and each of the projects is a hotlink to the respective project page. However, there is no visual cue to let me know that that is below the fold, at least not on my viewport on my MBP13".

 

As for our top-level projects, seems to me that a certain amount of consistency would go a long way to helping people navigate. Things like requiring a CONTRIBUTING.md in the root of the repositories for a project. A MAINTAINERS.md for the list of maintainers. A README.md that links to both, and provides a bit of guidance as to how to navigate the code base, how to install, where to find samples, who to engage if you get stuck. I'm sure there are other ideas people may have to add to the list of required or recommended content.

 

I think that we (TSC) should work to establish these norms that we expect in all of the project repositories (certainly for projects seeking to graduate from Incubation). We also need to work with Marketing to ensure that there is a short path from the main www.hyperledger.org page that helps people a) find the projects, b) find the code to run, and c) learn how to contribute (or lurk as the case may be) with the fewest possible number of clicks and the least amount of scrolling.

 

Cheers,

Christopher Ferris
IBM Fellow, CTO Open Technology
email: chrisfer@...
twitter: @christo4ferris

IBM Open Source white paper: https://developer.ibm.com/articles/cl-open-architecture-update/
phone: +1 508 667 0402

 

Join tsc@lists.hyperledger.org to automatically receive all group messages.