Reflections

The Zulip open-source project turns ten!

Tim Abbott • 15 min read

Zulip organized team chat has now been an open-source project for 10 years! šŸŽ‰ šŸ™

It’s incredible how wonderful a group of people this project has brought together — thoughtful, committed to excellence, and excited to teach and to learn. So, THANK YOU to everyone who has contributed to Zulip over the last decade:

  • Our 1500+ code contributors, who have collectively written 81,613 code commits over the last decade — an average of 150 commits per week! Special thanks to 99 remarkable people who have each authored more than 100 commits to the project.
  • Hundreds of others who’ve contributed through bug reports, feedback, translations, recommended Zulip, or otherwise helped Zulip succeed. I can’t emphasize enough how wonderful it is that so many of you volunteer your time in the chat.zulip.org community to help us build new features right.
  • The amazing professional team at Kandra Labs, especially our leadership: Greg Price, Rishi Gupta (until 2019), and Alya Abbott.
  • Dropbox and the ten Dropbox Hack Week guests who released the original Zulip startup code as open source with all 10K commits of history intact. Dropbox has no current role in the company or project, but I will always remember their generosity and commitment to treating users well.

Most important of all, my wife Alya Abbott has been instrumental to Zulip becoming what it is today. Since 2021, she’s been Zulip’s Head of Product and then COO, and has had enormous impact on everything we’ve accomplished over the last few years.

I’ve dedicated my career to Zulip because I think it’s the best way that I can make a difference. I’m incredibly lucky to have a family that supports this choice.

Zulip, April 2017

Zulip, April 2017

Zulip, April 2017

Zulip, November 2025

Community stories

For this occasion, we asked the Zulip community to share what Zulip has meant for them. Folks told us about:

I’m especially touched that community members shared the last two deeply personal stories.

If you’re looking for a place to contribute and learn, come join us in the Zulip development community!

apiraino: Zulip is the best FOSS chat application I have ever used

ā€œI am a contributor to the Rust programming language project. In my career I have used any attempt to bring collaborative chats to teams. From IRC, through Google Chat, HipChat, Slack (before Salesforce), Discord, various Matrix clients: I have tried them all. Zulip is the best FOSS chat application I have ever used so far, offering a stable platform that does not change at the whim a VC-funded startup, a good web client with fast keyboard navigation and the always helpful Zulip team answering any question and doubt. Zulip is instrumental to my FOSS contribution to the Rust project. Thank you! <3 Congratulation for this milestone!ā€

Learning engineering excellence

Vishnu KS: Building software guided by strong principles

ā€œI started contributing to Zulip in 2016 while I was at university. Working on Zulip taught me how to write clean, maintainable code and, more importantly, the value of building software guided by strong principles. One of my most cherished memories is meeting the Zulip core team in person at the Portland PyCon Sprint in 2017. That moment changed me forever.

I’m grateful to have been part of Zulip’s journey, and it’s inspiring to see how the project continues to grow and embody those same values a decade on.ā€

Shubham Padia: Raising my standards for engineering excellence

ā€œWhen I did my GSoC with Zulip way back in 2018, I got to see what a project with incredibly high technical standards look like. I was able to take these standards, for example the git commit structure of Zulip into my first ever full time job and the results were very obvious to the folks working at that company. Zulip has helped raise my standards in countless ways when it comes to what excellence looks like.ā€

Zixuan: Fixing more than 2000 mypy errors

ā€œOne of my most unforgettable experiences would be fixing more than 2000 mypy errors over a year, to integrate django-stubs that enhanced type checking on Zulip’s Python backend. As I was new to open-source, I wouldn’t have thought I could do it—not without all the discussions on chat.zulip.org, code reviews, and the pure dedication to make the codebase better.ā€

Alya Abbott: Learning to handle tough feedback

ā€œI’ve been leading product for Zulip for four years now, and a wonderful but challenging aspect of that work is seeing the product through other people’s eyes. Challenging not just intellectually, but emotionally as well. Folks can be really frustrated when something isn’t working how they expect! In these situations, I try to take the feedback with:

  • Curiosity: What is the person I’m talking to trying to achieve at a deeper level? What is their mental model, and where does the misalignment lie?
  • An open mind: Just because Zulip has always worked in some way doesn’t mean that it’s the best way.
  • Confidence: A perspective we hear feeds into our product vision, but does not, on its own, define it — however strongly it’s expressed.
  • Emotional empathy: When a product you rely on isn’t doing what you want, it can be super annoying! I try to remember to acknowledge this, and the time someone took out of their day to share their thoughts.
  • Equanimity: At the same time, I can’t take folks’ frustrations onto myself, even when I might have been able to know better when making product decisions in the past.

