<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/feed.xml" rel="self" type="application/atom+xml" /><link href="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/" rel="alternate" type="text/html" /><updated>2026-03-30T03:47:21+00:00</updated><id>https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/feed.xml</id><title type="html">Kazi Hossain</title><subtitle>Kazi, CSCI-UA 480 Student, Spring 2026</subtitle><entry><title type="html">Week 10 : Back from break with first group contribution</title><link href="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week10/" rel="alternate" type="text/html" title="Week 10 : Back from break with first group contribution" /><published>2026-03-29T00:00:00+00:00</published><updated>2026-03-29T00:00:00+00:00</updated><id>https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week10</id><content type="html" xml:base="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week10/"><![CDATA[<p>Spring break was a lot of fun as I got to catch up on much-needed sleep. It was also fun to be back home and spend more time with my family. I took the whole break off to relax, away from computers and technology. I have noticed myself being glued to my screen a lot more these days. But that is a topic for another day. Before the break, my group and I discussed which issues to focus on to start our major contributions. After the break, we found a promising issue to work on. <!--more--></p>

<p>Currently, we are focusing on <a href="https://github.com/oppia/oppia/issues/21970">Implement missing domain objects with full validate() function #21970</a> in the <a href="https://github.com/oppia/oppia/">Oppia</a> project. One shocking thing we found out is how structured the getting started guide is for Oppia. We had to fill out a bunch of forms and surveys, which showed the project has been around for a while and is very welcoming to beginners. This week, we asked the maintainers to assign us parts of the issue so we can start working on it. We described the changes we plan to make in the pull request to ensure we understand the problem correctly. We are currently waiting for a response; in the meantime, we are exploring other issues and testing the platform for bugs.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Spring break was a lot of fun as I got to catch up on much-needed sleep. It was also fun to be back home and spend more time with my family. I took the whole break off to relax, away from computers and technology. I have noticed myself being glued to my screen a lot more these days. But that is a topic for another day. Before the break, my group and I discussed which issues to focus on to start our major contributions. After the break, we found a promising issue to work on.]]></summary></entry><entry><title type="html">Week 8 : Reflection on other teams</title><link href="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week08/" rel="alternate" type="text/html" title="Week 8 : Reflection on other teams" /><published>2026-03-15T00:00:00+00:00</published><updated>2026-03-15T00:00:00+00:00</updated><id>https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week08</id><content type="html" xml:base="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week08/"><![CDATA[<p>I have really enjoyed reading about how other groups came to their project idea. I noticed that some groups decided to have some general projects that were interesting to them and then chose the projects that were easy to set up and did not give a lot of issues at the start. Furthermore, I think this is a crucial point, as projects that are difficult to even set up often imply a lack of proper documentation. Working on such an open-source project could become a burden later down the line, given the short time constraint we have for the class. Having to have the open-source software cloned and set up for testing and development fast is crucial in deciding what project to start the open-source journey with as a beginner. <!--more--></p>

<p>I have also noticed teams discovering projects by looking at open-source alternatives to the projects they were already using. The group <a href="https://ossd-s26.github.io/sanabriageorge-weekly/week08/">AFFiNE</a> for example, chose it because it was an open-source alternative to <a href="https://www.notion.so/">Notion</a>. This is also a really nice way to discover new projects that give meaning to contributing. It makes it so you are not only using the free tool but also contributing to it as a way of generously paying it forward for other people to have a better product.</p>

