Step 2. Contribution: Join the FreeCodeCamp Open Source Community and Claim My First Translation Task

1. Getting Started with the FreeCodeCamp Community:

After choosing to contribute to the FreeCodeCamp open-source project, I quickly joined the FreeCodeCamp Discord server. To gain a better understanding of how open-source projects are managed and how the community functions, I actively engaged with other contributors to learn what type of support was needed and how my skills could best be utilised (Fig 1).

As a newcomer, I introduced myself and filled out a Collaboration Form, which I submitted to the project maintainers for review (Fig 2). Once it received approval, I could officially assist the community with translation contributions (Fig 3). By immersing myself in the translator community, I gained insight into the open-source workflow, community collaboration, and the structured process of translation contributions, allowing me to align my efforts with the needs of the project.

2. Receiving Guidance from Chinese Translator Manager:

To improve collaboration efficiency and receive timely support, we also used the Chinese social app WeChat for communication and received guidance (Fig 4). The manager also invited me to join the FreeCodeCamp Chinese Translation Community group, where contributors and collaborators can discuss translation task guidelines, terminology standardisation, and ways to enhance the quality of translation articles (Fig 5). This collaborative approach not only helped me integrate smoothly into the community but also provided me with a deeper understanding of FreeCodeCamp’s open-source translation workflow.

3. Navigating the Task Claiming Process in FreeCodeCamp:

At FreeCodeCamp, I acquired the skills to claim a translation task by following the detailed instructions provided by the Team Manager. The process was straightforward: unassigned translation tasks can be identified in the issue tracker (Fig. 6). Once I found a suitable task, one simply needs to comment with /postedit or /translation on the issue page (Fig. 7). The GitHub Action Bot would then automatically assign the task to the contributor (Fig 8). This structured workflow facilitated effective participation for first-time contributors like me.

Fig 8: Received the assigned email notification from github-action bot

Additionally, I have found that FreeCodeCamp’s Project Panel offers a comprehensive overview of task progress. Upon assignment, the panel automatically moves the project from the To-Do list to the In-Translation section (Fig 9). This transparent system allows all contributors and collaborators to track the status of tasks, whether they are pending, in progress, or completed. Through this experience, I gained a clearer understanding of FreeCodeCamp’s task management structure and how it facilitates smooth coordination within the community.

Fig 9: FreeCodeCamp workflow track panel
4. Beginning My First Assigned Translation Task:

After being assigned my first translation task, I began work on “Clustering in Python – A Machine Learning Engineering Handbook ” in my personal batch. This issue are required me to translate the document from English to Chinese, which is important to ensuring that technical terminology and machine learning concepts were accurately conveyed (Fig 10). As I have prior knowledge from last semester’s “Coding Five – Approaches to Machine Intelligence” course, where I studied machine learning principles and programming. This task is allowed me to apply my existing python skills and machine learning theoretical to the translation process, which to ensuring precision in both language and programming content. Given that machine learning is a highly specialised field, many terms and methodologies require context-aware translation rather than direct word-for-word conversion. My familiarity with these concepts helped me provide accurate and fluency for the translations, making the content more accessible to Chinese-speaking learners.

Fig 10: My first assigned translation task process
5. Completing the Translation Task and Submitting My first Pull Request

Upon finalising the translation, I created a dedicated branch named `manual-zh-translation-article` and merged it into the main branch in accordance with FreeCodeCamp’s contribution guidelines. To ensure compliance with submission requirements, I meticulously followed the checklist format and correctly referenced the issue number using the syntax `Closes #number` (Fig 11).

Fig 11: Crate the checklist for my completed task

After verifying all details for accuracy and completeness, I submitted the Pull Request and added a comment `/review`, and the GitHub action bot will move the completed task into the In-Review panel to notify the maintainers and team manager for proofreading (Fig 12 and 13). This review process ensures that all translated content adheres to FreeCodeCamp’s standards for accuracy, clarity, and consistency, allowing for any necessary refinements prior to the final merge (Fig 14).

Through this process, I acquired valuable hands-on experience with GitHub’s Pull Request workflow, enhancing my understanding of structured open-source contributions within large-scale projects like FreeCodeCamp.

