Zulip's Google Summer of Code 2023
This summer, 13 contributors completed the Google Summer of Code (GSoC) program with the Zulip development community. This was the 8th 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 welcoming community is fully committed to helping bring up the next generation of open-source contributors from a wide range of backgrounds. Our experienced contributors, including many internship program alumni, have dedicated thousands of hours to mentorship.
“The power of Zulip lies in its superb community and its people. The willingness of people to help each other is just unmatched.” — Satyam Bansal
We have also 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 2023 GSoC participants were able to contribute major improvements to the Zulip product. Together, this year’s GSoC participants wrote over 700 commits that have already been merged into Zulip!
“My GSoC experience with Zulip was wonderful. Apart from the technical skills, I also got to learn the importance of code reviews, regular checkins, communicating in the community and in general I learned how to work in a large community to develop a software that thousands of people use!” — Lalit Kumar Singh
It’s impossible to describe here all the great work that’s been done, but here are some highlights.
General Zulip web app improvements
- Implementing the ability to follow topics you are interested in, and to mention everyone who has previously participated in a topic with an @topic mention. These are major feature highlights of the Zulip 8.0 release. (Prakhar Pratyush)
- Making it possible to upload a file by dragging it anywhere in the Zulip window. (Brijmohan Siyag)
“My confidence in my Git skills, effective communication, and writing unit tests has grown significantly. I’ve gained practical insight into the significance of diverse database design concepts that were previously only theoretical knowledge.” — Prakhar Pratyush
“I loved Zulip, both the project and the community. The feedback I got through code reviews consistently broadened my understanding, and the most engaging part of the summer was reviewing pull requests of fellow contributors. The best part is that the project at Zulip helped me land a dream job afterwards.” — Brijmohan Siyag
- Implementing a redesign of Zulip’s menus and the left sidebar navigation area. (Hardik Dharmani)
- Adding a notice when a conversation has scheduled messages. (Joseph Ho)
- Migrating over 25 JavaScript files/modules to TypeScript. (Junyao Chen and Lalit Kumar Singh)
- Fixing a variety of bugs. (Akshat Dalton)
“I genuinely cherished the summer, as it provided me with invaluable experiences and skills that I believe I couldn’t have acquired on my own.” — Joseph Ho
“I experienced a transformation from apprehension to a mindset of adaptable collaboration and streamlined version control.” — Junyao Chen
Settings and administration
- Improving user profiles, including making it possible to add users to streams from their profile. (Palash Baderia)
- Working on permission settings for organization invitations and user group management, as part of a major project to restructure Zulip’s permission management system. (Ujjawal Modi)
- Improving the onboarding experience by making it possible to configure the default language for an organization at the time of its creation. (Hemant Umre)
“I am impressed by the Zulip exceptional approach for aiding contributors. The clarity of communication, willingness to address queries, and the knowledge shared have all contributed to an enriching experience for me.” — Ujjawal Modi
“The community is exceptionally helpful and welcoming. The Zulip documentation, along with the API documentation, is invaluable for anyone looking to contribute.” — Hemant Umre
Integrations
- Creating a simple interface for generating integration URLs, and making various improvements to the GitHub and GitLab integrations. (Satyam Bansal)
Terminal
- Adding support for custom profile fields, and improving the algorithm for the
n
keyboard shortcut for cycling through unread topics. (Vishwesh Pillai) - Improving the app to maintain position in the topic list when switching views. (Subhasish Behera)
“The Zulip community has been a wonderful group to be a part of. I learned a lot during this summer, from writing tests to building terminal UI elements. The documentation at Zulip is top-notch.” — Vishwesh Pillai
Parting thoughts
We’re truly proud of everything our GSoC 2023 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!
“I strongly believe Zulip is one of the best and most ideal open-source organizations for people to learn and grow professionally. I learned so many things during this journey, from learning how to write industry-level code to writing good commit messages and using the git-rebase workflow to keep the PRs in good shape. All of this progress has been made possible because of how beautifully Zulip has maintained its community, documentation, and, especially, the way they treat everyone equally.” — Palash Baderia
Acknowledgements
We are truly grateful to all the community members who stepped up to mentor GSoC participants this summer: Abhijeet Bodas, Aman Agrawal, Dinesh Chidipothu, Hari Prashant, Lauryn Menard, Mounil Shah, Neil Pilgrim, Pragati Agrawal, Priyam Seth, Priyank Patel, Puneeth Chaganti, Purushottam Tiwari, Ryan Rehman, Sahil Batra, Shubham Dhama, Sumanth Rao, Vaibhav Rabber, Vishnu KS, Vishwesh Jainkuniya, Yogesh Sirsat, and Zixuan James Li.
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.