megaphone icon We're hiring!
Edit on GitHub

Google Summer of Code

This page outlines everything you need to know about contributing to Mattermost for Google Summer of Code (GSoC).

Contributor Guidance 

  1. Read everything in this doc, we’ve put this together to maximize your chances of drafting a successful GSoC proposal.
  2. Learn about our contribution process. We encourage applicants to participate in one of the many contribution opportunities we have prior to applying.
  3. Review our idea list below for any that might interest you, all of the details are listed in GitHub Issues on our Community repository.
  4. Communicate!
  5. Work with the project mentors on your application: they are there to help you write a good proposal!
  6. Submit your application before the deadline. All applications must go through Google’s official application process.

Make sure to take a look at the full Google Summer of Code timeline for more details!

Mentors 

Here are our mentors for this year, the links lead to their profiles on our community server

Ideas list 

All project ideas are listed as issues on our community GitHub repo. Here are the summaries:

  • Playbooks mobile app - Build a proof of concept Playbooks integration for the Mattermost mobile app.
  • Boards mobile app - Build a proof of concept Boards integration for the Mattermost mobile app.
  • CI pipeline analysis - Publish a plugin to analyze the CI pipelines in Mattermost to alert the team of build and test failures.
  • Speech to Text Integration - Publish a plugin to record an audio message, convert it to text and send it to a channel.
  • Post Edit History - Publish a plugin to view the history of edits in posts and improve message history auditing.
  • Recordings for Calls - Design and implement a recordings service for Calls.
  • Qualify posts importance - Design and implement a system that introduces the concept of importance to Mattermost messages.
  • Post timed reminders - Publish a plugin that manages timed reminders on posts that should be read later.
  • Username aliases - Design and implement a system to manage username aliases.
  • Custom keyboard shortcuts - Design and implement a system to let users customize their keyboard shortcuts.
  • Community moderation plugin - Provide the tools a community needs to moderate activity on their Mattermost instance.
  • Coffee time plugin - Publish a plugin that helps Mattermost users connect for 1:1 casual conversations and improve remote community building.

Submit Your Own Idea 

If none of the ideas in this list speak to you, you can always propose new ones! Maybe you’ve been wanting to build a specific plugin for a while, you have an amazing core feature in mind that would bring the product to a whole new level, or you want to deep dive into the performance of the server to further optimize it.

Ideas proposed by contributors are more than welcome, don’t hesitate to send them our way! As with all the other projects, you need to take into account that the proposals would need to fit in the overall philosophy of the project: Our product managers will take a look before we can approve them, and we can always discuss the details with the whole team if we decide to move forward with it.

If you want to propose your own idea, share your idea as early as possible in our GSoC channel.