Thank you for your interest in contributing to WWIV. We love pull requests from everyone. Here's how you can help!
- WWIV uses the Github issue tracker as the main venue for bug reports, feature requests, enhancement requests, and pull requests.
- Please do not use the issue tracker for general support, please drop in on IRC and feel free to ask questions. Bear in mind that most of us are idling on IRC using an IRC bouncer, so expect high latency on replies.
The dev team and fellow SysOps hangs out on IRC at:
- Server: irc.wwivbbs.org:6667
- Channel: #WWIV
- Click to Join IRC
- For IRC logs and stats check out Venom's Lair IRC Page
- WWIV uses labels to track platform, feature, enhancement, and type of bug.
- Here are some labels: ...
We love good bug reports! A good bug report is:
- Specific: Ideally somebody can fix the bug without needing to figure our where to look.
- Actionable: Knowing what was expected vs. what actually happened is critical.
- Not a duplicate: Please search the existing issues to see if this has already been reported
- Versioned: Please indicate what version of the software you are using (a build number of jenkins, or sha of the repository if you built it from git.
- Environmental: Please indicate the OS and version you are using. If you have multiple OSes available knowing if this is specific to one operating system or version of operating system is helpful.
Yes, this is a lot to ask for, but the more specific bug reports are, the more quickly someone can grab it and fix it. As much (or as little) information you have helps, but the more the merrier and the more likely it'll get quickly fixed.
We love Pull Requests! Good pull requests for features, enhancements and bug reports are the key to any open source project. Ideally they will also solve or implement one feature, enhancement request or bug report so it is easy to merge, and in the case of problems, revert.
Please talk to us first before you spend a nontrivial amount of time on a new coding project. We're happy to help offer suggestions, help vet design ideas, and also warn about gotchas in the code before you wander down a path that can cause problems that can keep a PR from being merged. Please drop by IRC and ask away.
Here's the best way to work with the WWIV git repository:
-
Fork, then clone your fork, and configure the remotes:
# Create a directory for your fork's clone. mkdir git chdir git # Clone your fork into the current directory (git). # Use your GitHub username instead of <em>YOUR-USERNAME</em> git clone https://github.com/<em>YOUR-USERNAME</em>/wwiv.git # Change directory into the wwiv directory of your clone/ chdir wwiv # Add the remotes for the upstream repository (wwivbbs/wwiv) git remote add upstream https://github.com/wwivbbs/wwiv.git
-
If you have done step 1 a while ago, pull from the upstream repository to update your clone with the latest from wwivbbs/wwiv.
# make sure your branch is back onto the "main" branch git checkout main # pull (this is a fetch + merge) in the changes from the wwivbbs/wwiv repository. git pull --recurse upstream main # push the changes from wwivbbs/wwiv to your fork on github. git push
-
Create a new branch off of main for your feature, enhancement, or bug fix and let GitHub know about your branch.
git checkout -b <MY-BRANCH-NAME> git push origin <MY-BRANCH-NAME>
-
Make your changes by editing the files and committing changes to your local repository. Please use good commit messages that explain the changes and also reference github issues as necessary.
-
Merge any new changes from the wwivbbs/wwiv repository into your development branch
git pull --recurse upstream main
-
Push your changes from your local machine to your fork on github.
git push origin <MY-BRANCH-NAME>
-
Open a Pull Request with a clear and concise title and description of the changes. Please reference any issues on GitHub as needed. [pr]: https://github.com/wwivbbs/wwiv/compare
-
At this point you're waiting on us. We will endeavour to approve requests or comment within a week. Please remember this is a just hobby. :-) We may suggest some changes or improvements or alternatives to your suggestions or approve them outright.
-
Some things that will increase the chance that your pull request is accepted:
- Drop in on IRC and talk about your changes.
- Fix an open issue.
- Write a good commit message.
- Explain how you tested the changes, any known limitations on Windows version or Linux.