Week 14

Class Discussion

This weeks class discussions were very interesting in the sense that it was purely conducted by the students. A lot of projects are what you would expect, where people contribute data, or some sort of knowhow or knowledge. Because all of these projects were similar in that aspect, it was not that surprising to me. However, some of these open source projects are very interesting, and I did not realise that there would be a market or community for it. Stuff like Cola, sewing, free beer, all seem like very niche with very small audiences, so I wonder how active the community is.

Hearing about all these different and unique open source things reminds me a lot of Reddit. Reddit has many different sub-reddits for everything and niche topics, and each sub-reddit has its own community that ‘contribute’ posts, and moderators volunteer to moderate these communities, much like open source. Last weeks discussion really helped me draw that connection, and I would love to explore that connection a little more. Can these communities be considered some sort of open source?

Project updates

For our project, we have started making our presentation. Right now we have a document with talking points that we are updating, and our draft of our slides is going well. The contributions still remain with the docstring issues, which is nothing flashy but still something. I am excited to present next week, but I do wish that there was more time to work on our project contributions.

Read More

Week 12

The Cathedral and the Bazaar

I really enjoyed this week’s class discussion, as well as the article we had to read. My favorite lesson did not change based on the discussion, becuase of what I mentioned in class about how some of the lessons were more relatable to us as students than others. However, listening to other students in the discussion made me realise that I could relate to a lot more quotes than I initially thought, and listening to thier experiences reminded me of my own. This article seemed to be targeted more towards people who were running projects with exisiting user bases. However, even though this did not apply to me and many other users, the practices such as listening to users, writing good code, and finding and solving problems are crucial and important to every Computer scientist.

One thing that I loved and was very memorable was when Ahmed made the comment on the quote about fixing what you want to fix. He said, ‘every time I find an itch that I want to scratch, I find that someone has already scratched that itch for me’ or something along those lines. I found that extremely funny, and I could relate so much to that comment.

Project updates

We attended the New Contributors Meeting on wedsday, which proved to be very helpful. Unfortunatly, it is only once a month, so that was the last time for this semester. The people were extremely friendly, and helped with issues, and I managed to set up my development enviorment on my laptop, which is very positive news. Becuase of that meeting, I also had a greater understanding of how to compile and run pandas, so the issues are easier to debug and fix.

Our group has contributed a lot to docstring issues, which is a positive. This however, is very tedious. The df.plot issue I was working on got fixed by someone else, so I had to pivot to a different issue. I found an BUG issue where it was incorrectly dividing an array, and managed to look through to code to identify that the issue was due to floats when converting from an array to an pandas.index. However, because index() is a pretty core function, I could not just fix index to work for the specific issue by rounding to a certian decimal place, becuase there are many other cases where index() is used with floats. Because of this, I decided to abandon the issue, but left a helpful comment identifying the issue that was causing the bug report.

Read More

Week 12

Christopher Snider

The talk with Christopher Snider was another interesting and eye opening perspective. Up until this point, I have still been viewing open source through a more technical lens, such as open source coding projects, integration and maintaininace for companies. It was interesting to see someone whose knowledge of software is pretty much from high school CS classes (if I correctly remember him briefly saying that in his talk) talk about an open source software company from the more buisness/shareholder perspective. It is interesting that although it is open source, it isn’t what you would normally think of a open source project. It is very corporate, with meetings, documents, deals with companies, regulatory stuff, and full time employees.

What makes Tidepool different from the user of open source by other enterprises is the extreme open source and transparency philosophy that they have. They have built trust with the community by making everything they can possibly make availible to the public availible to the public. This is very different from what I learned with the previous speaker, where companies are mostly proprietary, but use open source projects to compliment thier product/work.

One critique I have is that often times, it felt more like an advertisement for the products and services Tidepool provides, rather than a lesson about open source and how it affects Tidepool’s operations/decisions. However, I loved listening to him talk, as Mr. Snider was a very articulate person who clearly knows a lot about what he is talking about, and very engaging.

Project updates

Project work is mosty individual work so far. Right now, it is very difficult to make contributions. The issue I am working on seems to be very hard, and I am not sure if it is a dead end or not. I have looked at other similar issues, and it seems that sometimes, its an issue with another open source library that panda uses, such as matplotlib, and not an issue with the pandas library itself. For the amount of time I have spent looking throught the codebase and trying changes, I feel like it is not reflective becuase there are no contributions or pull requests. I need to pivot to other things to get some concrete results. As an individual, this class is a litle harder. Unlike assignments or projects in other classes, there is no concrete problems to solve, or specific things that I need to make. Becuase of this, it is hard to see progress and knock out issues, which in turn makes it easier to get demotivated and discouraged.

Read More

Week 11

Videos in Class

One thing I took away from the videos is the amount of work and effort to integrate with open source technologies is a lot more than just being able to use the code. Convincing corporate leadership to invest in something that is completely public, finding the right projects and use cases to use open source with, educating and training employees to best deal with open source projects, are all hurdles that are not easy to overcome, and can be very costly although open-source is “free”. Open source is relativly new, and change can be hard, especially when dealing with uncertianties such as the future maintenance of the project, or whether it aligns with your companies vision or goals. All of these would sound super discouraging to me personally before I watched these videos, and I would lean towards developing in house, for more control. However, I failed to realise the benefits of open source. Although you need to pay money for the work to integrate with open source, in turn, you are also getting a product that has already been worked on by many qualified and experienced engineers around the world, instead of starting from scratch.

