ossu-computer-science/OPEN_SOURCE_NOTES.md

3.4 KiB
Raw Blame History

Open Source Contribution Ideas & Notes

Welcome to open-source! Contributing to open-source projects is an excellent way to learn, collaborate, and build a strong portfolio. Here are some actionable ideas for how you can start contributing—whether to this OSSU Computer Science curriculum repository or any other project on GitHub.

1. Documentation Improvements (Great for Beginners)

Documentation is the backbone of any good open source project, but it often gets neglected by active developers. You can contribute by:

  • Fixing Typos: Read through README.md or other guidelines and fix any spelling or grammatical errors.
  • Translating: Translate documentation into your native language to help non-English speakers use the tool.
  • Clarifying Text: Rewrite confusing sentences to make project setup or rules easier to understand.
  • Adding Examples: Code examples in the documentation keep getting outdated. Add clear, modern examples.

2. Issues labeled "good first issue"

Most major open source projects curate a list of easy bugs to help beginners onboard.

  • Go to the Issues tab on GitHub.
  • Filter by labels like good first issue, beginner-friendly, or help wanted.
  • Comment on the issue to say youd like to work on it, and mention if you need any initial guidance.

3. Curriculum & Course Content (For OSSU Repo)

Since you are inside the Computer Science curriculum repository, you could contribute by:

  • Replacing Broken Links: Check if any of the course URLs or resources in README.md or course pages are dead. Submit a PR updating the link to a working one.
  • Course Recommendations: If you take a course and find an alternative that is much better, more interactive, and free, propose the change following CONTRIBUTING.md guidelines.
  • Updating Course Data: Course dates, lengths, and availability often change. Review course data and update the spreadsheet or markdown files.

4. Writing Tests

Engineers love code, but sometimes they forget to write tests. Adding test coverage is one of the most highly appreciated forms of contribution.

  • Check if a project uses a testing framework (like PyTest, Jest, or JUnit).
  • Look for functions that don't have tests and write them.
  • Ensure the CI (Continuous Integration) pipeline passes before submitting the PR.

5. Reviewing Pull Requests

You don't just have to write code to contribute. Reviewing other peoples code is heavily valued!

  • Help maintainers by testing other people's PRs locally.
  • Leave constructive comments and let the author know if the code works as expected.

6. Community Support

Open source is built on community. You can contribute just by being active:

  • Answering Questions: Answer questions from other learners in GitHub Discussions, Issues, or Discord servers.
  • Reporting Bugs: If you find something that is broken, open a descriptive Issue. A good bug report with screenshots/logs is a great contribution.

🛠️ Example Workflow for Contributing:

  1. Fork the repository to your own GitHub account.
  2. Clone the fork to your local machine (git clone <url>).
  3. Create a new branch for your feature or fix (git checkout -b fix-typo).
  4. Make your changes and commit them clearly (git commit -m "docs: fixed typo in README").
  5. Push to your fork (git push origin fix-typo).
  6. Go to the original repository and click Compare & pull request!