I think there's three factors in play here.
One is, tangentially discussed in the article, access. If I want to contribute to something on GitHub, I just hit the fork button and i'm away. Getting into Linux development is not only technically challenging, but dominated by corporate, salaried developers who are (rightfully) protective of their domains. There's little of the old community spirit there. Not only that but it's disparate and scattered, split between the kernel, the primary daemons, the distros, the desktop environments etc., all with ever so slightly differing approaches. It's just *hard* to get into, and even harder to see results.
The second, again discussed in the article, is that Linux is somewhat... boring. It's low level, it's not sexy. The sexy stuff that does exist gets mired in the distro-wars. Even something interesting, novel and appealing like systemd has to undergo a verbal battering from the purists.
The third is a generational thing, in two parts. Simply put, most new developers Don't Know C. We might have received some rudimentary training on it, but our languages of choice these days are more likely to be Java/C# or Javascript or Python or Ruby or whatever. Similarly, we're not as familiar with the inner workings of an OS as our predecessors. That represents a barrier to entry.
And, in hand with that change in language focus, today's open source developers don't want to work on GPL'd code. I'm in my mid 20s, I contribute to a handful of open source projects of varying scale, and if I see the GPL I run a mile. Most of my peers on the London scene are of a similar attitude. We no longer equate the GPL with open source. Restrictive licenses don't fit with our view of the world. It's no longer necessary and often outright toxic to a project. This devil-may-care attitude to licensing extends to the point where, despite GPL being in the minority of licensed projects on GitHub, most GitHub aren't even licensed! We just aren't as militant as our parents.