Week 1 - What is open source?

First Impressions of Open Source

When I hear open source, I think of software that is publicly available for use, free of charge, and also free to modify. I have been using open source software for longer than I have been aware of the term open source. Wikipedia is one of the first websites I ever remember going to, back when I was first introduced to the internet. Wikipedia is a pretty good example of some of the most obvious pros and cons of open source software: since anyone can edit Wikipedia, it is filled with a staggering amount of information from people all over the world— but for the same reason, it is possible for it to be filled with false information. Over the years I have had different stances on this tradeoff- in elementary and middle school, especially, I remember my teachers being quite critical of Wikipedia and its risks- but these days I have a lot of appreciation for Wikipedia despite all its flaws.

Since they are free to modify, I often associate open source projects with communities of developers working together to build something, and since it is provided for free, I usually think of these developers as working on a volunteer basis, although I know this is not always true. Last semester I spent a lot of time using PyTorch and TensorFlow, two open source machine learning libraries developed by Meta and Google, respectively— I really doubt the people making those were working for free. Those were both robust, well-documented, and accessible libraries and I was initially a little shocked that they were published for free, especially by two companies that I usually perceive as very profit-driven. I still doubt that the decision to make these libraries open source was purely benevolent, so it must be true that publishing software as open source does not mean that you can’t make money on it. Further, I doubt Google and Meta want amateur data scientists modifying their finely-tuned systems, so there is clearly some kind of version control stopping randoms from making modifications to the main PyTorch and TensorFlow.

Smaller Open Source Projects

Even though companies as big as Google develop open source software, there are absolutely smaller teams making open source software, too. In high school I got interested in video game console modding, and open source software on GitHub allowed me to do things that I had nowhere near the technical expertise to do myself. RocketRobz’s ndsForwarder in partiuclar was a project that I got a lot of use out of. This is another benefit of open source software- very niche projects that don’t have the kind of widespread applicability necessary to make a profitable product can still be created and distributed to those who might need them— but as I saw when I was using them, they come with a major downside, too: they often are deprecated, no longer being supported, and no one knows quite exactly how they work, so tech support can be extremely limited. These smaller, more underground open source projects often require a lot of troubleshooting on the part of the user. Ultimately, though, I think this is well worth it, since without open source philosophies, they probably wouldn’t exist at all.

Written before or on January 24, 2025