Revision 2 as of 2016-01-05 10:22:20

Clear message

Google Summer of Code 2016 Ideas Page

GNU Mailman is hoping to participate in Google Summer of Code (GSoC) 2016. This page presents of some of the project ideas and guidelines on how to participate.

Getting Started

Here's a few skills that will make it easier for you to get started as a Mailman developer:

  • Python programming. You can be fairly new to Python, but you're going to have to be comfortable reading the Mailman code and asking questions if you aren't sure how it works.

  • Familiarity with any version control. We use git on Gitlab, but any experience will help you here.

  • Ability to setup a development environment for Mailman. You'll need access to a Linux machine or VM, and you can get help setting it up.

  • Ability to communicate with the Mailman developers. You'll be expected to post to the public mailing lists, ask questions, and describe the work you're doing.

Specific projects may have additional desired skills listed along with them.

What is Mailman Suite?

In Mailman 3, we've divided up the code into a number of sub-projects. We refer to the whole package as "Mailman Suite" and there's a few really important pieces you should know:

  • Mailman Core - This is the part that actually sends and receives mail and handles subscriber and list information.

  • Postorious - A web interface for managing Mailman lists (e.g. subscribing, changing preferences)

  • Hyperkitty - A web interface to access GNU Mailman v3 archives.

  • Mailman Bundler - An installer to help people who want to use those 3 big pieces together.

There's also a number of smaller projects that provide the glue to make these pieces work well together, or allow them to be used separately.

All the Mailman source is now on GitLab.

Documentation & Installation

Here are some useful links to get you started with Mailman Development:

Mailman is written in Python. Mailman 3 core is compliant only with python3.4 and the rest of the projects work on python2 (2.7+). You are not required to use a virtual machine for Mailman development, although many people prefer to do so.

Development work on Mailman 2.1 has been frozen for some time, so all new project ideas must be related to Mailman 3.

Contacting us

The most successful GSoC students are the ones who work closely with the Mailman team. As you might expect from a group that makes mailing list software, our preferred method of communication is our mailing list, but we also have an IRC channel. Please do not send private messages or emails unless asked to do so or the subject is personal rather than technical, since we get a lot of similar questions and would rather the questions and answers happen in public so everyone can benefit.

Project Ideas

If you have other idea you'd like to propose , please send it to for discussion! You can also look at the to-do list for Mailman 3.0 here, and see if anything is interesting enough that you would like to work on it through the summer.

GitHub/development tools integration

Per -- a tool that will take a thread from a Mailman mailing list and turn it into a thread on a GitHub issue. Or any kind of GitHub API integration tool (e.g., to automatically mail a Mailman list when a repo gets a new GitHub pull request)

This doesn't necessarily have to be github -- launchpad, gerrit, jira, bitbucket, gitlab, etc. would all be valid targets. But as GitHub is popular and familiar to many developers, it may be a good place to start.

Note that some Mailman developers may be moving some of their own working branches to GitLab (as a GNU Project we prefer to avoid services based on closed/proprietary software for Mailman work, so GitHub is inappropriate). With the acquisition of Gitosis by GitLab, GitLab is the obvious alternative for free software development. For this reason we would like to see GitLab integration ourselves. This doesn't mean you shouldn't work on GitHub or other closed services if that's what you need, just that if you don't have a strong preference, we do prefer GitLab.

Easy/Beginner-friendly (although depending on what you want to do, this could get much harder!)
Any mentor can help with this task. All students interested in this task should discuss it on the mailman-developers mailing list.

Shared bookmarking toolkit

A shared bookmarking tool that listens to a Mailman list, pulls out URLs that people mention, and adds them to an OPML file or Pinboard.

This idea by itself is may not be enough for a Summer of Code project, so interested students should brainstorm about some related tools that might be useful and discuss them with the developers.

Any mentor can help with this task. All students interested in this task should discuss it on the mailman-developers mailing list.

More project ideas coming soon!

While you're waiting, you might want to look at Last year's ideas page to get a sense of the type of projects we're interested in supporting over the summer. Some of last year's ideas weren't ever realized, so they may return for this year!

For Mentors

If you're interested in mentoring, please join and let us know!

Current list of prospective mentors

  • Terri Oda (terri on IRC)