Week 5 - Discovering Open Library
This week, we had Mr. Mek Karpeles from Internet Archive/Open Library to share with us the open source project openlibrary. To my surprise, Open Library is completely different from what I thought from its name.
Open Library
At first, I thought that Open Library would be something like YouTube and Bilibili, where users can upload PDF of books or various other kinds of items, and can feel free to download anything in that library. Therefore, I was worried about the quality of the items. However, I was so surprised to here that Open Library actually has its base in the California State Library, and aims to make every publication available to all no matter where the users are. The feature that excites me the most is that, except from viewing the books on line, users can “borrow” the books just like what they do in a real library. During that one or two weeks’ time, the book belongs only to the user who borrows it, and of course he/she needs to return it as well. This idea is so amazing in my opinion because I always enjoy the feeling of reading and borrowing books from the libraries but I have fewer and fewer opportunities to do so with the increasing workload - Open Library makes the dream come true.
Mr. Mek Karpeles also impressed me a lot with his willingness to guide newcomers to contribute to Open Library. When one of my classmates asked him about contributing, he said that he and his colleages will take some time to welcome anyone who is willing to make contributions - this is essential for successful open source projects, and Open Library is clearly one of them. Moreover, Open Library provides a very detailed contributing guide, Aside from detailed instructions as for how to make contributions, Open Library also provides various videos to guide new contributors through, which is really welcoming.
A last thing to mention is the Internet Archive. It has a Wayback Machine that tracks up to 20 years of history of almost every website that exist or has existed. From my persepective there are many classic websites that have changed their designs a lot as time goes. I think I can really spend a whole day searching through the histories of the websites that I’m interested in (for instance, Google).
Overall, Internet Archive and Open Library are so interesting that even I do not choose them as my project for this course, I will definitely use them in my daily life.
My Current Open Source Contributions
Up to now, I have made several small open source contributions on Wikipedia, OpenStreetMap, etc. Most of them are small edits or reporting small issues, for instance, typos and formatting issues. I have also made some code contribution to TabColor, the add-on project made by Team 8, but those are also tiny bug fixes and layout modifications. I have been trying to find some opportunities to make higher-level contributions, but one big difficulty is for instance, reproducing the error.
As an illustration, when I was doing my Machine Learning assignment a few days ago, a Jupyter notebook cell (using VSCode) got stuck and couldn’t be interrupted. The only way to fix the issue was to restart the whole Jupter notebook kernel, but then all the variables would be lost. Later, I found that the issue had something to do with the numpy
module, and no matter how many times I tried on my local machine, the same problem would arise. Therefire I decided to report this issue to numpy
on GitHub. However, when I tried to reproduce the issue in Colab, instead of getting stuck it reports an error message and terminates correctly. Not being sure how to reporduce the issue (and in fact, not being sure if it is an issue with numpy
, Jupyter Notebook, or VSCode), I finally gave it up.
Leaving aside those challenges, there is also a contribution that I’m quite proud of. During the add-on project in class, I accidentally found out an issue in the MDN Docs, which I reported later on Feb 7, 2023, along with two suggestions on how to fix (improve) it. Seeing that there are so many open issues, I doubted whether my issue will ever be dealt with till the end of this semester. However to my surprise, only within two days the issue got resolved with both my suggestions taking into consideration and one of them chosen deliberately. Within one week, the modification was live online (the paragraph that starts with “Now visit the page” is adapted from my suggestions). This was the first GitHub issue that I opened, and though it was small, I was so happy and proud to see my suggestions actually being adopted. After this joy, undoubtedly I will keep working on doing my best to make more meaningful contributions like that.
Summary
I have talked about my gain from Mr. Mek Karpeles and the Open Library, as well as some aspects of the Internet Archive and Open Library that really impressed me a lot. Moreover, I’ve briefly summarized the small open source contributions that I’ve made in the past few weeks, including the challenges I met and what I’ve done well. Finally, thank you very much for your meticulous reading and hope you enjoy it.