I also viewed open source before this class as projects run by hobbyists, and more of a unprofessional project that people do for fun. However, in the videos, they really expanded my viewpoint. A lot of these big open source projects are run very organized and efficiently. They have weekly to yearly meetings, foundations with people whose job is to manage the open source project and determine the direction. Even the project we chose for our group, pandas, have monthly meetings to discuss the direction they want to go in, and I attended one of those meetings, and it was handled very professionally, which was cool to see.

Project updates

At the moment, I am working on an issue with the plotting functionality in pandas. At first, I was at a road block, because the code base seems very daunting, and I did not know where to start. Issues were hard to find, or very unclear or uncertian if it was a valid issue to work on. However, once I sat down and spent time finding a proper issue, and looking through online resources, I had a clearer idea of where to look. The hardest challenge is finding an issue to work on. Once you find an issue, there are actually videos on youtube that walk you through how to contribute to pandas, so I have been refering to those to help me figure out my next steps.

Read More

Week 10

Project Progress

Coming back from spring break, I have been slow to get back into the flow of school work, so progress has been slow. The development enviorment is set up from my home computer, which is a challenge, because that means I can only work on it at home, and not on my laptop in the library as I am usually accustomed to doing my work. However, this is no longer a limitation, as I have rearanged my work station at home and my habits so that I generally work from my desk at home as opposed to the library in order to be able to work on contributing to pandas more often.

Read More

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

Read More

Week 5 Social Good

Humanitarian/Social Good Projects

This week, we learned about how open source is used to adress some problems in our world, including food and agriculture, knowledge accessibility, healthcare, and collective science. I chose to specificly watch the videos on Democratizing Knowledge in Higher Education. I chose this specific topic because I feel as a college student, I can relate to the high costs of textbooks, and I feel the issue is very relevant to my immediate life. Textbooks are expensive, and sometimes inadequte and not suited to the course material. Speaking from personal experience, there have been way too many times where I purchace a “required” textbook, and the professor did not even refer to the textbook and I did not touch the textbook once. One thing that I was surprised about learning is the willingness of strangers across the globe to contribute to a single project and goal. I think I really underestimated the effect and productivness of open source projects before the class.

Read More

Week 4 Git

Browser Extension Reflection

The Browser extension project was a pretty insightful expereince for me. The premise of the project was pretty simple: to create a Mozzila Firefox extension with a group, as well as make it an open source project. One thing it made me be aware of was the importance of liscencing. The importance of paying attention to the liscence attached to the sources you use, whether it’s code, or some clipart you used, is very important and I did not consider that before. I really enjoyed working with my teammates Sam and Glenda, and it was also great to get to know them more. I would say we worked very well together. We were all very agreeable, and did the work we all agreed on doing with no issues. I made the non-code documents that are important to every open source project, such as the ReadMe, Contributing, Liscence, and Code of Conduct markdown files. I also fixed some bugs in the .js extension code, and used some git skills I learned in class.

Read More

Week 3 Git

Learning Git

In class today, we did a git excersise where we forked a repository, and practiced adding, commiting, pushing, and merging using git. Overall, the excersize was a good way to refresh and reinforce my prior knowledge with git. It was a little confusing, becuase some people ran into issues and errors while others did not, but the general ideas were conveyed nicely.

Read More

Week 2 Code of Conduct

What is the Code of Conduct

What is the Code of Conduct in open source projects? Why is it necessary? The Code of Conduct is a document that outlines and lists the expectations set on contributing to a project when it comes to interacting with the community. Generally, the Code of conduct lays out the foundation for an accepting, welcoming, and cooperative community in a project

A code of conduct is can be benefitial to a project, becuase it lays out explicit and concrete guidelines for expected behavior. Some might say that the code of conduct is unneccessary and redundant, but it clarifies what is acceptible behavior, and potential punishments for violating those rules. While Code of Conducts may differ amongst projects, the core values mantaining a respectful community are the same

My Thoughts on the Code of Conduct

I beleive the Code of Conduct is an important part of any project, although it can often be overlooked or ignored. The Code

Read More

Week 1 My Introduction to Open Source

Diving into Open Source

This Spring I decided to take this course called Open Source Software Development. I had no prior experience contributing to open source projects, but I knew it was something that greatly interested me. I have been the beneficiary of open source projects in the past, using libraries, modifying code for my use, so I wanted to dive deeper into everything related into Open Source and hopefully be a contributing member of the community.

My thoughts on Open Source

Read More

Week 6 Looking into Projects

Project Evaluations

Over the past week, we have looked into several projects, and evaluating what contributing to these projects might look like. I looked at scikit-learn and Langchain so far at the time of writing this. Both of these are very large python projects, with thousands of contribitions and thousands of contributors. Innitially, I thought that these projects would be pretty easy and straightforward to contribute to. Such a large project with hundreds of issues must have some issues for beginners to work on right? However, it is much more nuanced than that. Some projects require domain knowledge that I don’t have to make meaningful coding contributions, and others don’t have a very welcoming community, and only a select few people make up the majority of contributions. I learned that big does not neccessarily mean good.

Read More