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

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.

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.

Fund Development

The current maintainer of Marlin is Scott Lahteine aka @thinkyhead. Scott has been writing software for a few decades, with a focus on shareware and open source. He reviews every contribution before it goes into Marlin, maintains documentation, hosts Facebook and Discord groups, and maintains a small 3D printer test lab in Austin, TX.

Your donation accelerates development, testing, and advancement of the most ambitious open source multi-platform 3D printing firmware in the world. See “Donate to Marlin” for funding options. The best deal for us today is GitHub Sponsors as they now provide one-to-one donation matching!

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 Twitter feed at @MarlinFirmware.

Nag Your Vendor

The dark side of open source is that some companies don’t honor the terms of our license which requires them to give customers the exact source code for the Marlin Firmware that ships on their machines. We understand that Capitalists want to be protective of their trade secrets, but our license terms are clear, and 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.

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.