thinkyhead

Contributing to Marlin


The Layers of Marlin

As a community-supported open source project, Marlin relies entirely on volunteers who donate their time, effort, and insights to move the project forward. All the great stuff in today’s Marlin is due to a bright and engaged group of debaters, experimenters, and makers who screw up their sleep schedules, grind their steppers, and twerk their deltas so the rest of us don’t have to.

A core team of 2 to 5 volunteers deals with low-level code, platform support, responding to issues, etc., while one or two main editors review all new code, take part in discussions with other developers, track known bugs, make sure the final code complies with Coding Standards, periodically publish new releases, and update the website and RepRap Wiki. See the project page for current team contacts.

Marlin needs many types of assistance beyond the code itself.

Ways to contribute

  • Submit some code! If you know C or C++ and can help to patch bugs, fix typos, or just add helpful comments, we welcome your expertise. See “Contributing Code with Pull Requests” to find out how to submit code.
  • Test the cutting-edge! Marlin’s “nightly” build is bugfix-1.1.x. It contains the most up-to-date code at all times. While it includes patches to the most recent release candidate (yay, fewer bugs!) it also contains the freshest and most untested code. Testing is how we discover edge cases, logical errors, typos, and setups that we failed to anticipate.
  • Contribute Documentation, text, images, videos! This website needs imminent and continuous improvement to properly cover Configuration, Installation, and Calibration, and we want to do it in style. We need your photos, diagrams, and YouTube videos to embed on these pages. A well-chosen image or well-produced video can have more impact than many pages of written documentation.
  • Promote Marlin! Marlin needs evangelists, enthusiasts, fans, and everyday users to tell everyone just how awesome Marlin is. Users and vendors may be wary of installing Marlin 1.1 on their trusty old and reliable (esp. Mega2560-based) hardware. Let them know that Marlin continues to evolve! And be sure to engage with Marlin’s Twitter feed at @MarlinFirmware.

Community Guidelines

Marlin is hosted on GitHub, so you’ll need a free GitHub user account to post issues and take part in development. GitHub provides tools to ban fake and SPAM users, but it’s up to each project to maintain general civility by adhering to some basic policies.

  • Read and use the “New Issue” template for best results with bug reports and feature requests.
  • Limit issues to a single topic. You can always spawn new issues if more topics arise.
  • Keep discussions concise and limited to technical issues. Steer back to the main topic if sidetracked.
  • Be respectful to other contributors, especially in disagreements. We want everyone to enjoy the experience.
  • We have Zero Tolerance for personal attacks. Use other channels to discuss those issues. Contributors have been banned for violating this policy!
  • Pay attention to your issues and follow up on them. Stale issues may be closed without notice.
  • If your issue is resolved, please post a message and close it.