Live data from Hacker News

Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc

news.ycombinator.com

11–20 of 30 posts

Re: Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc

#11
post #4

$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.

Seconded. Try reading the last couple of issues of This Week in Rust, and then look at the most recent "Call for Participation" section.

Re: Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc

#12
post #4

$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.

Over the years I've communicated many security bug reports privately to project maintainers and security teams of projects such as OpenSSL, Tor, Python, MITRE. Very pleasant experiences, very kind and thankful and helpful people, so I can't really corroborate this.

Re: Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc

#13
I have contributed to Firefox and Servo and found both communities to be incredibly patient, tolerant and friendly.

You 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
post #4

$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.

Re: Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc

#15
post #2

Mozilla 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 :).

Very nice, lots of documentation and for different skills.

Re: Ask HN: How can I get involved with Linux/OpenSSL/GnuPG/etc

#16
It would probably take two years of coding in C to do real work for those projects. If you want to make an impact, fill in the gaps in their man-power to do the things that are not writing software features.

Go 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

#18
post #4

$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.

"picky about contributions" doesn't mean unfriendly to newbies. For instance, with Firefox, you need to be able to build the project, open bugs, use diff/patch, and that's about it. You open a bug or pick up someone's open bug for an issue you care about. You attach a patch to the bug, possibly discussing it in IRC or on a mailing list. When you think the patch is ready, you ask for a review. The review is a picky but not unfriendly process. That will help you get your patch up to the project's standards. Then you get a super-review. And your patch gets in once that passes.

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
post #4

$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'd say there's more review on m.o projects than at any medium-large company I've worked at. It's not hostile at all, and I've learned something the times I've cared enough to shepherd a patch through that process.

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

#20
The number one thing you can do is regularly use and exercise the piece of software of interest. Want to contribute to OpenSSL? Use it! Use it in a way beyond that of a "how-to" tutorial on a first Google hit.

Second, 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).

Post reply on HN