I am a Software Engineer by trade, and I'm right now trying to learn and contribute to their code base but unfortunately, it takes a lot of time to get used to someone else's code. Hopefully, contributions will pick up once we've all had some time to look at it.
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've been programming as a hobbyist for a decade on and off but I've still never contributed to any projects but I've long wished to. Major imposter syndrome. Would working on this be next level difficulty?
No, it wouldn't be. The first step is honestly to get it running locally, then make sure debugging and breakpoints work, and then pick a feature you want to add or improve, use the debugger to see what code currently executes, and then hook your feature into it. Make sure to familiarize yourself with Rust syntax if you're not already, but I think you could do it.
Maybe this is a good excuse for me to (apologies) shake off the Rust and contribute some. I’ve only contributed once or twice to a FOSS project, though, so I’ll need to read up a little on best practices and etiquette.
Don't shake it off! They need all the Iron Oxide they can get, from what I'm hearing.
Maybe I should learn Rust for this. I've never used it but otherwise I've got 20 years of programming experience so can probably pick it up. I'm very experienced with web development so maybe that's a better area where I can contribute.
I'm in the same boat. I'm thinking this might be the opportunity for me to give Rust a try.
I'm a professional dev who's been doing Rust for a few years, and I just looked into their repo for the core project this morning. They've tagged some issues as being good for newcomers, which is helpful. I already reviewed someone's code there to try to help.
I intend to try to pick off some issues. I like to write code, and I'd like to see this project improve.
They probably could use more manpower to some extent but everyone here's forgetting The Mythical Man-Month; just chucking more bodies at a software project doesn't necessarily speed it up any more than nine women can have a baby in one month.
That said I'm happy to do the odd bit here and there if there's any call for it, either for lemmy itself or BeeHaw.
You're right of course, but there's tons of individual features which can be worked on in relative isolation. The devs need help with moderation tools, performance, frontend, etc. With 200+ open issues I'm sure more developers making proactive pull requests can make a difference.
I would love to participate. I've been doing Rust professionally for seven years now and I understand the language very well. Too bad there is just so much work already and adding a new project feels a bit too much. I'd love to read the source one day though, maybe I find some time.
Front-end developers
There was a posting I saved about some people saying they were going to code on front-end: https://lemmy.ml/post/1199330
They aren't in serious need. The lemmy and lemmy-ui projects have 4-5 regular devs as I can see it. It's just only 2 people being listed. I believe they are also working on getting help managing lemmy.ml.
As I see it, neither of them spend their time on jerboa either, it has two other regular devs.
A lot of the issues that are created are either duplicates, unimportant or useless suggestions. But there are still some major design decisions that are being actively discussed.
Nutomic and dessalines are just the only paid full-time developers of the projects.
There are some pretty serious bugs, though. One serious bug is that when a registration application is denied, the applicant has no way of knowing, it doesn't send an email like it does for approvals - you can find out more here: https://github.com/LemmyNet/lemmy-ui/issues/1096. Another serious bug is after rebooting, active/hot have trouble updating, which makes Lemmy appear much less active than it actually is: https://github.com/LemmyNet/lemmy/issues/3076
These are just two serious bugs I know about, they are practically tier 0 bugs IMO, and I'm sure there's even more serious bugs that are even more serious than these two.
I'll admit that those are serious issues. With that said, one of them is in progress of being solved by one of the maintainers and a volunteer instance host. But yes, it could use more people
I started looking into building a theme for Lemmy, but it was quite difficult to get everything to run well locally. When I did a checkout the main branch had an error in the Rust code and the main branch of the ui had an error that prevented the websocket from connecting to the back-en. I did get it to work by fixing the small error in rust and using a branch that fixed the websocket error. But it was hard to get started.
I was wondering if there is a Lemmy development community here on Lemmy. I tried searching for it on Lemmy.ml, but the cummunties about Lemmy and support don’t really look like they are about development.
That's a good point, there should be a community about developing Lemmy itself on the main Lemmy instance, pinging @[email protected] and/or @nutomic@[email protected], it would be the place to recruit to help, maybe even make posts about specific issues that need attention or something
@mobyduck648@[email protected]
They probably could use more manpower to some extent but we’re all forgetting The Mythical Man-Month; just chucking more bodies at a software project doesn’t necessarily speed it up any more than nine women can have a baby in one month.
Sure, but look at the rapid progress llama.cpp made in the past 3 months, especially in the 1-2 weeks after its launch
btw, my instance just linked to this community so I don't see your comment (which is why this is a root level comment)
If you copy a link to the comment and put it into a search bar (on your instance) you can force a server to prioritise this one comment to load on your instance. Then you can reply with your comment.
I wish so badly I could code, I spent 8 years trying to understand it and get into the industry, but it never quite clicked in my brain. Soooo I do IT infrastructure. I wish so badly to contribute code
The previous calls for forking were not convincing (political), but this post makes sense to, if the community is unable to contribute because of a lack of attention from external help.
I’m not sure if that’s the case and I’ll have to have a look myself.
I’m happy to contribute, and hopefully the process of new contributors (CONTRIBUTORS.md) is easy and straightforward, and the issues are triaged by someone dedicated, perhaps from the community.
One of the first things I did when I learned about Lemmy and joined an instance is see if I could contribute in some way, shape or form.
But unfortunately it's written in Rust, a language in which I have 0 experience and 0 knowledge. :(
Maybe you know more about web or android development, then you could look into contributing to the lemmy-ui or jerboa.
Yesterday I was annoyed at wide code blocks being wrapped, instead of having a horizontal scrollbar, so I took 20 minutes of googling and hacking around with my minimal css skills and wrote a PR, it's already merged and will probably show up on instances soon.
If you are familiar with programming in general, you should be able to use those skills in Rust. Also, there is front end developing to do. I haven't looked into what tool kits they use for the front end, but I imagine CSS, HTML, and JavaScript/TypeScript knowledge would be useful.
Yeah, of course you can learn a new language. But it's only moderately helpful for a FOSS project for random people who don't really know the language and really don't know the project to just dip their toes in and commit something.
Often this causes more work that it helps.
Even as someone with Rust experience, I found the experience of attempting to add a change to be frustrating. Aside from the fact that there's quite a bit of unidiomatic Rust (which I can't be too mad about, but does mean there are a lot of function signatures that just aren't what I'd expect and caused me some pain), the compile times for even small changes are long. After just changing a struct initializer, running cargo check
took nearly a full minute, due to all the dependencies between the crates.
Always a good opportunity to learn something new.
It's really the best language right now for a lot of things. It's not easy to learn but once you start to get parts of it, it's a great feeling.
It's sadly complicated and that's the only problem with it. If it was less complex it would take over everything because it's just so much better.
Unfortunately the complexity is what makes it so good. I don't know how you could make it simpler but remain just as powerful
I'm hoping to contribute to jerboa. That's more my wheel house than rust
Saly, I have no experience in programming, but I'll at least help with transations.
i am a noob, but i'll try just help me when i make mistake.
How is PHP doing these days? It used to be hugely popular, but seems to have fallen into disregard in a lot of circles. I wonder if PHP being seen as a "easier" language than rust will attract more kbin developers?
PHP is hugely popular. People just don't talk about it because the developers that use it mostly keep quiet and do their work :)
I'd rather work in rust, personally. I've heard newer PHP has a lot of things that are better than previously, but I've not worked with it personally.
I'm not a dev, but I do have SOME coding experience and have been wanting to help with some open source projects, if nothing else but for the experience. Rust has been on my "to learn" list for like a year now. I def have a lot to learn, but the best way to learn is to get your hands dirty. I'll take a look at the Github page and see if there's any low-hanging fruit I can try to tackle lol
EDIT: I'm pretty sure I can help with some of these. My coding skills are out of practice, and idk any Rust yet, but I'm a fast learner. Currently learning how to use git to fork a repo, add code, and create a PR, then I'll go learn some Rust syntax and get to work! I'm actually really excited! I've been wanting to figure out how to contribute to FOSS projects since I started daily driving Arch Linux like a year ago, and this is a great opporunity for me to learn!
If anyone has any development tips for a noob like me, let me know! I'm going in pretty blind here, so any advice is appreciated!
Thank you for this. Finally a good reason to learn more rust 👍