Hacker News new | ask | show | jobs
by MichaelRazum 565 days ago
1) Is this really the case? I mean some of the popular open source project are kind of mature. So you would get some feedback, regarding some specifics of the frameworks. For sure you would learn a bit. On the other hand they are kind of "done" software, so you would not really learn how to build something new from scratch.

Not sure about the other points.

4 comments

You learn so much by looking at how mature succesful software looks under the hood, which you will have to do as a condition for writing a good PR.

But, sure, don't send PR's for things that don't matter just to send PR's, that's just annoying.

But if you send a 3-line PR to fix a bug, that required 15 hours of study of the code to diagnose and figure out the right 3-lines, that is HUGELY educational.

Working on immature or even poorly written software can be super educational too, nothing wrong with that too.

But if you only ever look at hacky not-yet-mature not-yet-proven software, how would you ever learn to write high-quality software, or even know the difference? You have to study known good code. The way programmers study something with a natural goal instead of just artificially, is in the course of trying to alter it "correctly", the study you must do to figure that out.

(I know some programmers who have literally never worked on anything but over-engineered architecture-switched-every-month-for-years barely-holding-together technical debt bankrupt software... and I think sometimes some of them literally don't know anything else is possible! Looking at mature respected code is crucial, if you don't even know what it looks like how could you possibly try to get there?)

One of my best contributions was a 1 line fix in one of Microsoft's repos. It took me a day or two to understand the code and what it was doing but it was well worth it.
+1 on the "reading other high quality code" part to improve your craft.

Getting your own work critiqued is unmatched, but reading what others did is the next best thing.

Mature projects are probably the best to work on - they have built a good foundation to study.

As the other poster pointed out, heavily contribute implies the project still could use some major new features and there is plenty to do. Even porting something KDE to QT6 would be a major effort and teach a lot even if you don't write any new code. There are projects that are complete as well and so there isn't much to do.

'some of the popular open source projects are kind of mature', so find popular projects that aren't mature, or 'done'? There are countless.

I wouldn't say you'd only learn specifics of the frameworks. Maybe if you only submitted 2 or 3 PRs, but that's not what parent is suggesting: 'start contributing heavily'.

Most PRs I've opened seem to languish forever, until I get tired of seeing them in /pulls and close them myself. It really depends on the project.