Skip to content

matrix-org/gsoc

Repository files navigation

Matrix - Google Summer of Code

Getting in touch

You can contact the Matrix team via our Matrix GSoC room or alternatively our Matrix HQ room - or on IRC in #matrix on freenode

How do I pick a project?

The first thing to do, is to have a play with Matrix. Register an account on the matrix.org homeserver via a client like Element (or any of the clients listed on the "try matrix now" page). Join some rooms, for example #matrix:matrix.org, and say hello - in fact you can now even join as an anonymous user via that link.

This guide has a lot of information about getting involved. Perhaps you might want to run your own client, or even set up your own homeserver? Check out the code and have a look at the client-server API.

In order to find a project you would like to work on, we suggest reading our latest status update and looking at the ideas list - and then thinking about what you would like to add to the Matrix ecosystem. Of course, please also come talk and discuss your idea with us (in #gsoc:matrix.org or #matrix:matrix.org for example), but it's important that you find a project that you find interesting yourself!

How do I write my GSoC application?

GSoC's intentions is for you, as a student, to find an open source project you like and suggest a project that would be interesting for you to spend your summer on - and also beneficial to the open source project overall. We have written a list of project ideas for Matrix (higher priority first) - but these are just some examples, and we hope you will have a play with Matrix and also potentially suggest your own idea - ideally something that you think would add value to Matrix, and that would be interesting for yourself to spend 3 months working on.

It's your project, so you should prepare for it in the best way possible. Your mentor will of course help by answering questions and pointing you in the right direction, but ultimately you are the one implementing it. Therefore you should make sure you have a good understanding of Matrix - both the standard itself, and also any relevant implementations. For example, if you want to add a bridge to some service, you should make yourself familiar with application services and the application service framework.

Of course, you can chat to Matrix devs (in #gsoc:matrix.org via any Matrix client) to see if your idea is something we would like to see added to the Matrix ecosystem, and also to get pointers to existing code that might be useful for your project.

In terms of the proposal itself, we suggest including the following:

  • a brief description of what you want to achieve with your project.
  • a paragraph on why this project is needed, e.g. which problem you are solving.
  • more details on how the project will be designed and implemented.
  • a timeline on what will be done at what time. More detail is better, and this should be a good help for yourself to try and scope your project to fit in the 3 month space. Make sure you have a bit of buffer for unforeseen problems!
  • also describe features that will not be added as part of the project - but that can be added at a later stage.
  • finally, make a case for why you are the best person to tackle this project. Good things to mention are past projects (with links to code if possible), an explanation of why this particular area interests you, and your prior experience.

Once you have a draft of your application, feel free to ask if we can have a look at it in #gsoc:matrix.org - we are happy to read drafts and project ideas before you go ahead and submit them to GSoC!

Good luck!