Week 1 - Intro To Open Source

When I think about the term open source, I think about being free to use or modify the tool, just like how we can use math for any purpose we want. Pythagoras holds no copyright over the equation a² + b² = c². That’s the type of freedom that comes to mind when I think about the term “open source.”

However, I’ve chosen this class for pragmatic reasons. I think I would be a better programmer if I gained experience working in a large codebase written by many people. So far, most of my coding experience has been in projects written only by me or a couple of people. However, programming has an important collaborative aspect; I need more experience in that regard.

Nice Open Source Projects

Godot

Godot is the leading open-source game engine, and it’s rapidly gaining popularity due to its extensible design, relatively easy learning curve, and powerful rendering support.

Recently, one of the biggest commercially available game engines, Unity, made changes to its pricing plan that undermined the freedom of the developers. They stated that the new pricing plan would also affect games that had already been released. Although they adjusted the plan after receiving great pushback, this move made clear that when you use a commercial engine to make your game, you never fully own the product, even after its release. As a result, a lot of game developers turned to open-source alternatives, and so far, Godot is leading the race.

Neovim

Neovim is the current text editor I use. It is lightweight, super fast, and allows for great customization via the scripting language Lua. You can basically make it do anything you want. Since it’s open-source and easy to customize, many people have gone ahead and written great plugins. If you choose to do so, you can get an IDE-like experience by adding relevant plugins (or writing your own). Alternatively, if you want to keep it lightweight, you’re welcome to do so as well.

Neovim is a fork of Vim, and its main benefit over Vim is the Lua support, making it easier to customize/write plugins. Therefore, there are more plugins available, allowing for a broader range of functionality.

OBS Studio

I use this software to shoot YouTube videos and record my screen simultaneously. It’s quite stable and works exactly as you’d expect from a recording software.

Krita

I’ve used this program to create logos, banners, and visual elements. Apparently, you can do much more with it—it’s actually intended for artists and is essentially a painting program.

Written before or on January 25, 2024