| **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)