When you say you like Javascript, do you like web frontend dev? If so, you could try contributing to lemmy UI - could be pretty rewarding to see your work being deployed on the instance you use!
Programming
All things programming and coding related. Subcommunity of Technology.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
I did some projects in React and Vue. I see Lemmy is using inferno. I don't know that one yet, but I will look into it. Thank you for the hint.
There is a new SvelteKit javascript project for a lemmy-ui alternative: https://lemmy.world/comment/258368
I like looking for issues that are tagged as „good first issue“.
There are sites that make this even easier.
Look for projects that you think you might want to support in a language you know and help them out in those issues.
Oh that is great! Thats exactly what I was searching for. Thank you!
Any chance you know more than one human language? Some projects need translators!
Anyone who can program should not be translating. There are many more people who can translate than program.
That really depends on the language pair. Even a big language like Chinese has a lot of interesting stuff on github that never gets translated because the number of people can and are willing to translate isn't that high.
English and German. And that is an interesting idea as well.
https://github.com/topics/good-first-issue
Any issue marked "good first issue" should be good for someone new to the project to tackle. The link I posted, the 2nd entry is a repo with docs on how to contribute to projects.
My best recommendation would be to find a project that is written in languages you're familiar with and maybe even is on a subject you're familiar with (e.g. data management, audio transformation, business logic, statistics, whatever) and just dive in.
Awesome Lemmy Instances is a Python script that has a few open issues that appear to be straightforward.
For me, it was starting to use neovim that got me into open source. Because it has so many plugins, and authors are usually super thankful for contributions (most of them have day jobs and limited free time).
I wrote my own neovim plugin and I got like 10 people making contributions to it within a few months. It doesn't sound like much but it actually feels really nice and fun.
wait people still use lua?
There is nothing better for small footprint and amazing speed, unless you want to write C directly. Neovim has it integrated in it's core, which means plugins are really fast.
Honestly, just contribute to whatever software you're already using! The most obvious example (that somebody else mentioned already) is Lemmy itself, but surely there are many other open source pieces of software that you use on a daily basis. If there's something that annoys you, or think it could be improved... there you go.
At least, that's how I got into programming.
It's not as "glamorous" as coding often is seen as, but what almost every open source project needs is better documentation. It's also something that can help you be productive as you're learning a codebase.
The most rewarding thing is contributing to some project you are using, helps keep it alive.
Python Projects
- Pyray: An open-source project that allows users to perform 3D rendering through simple Python code[1].
- OpenCV: A library of programming functions mainly aimed at real-time computer vision[1].
- Flask: A micro web framework written in Python, designed to make creating apps easy and fast[2].
You can find a list of 56 Python open-source projects[2] and 35 Python projects for beginners with source code[3].
Go Projects
- Docker: A platform for developing, shipping, and running applications in containers[4].
- Kubernetes: A container orchestration platform for automating deployment, scaling, and management of containerized applications[4].
- Etcd: A distributed, reliable key-value store for the most critical data of a distributed system[4].
You can find a list of 14 popular Go open-source projects for beginners[4].
JavaScript Projects
- React: A popular JavaScript library for building user interfaces, developed by Facebook[5].
- Node.js: A JavaScript runtime built on Chrome's V8 JavaScript engine, allowing developers to run JavaScript on the server-side[5].
- Vue: A progressive framework for building user interfaces, focused on the view layer only[5].
You can find a list of 24 JavaScript projects for beginners in 2023 (with source code) [6].
For more beginner-friendly projects, you can check out the "Awesome for beginners" list on GitHub[7]. This list contains projects in various programming languages, including Python, Go, and JavaScript, with labels like "easyfix" or "good-first-issue" to help you find suitable projects to start with.
Citations:
[1] https://www.upgrad.com/blog/python-open-source-project-ideas-topics/
[2] https://data-flair.training/blogs/python-open-source-projects/
[3] https://www.guru99.com/python-projects-for-beginners.html
[4] https://daily.dev/topic/14-most-popular-go-open-source-projects-for-beginners
[5] https://brainhub.eu/library/javascript-open-source-projects
[6] https://mikkegoes.com/javascript-projects-for-beginners/
I think something you use on a daily basis would be the best. This video explains why: 4 Years of Developing a Side Project
First check if anything you're using is on github, accepts contributions and has some open issues that looks simple to solve, or if theres some new feature u want to propose, then follow their steps for contributing.
Don't go looking for issues on stuff u don't use or don't plan to use, or at least some friend/family uses, it'll feel like a chore and you will have to spend a lot of time figuring out how stuff is supposed to be used what anything does and why...
This is an unusual question, but how have you been programming for four years and not know how OSS works?
Don’t you interact regularly with GitHub for work?
They asked how to discover good projects to work on. They didn't say they didn't know how GitHub works. I've been a developer for almost 20 years and, while I love open-source software, I don't interact with many open-source projects on GitHub because my day job and my own projects take up a lot of time. I've made a couple of contributions but time has never permitted me to get too deeply involved. Anyway, it's quite possible to be a decent, even experienced developer and not to be an regular contributor to the open-source scene.
I have met a lot of people that don't interact with most of the outside code world for various reasons. Mostly it's draconian rules (sometimes company mandated, sometimes regulatory), but sometimes what they've been working on is just so niche that there really aren't anything out there for them to interact with.
Searching github by the "good first issue" tag can be a good way to get your feet wet on open-source contribution with small, often low-risk tasks that'll get you used to the contrivution flow. Then, you can find a project you care about, find (and open) an issue with it, and make the improvement yourself! It doesn't have to be big, a lot of small contributions add up quickly.