For the first time, Babel is participating in Summer of Code! Although we forgot to make an announcement post earlier, here's our progress update 😊
What is it?
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're 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's been focusing on the much desired decorators transform. We'll 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'll 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's been really amazing working with them the past 2 months! We've 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
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's 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're incredibly lucky to work with both Kara and Emma!
They're 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'd also want to have codemods for our upcoming Babel 7 release for a easy/automated upgrade!
In the meantime, they've 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.
- 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's up to the people already 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're continuously working on improving.
Look at all the amazing work they've already done! We're really excited for what's to come and will do another post on our results and what we've learned.
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, Jessica, 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's a lot of work 🙂
And thanks to Brian again for help with editing!