Find the source
The source code is hosted on GitHub
About the branches
There are two main branches: master and releases. Master is where the action is, but the rides on that playground require Dist::Zilla. Seriously, you can't even run 'make test' in the master branch without the D.Z. If you fear/loathe/hate the D.Z, stick with the release branch.
The releases branch is automatically updated when new releases are made. It contains all the automatically generated files that the master branch doesn't, such as README, Makefile.PL, and Build.PL. It is identical to the distribution as you'd find it on CPAN, making it far easier for causual programmers to patch.
Download the source
To make changes or submit patches, visit the GitHub URL and click the Fork button. Then clone your fork to your local disk:
git clone git@github.com:YOUR-USER-NAME/mail-dmarc.git
Use the source
Use git in the normal way:
cd mail-dmarc
.... make a change or two ...
git status ( see changes )
git diff ( show diffs )
git add ... ( stage changes )
git commit
If your changes are significant and might possibly involve more than one commit, create a branch first:
git checkout -b fix-knob-handle
... make changes ...
git commit
... make more related changes ...
git commit
When you are done making changes, push them to GitHub:
git push origin (push to your GitHub account)
When the new feature branch is no longer useful, delete it:
git branch -d fix-knob-handle
Submit your changes
git push origin master (push to your GitHub account)
Visit your fork on the GitHub web site. On the main page of your fork is a Pull Request button. That is how you submit your changes to the main repo. A collaborator will review your PR and either comment or merge it.
Check build status:
Travis automatically runs build tests when commits are pushed to GitHub, and sends notifications to the author(s) in case of failure. For everyone else, checking the build status after a push request is merged is a good idea.
Releases
Before a release, update the PSL:
sh
curl -o share/public_suffix_list https://publicsuffix.org/list/effective_tld_names.dat