Protocol for changing a plugin

What is the protocol for modifying an existing plugin? I am using the GPIO Shutdown plugin, and the author hard coded the shutdown command. I want to modify it to have a user field for the shutdown command (like Octoprint has) rather than hard code it. The reason for this is I have a shutdown script that turns off the printer power supply 15 seconds after the pi is shut down, which powers down the Pi. What is the proper protocol for this modification? Is it:

  1. Email the plugin author and ask him (or her) to do it?
  2. Modify the code directly in Github?
  3. Fork off the plugin and make the code changes there?

I know how to make the modification, which would be a learning experience for me.

Thanks for any advice.


  • Create a fork of the plugin on Github
  • Make your changes to a new branch in your fork
  • Create a Pull Request from your branch to the original branch
  • Work with the original author to make any changes requested to your branch