mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	developer docs: Update GSoC documentation.
This commit is contained in:
		@@ -2,76 +2,66 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## About us
 | 
					## About us
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Zulip](https://zulip.com) is a powerful, open source team chat
 | 
					[Zulip](https://zulip.com) the only modern team chat app that is ideal for both
 | 
				
			||||||
application. Zulip has a web app, a cross-platform mobile app for iOS
 | 
					live and asynchronous conversations. Zulip has a web app, a cross-platform
 | 
				
			||||||
and Android, a cross-platform desktop app, and over 100 native
 | 
					mobile app for iOS and Android, cross-platform desktop and terminal apps, and
 | 
				
			||||||
integrations, all open source.
 | 
					over 100 native integrations. The entire Zulip codebase is 100% open source.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Zulip has gained a considerable amount of traction since it was
 | 
					Zulip has been gaining in popularity since it was [released as open source
 | 
				
			||||||
[released as open source software][oss-release] in late 2015, with
 | 
					software][oss-release] in late 2015, with code contributions from [over 700
 | 
				
			||||||
code contributions from [over 700 people](https://zulip.com/team)
 | 
					people](https://zulip.com/team) from all around the world. Thousands of people
 | 
				
			||||||
from all around the world. Thousands of people use Zulip every single
 | 
					use Zulip every day, and your work on Zulip will have meaningful impact
 | 
				
			||||||
day, and your work on Zulip will have impact on the daily experiences
 | 
					on their experience.
 | 
				
			||||||
of a large and rapidly growing number of people.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[oss-release]: https://blogs.dropbox.com/tech/2015/09/open-sourcing-zulip-a-dropbox-hack-week-project/
 | 
					[oss-release]: https://blogs.dropbox.com/tech/2015/09/open-sourcing-zulip-a-dropbox-hack-week-project/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
As an organization, we value high-quality, responsive mentorship and
 | 
					As an organization, we value engaged, responsive mentorship and making sure our
 | 
				
			||||||
making sure our product quality is extremely high -- you can expect to
 | 
					product quality is extremely high. You can expect to receive disciplined code
 | 
				
			||||||
experience disciplined code reviews by highly experienced
 | 
					reviews by highly experienced engineers. Since Zulip is a team chat product,
 | 
				
			||||||
engineers. Since Zulip is a team chat product, your GSoC experience
 | 
					your GSoC experience with the Zulip project will be highly interactive.
 | 
				
			||||||
with the Zulip project will be highly interactive.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
As part of that commitment, Zulip has over 160,000 words of
 | 
					> _“The experience of working with Zulip for the summer was really phenomenal and
 | 
				
			||||||
 | 
					> taught me a lot about software development and working with a community. Zulip
 | 
				
			||||||
 | 
					> has one of the best open source communities out there who are super friendly
 | 
				
			||||||
 | 
					> and welcoming. You learn a lot just by watching others work and talk.”_ – Sai
 | 
				
			||||||
 | 
					> Rohitth Chiluka, Zulip GSoC 2021 participant
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					As part of our commitment to mentorship, Zulip has over 160,000 words of
 | 
				
			||||||
[documentation for
 | 
					[documentation for
 | 
				
			||||||
developers](../index.html#welcome-to-the-zulip-documentation), much of
 | 
					developers](../index.html#welcome-to-the-zulip-documentation), much of it
 | 
				
			||||||
it designed to explain not just how Zulip works, but why Zulip works
 | 
					designed to explain not just how Zulip works, but why Zulip works the way that
 | 
				
			||||||
the way that it does.
 | 
					it does. To learn more about our mission and values, check out [this blog
 | 
				
			||||||
 | 
					post](https://blog.zulip.com/2021/04/28/why-zulip-is-on-github-sponsors/)!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Our history with Google Open Source Programs
 | 
					## The Zulip GSoC experience
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Zulip has been a GSoC mentoring organization since 2016, and we aim
 | 
					Zulip has been a GSoC mentoring organization since 2016, and we to accept 15-20
 | 
				
			||||||
for 15-20 GSoC students each summer. We have some of the highest
 | 
					GSoC participants each summer. We have also mentored several interns through the
 | 
				
			||||||
standards of any GSoC organization; successful applications generally
 | 
					[Outreachy](https://www.outreachy.org/) program, and hundreds of Google Code-In
 | 
				
			||||||
have dozens of commits integrated into Zulip or other open source
 | 
					participants.
 | 
				
			||||||
projects by the time we review their application. See [our
 | 
					 | 
				
			||||||
contributing guide](../overview/contributing.md) for details on
 | 
					 | 
				
			||||||
getting involved with GSoC.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Zulip participated in GSoC 2016 and mentored three successful students
 | 
					Zulip operates under a **group mentorship** model. While you will have an
 | 
				
			||||||
officially (plus 4 more who did their proposed projects unofficially).
 | 
					assigned mentor, you will also get lots of feedback from other members of the
 | 
				
			||||||
We had 14 (+3) students in 2017, 10 (+3) students in 2018, 17 (+1) in
 | 
					[Zulip development community](https://zulip.com/development-community/) by
 | 
				
			||||||
2019, and 18 in 2020. We've also mentored five Outreachy interns and
 | 
					posting your questions and ideas in public streams. We encourage GSoC
 | 
				
			||||||
hundreds of Google Code-In participants (several of who are major
 | 
					participants to help each other out as well!
 | 
				
			||||||
contributors to the project today).
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
While GSoC switched to a shorter coding period in 2021, we expect to
 | 
					Many GSoC participants stay involved with the project past the official end of
 | 
				
			||||||
run a program that's very similar to past years in terms of how we
 | 
					the program. A number of folks who get started with GSoC go on to mentor the
 | 
				
			||||||
select and mentor students during the Spring (though with an
 | 
					next cohort of participants, and several have joined Zulip's team of core
 | 
				
			||||||
appropriately reduced expectation for students' time commitment during
 | 
					maintainers.
 | 
				
			||||||
the summer).
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Expectations for GSoC students
 | 
					To learn more about the experience of doing GSoC with Zulip, check out our
 | 
				
			||||||
 | 
					[Zulip's Google Summer of Code 2021 blog
 | 
				
			||||||
 | 
					post](https://blog.zulip.com/2021/09/30/google-summer-of-code-2021/). Our [guide
 | 
				
			||||||
 | 
					for having a great summer with Zulip](../contributing/summer-with-zulip.md) will
 | 
				
			||||||
 | 
					also give you a feel for what it's like to do GSoC with us.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Our guide for having a great summer with Zulip](../contributing/summer-with-zulip.md)
 | 
					> _“It has been the best summer I've ever had! I'm thankful to my mentors, my
 | 
				
			||||||
is focused on what one should know once doing a summer project with
 | 
					> peers, Zulip, and Google for providing me an opportunity of getting involved
 | 
				
			||||||
Zulip. But it has a lot of useful advice on how we expect students to
 | 
					> in the community! You have helped and supported me to become a better software
 | 
				
			||||||
interact, above and beyond what is discussed in Google's materials.
 | 
					> developer and a passionate open-source contributor.”_ – Sarthak Garg, Zulip
 | 
				
			||||||
 | 
					> GSoC 2021 participant
 | 
				
			||||||
[What makes a great Zulip contributor](../overview/contributing.html#what-makes-a-great-zulip-contributor)
 | 
					 | 
				
			||||||
also has some helpful information on what we look for during the application
 | 
					 | 
				
			||||||
process.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
We also recommend reviewing
 | 
					 | 
				
			||||||
[the official GSoC resources](https://developers.google.com/open-source/gsoc/resources/)
 | 
					 | 
				
			||||||
-- especially
 | 
					 | 
				
			||||||
[the student manual](https://developers.google.com/open-source/gsoc/resources/manual).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Finally, keep your eye on
 | 
					 | 
				
			||||||
[the GSoC timeline](https://developers.google.com/open-source/gsoc/timeline). The
 | 
					 | 
				
			||||||
student application deadline is April 13, 2021. However, as is
 | 
					 | 
				
			||||||
discussed in detail later in this document, we recommend against
 | 
					 | 
				
			||||||
working on a proposal until 2 weeks before the deadline.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Getting started
 | 
					## Getting started
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -79,26 +69,31 @@ We have an easy-to-set-up development environment, and a library of
 | 
				
			|||||||
tasks that are great for first-time contributors. Use
 | 
					tasks that are great for first-time contributors. Use
 | 
				
			||||||
[our first-time Zulip developer guide](../overview/contributing.html#your-first-codebase-contribution)
 | 
					[our first-time Zulip developer guide](../overview/contributing.html#your-first-codebase-contribution)
 | 
				
			||||||
to get your Zulip development environment set up and to find your first issue. If you have any
 | 
					to get your Zulip development environment set up and to find your first issue. If you have any
 | 
				
			||||||
trouble, please speak up in
 | 
					trouble, please speak up in the
 | 
				
			||||||
[#GSoC](https://chat.zulip.org/#narrow/stream/14-GSoC) on
 | 
					[#GSoC](https://chat.zulip.org/#narrow/stream/14-GSoC) stream on the
 | 
				
			||||||
[the Zulip development community server](https://zulip.com/development-community/)
 | 
					[Zulip development community server](https://zulip.com/development-community/)
 | 
				
			||||||
(use your name as the topic).
 | 
					(use your name as the topic).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Application tips, and how to be a strong candidate
 | 
					## Application tips, and how to become a strong candidate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
You'll be following [GSoC's application process
 | 
					Zulip has some of the highest standards of any GSoC organization. The most
 | 
				
			||||||
instructions](https://developers.google.com/open-source/gsoc/), and
 | 
					important component of a strong application is to demonstrate your ability to
 | 
				
			||||||
making at least one successful pull request before the application
 | 
					contribute to a large codebase. Accepted applicants generally have five or more
 | 
				
			||||||
deadline, to help us assess you as a developer. Students who we accept
 | 
					merged (or nearly merged) pull requests, including at least a couple of
 | 
				
			||||||
generally have five or more merged, or nearly merged, pull requests
 | 
					significant changes (on the order of 100+ lines).
 | 
				
			||||||
(usually including at least a couple which are significant,
 | 
					 | 
				
			||||||
e.g. having 100+ lines of changes or show you have done significant
 | 
					 | 
				
			||||||
debugging).
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Getting started earlier is better, so you have more time to learn,
 | 
					The quality of your best work is more important than the quantity, so be
 | 
				
			||||||
make contributions, and make a good proposal.
 | 
					sure to follow our coding guidelines and test your work before submitting it for
 | 
				
			||||||
 | 
					review. Don't worry if you make mistakes in your first few
 | 
				
			||||||
 | 
					contributions! Everyone makes mistakes getting started — just make sure you don't
 | 
				
			||||||
 | 
					make the same mistakes next time.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Your application should include the following:
 | 
					It's best to get started with Zulip early, so that you have time to learn, make
 | 
				
			||||||
 | 
					contributions, and put together a strong proposal. However, we recommend waiting
 | 
				
			||||||
 | 
					until the last few weeks to formally write up and submit your application.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The GSoC 2022 application deadline is April 19, 2022. Please follow [GSoC's application process
 | 
				
			||||||
 | 
					instructions](https://google.github.io/gsocguides/student/). Your application should include the following:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Details on any experience you have related to the technologies used
 | 
					- Details on any experience you have related to the technologies used
 | 
				
			||||||
  by Zulip, or related to our product approach.
 | 
					  by Zulip, or related to our product approach.
 | 
				
			||||||
@@ -119,20 +114,35 @@ how to do disciplined, professional software engineering, where they
 | 
				
			|||||||
can demonstrate through reasoning and automated tests that their code
 | 
					can demonstrate through reasoning and automated tests that their code
 | 
				
			||||||
is correct.
 | 
					is correct.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
While only one contribution is required to be considered for the
 | 
					For all of our projects, an important skill to develop is a good
 | 
				
			||||||
program, we find that the strongest applicants make multiple
 | 
					command of Git; read [our Git guide](../git/overview.md) in full to
 | 
				
			||||||
contributions throughout the application process, including after the
 | 
					learn how to use it well. Of particular importance is mastering using
 | 
				
			||||||
application deadline.
 | 
					Git rebase so that you can construct commits that are clearly correct
 | 
				
			||||||
 | 
					and explain why they are correct. We highly recommend investing in
 | 
				
			||||||
 | 
					learning a [graphical Git client](../git/setup.md) and learning to
 | 
				
			||||||
 | 
					write good commit structures and messages; this is more important than
 | 
				
			||||||
 | 
					any other single skill for contributing to a large open source
 | 
				
			||||||
 | 
					project like Zulip.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
We are more interested in candidates if we see them submitting good
 | 
					We are excited about candidates who submit good contributions to Zulip projects,
 | 
				
			||||||
contributions to Zulip projects, helping other applicants on [GitHub](https://github.com/zulip/zulip)
 | 
					help other applicants on [GitHub](https://github.com/zulip/zulip) and on
 | 
				
			||||||
and on [chat.zulip.org](https://zulip.com/development-community),
 | 
					[chat.zulip.org](https://zulip.com/development-community), learn from our
 | 
				
			||||||
learning from our suggestions, [trying to solve their own obstacles and
 | 
					suggestions, [try to solve their own obstacles and then ask well-formed
 | 
				
			||||||
then asking well-formed questions](https://www.mattringel.com/2013/09/30/you-must-try-and-then-you-must-ask/),
 | 
					questions](https://www.mattringel.com/2013/09/30/you-must-try-and-then-you-must-ask/),
 | 
				
			||||||
and developing and sharing project ideas and project proposals which
 | 
					and develop well thought out project proposals.
 | 
				
			||||||
are plausible and useful.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Questions are Important
 | 
					For the first time in 2022, being a student is not required in order to apply to
 | 
				
			||||||
 | 
					GSoC. We are happy to accept both student and non-student participants.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Our documentation on [what makes a great Zulip
 | 
				
			||||||
 | 
					contributor](../overview/contributing.html#what-makes-a-great-zulip-contributor)
 | 
				
			||||||
 | 
					offers some additional helpful information. We also recommend reviewing the
 | 
				
			||||||
 | 
					[official GSoC
 | 
				
			||||||
 | 
					resources](https://developers.google.com/open-source/gsoc/resources/),
 | 
				
			||||||
 | 
					especially the [Contributor/Student
 | 
				
			||||||
 | 
					Guide](https://google.github.io/gsocguides/student/).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Questions are important
 | 
				
			||||||
 | 
					
 | 
				
			||||||
A successful GSoC revolves around asking well-formed questions.
 | 
					A successful GSoC revolves around asking well-formed questions.
 | 
				
			||||||
A well-formed question helps you learn, respects the person answering,
 | 
					A well-formed question helps you learn, respects the person answering,
 | 
				
			||||||
@@ -185,96 +195,48 @@ output than screenshots. And be sure to read the traceback before
 | 
				
			|||||||
posting it; often the error message explains the problem or hints that
 | 
					posting it; often the error message explains the problem or hints that
 | 
				
			||||||
you need more scrollback than just the last 20 lines.
 | 
					you need more scrollback than just the last 20 lines.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Mentors
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Zulip has dozens of longtime contributors who sign up to mentoring
 | 
					 | 
				
			||||||
projects. We usually decide who will mentor which projects based in
 | 
					 | 
				
			||||||
part on who is a good fit for the needs of each student as well as
 | 
					 | 
				
			||||||
technical expertise as well as who has available time during the
 | 
					 | 
				
			||||||
summer. You can reach us via
 | 
					 | 
				
			||||||
[#GSoC](https://chat.zulip.org/#narrow/stream/14-GSoC) on [the Zulip
 | 
					 | 
				
			||||||
development community server](https://zulip.com/development-community/),
 | 
					 | 
				
			||||||
(compose a new stream message with your name as the topic).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Zulip operates under group mentorship. That means you should generally
 | 
					 | 
				
			||||||
post in Zulip public streams, not send private messages, for
 | 
					 | 
				
			||||||
assistance. Our preferred approach is to just post in an appropriate
 | 
					 | 
				
			||||||
Zulip public stream .org and someone will help you. We list the Zulip
 | 
					 | 
				
			||||||
contributors who are experts for various projects by name below; they
 | 
					 | 
				
			||||||
will likely be able to provide you with the best feedback on your
 | 
					 | 
				
			||||||
proposal (feel free to @-mention them in your Zulip post). In
 | 
					 | 
				
			||||||
practice, this allows project leadership to be involved in mentoring
 | 
					 | 
				
			||||||
all students.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
However, the first and most important thing to do for building a
 | 
					 | 
				
			||||||
strong application is to show your skills by contributing to a large
 | 
					 | 
				
			||||||
open source project like Zulip, to show that you can work effectively
 | 
					 | 
				
			||||||
in a large codebase (it doesn't matter what part of Zulip, and we're
 | 
					 | 
				
			||||||
happy to consider work in other open source projects). The quality of
 | 
					 | 
				
			||||||
your best work is more important to us than the quantity; so be sure
 | 
					 | 
				
			||||||
to test your work before submitting it for review and follow our
 | 
					 | 
				
			||||||
coding guidelines (and don't worry if you make mistakes in your first
 | 
					 | 
				
			||||||
few contributions! Everyone makes mistakes getting started. Just
 | 
					 | 
				
			||||||
make sure you don't make the same mistakes next time).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Once you have several PRs merged (or at least one significant PR
 | 
					 | 
				
			||||||
merged), you can start discussing with the Zulip development community
 | 
					 | 
				
			||||||
the project you'd like to do, and developing a specific project plan.
 | 
					 | 
				
			||||||
We recommend discussing what you're thinking in Zulip public streams,
 | 
					 | 
				
			||||||
so it's easy to get quick feedback from whoever is online.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Project ideas
 | 
					## Project ideas
 | 
				
			||||||
 | 
					
 | 
				
			||||||
These are the seeds of ideas; you will need to do research on the
 | 
					Once you have several PRs merged (or at least one significant PR merged), you
 | 
				
			||||||
Zulip codebase, read issues on GitHub, and talk with developers to put
 | 
					can start developing a specific project plan. We recommend discussing your ideas
 | 
				
			||||||
together a complete project proposal. It's also fine for you to come
 | 
					in the [#GSoC](https://chat.zulip.org/#narrow/stream/14-GSoC) stream in the Zulip
 | 
				
			||||||
up with your own project ideas. As you'll see below, you can put
 | 
					development community, in order to get quick feedback from whoever is online.
 | 
				
			||||||
together a great project around one of the
 | 
					 | 
				
			||||||
[area labels](https://github.com/zulip/zulip/labels) on GitHub; each
 | 
					 | 
				
			||||||
has a cluster of problems in one part of the Zulip project that we'd
 | 
					 | 
				
			||||||
love to improve.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
We don't believe in labeling projects by difficulty (e.g. a project
 | 
					This section contains the seeds of project ideas; you will need to do research
 | 
				
			||||||
that involves writing a lot of documentation will be hard for some
 | 
					on the Zulip codebase, read issues on GitHub, and talk with developers to put
 | 
				
			||||||
great programmers, and a UI design project might be hard for a great
 | 
					together a complete project proposal. It's also fine to come up with your own
 | 
				
			||||||
backend programmer, while a great writer might have trouble doing
 | 
					project ideas. As you'll see below, you can put together a great project around
 | 
				
			||||||
performance work). To help you find a great project, we list the
 | 
					one of the [area labels](https://github.com/zulip/zulip/labels) on GitHub; each
 | 
				
			||||||
skills needed, and try to emphasize where strong skills with
 | 
					has a cluster of problems in one part of the Zulip project that we'd love to
 | 
				
			||||||
particular tools are likely to be important for a given project.
 | 
					improve.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For all of our projects, an important skill to develop is a good
 | 
					We don't believe in labeling projects by difficulty, because the level of
 | 
				
			||||||
command of Git; read [our Git guide](../git/overview.md) in full to
 | 
					difficulty is highly dependent on your particular skills. To help you find
 | 
				
			||||||
learn how to use it well. Of particular importance is mastering using
 | 
					a great project, we list the skills needed, and try to emphasize where strong
 | 
				
			||||||
Git rebase so that you can construct commits that are clearly correct
 | 
					skills with particular tools are likely to be important for a given project.
 | 
				
			||||||
and explain why they are correct. We highly recommend investing in
 | 
					 | 
				
			||||||
learning a [graphical Git client](../git/setup.md) and learning to
 | 
					 | 
				
			||||||
write good commit structures and messages; this is more important than
 | 
					 | 
				
			||||||
any other single skill for contributing to a large open source
 | 
					 | 
				
			||||||
project like Zulip.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
We will never reject a strong student because their project idea was
 | 
					We will never reject a strong applicant because their project idea was
 | 
				
			||||||
not a top priority, whereas we often reject students proposing
 | 
					not a top priority. On the flip side, we often reject applicants proposing
 | 
				
			||||||
projects important to the project where we haven't seen compelling
 | 
					valuable projects when we haven't seen compelling work from the applicant.
 | 
				
			||||||
work from the student.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
More important to us than specific deliverables in a project proposal
 | 
					More important to us than specific deliverables in a project proposal
 | 
				
			||||||
is a clear body of work to focus on; E.g. if we see a proposal with 8
 | 
					is a clear body of work to focus on. E.g., if we see a proposal with 8
 | 
				
			||||||
Markdown processor issues, we'll interpret this as a student excited
 | 
					Markdown processor issues, we'll interpret this as an applicant excited
 | 
				
			||||||
to work on the Markdown processor for the summer, even if the specific
 | 
					to work on the Markdown processor for the summer, even if the specific
 | 
				
			||||||
set of 8 issues may not be the right ones to invest in.
 | 
					set of 8 issues may not be the right ones to invest in.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Focus areas
 | 
					### Focus areas
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For 2021, we are particularly interested in GSoC students who have
 | 
					For 2022, we are particularly interested in GSoC contributors who have
 | 
				
			||||||
strong skills at visual design, HTML/CSS, mobile development,
 | 
					strong skills at visual design, HTML/CSS, mobile development,
 | 
				
			||||||
performance optimization, or Electron. So if you're a student with
 | 
					performance optimization, or Electron. So if you're an applicant with
 | 
				
			||||||
those skills and are looking for an organization to join, we'd love to
 | 
					those skills and are looking for an organization to join, we'd love to
 | 
				
			||||||
talk to you!
 | 
					talk to you!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The Zulip project has a huge surface area, so even when we're focused
 | 
					The Zulip project has a huge surface area, so even when we're focused
 | 
				
			||||||
on something, a huge amount of essential work goes into other parts of
 | 
					on something, a large amount of essential work goes into other parts of
 | 
				
			||||||
the project. Every area of Zulip could benefit from the work of a
 | 
					the project. Every area of Zulip could benefit from the work of a
 | 
				
			||||||
student with strong programming skills; so don't feel discouraged if
 | 
					contributor with strong programming skills, so don't feel discouraged if
 | 
				
			||||||
the areas mentioned above are not your main strength.
 | 
					the areas mentioned above are not your main strength.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
As a data point, in Summer 2017, we had 4 students working on the
 | 
					As a data point, in Summer 2017, we had 4 students working on the
 | 
				
			||||||
@@ -284,6 +246,9 @@ design, 2 on our development tooling and automated testing
 | 
				
			|||||||
infrastructure, and the remaining 4 on various other parts of the
 | 
					infrastructure, and the remaining 4 on various other parts of the
 | 
				
			||||||
backend and core web app.
 | 
					backend and core web app.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**Please note that the project ideas described below have not yet been updated
 | 
				
			||||||
 | 
					for GSoC 2022.**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Full stack and web frontend focused projects
 | 
					### Full stack and web frontend focused projects
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Code: [github.com/zulip/zulip -- Python, Django, JavaScript, and
 | 
					Code: [github.com/zulip/zulip -- Python, Django, JavaScript, and
 | 
				
			||||||
@@ -598,29 +563,22 @@ Experts: Rein Zustand, Steve Howell
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Circulating proposals (March to April)
 | 
					## Circulating proposals (March to April)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you're applying to GSoC, we'd like for you to publicly post a few
 | 
					If you're applying to GSoC, we'd like you to publicly post a rough draft of
 | 
				
			||||||
sections of your proposal -- the project summary, list of
 | 
					a few sections of your proposal at least one week before the application
 | 
				
			||||||
deliverables, and timeline -- some place public on the Web, a week or
 | 
					deadline. That way, the whole development community has a chance to give you
 | 
				
			||||||
two before the application deadline. That way, the whole developer
 | 
					feedback and help you improve your proposal.
 | 
				
			||||||
community -- not just the mentors and administrators -- have a chance
 | 
					 | 
				
			||||||
to give you feedback and help you improve your proposal.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Where should you publish your draft? We prefer Dropbox Paper or Google
 | 
					- **What to post:** Please include (1) Links to your contributions
 | 
				
			||||||
Docs, since those platforms allow people to look at the text without
 | 
					  to Zulip (or other projects), and (2) a paragraph or two explaining
 | 
				
			||||||
having to log in or download a particular app, and you can update the
 | 
					  what you plan to work on.
 | 
				
			||||||
draft as you improve your idea. In either case, you should post the
 | 
					- **How to post:** We generally prefer Dropbox Paper or Google
 | 
				
			||||||
draft for feedback in
 | 
					  Docs, since those platforms allow people to look at the text without
 | 
				
			||||||
[#GSoC](https://chat.zulip.org/#narrow/stream/14-GSoC).
 | 
					  having to log in or download a particular app, and you can update the
 | 
				
			||||||
 | 
					  draft as you improve your idea.
 | 
				
			||||||
 | 
					- **How to ask for feedback:** Please post a link to your draft in the
 | 
				
			||||||
 | 
					  [#GSoC](https://chat.zulip.org/#narrow/stream/14-GSoC) stream in the [Zulip
 | 
				
			||||||
 | 
					  development community](https://zulip.com/development-community/).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Rough is fine! The ideal first draft to get feedback from the
 | 
					Thanks for being interested in Zulip! We're always happy to help volunteers get
 | 
				
			||||||
community on should include primarily (1) links to your contributions
 | 
					started contributing to our open-source project, whether or not they go through
 | 
				
			||||||
to Zulip (or other projects) and (2) a paragraph or two explaining
 | 
					GSoC. We hope to hear from you soon!
 | 
				
			||||||
what you plan to work on. Your friends are likely better able to help
 | 
					 | 
				
			||||||
you improve the sections of your application explaining who you are,
 | 
					 | 
				
			||||||
and this helps the community focus feedback on the areas you can most
 | 
					 | 
				
			||||||
improve (e.g. either doing more contributions or adjusting the project
 | 
					 | 
				
			||||||
plan).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
We hope to hear from you! And thanks for being interested in
 | 
					 | 
				
			||||||
Zulip. We're always happy to help volunteers get started contributing
 | 
					 | 
				
			||||||
to our open source project, whether or not they go through GSoC.
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user