thinkyhead

Contributing to Marlin

As a community-supported open source project, Marlin relies on the time and talent of many volunteers. All the great stuff you see in Marlin today comes from a bright and engaged group of debaters, experimenters, and makers who screw up their sleep schedules, grind their steppers, and twerk their axes so the rest of us don’t have to.

The core Marlin team consists of a few maintainers who review contributions, discuss ideas, track bugs, apply Coding Standards, publish releases, and update this website. See the project page for current team contacts.

Ways to contribute

The current maintainer of Marlin is Scott Lahteine aka @thinkyhead. Scott has been writing software since 1977 mostly focusing on shareware and open source. He reviews every contribution before it goes into Marlin, maintains documentation, hosts the Facebook and Marlin Discord, and maintains a test lab in Austin, TX.

Your sponsorship accelerates development, testing, and advancement of the most ambitious open source multi-platform 3D printing firmware in the world. Several support options are available:

Report bugs

  • Use the community links below for help with configuration and troubleshooting.
  • Submit your Confirmed Bugs to the Issue Queue. Search the Issue Queue first!

Request features

  • Submit your Feature Requests to the Issue Queue. Search the Issue Queue first!

Submit 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.

  • Submit Bug Fixes and New Features as Pull Requests to the (bugfix-2.1.x) branch.
  • Follow the Coding Standards to gain points with the maintainers.

Do Some Testing

Marlin posts “nightly” builds that contain the most up-to-date code. While they include patches to the most recent release (yay, fewer bugs!) they can also contain untested code, so your feedback is essential.

Contribute Documentation

Are you skilled in information design? This website is far from complete, and it’s a bit text-heavy. We need more 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. Visit the MarlinDocumentation Project for more information.

Join the Community

There are now many community resources for users of Marlin. If you’re looking for help installing or troubleshooting these are the best places to go.

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 2.0 on their trusty old and reliable hardware. Let them know that Marlin continues to evolve! And be sure to engage with Marlin’s Mastodon feed at @MarlinFirmware@fosstodon.org.

Nag Your Vendor

Some companies do a very poor job of deploying Marlin on their hardware. And a dark side of open source is that some vendors fail to honor the terms of our license which requires them to give you the exact Marlin source code for the firmware on your machine. We understand that companies want to be protective of their trade secrets, but our license terms are clear, and the years of work we have put into Marlin is a major foundation of these businesses. If your vendor is misbehaving, send them a polite message to remind them of your rights under the GPL and their obligation as beneficiaries of Open Source software.

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.