diff --git a/projects/projects_2024-25/Report_Hugo-Delporte-47142000.md b/projects/projects_2024-25/Report_Hugo-Delporte-47142000.md new file mode 100644 index 0000000000000000000000000000000000000000..5ab6214eaa466d614cb17b3a5c32ac9bf2179eaa --- /dev/null +++ b/projects/projects_2024-25/Report_Hugo-Delporte-47142000.md @@ -0,0 +1,42 @@ +# **LINFO2401 project report - Contributing to an Open Source project** +| **Author:** | Hugo Delporte | +| ------------------------ |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **NOMA:** | 47142000 | +| **Academic Year:** | 2024-2025 | +| **Open Source Projects:** | [Learn-Git](https://github.com/rcallaby/Learn-Git) | +| **Pull requests made:** | [#767](https://github.com/rcallaby/Learn-Git/pull/767), [#768](https://github.com/rcallaby/Learn-Git/pull/767) and [#769](https://github.com/rcallaby/Learn-Git/pull/769) | +| **License** | MIT License | + +## Finding and contributing to a project (blog) +**12/10/2024** : As this would be my first contribution to an open-source project, I wanted to find a project that would be easy to contribute to. I started by looking for projects that I use on a daily basis. I quickly realized that most of the software I use is not open-source, and the ones that are too complex for me to contribute to : +- VSCode : I use it every day, but it is a very complex project and I don't think I would be able to contribute to it. +- Bitwarden : Also a project I use every day, but the project is too complex and there is too much security involved for me to contribute to it. +- Overleaf (online LaTeX editor) : I use it very often to write reports, but the project has recently become very "business-oriented" and I don't really feel like doing free work for a company that is making a lot of money. +- I then realized I was often using a very well-know library for making graphs in Python: [matplotlib](https://github.com/matplotlib/matplotlib). I thought that it would be really nice to contribute to a project that I like, and that is also very well known and used. I created my fork of the project and made it run locally. + +**19/10/2024** : I start to look for open issues for beginners. In the issue tracker, I look for the ones with the label "good first issue". I start noticing a bit of a problem : there are _a lot_ of people wanting to contribute to the project, and there is a "No assigned issues" policy to avoid [cookie licking](https://www.redhat.com/en/blog/dont-lick-cookie). +This is of course very good for the quick progress of the project, but, unfortunately for me, results in a lot of beginner issues being closed very quickly. My reasonning at this point is that I will regurlaly check for a beginner issue, and if I see one, I will try to solve it as quickly as possible if I can. + +_After a few weeks, I start to forget a bit about it due to a lot of other projects in different courses and medical issues._ + +**05/12/2024** : I come back to this project and start looking again for issues open for me in matplotlib. + +**13/12/2024** : I realize this is a bit too late to contribute to matplotlib, and I start looking for other projects. Not being very inspired, I start looking into this git for projects that previous students have contributed to. +A lot of them are not really active anymore, but I find a project called [Learn-Git](https://github.com/rcallaby/Learn-Git) that Nicolas Daube had contributed to last year. It is a project with lessons to learn git, translated in multiple languages. +It seems very open to new contributions. In the issue tracker, I notice that the French translation of the courses is not complete. I decide to finish the translation and make a pull request. + +**14/12/2024** : I start working on the translation. There are 3 open issues for the French translation, and I do one pull request for each of them, as requested by the maintainer. The issues I work on are : +- Translation of Lesson 6 +- Changing the names of some files to make them more coherent with the rest of the project +- Updating the readme to include the new lessons and redirect to the French translation. + +## Conclusion +I really would have liked to contribute to a project that I cared more about, but I found myself really late and decided that it was better to contribute to a small project like this than to do nothing. Overall, I still learned a lot by trying to contribute to matplotlib : how to fork a project, run it locally, where to look for beginner issues, etc. It was however a project that was probably a little big too big for a first ever open source contribution, and the fact that a lot of people are trying to contribute to it surely didn’t help. + +With those learnings, I was able to very quickly fall back on my feet and get to work efficiently to contribute to Learn-Git. I was able to exchange a bit with the creator of the repo when merging the pull requests. + +Although I would have liked to contribute to a more meaningful project, I am happy to have contributed to an open-source project. I learned a lot about git and the open-source community. I think most of my learnings actually came from looking for a project and trying to contribute to matplotlib, rather than the actual contribution to Learn-Git. I will definitely try to contribute to more projects in the future, and I hope to find a project that I use on a daily basis and that I can contribute to in a more meaningful way. + +## References +- Nicolas Daube, for the inspiration of the project +- ChatGPT, for helping to find possible errors in my translation of Lesson 6 (PR #768)