I’ve been learning these practices by watching other folks handle feedback of all kinds in the Zulip development community, whether it’s developers responding to comments on their technical approach, or the mobile team responding to users’ feedback about the new app. Thank you all!ā€

Drew Perttula: Zulip is part of my doorbell

ā€œZulip is part of my doorbell. An arduino watches the door button; a service forwards arduino messages to mqtt; and a zulip bot sends a message as doorbell-bot, which goes to my desktop and my phone.

(Also, a Node-RED flow hears the mqtt message and sends a play request for http://bigasterisk.com/post/bell.mp3 to some google home speakers.)ā€

Ivano: De-Googling my life

ā€œData privacy may seem like a distant and abstract concept, but as the gap between our real and digital lives is narrowing down day by day, it now seems very important that you share little (or none) of your personal information with big data companies (predominantly Google).

Sure, Google is convenient, with their various services… all connected and free but Google tracks you every time you use their services. It will take time and effort to completely de-google your digital life: the more Google services you use, the longer it will take and that’s because Google is the master when it comes to vendor lock-in techniques. The giant has ensured that you will find it extremely difficult to leave their services.

Imagine if the postman, before delivering your mail, opened it, read its contents and added a flyer with contextual advertising. That would be a huge business model right? šŸ˜„ Obviously this is not possible because it is prohibited by law. However, this is what happens regularly in your mobile phone and without your knowledge 😱 😔

The point is that what’s forbidden in the real world is now totally authorized in your smartphone and this is happening every day from your own pocket! This is just an example of the Google’s business model which gets fed with your own privacy.

I therefore decided to de-google my life (and the life of my family) and regain control by building my own cloud and the self-hosted solution offered by Zulip was the cherry on the cake when it came to having a dedicated ā€œprivacy orientedā€ chat service for my family.

I’m using the Zulip’s free tier as I only have a very limited number of users in my self-hosted solution but should it become bigger (and it will), I wouldn’t hesitate to pay for it. It’s reliable (it’s been running for two years continuously now without any hiccups) and professionally maintained.

Go Zulip!!!ā€

Dirk E.: Five years of using Zulip for international scientific collaboration

ā€œFive years ago I was looking for a platform for communicating, discussing, and exchanging problems, ideas, and solutions to be used by an international group of researchers for a scientific project. After looking at several alternatives (among others Mattermost and Slack) I decided to try Zulip because it allows asynchronous communication and offers an easy way of administration. As a non-profit organization with no funding for our central coordinating team, we are extremely grateful for the opportunity to use the free (sponsored) Zulip Standard Plan.

Opting for Zulip was a good decision in many respects: I appreciate the ability to organize discussions in channels while enabling direct (private) communication with individual members and groups, to create channels for privileged access to some members, to reorganize channels and topics, to assign guest or admin status to members, to use markdown in messages, to link to other topics or channels and attachments, and to be notified of new posts via email or on smartphones…

Thank you for all your work on Zulip and congratulations on your 10th anniversary— I am wishing Zulip and his team continued success!ā€

Aman (amanagr): Threading helps with getting support as a new contributor

ā€œWhen I was looking for an open source project to contribute for my first GSoC in 2018, Zulip had the most welcoming community which really helped me get started with first contributions.

For example, topics in Zulip really help you feel like your issue / question you asked has an isolated space which will receive a response and mostly likely did. This was different from other open source communities using Slack or similar chat software where your issue / message was more likely to get ignored since there were messages of different folks asking questions in the same feed.ā€

Niloth: Feeling supported in a personal journey

ā€œIn a world where the focus is often on metrics and output, Zulip stands out for its holistic approach. It’s more than just an open source community, it’s a thoughtful ecosystem. For me, what began as a technical interest has evolved into a much deeper, personal journey.

The first thing that caught my attention was the documentation. Unlike many developer communities, where documentation can often feel like an afterthought, Zulip’s documentation was precise, detailed, and thoughtfully crafted. It was a reflection of how the community values quality and clarity, both in its technical work and in the way it communicates. It set the tone for what I would later experience: a place that cared deeply not just about the outcome, but about how that outcome was achieved.

The feedback I get here is second to none, rooted in a deep commitment to quality. Mentorship is woven into the very fabric of the community.

From the start, there was something refreshing about the culture here. The complete absence of mandatory meetings, the emphasis on async communication, and the focus on progress over simply showing up all create a space where it’s not about checking boxes, but about the quality of what you bring to the table. The ability to choose how, when, where, and what to engage with, without being locked into rigid plans or micromanagement is liberating. It isn’t just about flexibility; it’s a quiet respect for each person’s individuality and circumstances, whether that’s time constraints, personal challenges, or different working styles. This means no one is left behind, no matter where they are in the world, physically or mentally.

This unique balance of high expectations and personal autonomy makes collaboration feel more meaningful and inclusive. For someone who has had to manage the balance of work and personal life carefully, this rare kind of inclusivity is a boon.

The way processes are structured in the community deserves recognition. It’s never been about blindly following ā€œbest practicesā€. Zulip takes a thoughtful, reasoned approach, with each system, tool, and process serving a clear, logical purpose. The priority is always what truly works for the community, and not about keeping up with the latest trends.

Zulip expertly balances ethical integrity with financial success, never compromising on the very values that made the community attractive. As someone with a strong ethical compass, that’s a gift I don’t take lightly, particularly in today’s climate.

Being part of this community feels almost therapeutic. There’s an understated healing quality in Zulip—never forced, always present. In a world that often rewards cynicism, this transparent politics-free space where trust is implicit, and a healthy thoughtful approach to work and collaboration is nurtured, feels like a breath of fresh air.

It’s rare to find a place that allows you to heal and grow professionally as well as personally. I never set out to find a refuge, but somehow, I found one, and I’m grateful for it every day.ā€

Saubhagya Patel: A roller coaster ride with a community unlike any other

ā€œI started looking into GSoC around July-August 2024, and at that time, I was very new to open source. One of my hostel friends, had already contributed to Zulip under GSoC in 2024. So, I decided, let’s give it a shot.

I joined Zulip on 7 August 2024. I would browse through the messages, look at how people talked, how they asked for help, what mistakes I should not make, and so on. On 28 August 2024, my first PR was merged. I was beyond happy and just ran straight away into my friend’s room, and told him about it, yes, it was really great.

After that, it was sort of a roller coaster ride. Sometimes, it was late nights, just looking at my screen and comprehending, okay, what is going on, since it was my first time working on this big project. Sometimes, I was just like damn, I solved the bug, finally. My friends and I were always discussing what reviews we received, how we addressed them, and helping each other out.

To be honest, that time was the most beautiful time of my GSoC journey. I mean, yes, the result day was, to be honest, very suspenseful, since we 3 had all applied; if anyone wasn’t selected for GSoC, it would be very sad for all of us. We used to discuss what we would do if any of us didn’t get selected, or, best case, all 3 of us did, and luckily, we all were selected.

After GSoC started, I was very motivated at the start. I was like, okay, let’s wrap up all my work as quickly as possible, and then I would have free time during my college placements. But, to be honest, due to procrastination, I believe I didn’t give 100% to it. Did I give my 100% before GSoC? Yes, I did. Did I do it after GSoC? No, and honestly, I sometimes feel kind of like letting people down for that. When my college started after the vacations, in July, the placement season started. So, I became very busy with it. In the following time, I had to extend my GSoC project, since I wasn’t able to commit the work hours, which I should have been committing to the project. It felt quite bad, since, before GSoC, I was willing to go above and beyond, but post-GSoC, things became quite different.

I wrapped up my GSoC on October 27. Did I wrap it up successfully? Yes. Am I satisfied with my work, umm, no. Should I have put more effort? Yes, again yes. I don’t know if I have enough credibility to say this for future contributors to any outreach programs like GSoC. But I would like to share something.

While I was quite stressed about my placements and all, I decided to take a diversion for a while. I tried to look for other organizations in GSoC. I couldn’t find any organization as welcoming as Zulip. I am not saying that there is no other organization like Zulip, since I only browsed the GSoC organizations having a tech stack similar to mine.

I don’t know if I am able to express myself or not, but the little things that everyone cares about here are very big.

Take, for example, the documentation, I mean, it is like a goldmine for us devs.

Take, for example, the channel where you are posting your message.

Take, for example, how you start a thread in #api design.

Take, for example, the commit discipline. I remember violating it in my first PR at that time. I was like, it’s just a commit, why need to bother so much about it? But the thing is, when people care about these little things, it helps build something like Zulip.

I spent around 3-4 days looking for organizations, going to their codebases, mailing lists, discussions, etc., but couldn’t find a welcoming community like Zulip. So, for any future contributors out there, please make the most out of your program.

See, I do understand, for other organizations; it is their way of working things out, and I have no right to comment on it. The thing I want to say is I am very grateful to Zulip for this journey, and I should have contributed more. I have tons of stories to tell people. I tell it to my family, my cousins, my school friends, and my interviewers also :).

I just want to express my gratitude to Zulip for this great chapter of my life.ā€


Thanks to everyone who shared their stories! I’m excited for everything Zulip’s next decade will bring.

— Tim Abbott, Zulip project leader