6. Pull Request Review and Refinement by Team Manager

While proofreading, my manager offered suggestions for improving word usage, and I realised that I had neglected to remove the original English sentences in some sections. The proofreading process proved crucial in identifying and rectifying grammar and translation errors, thus ensuring the overall quality of the translated content (Fig 15).

This experience made me realise that translation is not merely about converting text from one language to another; it is about ensuring clarity and accuracy for countless learners who depend on these materials. Any errors in the translated content could result in misunderstandings and confusion.

Fig 15: Translation Refined (Manager’s Feedback)
7. My First Successful Merge and Received Invitation to Join FreeCodeCamp Chinese Article Contributors

After discussing with my team manager, I committed the suggested changes and completed the review process(Fig 16). Once finalized, my manager merged my modifications into the main project and recognized my translation contributions by inviting me to join the FreeCodeCamp Chinese section as a contributor(Fig 17).

My First Pull Request Link

https://github.com/freeCodeCamp/news-translation-tasks/pull/616

Conclusion :

I truly enjoyed the structured review workflow, technical discussions, and collaborative efforts that ensured high-quality translations. This process made me realise that contributing to large open-source projects requires close teamwork and clear communication. It’s not merely about enhancing the community’s resources but also an opportunity for first-time contributors like me to gain invaluable experience (Fig 18).


Furthermore, this experience enhanced my understanding of the responsibility associated with providing free educational materials. In addition to accessibility, maintaining accuracy and readability is vital to ensuring that translated content remains clear and meaningful for learners across the globe.


Observing how each step from submission to review and final approval contributes to high-quality educational resources has deepened my appreciation for open-source collaboration. Thoughtful teamwork and iterative refinement are essential for creating learning materials that are truly effective and accessible to all.

Challenges: Overcoming Technical and Linguistic Complexities:

One of the main challenges I faced during the translation process was handling complex machine learning terminology. Although I had prior knowledge from my coursework, accurately translating technical jargon into clear and accessible Chinese required extensive research. Some terms had multiple interpretations, depending on the context, which meant I had to cross-reference academic sources, technical forums, and published research papers to ensure precision. Additionally, maintaining consistency in terminology across different sections of the document was another hurdle. As multiple contributors were working on translations simultaneously, I needed to align my work with existing translation conventions in FreeCodeCamp’s Chinese community. This necessitated ongoing communication with other translators to standardise terminology and ensure coherence.

Reflection:

Throughout this process, I not only reinforced my knowledge but also deepened my understanding of machine learning concepts. Researching unfamiliar terms and engaging in technical discussions not only enhanced my learning but also enabled me to contribute to a broader community. More importantly, this experience made me realise that translation is not just about converting languages; it is about accessibility and responsibility. Learning materials must undergo multiple rounds of review to ensure they are accurate and genuinely beneficial to learners. By translating machine learning knowledge into Chinese, I helped bridge the language gap for those who struggle with English-based resources while ensuring content accuracy to serve the community effectively.

Contributing to FreeCodeCamp has provided me with a deeper understanding of its meritocracy-based governance model. Unlike the BDFL (Benevolent Dictator for Life) approach, FreeCodeCamp employs a consensus-based review process. This ensures that all contributions, particularly translations, undergo structured peer review to maintain quality and consistency. This model not only upholds high standards but also promotes a positive cycle of engagement, encouraging contributors to refine their skills and remain actively involved.

I was particularly impressed by the balance between structured oversight and contributor autonomy. The review process reassured me that my work was meaningful and met project standards, while the flexibility to independently claim and complete tasks made the process more inclusive. This approach enables contributors from diverse backgrounds and schedules to participate, ensuring ongoing involvement and continuous improvement.

Ultimately, this experience reinforced my understanding that the success of an open-source project hinges not merely on the number of contributors but on how effectively their contributions are integrated and maintained. FreeCodeCamp’s governance model guarantees that contributions remain collaborative, high-quality, and sustainable while upholding the openness and inclusivity that foster thriving open-source communities.

Leave a Reply

Your email address will not be published. Required fields are marked *

*