To find an open source project I could contribute to, I first browsed recently opened issues on GitHub. I focused my search around projects using languages I know and am comfortable with. Even if I did find unresolved issues that I could work on, either I didn't know the projects they were linked to or they seemed to be too complicated for me (demanded a very good knowledge of the project, for example).
Then, I had to idea to look for issues in the programs I use personally. That's when I found a new issue on "JabRef", a program for citation and reference management software that I use a lot for my work assignments. Furthemore, their README and website provides a lot of information about how to contribute and the project team is really active. This is why I decided to work on this project.
## Project in itself
The association goal is to teach everyone to program. Here the project is the frontend of the website, which contains the whole website. The site exists since Dec 5, 2021 and has recently been updated from react to Gatsby, which is a react framework.
As said before, the project is a tool to manage different citations, an references using BibTeX and BibLaTeX, making it perfect to use with LaTeX and Markdown but can be used with other tools such as LibreOffice, etc. It was first released on the 29th of November 2003.
### Contributing
The installation was easy as i could be build using Gradle. As I used IntelliJ IDEA, I only had to import the project via gradle import by pointing at the build.gradle file of the project.
I then created my fork and started to work on my contribution.
### The contribution
The issue I decided to work on was [`Double-click on preview style should add it to "Selected" #9490`](https://github.com/JabRef/jabref/issues/9490).
The first thing I had to do was find out what files needed to be modified to add the double-click feature. It was fairly easy as the project architecture is quite clear and easy to work with.
At first, I fought, I needed to create new functions to add/remove item(s) to the selected list. But after looking a bit more at the code, I realised I could use already implemented functions.
This led me to simply create two new methods that called, in the user double-clicked) the functions to add/remove elements to the selected list.
After that, I checked modified the changelogs to correspond to the new changes, and submitted my pull request following the given guidelines. It was accepted after a small modification from one of the contributors (which changed my methods from public to private).
## Conclusion
Overall, I am satisfied with this project. It helped me understand more how to contribute to a new project, and sparkled my motivation to contribute to other projects in the future.
Furthermore, it is really rewarding to help other people with their projects, and brings a little bit of pride to use programs that you contributed to.
## Book Choice
**Fahrenheit 451 by Ray Bradbury** :
When I started to think about which book I could present for this course, `Fahrenheit 451` directly appeared in my mind. It presents a twisted American society where books have been banned and are burned. We follow the story of Montag, a book-burning fireman that is become fed up with censoring literature and eventually quits his job to preserve what he used to destroy.
I really like this book as it obviously warns about state-based censorship as well as the dangers of a society where people are obsessed by mass medias and disregard other sources of information. This is an issue that in my opinion is quite actual, especially with the widespread use of social medias as some people tend to believe whatever they read online without checking on other sources. This book helped me be more critical about my sources of information and about how to use them.