Contributing to OpenPBS
We're so happy that you want to contribute to OpenPBS! All contributions are welcome. The first part is easy: sign up for whichever forums interest you: we have one for users & system administrators, and one for developers. The codebase is open to all contributors. Anyone can create their own fork of the OpenPBS repository. Please be sure that you respect our code of conduct when you are participating in our community. If we've missed something or gotten it wrong, please let us know. You can ask questions on the forums; we have one for users & system administrators, and one for developers. Please remember that everyone is doing their best, and treat others in a gentle and respectful fashion. We want to keep it helpful and fun. You can download the PBS Professional guides; these are written for the commercial product, but they also cover open source OpenPBS. Working on OpenPBS is similar to other open source projects: The PBS issue tracker is at https://github.com/pbspro/pbspro/issues. But it might exist there already... see if you can find it. In a few words, how does it affect the software user? What are the steps to reproduce the problem? If the issue is intermittent and not easily reproducible, what triggers it? It's helpful to add the platform where the bug is observed, for example CentOS 7.2 Make it easy to understand and reproduce the problem that the user sees. You can include short illustrative excerpts from log files or terminal sessions. Do not include large sections of log files or terminal sessions. Output of the $PBS_EXEC/sbin/pbs_snapshot command, or the $PBS_EXEC/unsupported/pbs_diag command Log excerpts, core files, or terminal sessions to help the developers to analyze the bug more easily Describe the new feature. How does it make the world a better place? The new feature may already be in the works. You can look through the project documentation pages to find out. Get involved! We're thrilled when people fix bugs or add features. You'll need to get a GitHub account and learn to use git. Set up your Git environment. First, check whether someone else is already working on it. Look through the outstanding pull requests and the design docs. For simple changes, you can just open a pull request and describe what you're doing in the PR. For more complex changes, you can create a design doc. If you do, please take note of our guidelines for design docs. Before you start coding, post your idea on the developer forum. This way you can avoid duplicating someone else's work, and you can get helpful feedback. Use the developer forum for all of your project discussions. Please follow our coding conventions. For C: For Python: We use a set of Python modules we call PTL to test PBS. Write tests for your code. For your commit message, summarize the issue or change, as it affects an admin or job submitter. Use the title of your commit message as the title of your pull request. In your PR, add links to the forum discussion and the design doc (if it exists). If you have a design doc, get your design approved before you code. Get approval for your code and tests from at least one maintainer and one other contributor. Our maintainers show that they accept it with "LGTM" (Looks Good To Me). The first time you submit a pull request to have your code merged into the OpenPBS golden repository, you'll have to sign the contributors' license agreement. To get your pull request accepted: If you are familiar with Git and PBS or are experienced with contributing to open source: If you are new to Git, OpenPBS, and contributing to open source projects, we can walk you through the exact steps to contribute to OpenPBS in these step-by-step instructions for fixing a bug or developing a feature. We welcome you to the OpenPBS open source community. Please read our code of conduct and our acceptable use policy. We want to maintain a community where everyone can enjoy and benefit from participating, and where our impact is always positive. Be friendly, patient, courteous, and respectful to everyone. Remember that not everyone can express themselves the way they would like; give them the benefit of the doubt. Make every participant feel welcome. And make sure you don't make us unwelcome in any way: nothing rude, illegal, or icky. Thank you for contributing to OpenPBS. Site map with all of our open source OpenPBS pagesWelcome
Contents
Learning About OpenPBS
Reporting OpenPBS Issues
Issues are Tracked in GitHub
Filing a Bug or Feature Request (RFE)
Bug?
Useful Attachments
RFE?
Thanks!
Contributing Code to OpenPBS
Getting Started
Designing and Discussing
Coding
if
, for
, while
, switch
etc. and their opening parenthesis. Examples: if (x) ...
, for (...
Testing
Pull request
Approval
Quick Summary for Contributing
Detailed Instructions for Contributing
Be Part of the OpenPBS Community
Resources