Babel and Summer of Code 2017

Posted Aug 9, 2017 by Henry Zhu

For the first time, Babel is participating in Summer of Code! Although we forgot to make an announcement post earlier, here鈥檚 our progress update 馃槉

What is it?

Google Summer of Code

Babel鈥檚 Profile for GSoC

GSoC is an international annual program which pairs open source projects and university students! We work with the students on a project and Google pays them a stipend.

Peeyush Kushwaha (India)

Karl Cheng (Australia)

We鈥檙e happy to be working with both Peeyush and Karl!

Peeyush has already made a bunch of PRs with improving documentation and bug fixes. In addition, he鈥檚 been focusing on the much desired decorators transform. We鈥檒l be updating this issue with more progress.

Karl has similarly made many contributions already, and is now focusing on the private properties transform (now part of the combined class properties proposal). We鈥檒l be updating this issue with more progress.

To track their work on these transforms and the progress of other specs/proposals, be sure to check out the Babel TC39 Proposal Status Tracker.

It鈥檚 been really amazing working with them the past 2 months! We鈥檝e really enjoyed teaching, working, and learning with them on the project. Partnering with TC39 in making these Babel plugins a reality has also been helpful for everyone.

Rails Girls Summer of Code

Babel鈥檚 RGSoC Page

RGSoC is a similar program to GSOC: annual, global, pays a stipend, brings projects and newcomers together, with a focus on bringing diversity into Open Source.

Kara de la Marck (London)

Emma Deacon (London)

Where RGSoC differs from GSoC is that it matches developers with team coaches in addition to the open source project鈥檚 mentors. Pivotal London is working with Kara and Emma as their daily coworkers/supporters. We are lucky to have seven awesome coaches from their organization to help them, while on our side we can leave feedback on issues/PRs in GitHub and in our Slack.

We鈥檙e incredibly lucky to work with both Kara and Emma!

They鈥檙e currently working on some codemods! Ideally we would have codemods to convert ES2015 to ES2016+ (Lebab) and if necessary, codemods to remove dropped TC39 proposals. We鈥檇 also want to have codemods for our upcoming Babel 7 release for a easy/automated upgrade!

In the meantime, they鈥檝e already done all the necessary work to implement the new optional catch binding proposal as a plugin! It was really cool to see that we had already released the Babel plugin before the TC39 meeting a few weeks ago! You can follow this issue for more information.

Why?

  • Participating in these programs means more developer exposure to participating in open source!
  • Helps us as a project onboard and mentor new contributors in a more formal, structured way. It helps us identify any issues with our code setup, and more importantly with our process (multiple timezones, different backgrounds) and culture.
  • Helps bring in different people into the project that otherwise may not have contributed to Babel or open source. The hope is that they continue to stick around or be involved in the open source community! We want to do our part to make open source a welcoming and diverse community, focusing on individuals first.
  • We get four full time people working on our project for a whole summer! This is a great opportunity for each of them to work on high impact problems, and for us to be in a support role to help them succeed.
  • Hopefully it inspires some to get involved as a result of the program, and for others to step up as mentors/maintainers (ideally from the hundreds of top companies that use this project everyday) to bring people in.
  • Ultimately, this is just about building a community and making a great experience for our students/interns.

It takes a lot of work to get involved in any community, and it鈥檚 up to the people aleady involved to make this as easy as possible to join in. It requires one to spend the time to meet people where they are at (in many ways), not just write code but to invest in others. A community is about the people, and open source is about the community.

Participating in Summer of Code gives us a great opportunity to make this happen, and we鈥檙e continuously working on improving.

Look at all the amazing work they鈥檝e already done! We鈥檙e really excited for what鈥檚 to come and will do another post on our results and what we鈥檝e learned.

Look out for next year鈥檚 RGSoC and GSoC if you want to participate (for your own project, as a participant, or to help us out) cough Sean.


Thanks

To my team at Behance/Adobe for allowing me to spend time at work maintaining Babel and participating in Summer of Code!

Thanks to all the other helpers/maintainers (Brian, Logan, Diogo, Sven, Justin, Boopathi), on Slack and GitHub issues! It can be a lot of work managing all the parts of an open source project, so we are glad to have the extra help!

Huge shoutout to many TC39 members like @littledan, @bakkoting, @ljharb for helping review PRs, better inform/work on babel/proposals, and discuss implementation/spec details in our Slack rooms! I know it鈥檚 a lot of work 馃檪

And thanks to Brian again for help with editing!