Week 1 - An Introduction
Thoughts on Open Source:
When I hear the term “open source”, I think about the demystification of software. You can pull back the curtains, and see the code that enables us to do so much.
The advantages of open source is that you know what you are using. You also have the flexbility, if needed, to modify the software. Need to fix a bug quickly or modify functionality? No Problem. But if there’s no community backing the project, don’t expect any updates. It’s on you.
As for closed source, it’s the opposite. Developers keep software private in order to monetize it. But in order to get customers, they need to make good software. So often times the projects are well maintained and work properly. If you need support, people are available. But you will no longer own the code you are running, and you must trust the developers behind the project.
I want to contribute to projects that I use, and I hope that I’ll get to do so through this course.
The tools I use:
In a world of Software As A Service, it is easy to forget or never even realize that things we use every day are open source.
Open Source software that I use on a daily basis includes:
- Immich. The Immich team has done an amazing job creating an image backup took capable of replacing Google Photos.
- PiHole. This DNS sinkhole allows me to prevent DNS resolution as well as control different aspects of my network. It also provides great visualization tools that make network activity observability very simple.
- VaultWarden. It’s an easy-to-use and secure password manager. Far more features and functionality than your standard managers.
- Grafana. An excellent dashboarding tool for displaying and monitoring time-series data. I have used it for my work.
- Nextcloud. If you truly want to replace Google Drive, Nextcloud is what you need. It is fully featured, but needs a decent amount of computing power to host all of the services it offers.
- Keycloak. Developed by Red Hat, Keycloak is an amazing open source identity management platform. It is very easy to install and integrate in whatever web-app you are developing.
- Spek. A spectrogram analisis tool that helps me to ensure the music I am downloading is the advertised quality.
Some of these are at the top of my list for what I may choose to work on this semester.
Exploration of Open-Source projects:
R/selfhosted also has lots of projects. Their Wiki is expansive and has a massive list of self-hosted, open-source projects that could potentially be contributed to.