To see how it is to actually contribute to Meteor I did a test today:
Decided to just give it a go an started to follow the tutorial to see how new users experience Meteor in it’s current shape. So I started following this tutorial:
https://www.meteor.com/tutorials/blaze/creating-an-app
I really tried to behave as a novice user of Meteor, really following the steps quite literally as you would do when encountering new unknown technology.
Logged the following issues against the guide:
Against Meteor:
And some pull requests:
First time users experience
About the state of Meteor: It’s quite complicated if you start as a new user when you have no background in both Meteor and imports I think. The tutorial is not consistent on paths and conventions with the Guide. I think both should be equal so you can lookup background info while following the tutorial.
Tutorials
The changes I proposed make it easier to start using Meteor. Currently it seems the tutorial is not updated regularly like the Guide. I don’t know the reason behind that (@sashko ?). If the tutorial is to stay I think it would add lots of value if you can click to the specific parts in the Guide to read more about the steps. Because as a new user I am not really aware of the guide. But I am not sure what’s the intention with those tutorials.
First time contributor experience
While following the tutorial I found some issues which bothered me so I decided to try to fix them. Again I took the state of being a novice user as much as possible.
Positive communication towards new contributors
My case: Improve an unclear error message. First thing you encounter is https://github.com/meteor/meteor/blob/devel/Contributing.md which is quite extensive but did not really address my use-case. It’s a little improvement, no new feature no new bug. Also the tone of voice is not very encouraging.
I get the point that we don’t need lots of useless half-baked feature requests but there are also people who do want to support Meteor and the community. I think we focus on the wrong people in this document. Same goes with: https://github.com/meteor/meteor/blob/devel/IssueTriage.md we need that info but at the same time we want support so let’s be a bit open. Reading pages of rules and instructions to help is not the most open approach.
Testing your changes
When you contribute you will off course test, the tests are not stable on my machine and not stable on continuous integration: https://github.com/meteor/meteor/pull/7825#issuecomment-249884541 which is an issue if you are a first time contributor.
TLDR
In general: It is very doable to contribute to Meteor it seems.
I don’t understand most of this topic on finding maintainers / community leaders in full though. When trying to find and fix the issues you experience yourself you don’t need that. So I think this discussion should be more clear in the separation: Projects like Blaze and Accounts can be really about a re-build bigger pieces. While there are also smaller fixes like I made today. Who should take care of them in the future?
Also I don’t understand which projects are available, there should be a list, like: https://github.com/meteor/meteor/labels where you can see which projects need help.
I will now wait to see what happens with the proposed changes I made, hope to get a better experience than:
We’ll see.