freeCodeCamp/docs/FAQ.md

125 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

### I am new to GitHub and Open Source. Where should I start?
Read our ["How to Contribute to Open Source Guide"](https://github.com/freeCodeCamp/how-to-contribute-to-open-source). It's a comprehensive reference for first-timer-friendly projects. And it includes a lot of open source contribution tips.
### What do I need to know to contribute to the codebase?
freeCodeCamp runs on a modern JavaScript stack. If you're interested in contributing to our codebase, you will need some familiarity with JavaScript and some of the technologies we use like Node.js, MongoDB, OAuth 2.0, React, Gatsby, and Webpack.
### Can I translate freeCodeCamp's resources?
Yes - You can contribute to any of the 30+ languages we have enabled on our translation platform.
We have user-contributed translations live in some languages. We intend to localize freeCodeCamp into several major world languages. You can read all about this in our [announcement here](https://www.freecodecamp.org/news/world-language-translation-effort).
If you are interested in contributing to translations please makes sure you [read this guide](how-to-translate-files.md) first.
### Can I contribute articles to freeCodeCamp News or videos to freeCodeCamp's YouTube channel?
Yes - you can contribute to our publication blog and YouTube channel.
If you're interested in writing articles for freeCodeCamp News, please visit this [publication guide](https://www.freecodecamp.org/news/how-to-write-for-freecodecamp/). In addition, please read our [style guide](https://www.freecodecamp.org/news/developer-news-style-guide/) as this will help you write stronger and more effective articles.
To help us make educational videos for our YouTube channel, you can follow the [YouTube channel guide here](https://www.freecodecamp.org/news/how-to-contribute-to-the-freecodecamp-community-youtube-channel-b86bce4c865/).
### How can I report a new bug?
If you think you've found a bug, first read the ["Help I've Found a Bug"](https://forum.freecodecamp.org/t/how-to-report-a-bug/19543) article and follow its instructions.
If you're confident it's a new bug, go ahead and create a new GitHub issue. Be sure to include as much information as possible so that we can reproduce the bug. We have a pre-defined issue template to help you through this.
Please note that these GitHub issues are for codebase-related issues and discussions not for getting help with learning to code. Whenever in doubt, you should [seek assistance on the forum](https://forum.freecodecamp.org) before creating a GitHub issue.
### How can I report a security issue?
Please don't create GitHub issues for security issues. Instead, please send an email to `security@freecodecamp.org` and we'll look into it immediately.
### I am a student. Can I work on a feature for academic credits?
Yes. Please note we are unable to commit to any timelines or paperwork that may be a requirement by your college or university. We receive many pull-requests and code contributions from volunteer developers, and we respect their time and efforts. Out of respect for all of our other contributors, we will not give any PR special priority just because it happens to be school-related.
We request you to plan ahead and work on code contributions with this in mind.
### What do these different labels that are tagged on issues mean?
The code maintainers [triage](https://en.wikipedia.org/wiki/Software_bug#Bug_management) issues and pull requests based on their priority, severity, and other factors. You can [find a complete glossary of their meanings here](https://github.com/freecodecamp/freecodecamp/labels).
### Where do I start if I want to work on an issue?
You should go through [**`help wanted`**](https://github.com/freeCodeCamp/freeCodeCamp/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) or [**`first timers only`**](https://github.com/freeCodeCamp/freeCodeCamp/issues?q=is%3Aopen+is%3Aissue+label%3A%22first+timers+only%22) issues for a quick overview of what is available for you to work on.
> [!TIP] **`help wanted`** issues are up for grabs, and you do not need to seek permission before working on them. However, issues with the **`first timers only`** label are special issues that are designed for people who have not contributed to the freeCodeCamp codebase before.
### I found a typo. Should I report an issue before I can make a pull request?
For typos and other wording changes, you can directly open pull requests without creating an issue first. Please be sure to mention details in the pull request description to help us understand and review your contribution even if it's just a minor change.
Please do create an issue if you want to discuss bigger aspects of the codebase or curriculum.
### How can I get an issue assigned to me?
We typically do not assign issues to anyone other than long-time contributors. Instead, we follow the below policy to be fair to everyone:
1. We are most likely to merge the first pull request that addresses the issue.
2. In the case of multiple contributors opening a pull request for the same issue at around the same time, we will give priority to the pull request that best addresses the issue. Some of the things we consider:
- Did you include tests?
- Did you catch all usecases?
- Did you ensure all tests pass, and confirm everything works locally?
3. Finally, we give priority to pull requests which follow our recommended guidelines.
- Did you follow the pull request checklist?
- Did you give your pull request a meaningful title?
### I am interested in being a moderator at freeCodeCamp. Where should I start?
Our community moderators are our heroes. Their voluntary contributions make
freeCodeCamp a safe and welcoming community.
First and foremost, we would need you to be an active participant in the
community, and live by our [code of conduct](https://www.freecodecamp.org/news/code-of-conduct/)
(not just enforce it).
Here are some recommended paths for some of our platforms:
- To be a **Discord/Chat** moderator, have an active presence in our chat and
have positive engagements with others, while also learning and practicing how
to deal with potential conflicts that may arise.
- To be a **Forum** moderator, similar to a chat moderator, have an active
presence and engage with other forum posters, supporting others in their
learning journey, and even given feedback when asked. Take a look at
[The Subforum Leader Handbook](https://forum.freecodecamp.org/t/the-subforum-leader-handbook/326326)
for more information.
- To be a **GitHub** moderator, help process GitHub issues that are brought up
to see if they are valid and (ideally) try to propose solutions for these
issues to be picked up by others (or yourself).
Altogether, be respectful to others. We are humans all around the world. With
that in mind, please also consider using encouraging or supportive language and
be mindful of cross-cultural communication.
If you practice the above **consistently for a while** and our fellow moderator
members recommend you, a staff member will reach out and onboard you to the
moderators' team. Open source work is voluntary work and our time is limited.
We acknowledge that this is probably true in your case as well. So we emphasize
being **consistent** rather than engaging in the community 24/7.
Take a look at our [Moderator Handbook](moderator-handbook.md)
for a more exhaustive list of other responsibilities and expectations we have
of our moderators.
### I am stuck on something that is not included in this documentation.
**Feel free to ask for help in:**
- The `Contributors` category of [our community forum](https://forum.freecodecamp.org/c/contributors).
- The `#Contributors` channel on [our chat server](https://chat.freecodecamp.org/channel/contributors).
We are excited to help you contribute to any of the topics that you would like to work on. If you ask us questions on the related issue threads, we will be glad to clarify. Be sure to search for your question before posting a new one.
Thanks in advance for being polite and patient. Remember this community is run mainly by volunteers.
### Additional Assistance
If you have queries about the stack, architecture of the codebase, translations, or anything else feel free to reach out to our staff team [on the forum](https://forum.freecodecamp.org/g/team).
**You can email our developer staff at: `dev[at]freecodecamp.org`**