DEV Community

Discussion on: I'm the maintainer of Babel, ask me anything!

Collapse
 
andy profile image
Andy Zhao (he/him)

Since you've been and are so involved with OSS, what are some reflections you have on what contributing to OSS is like now compared to what it was like when you first started (with JSCS, for example)?

Collapse
 
hzoo profile image
Henry • Edited

I think you mean what it's like for someone new back then vs. now?

I only started around 2 years ago which isn't too long ago. I think there are definetely some differences but not sure on the whole if it's easier/better to contribute now than before. I don't think we really have a grasp/handle on how to make it sustainable to continue to grow new contributors?

There are a lot of new things like the interest in bots like github.com/probot/probot, twitter.com/greenkeeperio to handle some of the tasks and to lessen burden. Github has done a lot like the license changes: github.com/babel/babel/blob/master..., start of a community standard/guidlines, opensource.guide/, talking with maintainers and being more active. There is more of an emphasis on getting more people involved with things like the good first issue label and other things and people caring more about having a good readme/website/etc.

In the end it's just a lot of work to get plugged in and I know that. Not sure the best way to move forward other than better mentorship and then via that better docs/guides via that process which takes a lot of time/mental effort/scheduling. I'd like to do more of that but just not always in the best situation to do so unless it becomes part of your job. And even with that, you might not be able to help more than a handful of people (which is plenty), since even having a single extra maintainer/collaborator is a huge deal.

So the effort to grow new contributors is certainly welcome and we shouldn't stop doing it, but we should be cautious to make sure we don't burn out new contributors since that is happening all the time with old ones (I will admit some level of "burnout" is ok in the sense people should take breaks and are not obligated to do any of the work, and that sense of personal commitment may/may not cause that). Would love if we had a better grasp on how to make it sustainable as a consistent, healthy thing to take part in: not about getting stars, likes, medium posts, downloads, resume building, etc (all can be fine and fun) but doesn't satisfy in the long run. If you are feeling the burden, the overwhelming sense that you have to do it, we should provide help, guidance, etc.

And hope I don't sound like it's all bad at the moment. I started without any guidance and it ended up working out but it took forever to learn a lot of it on my own (and that's ok). Having a friend, class, club, meetup to do it with would probably make it more enjoyable and maybe projects should be doing more (I hesitate to say we should do more 😂) in that direction. And for me a lot of it is providing an environment where people can express better ideas instead of just submitting a PR to someone else's issue or fixing a basic thing. Problem is people have no context, names are hard, it seems like you have to know so much up front to be able to be in a position to contribute ideas? I really don't know where it's supposed to go either and would love if someone else could tell me. Right now it's just trying to find patterns and overall issues are learning (the hard way) of trying prioritize over just answering questions on twitter/slack over and over but actually moving things forward while helping people in the now as well. And all that should be documented too but then I'm just tired 😄. Another thing I want to continue doing (I'm not sure if this even works) is make it more fun like how we have the whole "guy fieri" meme, now the Babel song, etc. Of course that has to come naturally but I think it can bring in a lot of people who otherwise would be turned off by the nature of the project itself.

Collapse
 
andy profile image
Andy Zhao (he/him)

Thanks for the answer! I recently wrote about my first attempt at putting some fun in code in the dev.to codebase:

  def pound_it
    text_color_hex&.prepend("#") unless text_color_hex&.starts_with?("#")
    bg_color_hex&.prepend("#") unless bg_color_hex&.starts_with?("#")
  end