Zulip's Google Summer of Code 2022

This summer, 15 contributors completed the Google Summer of Code (GSoC) program with the Zulip development community. This was the 7th consecutive year that Zulip participated in GSoC; over 100 contributors have now completed one of our formal internship programs, primarily through Google Summer of Code and Outreachy. Our experienced contributors, including many alumni of these programs, have dedicated thousands of hours to mentorship. As a result, many of the participants have told us that they learned more contributing to Zulip than in their 4-year formal computer science education.

“The lessons and feedback from the incredible experience as a GSoC participant with Zulip have shaped me into a better developer.” — Kartik Srivastava

Our welcoming community is fully committed to helping bring up the next generation of open-source contributors from a wide range of backgrounds. We have invested into making Zulip’s code uniquely readable, well tested, and easy to modify. Beyond that, we have written an extraordinary 150K words of documentation on how to contribute to Zulip, with topics ranging from practical Git tips to essays on important architectural decisions. This is why our 2022 GSoC participants were able to contribute major improvements to the Zulip product.

“The openness to constructive feedback, the super comprehensive developer documentation, coupled with the vibrant, helpful developer community, and the trust reposed in and the flexibility granted to contributors, makes for an incomparable experience.” – Nehal Sharma

Together, this year’s GSoC participants wrote over 650 commits that have already been merged into Zulip! It’s impossible to describe here all the great work that’s been done, but here are some highlights.

Zulip web app

“I learned a lot this summer — from reading code, to writing code, to collaborating and debugging — and it’s great to see your code being used in real-world software!” — Ganesh Pawar

Projects focused on general user experience

  • Making it easier to see everything that’s happening in an organization by adding private messages to the default home view (“Recent conversations”). (Shlok Patel)
  • Major redesign of how users navigate private messages. (Jai soni)
  • Numerous improvements in Zulip’s auto-complete suggestions, including showing profile pictures when searching for a person. (Nehal Sharma)

“Zulip has the best developer experience, and an awesome active community. I got to learn how things work under the hood.” — Shlok Patel

“Doing GSoC with Zulip has massively helped me improve as a developer.” — Jai soni

  • Implementing a redesign of tooltips across the app, with a clean look for displaying shortcut keys. (Sayam Samal)
  • Significant progress towards major redesigns of the search bar and user list. (Riken Shah)
  • Moving towards the long-awaited but complex unmute topic within a muted stream feature. (Kartik Srivastava)

“This has been a fantastic summer working on Zulip. I did code reviews for the first time, and it has been a great way to learn from other people's code and improve my skills alongside them.” — Riken Shah

Projects focused on improving the administrative experience

  • Making it possible to display selected custom profile fields, such as pronouns, in the short user profile, along with other improvements in the management of custom profile fields. (Yogesh Sirsat)
  • Significant progress towards revamping the user group settings interface to support a major project to make Zulip’s user groups powerful and flexible. (Purushottam Tiwari)
  • Many usability improvements to the settings system, including making sure that all deletion actions require confirmation. (Ganesh Pawar)
  • Giving administrators the option to send a customized email notification when deactivating a user. (Julia Bichler)

“It has been a fantastic experience, nothing short of an adventure. I learned how to write cleaner and more readable code, and how to implement UI/UX in a more user-friendly way.” – Yogesh Sirsat

“Working with the Zulip community was a great learning experience… I learned how to write clean and maintainable code, the art of breaking huge changes into commits that are easy to update based on reviews, and also about tackling big issues.” – Purushottam Tiwari

“I learned how to develop software in a large community — technical skills (Git and version control, testing and documenting changes, reviewing pull requests, etc.), but also the importance of code reviews, regular checkins, communication, and asking for feedback.” — Julia Bichler

Zulip server and API

  • Improving type checking by integrating the mypy plugin for Django. (Zixuan James Li)
  • Implementing new Azure DevOps and RhodeCode integrations. (Chris Chong)
  • Using the WildValue system to enforce strict type-checking for incoming webhook payloads. (Hari Prashant)

“Working with the talented and helpful people in the Zulip Community, I learned quite a lot about software engineering beyond just writing code.” — Zixuan James Li

“The collaborative nature of the Zulip community has been immensely helpful.” — Hari Prashant

Zulip terminal app

  • Making it possible to resolve and unresolve topics, a popular workflow management feature. (Shivam Deotarse)
  • Major progress towards adding support for search keywords. (Mounil Shah)

“Zulip has provided a jumpstart to my software development journey.” — Shivam Deotarse

“My mentors made me realize that understanding the importance of communication is key to becoming a successful open source contributor. Learning to create atomic commits with appropriate commit messages has made me a much better programmer.” — Mounil Shah

Parting thoughts

We’re truly proud of everything our GSoC 2022 participants have been able to accomplish, and are looking forward to their continuing contributions in the coming months and years!

If you are eligible, please join us for the next GSoC or Outreachy program!

“Zulip is my top recommendation to anyone wanting to dive into open source. With the most friendly and helpful community, smooth onboarding, tons of documentation, and an active feedback loop, Zulip arms you with all the tools to kickstart your journey with open source. From beginners to experts and coders to non-coders, there's a place for everyone at Zulip.” — Sayam Samal

Acknowledgements

We are truly grateful to all the community members who stepped up to mentor GSoC participants this summer: Aditya Verma, Aman Agrawal, Arpit Shama, Dinesh Chidipothu, Gaurav Pandey, Mateusz Mandera, Neil Pilgrim, Priyam Seth, Puneeth Chaganti, Rohitt Vashishtha, Ryan Rehman, Sahil Batra, Sai Rohitth Chiluka, Suyash Vardhan Mathur, Tim Abbott, Vaibhav Rabber, and Yash Rathore.

We are also incredibly grateful to Google for organizing and funding this unique mentoring program, which helps bring up the next generation of open-source contributors. It is an invaluable contribution to Zulip and hundreds of other participating open-source projects, as well as the open source community at large.