Contributing to Apache 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 Apache MXNet best practices and processes.
The following actions are recommended steps for you to get started with contributing to Apache MXNet.
|Create a forum account||Asking & answering Apache MXNet usage questions|
|Join the dev comm channels||Discussions about the direction of Apache 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|
- I found a bug. How do I report it?
- I have a minor bug fix or docs update I'd like to submit. What do I do?
- I would like to submit a pull request for a significant update. What is the process?
- I want to propose a new feature. What is the process for this?
- What's coming next with Apache MXNet, and how can I help?
MXNet Dev Communications
If you need help with using Apache 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
Please join either or both of the Apache MXNet mailing lists:
For MXNet Users, join the USER mailing list:
- MXNet Apache USER mailing list (firstname.lastname@example.org): To subscribe, send an email to email@example.com
To join the MXNet slack channel send request to the contributor mailing list. * email
Keep connected with the latest Apache MXNet news and updates.
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.
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 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:
If you have found an issue and would like to contribute a bug fix or documentation update, follow these guidelines:
- If it is trivial, just create a pull request.
- If it is non-trivial, you should follow the formal pull request process described in the next section.
Formal Pull Request Process
Any new features of improvements that are non-trivial should follow the complete flow of:
- Review the contribution standards for your type of submission.
- Create a JIRA issue.
- 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.
Apache 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: