diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000000000000000000000000000000000000..6eff1e82fc827abea76874cb8cc6ea3e7da2fb8f
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,84 @@
+
+Licenses
+========
+
+ParadisEO modules are using free software licenses,
+any contribution should be licensed under the same license.
+
+| Module | License | Version | Copyleft | Patent-left |
+|--------|---------|---------|----------|-------------|
+| EO     | LGPL    |  2      | Lib only | No          |
+| EDO    | LGPL    |  2      | Lib only | No          |
+| MO     | CeCILL  |  2.1    | Yes      | No          |
+| MOEO   | CeCILL  |  2.1    | Yes      | No          |
+| SMP    | CeCILL  |  2.1    | Yes      | No          |
+
+
+Contribution Workflow
+=====================
+
+The maintainer(s) will try to answer under a couple of weeks, if not, do not hesitate to send an e-mail.
+
+If you're not familiar with Git and merge requests, start by cloning one of the main repository:
+- `git clone https://github.com/nojhan/paradiseo.git`
+- `git clone https://scm.gforge.inria.fr/anonscm/git/paradiseo/paradiseo.git`
+
+
+Git workflow
+------------
+
+ParadisEO follows a classical Git workflow using merge requests.
+In order to fix a bug or add a feature yourself, you would follow this process.
+
+```bash
+cd paradiseo
+git pull origin master # Always start with an up-to-date version.
+git checkout -b <my_feature> # Always work on a dedicated branch.
+# [ make some modifications… ]
+git commit <whatever>
+mkdir build
+cd build
+cmake -DCMAKE_BUILD_TYPE=Debug -BUILD_TESTING=ON -DENABLE_CMAKE_TESTING=ON .. && make && ctest # Always test.
+cd ..
+git pull origin master # Always check that your modification still merges.
+```
+
+If everything went without error, you can either send the patch or submit a merge request.
+To do so, you can either:
+- submit a "pull request" on Github: [nojhan/paradiseo](https://github.com/nojhan/paradiseo),
+- or send a patch on the [ParadisEO mailing list](https://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/paradiseo-users).
+
+See below for the details.
+
+
+Github pull request
+-------------------
+
+Once logged in Github, go to the [maintainer repository](https://github.com/nojhan/paradiseo) and click the "fork" button.
+You should have your own copy of the ParadisEO project under your own name.
+Then add it as an additional "remote" to your ParadisEO Git tree: `git remote add me <your own URL>`.
+Then, checkout the branch holding the modifications you want to propose, check that it merges with the main repository
+and push it on your own repository:
+```bash
+git checkout <my_feature>
+git pull origin master
+git push me <my_feature>
+```
+
+Then go to the maintainer's repository page, click on the "Pull request" tab, and on the "New pull request" button.
+You should then select the maintainer's master branch on the left dropdown list, and your own `my_feature` on the right one.
+Explain why the maintainer should merge your modifications and click the "Submit" button.
+
+
+E-mail your patch
+-----------------
+
+Generate a patch file from the difference between your branch and a fresh master:
+```bash
+git pull origin master
+git diff master <my_feature> > my_feature.patch
+```
+
+Then send the `my_feature.patch` (along with your explanations about why the maintainer should merge your modifications)
+to the [mailing list](https://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/paradiseo-users).
+