Contributor Summit project month is an experimental new format that builds on hack sessions from past Contributor Summits and refocuses on long-term sustainability. We're hoping that not only do you get a supported chance to play with some of our new technology, but you can build it into something that contributes to the larger DevOps community. We'll kick things off at Puppetize Live and make our first releases at Contributor Summit Online, so this is a month-long collaborative hackathon!
We'll work with you throughout the month to help you maximine the value of your time and reduce the amount of overhead you'll have to handle. See below for some of the ways that Puppet can collaborate with you.
There are no real restrictions on what projects you can choose, only two suggestions:
- You should be able to complete an MVP release in one month.
- The project should contribute something positive to the world of DevOps.
This means that your project could be anything from a Puppet module, to a CI or testing framework, to enhanced documentation for another project, to a process or pattern proposal. The possibilities are endless!
We're glad that you're joining us on this adventure. It will be fun!
It's easy to get going. We'll ask that you follow these steps and work from this repository because it will make it much easier for us to keep track of who's working on what projects and what your status is.
GitHub has a useful tutorial if you need help with any of these steps.
- Start off by creating a free GitHub account, if you don't already have one.
- Fork this repository to your own namespace by clicking the Fork button in
the top right of this page.
- Remember to fork to your own namespace if you're a member of one or more organizations.
- Now
clone
the repository to your own workstation.- Open your terminal window and navigate to the directory where you'd like to keep the local copy of your repository.
- Run the command
git clone https://github.com/<your username>/contributor-summit-project
- Run the setup script to populate issues and milestones.
- Install a Ruby runtime if needed.
- Windows: https://rubyinstaller.org
- Linux: use your distributions package manager to install
ruby
.
- Run the command
./setup.rb
- Install a Ruby runtime if needed.
- Tell us about your project:
- You'll need to create your project charter first
- Submit your project
GitHub includes some optional repository features that you might be interested in. Open the Options page to check them out.
You might choose to keep your project documentation in a Wiki to enable low-friction
collaborative editing. If you're creating a Puppet Module, you should use the
standard README.md
and REFERENCE.md
documentation pattern instead.
Reference the GitHub documentation if you'd like more information.
Project boards help you organize and prioritize your work. They are made up of issues, pull requests, and notes organized as cards in columns. You can drag and drop the cards and columns as needed. Get started by enabling the feature, then creating a new board. Starting from a basic Kanban template will likely be the easiest way to get started.
Reference the GitHub documentation if you'd like more information.
We would like to help ensure your success. We'll be working with you to help keep your projects on track. We'll help you define your project scope and set roadmap goals, then check in with you roughly weekly. (Milestones are scheduled for each Wednesday, but the actual checkin date & time will vary.) In addition, during the project month we'll provide several resources and services that you might not otherwise have access to.
Some of the resources will be provided via webinars or by downloaded materials and some will be provided as short one-on-one chats or video consulations. The Puppet community team will coordinate with each of you to ensure that you receive all the help you need.
See the resources list to see examples of what we could offer.
If you need a little inspiration to come up with a project idea, we've put together a list of some suggestions. Feel free to use what you'd like from here, no credit is needed.
If you'd like to collaborate with others for your project, please put a prominent note in
your project's README.md
and socialize your idea in the #contributor-summit
Slack
channel. And conversely, if you're looking to join a project, browse the forks
and see if any look exciting.
- Can I work on an existing project?
- Sure! It would help us keep track of projects if you forked this repository and
add your charter and a link to the actual project repository as the
README.md
- Sure! It would help us keep track of projects if you forked this repository and
add your charter and a link to the actual project repository as the
- Can I work on something that's not software?
- Absolutely. Use this month to write a DevOps book, if you'd like! As you're defining your roadmap, you'll want to massage the issue queue to be more useful for the kind of project you want to work on.
- How will we communicate during the project month?
- Project coordinators will contact you via email or Slack.
- The Puppet Community Slack has a #contributor-summit channel for conversation.
- Email [email protected] if you need anything.
- Does this work count towards Hacktoberfest?
- Most certainly! As long as the projects you're contributing to are public projects on GitHub, then any pull requests you make in the month of October will count towards the challenge.
- Can I change the name of my repository?
- After the fork & clone are complete, you may change the name of the repository to match your project name better if you'd like.
- Why does the setup script ask for my GitHub credentials?
- The script uses your credentials to configure your fork of the project repository. If you're using two-factor authentication, it will request a 2fa code and use that to create a temporary personal access token that's deleted at the end of the script.
- The script is very short and clear. Please audit it to ensure no funny business.
- If you're still not comfortable with this, then see the next question.
- What if I can't run the setup script?
- The script just turns on the Issues queue and duplicates the milestones and issues from the template repository. You can do that manually if needed.
- What if I have other questions?
- Email [email protected] and we'll do our best to answer it!