This Page with general basics that apply to every project - target audience is particpants
- Open Source Basics:
- GitHub account creation and basics (clone, fork, PR)
- General Open Source collaboration guidelines
- LF CLA & DCO information
- https://tac.aswf.io/process/contributing
- Is that doc clear enough for open source beginners? Anything we need to expand upon?
- How to pick and claim an issue within a project
- “Dev days 2024” label
- Find on clotributor?
- Comment on issue to claim? Assign?
- How to get engaged in the project
- Communication channels
- Meetings
- The project landing page
Examples of what projects should include in their special page:
...
Thank you for your interest in participating in Dev Days, an event hosted by the Academy Software Foundation. This document is a general outline of the expectations for participating in this event.
What is Dev Days?
Dev Days is a two-day virtual hackathon where individuals who have never participated in one of the Academy Software Foundation projects ( or even open source in general ) can pick a task that can be completed in one day. The aim is to help individuals make their first contribution to a project, with a focus on each of the participating projects, to ensure they have maintainers and other contributors available to mentor and support these first-time contributors.
Here's how the co-chair of Dev Days, Larry Gritz, explained it to his company:
"I really can't emphasize enough how much participation in these open source projects can be an enriching professional experience: becoming more knowledgeable about, contributing to, and steering technologies that are critical to us and the industry as a whole while collaborating with, learning from, and having your work seen and acknowledged by your peers at other studios. This event is a low-stakes way to dip your toes into any of these projects for a day.
This is for you to get something out of, but it's also for us as a company. These projects are not just fun, do-gooder tasks. Almost everyone is a critical technology underlying our tools and productions. Sometimes, though, we may have only one person who is knowledgeable about the internals and feels comfortable fixing or enhancing these projects, and that's a risk, given how important they are. So it's helpful for us to have multiple people who feel like they can jump in and make changes needed."
How to participate in Dev Days?
Participation in Dev Days is easy to do. Follow the steps below to get started.
Register as a Dev Days participant.
Register as a Dev Days participant at XXX. Participating is free, and by registering, you will be eligible to get the 'Dev Days Participant' digital badge upon completion.
Note that all the projects hosted at the Academy Software Foundation are hosted on GitHub, a code collaboration and hosting service used by millions of open-source projects globally. If you are new to GitHub or open source, check out the resources below to help you get started.
- Create a GitHub Account
- How to make a Pull Request by example
- First-timers guide to contributing to open source.
Check out and pick a project.
Next, review the list of projects and open issues for Dev Days participants to tackle on CLOTributor. Pay attention to the various tags on each issue to help guide your selections.
- You will likely want to filter on Difficulty to pick something marked Easy, but if you are knowledgeable in the space or an experienced developer, you could try a Medium or Hard project.
- If you aren't a developer, filter on Area and select Docs. Improving documentation is one of the most helpful ( and often vastly needed) contributions one can make to open source!
- If you are a developer, you likely will want to filter on Language if you are stronger in one programming language versus another.
It's a good idea to narrow it down to a few issues of interest and then reach out to the person who opened the issue to ask questions. The easiest way is often to comment on the issue itself, but you can also connect on the project's communication channels ( find the full list here ). Some questions you should ask include.
- What skills or knowledge is needed to complete this issue?
- Are there any "gotchas" that one should be aware of?
- Are there tools or a specific development environment setup needed?
Once you've narrowed it down to an issue you want to tackle, follow the steps below to prepare to work on it.
- Let the project know, and they will assign it to you.
- Most projects require contributors to be covered under a Contributor License Agreement (CLA). Each project should have a CONTRIBUTING page in its code repository or documentation outlining this requirement and other contributions requirements. There are two forms of CLAs.
- Individual (ICLA) is used if you are not affiliated with an organization and only contribute on your behalf.
- Corporate (CCLA) is used if you are an employee of a company, and your contributions would be made on behalf of the company. Even if you are not participating as part of your employer's work, your employment contract often indicates that your employer owns any open-source contributions. You should consult with your employer for more details.
- Set up your development environment. Each project should outline this either in a README file, a BUILD file, or as part of its documentation. If you can't find this information or have questions, contact the project directly.
- Make sure you join the project's communication channels and any meetings before Dev Days that the project may request participants join.
Participating in Dev Days
On the days of Dev Days, be ready to start working! To make the experience productive for you and the project, as well as reduce the amount of frustration you might have, here are a few tips:
- Have your development environment fully set beforehand, along with accounts for any collaboration tools the project uses.
- Be communicative with the projects about the hours you will be working on them. While this is a global event, if the project knows you will be working during certain hours, it can ensure there are maintainers and other contributors available to help if needed.
- Remember that you will be one of many people participating in Dev Days, so expect many discussions and people reaching out to projects to answer questions. Each project will ensure they have maintainers and other contributors available, but be patient in case they are overwhelmed by requests.
Most importantly, have fun! Making your first contribution to a project can seem daunting, but once you do, it is quite rewarding.
Further Questions
If you have any other questions, reach out on the #devdays channel on the Academy Software Foundation Slack. If the question is project-specific, reach out to the specific channel(s) they recommend.
You should also check out each project's Dev Days page for further information they might have on participating in Dev Days with their project.