$bigScaryOpenSourceProjects are very picky about how contributions are made and are unfriendly to newbies. Most of your time will be spent arguing over one or two lines of code. If you haven't contributed to open source before, your best bet is to start on smaller open source projects who have forgiving maintainers.
For instance, Rust. They're the friendliest community around.
Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc
11–20 of 30 posts
Re: Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc
#12$bigScaryOpenSourceProjects are very picky about how contributions are made and are unfriendly to newbies. Most of your time will be spent arguing over one or two lines of code. If you haven't contributed to open source before, your best bet is to start on smaller open source projects who have forgiving maintainers.
Re: Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc
#13You can find bugs in bugzilla (firefox) or github (servo) that are labelled as suitable for newbies, my advice is to try and build it first then pick one up and go for it!
Re: Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc
#14$bigScaryOpenSourceProjects are very picky about how contributions are made and are unfriendly to newbies. Most of your time will be spent arguing over one or two lines of code. If you haven't contributed to open source before, your best bet is to start on smaller open source projects who have forgiving maintainers.
Re: Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc
#15Mozilla has documentation on this, see https://developer.mozilla.org/en-US/docs/Mozilla/Developer_g... For the other projects you listed I’m not aware of such documentation, but I’d recommend you just go ahead and ask them directly :).
Re: Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc
#16Go to their bug trackers and start working on the smallest bugs. Or write extensions for the most popular new languages to use their libraries or apps, so new programmers can take advantage of the existing crypto. Or write or update documentation. Or write user-friendly guides on what people need to use and how. Or fill the holes in their test routines to find new bugs faster, and build new test platforms for wider platform coverage. Or track down performance bugs.
Re: Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc
#17Re: Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc
#18$bigScaryOpenSourceProjects are very picky about how contributions are made and are unfriendly to newbies. Most of your time will be spent arguing over one or two lines of code. If you haven't contributed to open source before, your best bet is to start on smaller open source projects who have forgiving maintainers.
Newbies can and do meet the standards for contributing, and it's not painful IME.
Re: Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc
#19$bigScaryOpenSourceProjects are very picky about how contributions are made and are unfriendly to newbies. Most of your time will be spent arguing over one or two lines of code. If you haven't contributed to open source before, your best bet is to start on smaller open source projects who have forgiving maintainers.
How would you compare it to code review at a medium to large tech company? At work there's certainly a lot of back and forth but it never feels hostile, and I usually learn something.
I don't think it's unfriendly to newbies at all, other than the size of the codebase being so large that it takes considerable time/effort to understand well enough to make a patch you're willing to work through getting integrated.
Re: Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc
#20Second, I would say start reading the manual, or at least skimming it. Get a better understanding of what the software actually intends to do, not what you think it intends to do. Remember that documentation is a part of software, so improvements are always welcome here!
Then, after, you can learn how to build the software. Make an easy modification (like changing a title, or changing something that gets printed out), and recompile and observe the change. From here you can look at a high level what gets built in what order, and what's important in the project.
Finally, you can start thinking about bugs that have been recorded in a bug tracker, or attempting to implement a neat improvement or feature. Look/ask for guidance, so you don't spend time doing something that ultimately no one will want or care about (which isn't to say it wasn't appreciated, but many projects have specific guidelines/goals/etc. and it's important your changes fit with those).