<p>Our groups planning stages were also very similar to most of the posts I have read so far. We have initially short-listed a bunch of alternative or overall projects that we use on a daily basis. We have then removed the projects that we were not familiar with or took way too long to set up. This eventually led us to <a href="https://www.oppia.org/">Oppia</a>.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[I have really enjoyed reading about how other groups came to their project idea. I noticed that some groups decided to have some general projects that were interesting to them and then chose the projects that were easy to set up and did not give a lot of issues at the start. Furthermore, I think this is a crucial point, as projects that are difficult to even set up often imply a lack of proper documentation. Working on such an open-source project could become a burden later down the line, given the short time constraint we have for the class. Having to have the open-source software cloned and set up for testing and development fast is crucial in deciding what project to start the open-source journey with as a beginner.]]></summary></entry><entry><title type="html">Week 7 : Contributing as a group</title><link href="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week07/" rel="alternate" type="text/html" title="Week 7 : Contributing as a group" /><published>2026-03-08T00:00:00+00:00</published><updated>2026-03-08T00:00:00+00:00</updated><id>https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week07</id><content type="html" xml:base="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week07/"><![CDATA[<p>Starting to contribute to open source project as a group is a fun and exciting task, but deciding what project is work on is often the hardest part. All of us have different experience with different languages. To figure out which project to work on, we have all decided to have a meeting and write down all the projects that came to our mind. After spending about 15 to 20 minutes we have started crossing out the projects with not many issues or projects without a <code class="language-plaintext highlighter-rouge">good-first-issues</code> tag. <!--more--></p>

<p>This led to eliminating near half of the projects. After which we have decided to eliminate projects that requires a previous domain knowledge about for example quantum physics. This led to us short listing about 5 projects at the end. Choosing between these 5 took awhile as we wanted to see which one would be best for all of us. We ended the meeting with the 5 short listed project and decided to go home and think more in detailed about each of the project along with trying to set it up. Over the weekend we all tried the projects and ended up deciding to work on <a href="https://github.com/oppia/oppia">oppia</a> due its documentation for new comers and also this project covered a wide variety of languages.</p>

<p>Our group did not hit any obstacle. I think all of our communications were really good and overall my team is very supportive. We have all listened to each others thoughts and discussed every idea as a group. Decision making in this case did not take much time as though the encouragement of discussions and weighing in the pros and cons we have easily decided on a project to work on.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Starting to contribute to open source project as a group is a fun and exciting task, but deciding what project is work on is often the hardest part. All of us have different experience with different languages. To figure out which project to work on, we have all decided to have a meeting and write down all the projects that came to our mind. After spending about 15 to 20 minutes we have started crossing out the projects with not many issues or projects without a good-first-issues tag.]]></summary></entry><entry><title type="html">Week 6 : Start of contributions</title><link href="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week06/" rel="alternate" type="text/html" title="Week 6 : Start of contributions" /><published>2026-03-01T00:00:00+00:00</published><updated>2026-03-01T00:00:00+00:00</updated><id>https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week06</id><content type="html" xml:base="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week06/"><![CDATA[<p>Contributing to the open source projects used to seem daunting to me. Most of these open source project seemed that the contributors had everything figured out. From the programming lanuage to the projects tech stack. But after starting to do a bit of research and seeing how people still ask questions and have welcoming discussions for beginners it was reassuring. After contributing to a few projects, I feel more comfortable in navigating the open source space. I have started to contribute to some of the projects I use in daily basis, one of such being <a href="https://github.com/nktnet1/webview-kiosk">webview-kiosk</a>. I have participated in an open source discussion for a feature request. I am proud of this contribution as this was my frist contribution for a project I use personally. I am also planning to ramp up my contributions in the coming weeks after for various other tools I use like <a href="https://world.openfoodfacts.org/">openfoodfacts</a> and <a href="https://www.openstreetmap.org/">openStreetMap</a>. I think the biggest challenge right now is getting used to the codebase of a project. Figuring out the coding style of a project is difficult at the start, especially when there is no coding style document. But I guess it would be a good practice for me to get better at reading codes written by other people which is one of my goal for contributing to open source. <!--more--></p>

<p>I am hoping to contribute to projects like <a href="https://world.openfoodfacts.org/">openfoodfacts</a>, which I used to a personal food tracker app I built last summer. I really liked their free api and the project overall and would like to give back. I am also hoping to contribute to <a href="https://github.com/flutter/flutter">flutter</a> as I am beginning to like it a lot better compared to the react native alternative for cross platform development. I find flutter to be very easy to understand and have started to use it for one of my recent project. I think it would help me improve my coding skills a lot more by reading the source code and contributing to it. As I am still a beginners and flutter being notorious for delaying prs in the past, I think the biggest barrier might be getting pr’s approved. Also getting myself familiar with the project may also take some time.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Contributing to the open source projects used to seem daunting to me. Most of these open source project seemed that the contributors had everything figured out. From the programming lanuage to the projects tech stack. But after starting to do a bit of research and seeing how people still ask questions and have welcoming discussions for beginners it was reassuring. After contributing to a few projects, I feel more comfortable in navigating the open source space. I have started to contribute to some of the projects I use in daily basis, one of such being webview-kiosk. I have participated in an open source discussion for a feature request. I am proud of this contribution as this was my frist contribution for a project I use personally. I am also planning to ramp up my contributions in the coming weeks after for various other tools I use like openfoodfacts and openStreetMap. I think the biggest challenge right now is getting used to the codebase of a project. Figuring out the coding style of a project is difficult at the start, especially when there is no coding style document. But I guess it would be a good practice for me to get better at reading codes written by other people which is one of my goal for contributing to open source.]]></summary></entry><entry><title type="html">Week 5 : Week of presentations</title><link href="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week05/" rel="alternate" type="text/html" title="Week 5 : Week of presentations" /><published>2026-02-22T00:00:00+00:00</published><updated>2026-02-22T00:00:00+00:00</updated><id>https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week05</id><content type="html" xml:base="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week05/"><![CDATA[<p>This week our class presented all the browser extensions we have made. There were a wide variety of extensions from the likes of funny to serious productivity boosters. The presentations were done very well and I have personally enjoyed the Q &amp; A session at the end of each presentation. In our presentation the questions gave us new features to work on, something that people eagerly want. I have personally found the project <a href="https://github.com/ossd-s26/tab-down">tab-down</a> to be really cool and something that I am willing to use when released. This extension makes it easier to have multiple tabs open without switching tabs!! <!--more--></p>

<p>Presentations are not just about learning about other projects but also about learning how other teams have come up with their idea through the ideation process and how did they handle conflicts. Our group had pretty much a smooth run from the start, Paul and I have found a weird connection where we both agreed on most of the topics. To the point where we would try to purposefully try to disagree to see if our decision is the correct one. Working on this project has taught me how crucial it is to have discussions especially when working on open source software development. Nobody can one-off just work on something themselves and push a PR out of nowhere expecting it to get merged. It is crucial to communicate and explain one’s thought process so that not only everyone can be on the same page but also discover if the solution is the right one or there exists a better one.</p>

<p>During the class last week we watched a collection of videos from the Open Source Summit of North America (2024). While watching this video something that caught my attention is how dedicated some open source maintainers are to the idea of <a href="https://www.gnu.org/philosophy/floss-and-foss.en.html">FOSS</a> where the idea of free is freedom. Even when companies take the project to make money off of it, maintainers stick to the core principles. I found it to be very inspiring where the host has turned down significant potential money to stick to the principle of FOSS, where anyone can take the source code and do whatever they want with it according to the license.</p>

<p>This week was packed with various presentations from students to professional ones. One thing that I took away from these presentations is that speaking slowly and also being present matters a lot. The most enjoyable presentations were the ones given by the likes of Linus Torvalds, which did not seem like a lecture or talk but casual, funny and also informative. He would laugh and make jokes here and there which made the talk even more enjoyable. I have also noticed this during our presentations in class, where the most engaging presentations were by groups that were lively, present and interacted with the audience. I hope to implement these skills in the upcoming presentations.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[This week our class presented all the browser extensions we have made. There were a wide variety of extensions from the likes of funny to serious productivity boosters. The presentations were done very well and I have personally enjoyed the Q &amp; A session at the end of each presentation. In our presentation the questions gave us new features to work on, something that people eagerly want. I have personally found the project tab-down to be really cool and something that I am willing to use when released. This extension makes it easier to have multiple tabs open without switching tabs!!]]></summary></entry><entry><title type="html">Week 4 : Git and OSS Projects</title><link href="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week04/" rel="alternate" type="text/html" title="Week 4 : Git and OSS Projects" /><published>2026-02-15T00:00:00+00:00</published><updated>2026-02-15T00:00:00+00:00</updated><id>https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week04</id><content type="html" xml:base="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week04/"><![CDATA[<p>I have been using <code class="language-plaintext highlighter-rouge">git</code> for a long time, but I was surprised to learn what is the proper way of using git. I was mostly familiar with the 3 most commonly used commands of <code class="language-plaintext highlighter-rouge">add .</code>, <code class="language-plaintext highlighter-rouge">commit -m ""</code>, and <code class="language-plaintext highlighter-rouge">push</code>. In class we learned that relying too much on <code class="language-plaintext highlighter-rouge">add .</code> command is not conventional and often disliked by people, as this could lead to adding files you don’t want to be tracked ending up being tracked and becoming a hassle to remove later. I have experienced this first hand today where I unzipped a large file inside the git repo but before checking the size I added all, committed and when trying to push it failed. Getting back to untracking the files and resetting without losing my changes took a lot of time, which could have been easily avoided if I added the files I needed manually and not used the <code class="language-plaintext highlighter-rouge">add .</code> command. <!--more--></p>

<p>We have also learned about the <code class="language-plaintext highlighter-rouge">git init</code> command which had the most impact on me. Personally when I am working on a project I end up first making the git repo and cloning it or if I make a mistake I reclone the repo into a new location. This seemed like a hassle to me but it let me get by as I mostly worked on private repos, but learning about <code class="language-plaintext highlighter-rouge">git init</code> significantly improved my workflow where I no longer have to do that.</p>

<h3 id="comments-on-project-evaluation">Comments on project evaluation</h3>

<p>Based on the <a href="https://github.com/ossd-s26/project-evaluation">Project Evaluation</a> I have seen a wide range of projects ranging from quantum computing to javascript libraries. These selection of projects in my opinion covers a wide range of topics which is good for our upcoming project. The maintenance of the selected projects mostly seemed very organized and mostly beginner friendly.</p>

<p>I have personally found <a href="https://github.com/ossd-s26/project-evaluation/blob/main/jellyfin.md">jellyfin</a> to be the most exciting project to work on. This is mostly because I self-host this in my home server and have been tinkering with it for a while. I love this software and want to contribute to its development in a way of giving back.</p>

<p>The biggest challenge would be getting familiar with the codebase of jellyfin in a short amount of time. I would be curious to hear you guys thoughts on how to pick up a project structure and get familiar with a code base fast, feel free to email me <a href="mailto:kazi.h@nyu.edu">kazi.h@nyu.edu</a>. Currently I am planning to overcome this by getting my hands on not only reading the code but also writing out smaller functions to check how everything interacts together.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[I have been using git for a long time, but I was surprised to learn what is the proper way of using git. I was mostly familiar with the 3 most commonly used commands of add ., commit -m "", and push. In class we learned that relying too much on add . command is not conventional and often disliked by people, as this could lead to adding files you don’t want to be tracked ending up being tracked and becoming a hassle to remove later. I have experienced this first hand today where I unzipped a large file inside the git repo but before checking the size I added all, committed and when trying to push it failed. Getting back to untracking the files and resetting without losing my changes took a lot of time, which could have been easily avoided if I added the files I needed manually and not used the add . command.]]></summary></entry><entry><title type="html">Week 3 : Journal on building an OSS extension</title><link href="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week03/" rel="alternate" type="text/html" title="Week 3 : Journal on building an OSS extension" /><published>2026-02-08T00:00:00+00:00</published><updated>2026-02-08T00:00:00+00:00</updated><id>https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week03</id><content type="html" xml:base="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week03/"><![CDATA[<p>I have always been a big fan of FireFox. As an avid tinkerer, I like how Firefox gives users the ability to change a lot of default config as they wish. This is unlike browsers like chrome where there is not a about:config that you can go to stop built in trackers. This week was my first time building a browser extension and knew nothing about how to even load an extension to firefox. After spending a few minutes reading the docs, I was suprised by how well written the docs where! I was able to finish building the demo extensions within a few minutes. <!--more--></p>

<p>What made this learning to build extension over a short period so fun was my teammate <a href="https://ossd-s26.github.io/Better-Call-Paul-weekly/">Paul Chan</a>. Any time I would get stuck we would discuss and try to figure it out together. This was very effective and surprising to me as due to this none of us got stuck an issue for too long. We enjoyed the process of hands of building the tool and discussing ways to improve it at the same time. I also like JavaScript and enjoyed writing code for the extension. My biggest contribution was refining the idea for this extension.</p>

<h3 id="progress">Progress</h3>
<p>We have nailed on the idea of building an NYU wallpaper chrome extension. Right now every new tab is a boring monochrome color, we want to change that. Out extension NYUwall would bright a little deligt for every new tab experience. You will be greeted with beautiful NYU wallpapers. So far we have finished building the basic skeleton of the app.</p>

<h3 id="problems">Problems</h3>
<p>One problem that we are discussing at the moment is that we both have a lots of feature we want to add for example showing quotes along with the wallpaper and various others. We are having a hard time deciding which features would people like the most without making the extension a bloatware.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[I have always been a big fan of FireFox. As an avid tinkerer, I like how Firefox gives users the ability to change a lot of default config as they wish. This is unlike browsers like chrome where there is not a about:config that you can go to stop built in trackers. This week was my first time building a browser extension and knew nothing about how to even load an extension to firefox. After spending a few minutes reading the docs, I was suprised by how well written the docs where! I was able to finish building the demo extensions within a few minutes.]]></summary></entry><entry><title type="html">Week 2 : Thoughts on OSS code of conduct</title><link href="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week02/" rel="alternate" type="text/html" title="Week 2 : Thoughts on OSS code of conduct" /><published>2026-02-01T00:00:00+00:00</published><updated>2026-02-01T00:00:00+00:00</updated><id>https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week02</id><content type="html" xml:base="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week02/"><![CDATA[<p>In open-source software development, people from all over the world collaborate to contribute to the software. As such, people from different backgrounds and skill levels can have different ways to approach ideas. It is crucial to have a code of conduct because it lays out the foundation for the community on how to interact with other people. It limits people from making mistakes or gussing the code of conduct, when it is written out in plain text and the same for everyone. I think it is crucial for every open source project to have a code of conduct page, as it makes interacting with the project much easier for everyone. <!--more--></p>

<p>Two differences I have noticed between the <a href="https://go.dev/conduct">Go code of conduct</a> page and the <a href="https://www.contributor-covenant.org/version/1/4/code-of-conduct/">Covenant Code of Conduct</a> is that the go code of conduct is much easier to read at the start. By giving a summary (tldr) style view at the start of the conduct it made it much easier to read. This allows people to glance over the code of conduct to get a general sense of the conduct and not drown in reading multiple pages long conduct before even interacting with the project. Another difference is that the Go code of conduct has decided to add a section on conflict resulation “Conflict Resolution” which is missing in the Covenant Code of Conduct. I think the reason for this is that it is crucial to establish how different ideas are handled when it comes to contributing to a programming language which can be very opinionated based on who is maintaining the project. It is curcial that these opinions and disagreement does not lead people away or cause harm but makes the project better. Establishing how to handle conflict without disrecpeting people makes it more welcoming. Here the <a href="https://www.eclipse.org/org/documents/Community_Code_of_Conduct.php">code of conduct of the Eclipse Foundation</a> which was also adapted from the Contributor Covenant, but also have subtile difference. In the Eclipse Foundation’s code of conduct we can see a new section called “No Retaliation” which details how to protect people who have raised an issue in the likes of harassment, discriminaion etc. The foundation may have added this section to encouge the community to report any misbehavior and protect the reporter against retaliation to create a safe and efficient environment for everyone to collaborate.</p>

<p>The <a href="https://wiki.sugarlabs.org/go/Sugar_Labs/Legal/Code_of_Conduct">code of conduct document of Sugar Labs project</a> is slightly different from the Covenant Code of Conduct one. The Sugar Labs one is based on the <a href="https://ubuntu.com/community/docs/ethos/code-of-conduct">Ubuntu code of conduct</a> which is similar but to me seems more welcome. As it clearly ask people ask questions when in doubt, the ones from earlier can be seen more daunting.</p>

<p>The <a href="https://terms.archlinux.org/docs/code-of-conduct/">arch linux code of conduct</a> is another example of a slightly different styled code of conduct. To me this code of conduct seems less beginner friendly compared to other ones as at the start it writes “The Arch community is a technical community” which might scare off beginners who are just starting their linux journey with arch linux. Compared to the ubuntu one this seems more like dedicated for already technical people, where the Covenant Code of Conduct seems like a more general one. Although there are sill similarities on how to handle trolls and people misbehaving/being disrespectful.</p>

<h2 id="reflection-on-how-to-drive-consensus--transparency-in-opensource-communities---jill-lovato--trishan-de-lanerolle">Reflection on “How to Drive Consensus &amp; Transparency in OpenSource Communities - Jill Lovato &amp; Trishan de Lanerolle”</h2>

<p>Watched <a href="https://youtu.be/ZYwTDNA3Uac">this talk</a> today which goes over similar rules as the code of conducts mentioned above. I have personally felt like the talk made it much more welcoming and easy to understand the general code of conducts compared to the readings. I agree to most of the points mentioned in talk, like for example communication being critical where you are not only transparent but not just <a href="https://dontasktoask.com/">asking to ask</a>. I have learned a lot about not only how to intereact with other people working on the same project but also how to ask questions and collaborate better.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[In open-source software development, people from all over the world collaborate to contribute to the software. As such, people from different backgrounds and skill levels can have different ways to approach ideas. It is crucial to have a code of conduct because it lays out the foundation for the community on how to interact with other people. It limits people from making mistakes or gussing the code of conduct, when it is written out in plain text and the same for everyone. I think it is crucial for every open source project to have a code of conduct page, as it makes interacting with the project much easier for everyone.]]></summary></entry><entry><title type="html">Week 1: FOSS is everywhere</title><link href="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week01/" rel="alternate" type="text/html" title="Week 1: FOSS is everywhere" /><published>2026-01-25T00:00:00+00:00</published><updated>2026-01-25T00:00:00+00:00</updated><id>https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week01</id><content type="html" xml:base="https://ossd-s26.github.io/kazisean-weekly/kazisean-weekly/week01/"><![CDATA[<p>When I hear the term ‘open source,’ I think of a repository where I can view the source code and the license of a particular software. Open source software makes it easy for anyone from any part of the world to see the source code of a software or script and contribute to it to make it better. <!--more--></p>

<p>Open source softwares are often times free because you can make your own changes and compile it yourself. This open architecture has both its pros and cons, some of which are still heavily debated by tech enthusiasts. Open source softwares for intance keep the code base less prone to security vulnerabilities as people around are world are looking at its code and suggesting fixes all the time to make it better. However, since anyone can see the source code and contribute to it sometimes it is possible to get malicious code injected into the source code by a bad actor. Since most of the technology to some extent relies on open source softwares it can cause a supply chain attack, compromising various machines.</p>

<p>I have decided to register for this class because I wanted to learn more about how to both contribute and maintain open source softwares practically.  Here are some of my favorite open source softwares :</p>

<ul>
  <li><a href="https://brew.sh/">Homebrew</a> install softwares without clicking any buttons (I can’t go a day without it)</li>
  <li><a href="https://github.com/mpv-player/mpv">MPV</a> best media player</li>
  <li><a href="https://github.com/brave/brave-browser">brave</a> no ads, privacy friendly (kinda) browser</li>
  <li><a href="https://immich.app/">immich</a> self-hosted google photos (got tried of paying for google one)</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[When I hear the term ‘open source,’ I think of a repository where I can view the source code and the license of a particular software. Open source software makes it easy for anyone from any part of the world to see the source code of a software or script and contribute to it to make it better.]]></summary></entry></feed>