release 0.4 - humphd/topics-in-open-source-2024 GitHub Wiki
Release 0.4
Due Date
Dec 11, 2024 by midnight
Overview
In Release 0.1 and the initial Labs, you were asked to become familiar working on an open source project on GitHub. This included working with git, filing issues, creating pull requests, receiving and conducting code reviews, etc.
In Release 0.2, you were asked to take what you'd learned in 0.1, and start to expand your abilities, working on 4 pull requests in various open source projects. These pull requests were due weekly, which didn't give much time to work on larger tasks.
In Release 0.3 you were asked to work on larger issues in an existing open source project, further developing your skills as a developer.
Requirements
For 0.4 you are asked to take your experience and skills in open source development and work on something meaningful to you. I want everyone to have a chance to do a piece of work that they'd be proud of before the term is done. This work can take a number of forms (choose what works best for you and your goals):
- Add a feature to an open source project, where a "feature" is defined as writing new code vs. fixing existing code. For example, you could work on a new feature in a repo that you've been contributing to in the previous releases. A "feature" adds functionality to a project, and isn't a CSS bug fix, or an update to the docs, although those things might be part of it. Features often require writing tests, docs, config, CI/CD updates, etc.
- Fix a more difficult bug and write or update tests, where a "difficult" bug is defined as a problem that can't be solved in one sitting. If you are able to solve a bug in a few hours, it's probably not what I'm describing (see the next option). A difficult bug takes time (days or perhaps weeks) to untangle and fix. The number of lines of code in the fix can be small, but it will also result in new test cases being added.
- Work on a family of related, smaller bugs/fixes, where a "family" is defined as 2, 3, etc smaller bugs that are connected in some way. Perhaps this means writing tests in one PR, adding an implementation in a second PR, and updating docs in a third; or perhaps you work on a few bugs in a particular file or area of the code. In both cases, this type of work is often characterized by becoming quite knowledgeable about a particular area of a project.
- Work on a bug in a large open source community/project, where "large" is defined by a project with hundreds of developers working on a significant sized code base spread across one or more repos. This type of work is often characterized by longer review cycles, stricter guidelines on what your contribution must be, and fixes that take a long time to make due to the need to read and understand big code. For example, you could fix something in node.js.
- Contribute to a project or community that has some special meaning to you. Maybe you are drawn to a project because of the goals, who is involved, the mission, etc. Use your skills to help others.
- Work on something that would help further your career prospects. Pick a company or technology that would be a valuable addition to your resume.
The scope of your work should fill the remaining weeks of the course (i.e., you can't do what I'm asking a few days before the deadline). I will not accept minor PRs at the 0.2 or 0.3 level that are done quickly in the final week. You need to show continued progress and follow-through, and push yourself to do a bit more than you've done in the past.
In summary:
- don't pick something so far outside your comfort zone that you set yourself up for failure. Make sure you are capable of accomplishing this with enough time
- don't aim so low that you aren't able to progress in your skills and confidence. Remember, you have many weeks to do this.
- don't leave this until the last minute. Work consistently, a bit at a time, over the coming weeks. I want to see slow progress every week.
Working Open
An additional challenge for 0.4 will be the requirement that you do the work in the open. This means writing blog posts, being active in the project's community channels, taking part in discussions on GitHub, etc.
As you work over the coming weeks I will expect you to write 3 blog posts (roughly 1 per week):
- A post in week 1 describing what you will do in 0.4, why you are choosing this work and project, and how you will approach it. This is a chance to plan your 0.4 and set goals. Part of your assessment will be how well you are able to achieve these personal goals. You are in charge, so set yourself up for success.
- A post in week 2 giving an update on your progress to date. What have you done so far? What are you stuck on? What have you managed to figure out? How will you adjust to meet your goals by the end? Talk about your research and initial learning.
- A final post discussing your results. How well did you do achieving your goals? How did you build? Discuss the technical features of the work, and the methods by which you accomplished it. What did you learn from this process? How were you able to leverage and interact with the community to get your problems solved?
These posts should tell a technical story over the course of three episodes. Try to add knowledge to the web and be technical in what you write. If other people did a Google search looking for info about what you did, would your posts help them?
Further Requirements
Make sure you follow-through on any review comments. The goal of 0.4 is not simply to make a Pull Request, which you already know how to do. Rather, it is to contribute something useful and meaningful to a project, and to do it at a high level of quality. Your Pull Request(s) should be merged by the end, if at all possible. If they are not, you need to explain why, and if the reason is that you didn't do the work on time, you will face deductions. You must also use git and GitHub properly and professionally (e.g., branches should be clean, rebases done correctly, etc).
Submission
Add your information and links below:
GitHubUserName - Student Name
Issues
- https://github.com/example/issues/1
- https://github.com/example2/issues/2
- https://github.com/example2/issues/2
Pull Requests
- https://github.com/example/pull/1
- https://github.com/example2/pull/2
- https://github.com/example2/pull/3
Blog Posts
- Planning: https://student.blog.com/0.4-planning
- Progress: https://student.blog.com/0.4-progress
- Release: https://student.blog.com/0.4-release
hpatel292-seneca - Harshil
Issues
- https://github.com/nodejs/node/issues/55922
- https://github.com/tarasglek/chatcraft.org/issues/747
- https://github.com/tarasglek/chatcraft.org/issues/746
Pull Requests
- https://github.com/nodejs/node/pull/55964
- https://github.com/tarasglek/chatcraft.org/pull/751
- https://github.com/tarasglek/chatcraft.org/pull/750
Blog Posts
- Planning: https://dev.to/harshil_patel/contributing-to-nodejs-improving-test-runner-coverage-reporting-kmg
- Progress: https://dev.to/harshil_patel/contributing-to-nodejs-implementing-dynamic-colors-for-test-runner-diagnostics-23-4len
- Release: https://dev.to/harshil_patel/my-journey-contributing-to-nodejs-core-the-final-chapter-33-14
fadingNA - Nonthachai Plodthong
Issues
- https://github.com/tarasglek/chatcraft.org/issues/701
- https://github.com/arc53/DocsGPT/issues/1451
- https://github.com/arc53/DocsGPT/issues/1440
Pull Requests
- https://github.com/tarasglek/chatcraft.org/pull/752
- https://github.com/arc53/DocsGPT/pull/1462
- https://github.com/arc53/DocsGPT/pull/1442
Blog Posts
- Planning: Plans before code
- Progress: Progress of Pull Requests
- Release: Reflection of Final
Mounayer - Majd Al Mnayer
Issues
Pull Requests
Blog Posts
- Planning: https://dev.to/majd_almnayer_2101/the-final-stretch-of-my-open-source-journey-part-1-4039
- Progress: https://dev.to/majd_almnayer_2101/the-final-stretch-of-my-open-source-journey-part-2-d0d
- Release: https://dev.to/majd_almnayer_2101/the-final-stretch-of-my-open-source-journey-part-3-1a2j
Kannav02 - Kannav Sethi
Issues
- https://github.com/The-OpenROAD-Project/ORAssistant/issues/75
- https://github.com/The-OpenROAD-Project/ORAssistant/issues/108
Pull Requests
Blog Posts
- Planning: https://dev.to/kannav02/planning-to-resolve-automatic-feedback-loop-4fgd
- Progress: https://dev.to/kannav02/progress-on-automatic-feedback-loop-1e43
- Release: https://dev.to/kannav02/reflecting-on-the-orassistant-project-a-journey-of-collaboration-and-technical-growth-56i0
HTSagara - Henrique Sagara
Issues
- https://github.com/slackapi/python-slack-sdk/issues/1541
- https://github.com/slackapi/bolt-python/issues/1204
Pull Requests
- https://github.com/slackapi/python-slack-sdk/pull/1598
- https://github.com/slackapi/bolt-python/pull/1220
Blog Posts
- Planning: https://dev.to/htsagara/continue-contributing-to-open-source-projects-3460
- Progress: https://dev.to/htsagara/open-source-collaboration-progress-10hj
AnhChienVu - Anh Chien Vu
Issues
Pull Requests
Blog Posts
- Planning: https://dev.to/anhchienvu/exploring-improvedtube-a-beginners-journey-into-open-source-chrome-extensions-1ido
- Progress: https://dev.to/anhchienvu/continuous-progress-in-adding-new-feature-for-improvedtub-3nh9
- Release: https://dev.to/anhchienvu/create-a-pull-request-for-a-new-feature-of-improvedtub-4fje
TheoForger - Theo
Issues
- https://github.com/Orange-OpenSource/hurl/issues/2144
- https://github.com/Orange-OpenSource/hurl/issues/3504
Pull Requests
- https://github.com/Orange-OpenSource/hurl/pull/3481
- https://github.com/Orange-OpenSource/hurl/pull/3419 (Continue on the same PR from Release 0.3)
- https://github.com/Orange-OpenSource/hurl/pull/3498
Blog Posts
- Planning: https://dev.to/theoforger/december-surely-looks-busy-139f
- Progress: https://dev.to/theoforger/december-is-going-well-54an
- Release: https://dev.to/theoforger/december-so-far-recap-4kce
mulla028 - Amir Mullagaliev
Issues
- https://github.com/JabRef/jabref/issues/11997 ( Had to close this issue before taking action on the second one )
- https://github.com/JabRef/jabref/issues/12233
Pull Requests
- https://github.com/JabRef/jabref/pull/12022 ( Had to finish this from Release 0.2 before taking action on the second one)
- https://github.com/JabRef/jabref/pull/12266
Blog Posts
- Planning: Final Chapter: Part 1
- Progress: Final Chapter: Part 2
- Release: Final Chapter: Part 3
aamfahim - Abdullah Al Mamun Fahim
Issues
- https://github.com/adrienpoly/rubyvideo/issues/450
- https://github.com/adrienpoly/rubyvideo/issues/410
- https://github.com/adrienpoly/rubyvideo/issues/219
Pull Requests
- https://github.com/adrienpoly/rubyvideo/pull/465
- https://github.com/adrienpoly/rubyvideo/pull/467
- https://github.com/adrienpoly/rubyvideo/pull/486
Blog Posts
- Planning: https://dev.to/aamfahim/release-04-planning-15nh
- Progress: https://dev.to/aamfahim/release-04-progress-5b2k
- Release: https://dev.to/aamfahim/release-04-release-13cn
Brokoli777 - Bregwin Jogi
Issues
- https://github.com/brave/brave-browser/issues/24120
- https://github.com/github/issue-metrics/issues/417
- https://github.com/apple/ml-mdm/issues/46
Pull Requests
- https://github.com/brave/brave-core/pull/26682
- https://github.com/github/issue-metrics/pull/431
- https://github.com/apple/ml-mdm/pull/50
Blog Posts
- https://dev.to/bregwin/working-on-new-open-source-projects-release-04-part-1-28i0
- https://dev.to/bregwin/working-on-new-open-source-projects-release-04-part-2-195p
- https://dev.to/bregwin/the-end-of-the-beginning-my-open-source-journey-so-far-3oid
cleobnvntra - Cleo Buenaventura
Issues
Pull Requests
Blog Posts
- Planning: A Final Challenge: The Planning Phase
- Progress: A Final Challenge: The Progress
- Release: A Final Challenge: Release
aldrin312
Issues
Pull Requests
Blog Posts
- Planning: Planning Phase
- Progress: The Progress
- Release: The Release
Tasbi03 -Tasbi Tasbi
Issues
Pull Requests
Blog Posts
peterdanwan - Peter Wan
Issues
- https://github.com/code-charity/youtube/issues/2634
- https://github.com/code-charity/youtube/issues/2700
- https://github.com/code-charity/youtube/issues/2693
- https://github.com/NirmalScaria/le-git-graph/issues/23
Pull Requests
- https://github.com/code-charity/youtube/pull/2684
- https://github.com/code-charity/youtube/pull/2701
- https://github.com/code-charity/youtube/pull/2694
- https://github.com/NirmalScaria/le-git-graph/pull/87
Blog Posts
- Planning: https://dev.to/peterdanwan/learning-by-doing-working-on-improvedtube-4pbe
- Progress: https://dev.to/peterdanwan/continuous-contributions-10p
- Release: https://dev.to/peterdanwan/coming-full-circle-it-starts-and-ends-with-git-and-github-n9o
krinskumar - Krinskumar - Check out how the issue and the PR are in different repos!!
Issues
Pull Requests
Blog Posts
- Planning: https://dev.to/krinskumar/04-week-1-objectives-3a00
- Progress: https://dev.to/krinskumar/04-week-2-progress-1i3d
- Release: https://dev.to/krinskumar/04-week-3-results-4f9a
arilloid - Arina Koldodeznikova
Issues
- https://github.com/move-fast-and-break-things/aibyss/issues/42
- https://github.com/move-fast-and-break-things/aibyss/issues/43
Pull Requests
- https://github.com/move-fast-and-break-things/aibyss/pull/90
- https://github.com/move-fast-and-break-things/aibyss/pull/92
Blog Posts
- Planning: https://dev.to/arilloid/the-open-source-finale-pt1-4kkf
- Progress: https://dev.to/arilloid/the-open-source-finale-pt-2-39m3
- Release: https://dev.to/arilloid/the-open-source-finale-pt-3-5b1l
Liam - Liam
Issues
- https://github.com/bodonovan/wordle_cheat/issues/2
- https://github.com/bodonovan/wordle_cheat/issues/6
Pull Requests
Blog Posts
- Planning: https://dev.to/mpalhutchinson/week-13-release-04-planning-3fmj
- Progress: https://dev.to/mpalhutchinson/week-14-release-04-progress-1217
- Release: https://dev.to/mpalhutchinson/week-15-release-04-release-5h65
lilyhuang-github - Lily Huang
Issues
- https://github.com/example/issues/1
- https://github.com/example2/issues/2
- https://github.com/example2/issues/2
Pull Requests
- https://github.com/example/pull/1
- https://github.com/example2/pull/2
- https://github.com/example2/pull/3
Blog Posts
- Planning: https://vriskaserket2.wordpress.com/2024/11/29/planning/
- Progress: https://student.blog.com/0.4-progress
- Release: https://student.blog.com/0.4-release
ajogseneca - Ajo George
Issues
Pull Requests
Blog Posts
gitdevjin - Hyunjin Shin
Issues
Pull Requests
Blog Posts
AryanK1511 - Aryan Khurana
Issues
Pull Requests
Blog Posts
- Planning: https://aryank1511.hashnode.dev/osd600-21
- Progress: https://aryank1511.hashnode.dev/osd600-20
- Release: https://aryank1511.hashnode.dev/osd600-19
vinhyan - Vinh Nhan
Issues
- https://github.com/CodeForPhilly/clean-and-green-philly/issues/1024 - Code is ready but I'm unable to commit due to issue 1038 below.
- https://github.com/CodeForPhilly/clean-and-green-philly/issues/1038 - Prevents code commits. Waiting for maintainer's response.
- https://github.com/CodeForPhilly/clean-and-green-philly/issues/927 - Waiting for UX/UI team for page mockups.
- https://github.com/NirmalScaria/le-git-graph/issues/81
Pull Requests
Blog Posts
- Planning: https://dev.to/vinhyan/contributing-to-open-source-part-1-the-planning-stage-300o
- Progress: https://dev.to/vinhyan/contributing-to-open-source-part-2-progress-update-22je
- Release: https://dev.to/vinhyan/contributing-to-open-source-part-3-adopting-a-new-project-and-final-reflections-37e3
Add00 - Adam Davis
Issues
Pull Requests
Blog Posts
- Planning: Planning Minesweeper
- Progress: Minesweeper Progress
- Release: Minesweeper Release
cduarte3 - Christian Duarte
Issues
Pull Requests
Blog Posts
- Planning: The Plan
- Progress: Progress Report
- Release: Final PR
uday-rana - Uday Rana
Issues
Pull Requests
Blog Posts
- Progress: Doing More Open Source Stuff: Making Up For Lost Time
- Planning: My Goals Working On Open Source
- I skipped this at first but then wrote it after my progress post because I thought it was important to lay out my goals.
- Release: Looking Back On My Work