Skip to content
Extraits de code Groupes Projets
Valider ce2f96ba rédigé par Lionel Dricot's avatar Lionel Dricot
Parcourir les fichiers

Merge branch 'nunesferro-master-patch-96544' into 'master'

Report Igor Nunes Ferro

See merge request ldricot/lingi2401!290
parents dd0c0dc6 3210ac23
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
# Report - Open Source Project
| **Author:** | _Igor Nunes Ferro_ |
| ------------------------ | ---------------------------------------- |
| **Date:** | 10/11/2022 - 06/12/2022 |
| **NOMA:** | 0709-21-00 |
| **Academic Year:** | 2022-2023 |
| **Open Source Project:** | [100LinesOfCode](https://github.com/josharsh/100LinesOfCode/)|
| **Pull request made:** | [PR](https://github.com/josharsh/100LinesOfCode/pull/296) |
| **License** | [GPL-3.0 license](https://github.com/josharsh/100LinesOfCode/blob/master/LICENSE)|
## Open source operating system
I already had interest in the past in open source OSes, so I have history with them. Since 2014 I have interest in computer security, and the thing that all the _script kiddies_ do is installing Kali Linux in a VM. In 2018 the reality hit, so I stopped with that old life and just used a normal and easy open source system, Linux Mint. I kept using it in my old laptop for uni in a dual booted way, and afterwards I changed to Ubuntu. I kept it like that until this year, in which I bought a new laptop and didn't have interest in doing a dual-booting because of limited storage space. So I did a bootable USB drive with Kali Linux (back to the old paths...) and also a VM. I am used to program mostly inside the VM, I find that it's easier to code while using Linux. I just use Kali Linux because I am used to it, but at the moment I could just use Ubuntu instead, because I'm not using any particular tools of Kali.
## Choice of the project
Finding a project was not easy, first by Googling we had all the same _cliche_ results, that many people are looking forward to work on. I wanted to find something a bit different, not trivial and that was possible to contribute, because the projects that I was finding, as I mentioned, had a lot of people trying to dispute it and the issues were mostly already assigned. That's when I found [Up-for-Grabs](https://up-for-grabs.net), a website that summarizes a lot of open source projects that we can contribute to. This got a bit of attention from myself, I went exploring and trying to find a good project and I found a few that came to the highlight. One was [100LinesOfCode](https://github.com/josharsh/100LinesOfCode/), which consists in multiple programs/applications/utilities that are considered useful or productive, including a few simple games, and each one made in less than 100 lines of code. In the end I chose it because it brought a lot of freedom, we could contribute with whatever we wanted and judged it could be part of the project.
## Contributing
After finding the project I started taking a look at their contribution guidelines and how to contribute by itself, and the maintainer left an issue saying that we could contribute freely, and the guidelines mention that we just need to open an issue and then associate it with a pull request. As mentioned, there are a few small games in there (like Tic-Tac-Toe and Hangman), so I thought of a little game of [Odds or Evens](https://en.wikipedia.org/wiki/Odds_and_evens_(hand_game)), a children's hands game as well and that I was sure that could be made is less than 100 lines of code.
I basically forked the repository, programmed my little game, tested and made a readme.md file according to the contributions guidelines, and then went to open the issue. But then I realized that the repo had a lot of open issues and pull requests, and that it was not active since March. This worried me a bit that the project could be abandoned, but I went to investigate. There were periods in the past that the maintainer was also not active and then he came back after and accepted the stacked pull requests. Looking at his profile, he is commiting almost everyday in other projects, so it is possible that he is busy and might not take a look at the project now, but he may come back in the future. I sent him an email as well but he didn't reply yet. Other members of the community had the same problems, no response from the maintainer.
This made me learn that maintainers are really important, and having a code base with multiple ones can help in situations like this. By my research for the projects, I also learned that Open Source projects can be in really a lot of different ranges: from small projects, like 100LinesOfCode, to very very big projects, like Firefox and Tensorflow. It is good that in this we can have freedom to work, and that a community is there to help us and to welcome us.
(Now after the classes that mentioned the maintainers and that one person can break the internet if they just step out of projects, and also after the presentation that Stephané gave to us, it makes more sense and my experience with the project complements with the classes).
## Conclusion
I can conclude that working in an open source and free environment made me value a lot more the community and how it can work. It made me understand that even though anyone in the world can participate, it is organized and not a mess. Open source can bring a lot of benefits to the users. I also learned more about maintainability of a project and how everything can connect together. It was a great experience to work on it because I could also see that open source is used everywhere, there are even applications that we commonly use that we don't know that they are open source. Overall, it was a great way to understand more of how the open source community works, and a good way to be introduced to it. Now I'm waiting just for the pull request approval.
(And just complementing that after my presentation, the professor mentioned that open source projects are also good for this: if the maintainer disappears, we can just fork it and voilà ! It's a very good benefit that I hadn't realized before, even though it was right in front of me).
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter