Contributing to MXNet

Apache MXNet (incubating) is a community led, open source deep learning project. We welcome new members and look forward to your contributions. Here you will find how to get started and links to detailed information on MXNet best practices and processes.

Getting Started

The following actions are recommended steps for you to get started with contributing to MXNet.

Action Purpose
Create a forum account Asking & answering MXNet usage questions
Join the dev comm channels Discussions about the direction of MXNet
Follow MXNet on Social Media Get updates about new features and events
Create a JIRA account Tracking tasks & prioritizing issues
Check out the MXNet wiki The wiki has detailed contributor information
Setup MXNet for development Your very own fork for creating pull requests
Your first contribution Complete a first contribution task

FAQ

MXNet Dev Communications

Forum

If you need help with using MXNet, have questions about applying it to a particular kind of problem, or have a discussion topic, please use the discussion forum: * discuss.mxnet.io

Mailing Lists

Please join either or both of the MXNet mailing lists:

For MXNet Users, join the USER mailing list:

For Contributors to MXNet, join the DEV mailing list: - MXNet Apache DEV mailing list (dev@mxnet.apache.org): To subscribe, send an email to dev-subscribe@mxnet.apache.org

Slack

To join the MXNet slack channel send request to the contributor mailing list. * email

Social Media

Keep connected with the latest MXNet news and updates.

Contributor and guest blogs about MXNet

reddit Discuss MXNet on r/mxnet

Apache MXNet on Twitter

MXNet YouTube channel

JIRA

MXNet uses Apache's JIRA to track issues and larger projects. Anyone can review open issues, but in order create issues or view JIRA boards, you must create an account.

Confluence Wiki

The MXNet Confluence Wiki has detailed development environment setup info, design proposals, release process info, and more. This is generally where contributor information is maintained.

Setup MXNet for Development

The process for setting up MXNet for development depends on several factors, and is constantly being improved and expanded for more development languages. Setup information is on the MXNet Confluence Wiki.

Your First Contribution

Step 1: Visit the project on GitHub and review the calls for contribution. Click the GitHub button: Call for Contribution

Step 2: Tackle a smaller issue or improve documentation to get familiar with the process. As part of your pull request, add your name to CONTRIBUTORS.md.

Step 3: Follow the formal pull request (PR) process to submit your PR for review.

Important: keep an eye on your pull request, respond to comments and change requests, and rebase or resubmit your PR if fails the Jenkins continuous integration tests. Ask for help in the forum or slack channel if you get stuck.

File a bug report

Please let us know if you experienced a problem with MXNet. Please provide detailed information about the problem you encountered and, if possible, add a description that helps to reproduce the problem. You have two alternatives for filing a bug report:

JIRA

GitHub

Minor Fixes

If you have found an issue and would like to contribute a bug fix or documentation update, follow these guidelines:

Formal Pull Request Process

Any new features of improvements that are non-trivial should follow the complete flow of:

  1. Review the contribution standards for your type of submission.
  2. Create a JIRA issue.
  3. Create the PR on GitHub and add the JIRA issue ID to the PR's title.

Further details on this process can be found on the Wiki.

New Feature Process

Our community is constantly looking for feedback to improve Apache MXNet. If you have an idea how to improve MXNet or have a new feature in mind that would be beneficial for MXNet users, please open an issue in MXNet’s JIRA. The improvement or new feature should be described in appropriate detail and include the scope and its requirements if possible. Detailed information is important for a few reasons:
- It ensures your requirements are met when the improvement or feature is implemented.
- It helps to estimate the effort and to design a solution that addresses your needs.
- It allows for constructive discussions that might arise around this issue.

Detailed information is also required, if you plan to contribute the improvement or feature you proposed yourself. Please read the contributions guide in this case as well.

Roadmap

MXNet is evolving fast. To see what's next and what the community is currently working on, check out the Roadmap issues on GitHub and the JIRA Boards:

Roadmap
JIRA boards

Contributors

MXNet has been developed by and is used by a group of active community members. Contribute to improving it!

Contributors and Committers