this post was submitted on 19 Feb 2024
167 points (97.7% liked)
Linux
48390 readers
848 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
There are many ways to contribute. I actually read an article about that a couple of days ago, maybe it will be of interest to you, too: https://github.com/readme/featured/open-source-non-code-contributions
I actually want to learn enough code to contribute, but there's this gap between "how to code" and "how to participate in a modern software project".
Like, I've created plenty of little things. Discord bots, automation scripts, plenty of sysadmin stuff for work, etc. But like, I clone a git repo cause there's a home assistant bug I'd like to fix for example, and I'm immediately lost on where to start.
I dont know how to code but i have made contribs on repos. For documentation and stuff.
Some repos are very complex and some are simple. It is typically roughly corrolated to size: larger projects = more complex. And then it depends on the language/platform/toolchain being used. Some of them can be very ellaborate. If you dont typically work on that kind of project the set up can be very difficult as you are starting from scratch with dependencies, might need dev versions, can be a whole thing.
Also there are some things which are organizational choices made by the maintainers. A couple of times i was unable to contribute to docs because they werent seperated from the rest of the project and just to edit markdown files you had to install a whole dev toolchain and who knows what. I gave up before getting anywhere. Whereas others have different components segregated nicely.
Then there is quality control stuff having to do with testing, formating and such. You might only find out about that once you've got through everything else and time comes to make a PR.
Start out by using git and github or alternative for yourself to learn the basics. Then pick a smaller, explicitly beginer friendly project to make some minor contributions. Something with a few maintainers and regular contributions from others is generally a good balance. Look for an updated CONTRIBUTING file or equivilant section in the documentation.
I think making a few markdown contribs first is probably advisable even for programers because most of the time it is more simple.
That's a really great article, thank you for the link! That was informative and educational and I am a fan.