I’m not normally one to make a New Year’s resolution. I’ve always found them a bit cliche with the “New year new me.” statements and posts. More often than not I find many don’t stick to them as once they SAY they’re going to do it, they feel fulfilled and move on.
However, this year I do want to set one. I’d like to contribute some how to FOSS. I use, consume, view, tons of community content and projects both in the form of GNU/Linux and individual community projects. I also almost daily watch half a dozen or so of many of the content creators from the Creator Summit, and you’ve all helped me so much in my career and journey.
Now, I’d like to give back. The problem is I can’t code. I’m not in an immediate rush to learn something like Python, Rust, or C, though will get to Python at some point. So, I’m going to try and keep my eyes out for a project I love and donate when I can or offer help how I can!
If anyone has any suggestions or experience contributing to a project in a non-coding means, please let me know I’d love to hear!
Here’s how I would contribute to a project in a non-coding means.
Part of FOSS is also documentation/wiki/github pages and readme files or even tutorials!
So for example, run through the projects readme or documentation:
- Does it work?
- Follow the steps and can you get the project up and running as the documented it?
- Are there spelling or grammatical errors?
- Do you know another language you could translate it to?
- Can you expand on it to provide more examples or explain things better to help somoene new get started?
- Could you build a tutorial for the project?
Some projects have “Help Wanted” issues on GitHub which are documentation fixes, or simple coding items. Worth seeing which of those you could tackle!
This is a great point, one which I’d heard mentioned a couple times on podcasts, I tend to forget about it though. I write in Markdown quite often as I use Obsidian. I also write tons of docs for work in Confluence as well as work in Git.
The tutorial idea is smart as well. My 2024 plans also were to launch and maintain a website/blog for jotting down my homelab journey and other ramblings. I suppose just having another tutorial out there in the world also increases user count for a project!
@SpringerSpaniel, this is a great tip as well! While I have never seen one listed, I’ve also never thought or known to look for it. I’ll for sure be on the lookout from now on. I know it sounds strange, but I do actually enjoy writing up documentation when the infrastructure isn’t on fire. I genuinely like teaching and helping others come to their “ah ha!” moment, especially when it comes to self-hosting, data sovereignty, and privacy.
Having worked alongside DevOps folks for quite some time, I’ve met some brilliant team members who were less than savvy doc writers. Many coffee-fueled afternoons helping them add more than just “draw the rest of the owl”.
I try to help out all products/projects that have a similar level of transparency as 45 Drives has done with cockpit via github.
While I cannot use every configuration that the software supports, I try to learn the software to post feedback, bugs, etc regarding the most common use-cases (or the default install).
It is one of the main reasons I have a Cluster of virtualization servers.
You will be surprise how participating on the product/project forums will help the maintainers.
If you don’t have a non-work account on GITHUB, I would suggest creating one. As you noted you are familiar with markdown, many GITHUB projects use markdown. Some projects may not have fancy instructions, etc. You can always contribute by creating an issue, etc.
I do have a personal Github account (or two) that I’ve been using more as of late. I have a good amount of hardware too, so this really seems the best course right now for me!
I think this one will be really beneficial for myself as well as I may start to pick up on areas I’m interested in too and get to dive deeper than I normally would!
You can your own github repository to make you familiar with all the commands.
I started putting some of my simple scripts that I used within my homelab. Then after watching a few people on YouTube suggesting to start your configurations for your important servers on your github repo, I started doing that.
One of the things I want to do in 2024 is to update/improve some of my old servers – even retire older units. The HL-15 unit motivate me to actually start doing that as my HL-15 replaced my first TrueNas Core server.
Currently my Homelab stuff is being pushed to a self-hosted Gitea repo, mainly due to laziness of trimming out non-public things like IP’s and secrets. Terrible habit, I know! I’m working on getting better about that so I can eventually move some things public.
But man, do I enjoy the simplicity, speed, and peace of mind in a self-hosted repo. I’ll probably keep both but just better sanitize.
I started with a self hosted repo.
As I started to learn terraform and ansible, I wanted to break my habit of hard coding ip addresses in these scripts. These values are parameters to these scripts. Now I can store these scripts on GitHub without worrying about my ip addresses being published.
For anything that is not production, I assign all my ip address via DHCP (on my pfSense unit).
Terraform, the one that still eludes me. I’ve been using Ansible for a bit now and really have grown to love it. Terraform is on my list this year though.
Terraform is not that bad to learn once you understand the requirements. If you know Ansible then you should be able to learn Terraform.
Terraform for a windows virtual guest instance is not easy. I have got the base image created using Terraform, then use a powershell script to finish out the windows configuration (also use a combination of windows policies once the instance joins the windows domain).
Who says you need to know how to code, to code?
ChatGPT 4 is more than capable to do the grunt of whatever open source contributions you want to participate in. I use it in conjunction with: https://continue.dev/
I would also encourage you to have a look at Short Courses | Learn Generative AI from DeepLearning.AI to get a deeper sense of what’s possible today.
Also this book might come in handy helping you think about the topic in detail, let me know if it does: Forge Your Future with Open Source YMMV, though might still be helpful in the age of AI
And if you’re torn between starting/joining a permissive or reciprocal licensed open source project, DHH will help settle that: I won't let you pay me for my open source
Yeah. Windows is certainly a PIA with configs. But I can always build an image with packer and push that and have Ansible deal with configs and last mile in Windows.
I’m working on that right now at work. Getting WinRM to work properly is a pain. I didn’t want to use service accounts as I have RealmD running on the box with PAM. That lets me do everything through AD along with having an audit of all auth transactions in AD Audit.
I actually did just get Kerberos working though and am going to finish the missing pieces this week.
With my “day job” I completed a project to auto deploy a bunch of software to a windows virtual server stack. I used the same strategy using a template (via packer) combined with Windows Server Update Service to deploy any of the customer’s software solutions.
I found Powershell script can be written into help modules. Powershell sessions can also offer additional methods to remotely connect to other nodes.
ChatGPT can help with a lot of things.
@lawrencesystems has shared on his vblog how chatGPT helps him with the log parsing sytnax for graylog.
I have used ChatGPT to prototype or draft some initial framework. Then tweak the routine to meet my needs. As a tool it does a great job with syntax checking as well as troubleshooting/debugging.
I have taken Powershell scripts and convert to python routines.