Week 6 Invited Talk & Project Evaluations

Vicky Steeves Talk

This week, Vicky came in again to give us a talk on open source licensing, research reproductivity, and software preservation. It was an informative talk, and Vicky covered a wide range of topics. Here are some that I found particularly interesting:

  • Free software vs. open source software. Vicky mentioned that she prefers free software over open source software, which was an interesting point and led me to read more about the topic (Why Open Source Misses the Point of Free Software - GNU Project - Free Software Foundation).
  • Github restricting accounts based in countries under US sanctions. This is an example of how proprietary software can be unreliable. I can now totally understand why many people were so concerned when Github was acquired by Microsoft in 2018 and decided to migrate to other services like GitLab and Bitbucket.
  • Hacktoberfest. Vicky introduced to us this really cool event, which is a month-long celebration of open source software, and you get a free t-shirt once you make five contributions to the open source community. I am definitely interested in participating this year and win a free t-shirt. (P.S. I saw someone wearing a Hacktoberfest 2019 T-shirt at the crossroads of 6th Avenue and Waverly Place on my way home after the talk. Such an amazing coincidence!) Hacktoberfest
    (src: https://hacktoberfest.digitalocean.com/)
  • The Google vs. Oracle API copyright case. I didn’t realize this lawsuit has been going on for nearly a decade. I’m really curious now if Google will have to pay Oracle $8.8 billion (how many zeroes is that?).
  • Writing documentation — the best way to contribute. I could totally relate to Vicky when she said that her first contribution to open source was writing documentation for a project because she was nervous about making code contribution. The idea of contributing to the code base still feels kinda scary to me, but writing documentation sounds much more feasible (at least you can’t crash the whole system by adding one line of documentation, I guess). I used to believe that code contribution is more important than writing documentation because it should be harder, but Vicky emphasized the importance of documentation contribution. Without documentation, users won’t know what the software does and how to use it, and hence the code will become worthless in some way!

Project Evaluations

This week I evaluated two projects: OpenStreetMap and Scrapy. When I was working on the evaluation of the first project, OpenStreetMap, I was not sure what the correct way to get answers to certain questions should be, e.x. for the question “how many issues were closed in the past six months?”, I ended up counting the number of issues manually which took me quite a while and the number I got might not be accurate. It was not until Wednesday’s lecture did I realize you can construct queries when searching GitHub. I also learned more about writing markdown. After carefully looking into the website and the repository of OpenStreetMap, I decided that it’s not the project that I would like to work on. The primary language is Ruby (which I have no experience with), difficult installation, and the missing of a code of conduct file all undermined my interest in contributing to the project.

I picked Scrapy ad the second project to evaluate since I work with web crawling a lot. Compared to OpenStreetMap, I am more interested in contributing to this project: it is 99.7% written in Python; it was super easy to install; and the community seems quite friendly. However, one concern of my is that the number of pull request that have stayed open is a little big high. Also, in order to contribute, it seems like more knowledge about network might be necessary.

Potential Projects

After reading the project evaluations by my classmates, I am quite interested in Sugar Labs and freeCodeCamp. Both are online learning platforms, which is a field I would like to learn more about. The primary language of Sugar Labs is Python while the primary language of freeCodeCamp is JavaScript, and I am pretty comfortable with both languages. It also looks like there are many ways to contribute for both projects.

I’ve also been keeping a list of other projects that I am interested in contributing to, including Python Babel, Kinto, Zulip, pandas, dragula, Brackets, and so on. But I will have to look further into these projects and do project evaluations before picking any of them to work on.

Written before or on March 8, 2020