How to Contribute

This page is all about how you can contribute to ØMQ. If you are only looking for information on how to download and run ØMQ, see the download page instead.

There are many ways how you can contribute to ØMQ. Even if you're not a programmer, you can help us with the documentation, or work on the design. For a start, we suggest you join the mailing list.

On the other hand, if you know how to program C++, you are certainly welcome to contribute code of all sorts.

Allowing us to incorporate your contributions

Even though ØMQ' source code is licensed to you under the GPL, it's not enough to submit your patches under the GPL. The Licensing FAQ will tell you more about how FastMQ Inc. handles ØMQ licensing.

In any event, if you like to contribute anything that is subject to copyright (text, media, or code), FastMQ Inc. must be legally certain they can redistribute the code you have contributed to their own customers who have purchased closed-source editions of ØMQ. In order to be able to accept your contribution, we must therefore ask you to do one of two things:

1. Fill out the FastMQ Inc. Copyright Assignment and License (CAL) and send it to FastMQ Inc. With the CAL, you give FastMQ Inc. permission to use your contribution under licenses other than the main ØMQ license. This is a once-in-a-lifetime event: once we have your CAL, we will never again ask you to undergo any bureaucratic procedures, and all future contributions are covered.

2. If you don't want to sign such an agreement, you can alternatively submit your contribution under the MIT license. This is a liberal, wide-spread Open Source license that allows FastMQ Inc. (and anyone else) to use your contribution in both open-source and closed-source projects.

The main difference between the two options is this: with the CAL, a written statement is necessary, but then only FastMQ Inc. is allowed to relicense your code (unless you give other people the same permission). With the MIT license, you save the paperwork, but everyone else can use your code as well. It's your choice.

If you are an employee, then you must get approval from your employer to submit code to ØMQ. The simplest way is to get your employer to sign the CAL.

The ØMQ development model

The source code of ØMQ resides in a public Subversion repository which is hosted on this site. Currently, only FastMQ Inc. employees have write access to ensure that only reviewed and tested patches find their way to the repository. However, over time, we would like to extend the group of people with write access.

In addition to development builds, we also perform regular product releases based on a milestone plan. As we work hard to produce high quality software releases, it is important for all ØMQ contributors to respect these milestones.

How to submit your contributions

If you have developed a patch for ØMQ which you think could be useful for others and fits within the product's architecture, then you should submit it for inclusion. As a first step, you should execute the FastMQ Inc. Copyright Assignment and License as described above, which is a very straightforward and risk-free process. Then you should submit your patch to the ØMQ developers mailing list along with a description of what it does. In case you have not signed the CAL, please explicitly state that you are licensing the patch under the MIT license.

Please keep in mind that it might take some time to review your patch and integrate it. Also, please expect feedback from other developers on how to improve your patch and address potential issues. We can only incorporate your patch if it does not harm the product stability.

List of Partners

Check out the list of partners to see the people that are helping to make ØMQ the fastest messaging product on the market. Everyone who contributes to ØMQ under the provisions of the FastMQ Inc. Copyright Assignment and License will be featured on this list.