Intro

Originally, I thought of open source as pretty much any free code base that can be pulled from the internet without taking in account its licensing, which I now understand is extremely important for the legality of using said code. There is a spectrum of licenses made for the purpose of labelling a project as meeting the most basic definition of open source in terms of distribution and modification of code, while having the potential for additional rules that do not go against that definition. I have always wondered why corporations see starting/maintaining open source projects as a venue for profit, and now realizing that there is a variety of open source licenses, I understand their goals a little better. The profit goes both ways however, corporation backed open source software may have better longevity which benefits the community, while the corporation can get free code maintenance from the community. In addition to this perhaps the corporation could use this now community and corporation backed software in other endeavors that they could profit from. It’s a cool system!

The alternative to this is closed source projects, which I dislike greatly, as the longevity of these projects is greatly reduced. Ultimately the code disappears altogether as company hard drives are wiped and new technology appears which could make that closed source software outdated. This is in spite of how this now non-existent code may have had the potential to be used in many interesting ways outside the scope of the original project.

I played a lot of video games growing up. Some of these video games would have software packaged within the game files that allowed the players to inject their own models, textures, and sounds into the game, modifying the game world. Eventually these modifications reached the point where people would make entirely new games with the game engine and the modification software. While not all of these were open source projects, many of them were, and it was always sad seeing interesting closed source mods (game modifications) dying due to a lack of a community to maintain and build it. A great example of this is OpenMW, a modern recreation of an old RPG called Morrowind. It is backed by the original creators of this RPG and is completely open source as all assets (models, textures, code, etc) have been recreated by the community. While it does require a user to buy the original game to play, one could write software for this project without having the game. They have added things that were not included with the original game, such as fully functioning multiplayer, and various graphical updates that would not have been possible using the original code.

Another interesting open source project which I have used greatly is called Dolphin, it’s an Nintendo console emulator that is able to run games on consoles that have been out of circulation for years allowing for these games and console platforms to be enjoyed far past their intended death dates. The reason it is technically open source is that all the code that emulates these consoles has been rewritten giving Nintendo no legal ground to sue or stop this project. Playing the games itself requires one to transfer data from an original disk onto a computer which is legal if one owns the disk itself.

An open source project I used a lot last semester for my CS classes is Notepad++, originally I would use vim on a virtual machine with some form of linux on it to program C projects, but I got sick of how slow the VM would get as it was not able to utilize my computers hardware, so I downloaded unix on windows and started using Notepad++ in addition to the unix terminal to code in C, and it was a great quality of life improvement. And I believe that Notepad++ has existed longer than I have so that is a testament to the longevity of open source projects.

I was working with a guy from JP morgan to create an open source version of some of their business software, and one of the technologies we planned to use was MariaDB which is one of many open source database systems out there.

Written before or on