What is open-source contribution
Script
Story
While I was preparing to film one of my videos, I had to realize time had passed. My wife arrived home, and she had an online training in the next room. She also started the washing machine.
Thank God I was only preparing a script or something to work with. I use Obsidian daily, and I also use a bunch of community plugins. Some of them have options on how you can support their work; some might need help with it. To prepare for my “presentation”, I used Advanced Slides, which is a community plugin, and it enables you to create a cool-looking presentation in Obsidian while you use markdown notes.
If you know me, you know I’m a huge fan of open-source, but I find it hard to find a good project or time to contribute. And I’m really ashamed about it.
So, I didn’t have time to finish that short video. I moved the script to my Hugo websites folder. Check how it looks locally with Tilt. Made a commit inside VSCode. And uploaded it to my MIT-licensed blog on GitHub.
Do I really not use, support, or promote open-source projects? :D
What does it mean to contribute to an open-source project?
For me, who has 10+ years of experience in software development, it’s obviously contributing to the code. I was the lead developer on multiple projects. Some of them were my own, and others I was hired to code.
But contribution is not just about coding.
The GitHub Activity graph shows other ways how one can help a project.
Issues
At your work, you may find a bug in a project or a missing feature. You can, most of the time, open an issue and start a discussion about it with the team or others interested in it. This will increase your Issues activities.
Pull requests
If you found something to add, then you may want to share it with the community. So you can create a pull request and someone in the project may accept it. This is how you can increase your pull request count.
Or you may choose to use feature branching on your own project, but this is another topic.
Code review
For a long time, I thought I could only do code reviews on projects I had some role in. This is not true. If you have time and the competency, you can help the maintainers by reviewing pull requests and adding feedback.
Like, it looks good to me. I’ve tried it out, and I think it will solve the problem. Or something like that.
Just be positive. Everyone can make mistakes or can have a bad day. Constructive criticism can make a huge difference.
Are there other ways one can help projects?
Support
Many projects can be supported by GitHub sponsors, Paetron, Buy Me a Coffee or other ways. If you use a project, and they saved you a couple of cups of coffee, then maybe they deserve it.
But you don’t need to pay money. There are other ways to support the maintainers. Like, give the project a start. More stars usually mean more useful content.
Write a blog post about them or make a video. This way, you may provide a new valuable connection for the team.
Help them make the project easier to use
In the past years, I found so many good projects. But to be honest, most of the time, it is a pain in the a.. neck to get involved with it. There are no pipelines. Test coverage does not exist. (We can get into the argument that code coverage is useful or not… next time :))
Booting up the project is not clear. So, If I do not know what to expect, from a dev point of view, how will I know If what I’m doing is useful?
Here you can think about dev environments, like makefiles, Vagrant, devcontainers, docker-compose, KIND.
Or help them set up a contribution, licensing, or security guidelines.
Documentation
I have a long history with documentation, and I still don’t like it. But I can teach a trick or two.
If you find a missing piece in a project documentation, you may contribute to it. New translations, examples, tips and tricks, fixing typos (I hate this word :D).
Writing tutorials, wiki pages, and so on.
This made me think
Documentation, well, It is not a typical coding part of open-source projects, but still important.
Is there any similar concept out there?
And yes, there are.
Awasomes
One of my favorites are the Awesome projects. Like:
- sindresorhus/ awesome
- avelino/ awesome-go
- Hack-with-Github/ Awesome-Hacking
- sbilly/ awesome-security
- See more on GitHub
Free for dev
Handbook
But here you may find other interesting business concepts like:
My personal favorite is the GitLab Handbook. If someone asks about DocOps, Security, and team organization, I always show them what GitLab has achieved.
Books
Can a YouTube video be an open-source project?
Well, I need to think hard about why it cannot be. I’ve just published a script on my blog, which I will film. This content, I hope, and there will be anothers in the future.
Thumbnails, video parts, and even music also can be open-source. It is just a matter of licensing.
You may have heard about Creative Commons.
Can a Youtube channel be an open-source project?
Why not?
- Every video can be an epic.
- Every script, video part, music, and after-work can be a user story.
- They can even break down into tasks.
- If someone has a good topic idea, then they may open an issue.
- We can organize the task with Kanban or Scrum.
If this video made you think about how to help the open-source community. Consider hitting the like button, or you may subscribe to my shiny objects channel. If you have other ideas about what type of projects can be open source, you may leave them in the comments below.
I will add links to the projects I’ve mentioned in the description. See you next time.
Thoughts
May 15
It feels kind of strange writing thought about, thought about open-source. I don’t know when I will have time to record it.
And I already feel anxious about how many times I will make a mistake when I hit the record button.
May 19
Today I had time to work on the script. I’ve included every mentioned project in the script. I also did some experiments with the slides. As usual, my tongue wasn’t cooperative. Some of the expressions weren’t natural to me. I definitely need to find a language buddy.
Just before I found the courage to press the record button, a thunderstorm appeared near to my flat. Probably Thor liked my “war” effort. I think I watch too much Vikings lately.
Source: https://marvelcinematicuniverse.fandom.com/wiki/Thor
I’m thinking about dating my blog post. The original idea came on May 15, but I don’t know when I will finish this content. This is an issue because on my site currently, it looks like this unfinished blog post is way older than my previous posts.
I may need to make a decision about it. I cloud use time metadata in addition. Or I could use draft metadata till I finish a topic. Or I could just update the date of publication to the correct one.
May 20
Finally, I hit the record button and I made a half an hour video about this topic. Obviously, I can make some video editing on it, but I’m not feeling the power for it yet. Today is Saturday, so I may get some rest and not overthink what should I do with my content and my open-source efforts.
I always find it hard to upload a video. Like, there are many things you can add to it. Thumbnails, descriptions, tags… monetization and lack of self-confidence. Am I doing this right? Did I miss something?
So I decided to continue these steps tomorrow.
You can watch to result on my shiny object channel.
I should really fix this leaf bundle issue with this Hugo theme. It’s getting annoying to move the images to another folder just to present them correctly in a blog post. And maybe I should google on whether is there a way to configure the naming of the Mac image-capturing feature.
Shiny of the day
And now I’m going to play Minecraft Legends](https://www.minecraft.net/en-us/about-legends). I saw a stream about it today and I kind of like the concept of the game.
You may watch it and decide if worth you time. The language is Hungarian (I warned you :D).
Todos
- Find references to all mentioned projects.
- “Slidify” the script part.
- Add the project list I mentioned to the video description
- Write a description for the video
- Create a thumbnail