Week 1: What is and why use opensource

How was opensoure software noticed?

I have come across the word “opensource” many times before. Recently, one of the most influential tech company in China, Tencent, the creator of QQ and Wechat, has made many of its internal programs opensourced. This surprises me a little, because these programs even include Tars, an RPC framework used internally by Tencent since 2008.

Learning more about the foundation

Seeking a definition

While these incidents brings my attention to opensource software, it puzzles me a little trying to define exactly what opensource refers to. Obviously, the source code is open, or available to everyone for free. However, this characteristic does not define the word opensource thoroughly.

Pros and Cons

I picked up from the first week of class a significant concept about opensource software for myself. Not only are people free to use the code, they are also free to contribute to the code, meaning everyone’s idea matters and everyone in the community is responsible for the health of the software. This means that not only the developer team, but also the entire user community is contributing to the improvement of the software. I would imagine this means more efficient amelioration. However, this comes at great costs too. When many contributors are putting their ideas into a program, it is difficult to keep track of who is doing what and manage the contributions. So every contributor should follow the same set of rules given by the creator. Otherwise, the contributions would lead to chaos.

My favorite OS projects

Speaking of opensource projects, the first two that comes to my minds are apache and firefox browser. The first one is a web server, and the basis of our internet today. The second is a decent browser known for its speed. Another project that I use regularly is octave. I was introduced to this software when I started learning to implement linear regression for a machine learning class. It is used as a replacement of MatLab, and I find it easy and convenient to use. Last but not least, I have encountered Angular and learned the basics of angularJS during one of my internships. It is also a very helpful tool.

Written before or on February 3, 2020