Week 7 Project Work Begins
Notable People in Free/OpenSource
In class, we each researched one notable figure in Open Source history and community. One thing that really stood out to me is that there were a decent amount of people that were not software engineers or computer scientists. This had me a littel puzzled, but one thing was common among all notable peoeple. They were all passionate about the work they do. This was a valubale lesson to take away for me. Even if someone does not neccessarily have the background or experience, if you put your mind to something and are very passionate about something, you have the opportunity to flourish. This is some introspection, but I wonder why these people in particular stand out in the history of open source, and what is stopping me from being able to achieve what they have achieved.
Project Work
This week we got our project groups. It is exciting to finally get started with seriously contributing to a project, but it certianly is much more challenging to pick a project than I thought. In the past with my small contributions, it was pretty easy. I didn’t really care too much, and fixed small things in small areas. The “hardest” contribution process was proabbly freeCodeCamp, where I had to clone the whole repository, and submit a pull request using the feature/branch method. However, this was still relatively simple, becuase I did not have to install any dependencies or get any code running. Now, we have to make sure everyone can set up the required development enviorment, which can be more challenging for some projects than others.
Based on our group interests, we have narrowed down the project choices to either this AI project called Danswer or the popular python library pandas. Last class, we mainly worked on getting the development enviorment and dependencies set up for both projects. I managed to set up the development dependencies for Danswer, although it took almost half the class time. There were some issues with setting up Pandas, but I think one of our group members managed to set it up.
The Dilemma: Both of these projects have their pros and cons.
Danswer | Pandas | |
---|---|---|
Pros | ||
- I personally have experience in it, so I would know how to contribute to it, and am passionate about it. | - It is a big project, with a lot of issues | |
- It is a small project with a small community, so we have an opportunity to make a meaningful impact | - There is a large community for support and issues | |
- The issues are pretty big, but very doable as a project to implement a feature, which I think would be very fun | - Very active mantainers | |
- The project is pretty new, so there are a lot of things that can be implemented | ||
Cons | ||
- To test our features if we decide to add a feature, we would need an API for an LLM, most likely OpenAI. This can prove to be costly. | - It is a big project, so finding a cool issue that is not taken can be challenging | |
- The issues are not labed well, and there are few “beginner” friendly small issues. | - Harder to make a real impact, and the project is more polished already | |
- Other group members might not be as knowledgable/passionate | - It is more competitive to make a pull request and get our commits merged |
- I am slightly more biased towards Danswer so keep that in consideration.
- I would appreciate any feedback or opinions