Open Source Projects For Beginners 212
itwbennett writes "Whoever said 'everyone has to start somewhere' has clearly never tried contributing to an open source project — the Linux Kernel development team in particular is known for its savagery. But if you're determined to donate your time and talents, there are some things you can do to get off on the right foot. Of course you should pick something you're interested in and that you use. Check, and double check. You should also research the project, learn about the process for contributing, and do your utmost to avoid asking questions that you can find the answers to. But beyond that there are some hallmarks of beginner-friendly open source projects like Drupal, Python, and LibreOffice — namely, a friendly and active community, training and mentorship programs, and a low barrier to entry."
It's my party and no one else is invited (Score:5, Interesting)
the Linux Kernel development team in particular is known for its savagery
I've found that the "It's my party and no one else is invited" syndrome permeates all too many OSS projects. Finally stopped offering to help after encountering one too many projects that act like the snobby fraternity from a bad 80's movie. Now I do my own stuff and forgo the projects that have already started.
The Kernel community isn't as bad as you think (Score:4, Interesting)
Re:It's my party and no one else is invited (Score:5, Interesting)
I've found that the "It's my party and no one else is invited" syndrome permeates all too many OSS projects.
Pics or it didn't happen.
In other words, I've hear this a lot on the internet, but I've never seen it myself despite having contributed to numerous open projects. I expect that there are assholes out there running projects, but there are also plenty of assholes who wish to contribute as well.
I've even exchanged emails with Theo De Raadt himself and wasn't flamed. Actually, he was polite and helpful.
Finally stopped offering to help after encountering one too many projects that act like the snobby fraternity from a bad 80's movie.
I've never encountered a single project like that. However, I have encountered plenty of projects that don't want a large undocumented buggy code blob dumped on top of them, which internally partially reimplements a bunch of existing features badly.
I've been on all sides of this. I've been told that my code wasn't good enough, and needs to be fixed before being accepted. In some cases it was buggy, in others it wasn't in the house style. The latter sounds trivial, but if everyone invents their own way of doing the same thing, then the code gets to be an unmaintainable mess.
I've also been on the other end, telling people that their (sometimes) large contributions aren't up to snuff. Sometimes people take it well, but some people are simply incapable of taking criticism of their precious code.
Re:It's my party and no one else is invited (Score:5, Interesting)
Re:All projects need your help. (Score:4, Interesting)
Indeed. Looking at the code and fully understanding the logic as a basis creating documentation is insufficient in many cases without quite a bit of help from "programmers". Unfortunately, in most projects (both commercial and FOSS), there are many bugs "implemented".
With the dearth of requirements and consistent and coherent design documents and useful code comments, in many projects too often the only way to determine if it's a bug, a feature (perhaps some corner of legacy crap left in intentionally for a handful of users which has never been deprecated), an 'undocumented behavior' that "doesn't matter" is to "ask the expert". If a project has one "expert" who can overrule all others and who engages in resolution of detailed discrepancies, this can work well. If, however, the project is "consensus based", every "expert" can support a different resolution leaving the well meaning documentation writer in the cold. (And I'm ignoring those FOSS projects where there are multiple commercial competing consultancies who are trying to be "top dog" and childishly jump on a situation like this to use as a pawn or a springboard for largely unrelated conflicts - I'm sure this problem resonates some readers here!).
Re:It's my party and no one else is invited (Score:4, Interesting)
My issue is projects that ask for the public to submit bug reports. But when the public does, they get either:
1) Completely ignored for years on end (1)
2) A snide, "if you want it fixed, fix it yourself" response.
3) A snide, pass-the-buck response. "That's not our bug, that's a bug in Java, tell them to fix it."
It's irritating. I've learned to never bother putting in bug reports, even if the project asks for them.
(1) Not even triaged in the worst cases-- Chromium, I'm looking at you. I finally got someone to look at it after 2 weeks by grabbing an email address off the bug tracker and nagging them to do so. By that time it'd turned out some dev has stealthily fixed it without even consulting the bug database first, apparently.
(2) Why do these projects ask for bug reports from the public if they don't want them? Just put up a message that says, "hey we don't WANT you to put in bugs, either write code or go away" and at least they'd be honest with their users.
(3) Yeah, well Java hasn't fixed it in 15 years, and there's an easy workaround you could apply, but if you're ok having shitty software because Oracle doesn't give a crap, I'll just use something else.
Re:It's my party and no one else is invited (Score:4, Interesting)
1) Completely ignored for years on end (1)
I agree with that one. I've had reported bugs go unanswered forever on some projects.
2) A snide, "if you want it fixed, fix it yourself" response.
I don't think I've ever seen that from a project which actually asks for bug reports. The only reports I've made in person have either been ignored or dealt with.
3) A snide, pass-the-buck response. "That's not our bug, that's a bug in Java, tell them to fix it."
You know sometimes there are bugs in other projects. Example: your program segfaults with this AVI. After investigation, so does anything built with FFMPEG, indicating it might be a problem with FFMPEG
If that happens you'll get a pass the buck response probably because hardly anyone knows enough about the internals of FFMPEG to go about fixing that bug.
In such cases, what would you have the author of the software do?