Torvalds can be a jerk, but developers don't seem to care, as a new report shows.

Linux founder Linus Torvalds can be a jerk, by his own admission. But according to the latest stats on Linux kernel development, Linux developers don't seem to care.

As the latest edition of the Linux Foundation's "Who Writes Linux?" report demonstrates, the Linux community remains an exceptionally welcoming place. Over half of all contributions came from newbies, undermining the argument that Torvalds' sometimes chilly reception of would-be contributors does harm to the Linux community.

A curious "welcome" sign

Linus Torvalds doesn't care if you like him, and it sometimes shows. Torvalds has been known to execrate would-be Linux contributors. If he disagrees with your approach, you're going to hear about it, and not always very nicely.

In fact, as the Finnish developer dismissively suggests, "this 'you have to be nice' seems to be very popular in the US," while "I'm just not a huge believer in politeness and sensitivity being preferable over bluntly letting people know your feelings."

Torvalds' bluntness is legendary and can be unpleasant. And yet... Torvalds clearly reserves his vitriol for bad code, and not necessarily bad people. He's interested in preserving the integrity of Linux's quality, not in abusing any particular class of people.

Whether one agrees with his approach or not, it's hard to argue that it's hurting the Linux kernel community.

Newbies a'plenty

After all, despite some concern that Torvalds has created a toxic environment for prospective contributors, the numbers simply don't support this worry. With each release, the influx of first-time Linux contributors grows.

As the Linux Foundation's report reveals:

Over the course of kernel development, since the use of Git began, each kernel release has included contributions from 200-300 developers who had never put a patch into the kernel before

With 4,171 total developers contributing since kernel release 3.11, and 1,963 being first-time developers, this means that in the last 15 months, roughly half of all Linux contributors were new to the kernel community

This is somewhat amazing. It would be hard for any organization to digest such a huge influx of new contributors, but it's doubly difficult given the pace of Linux development.

"Torrid" doesn't begin to describe it.

As the report notes, Linux's "rate of change continues to increase, as does the number of developers and companies involved in the process." How fast is fast? Well, "The average number of changes accepted into the kernel per hour is 7.71, which translates to 185 changes every day and nearly 1,300 per week."

That's fast.

Paid to be friends?

At that frenetic of a pace, it's not surprising that tempers would flare up and feelings could be hurt. Yet it doesn't seem to be slowing the Linux community's ability to assimilate new contributors.

Of course, many new contributors may simply not have a choice. As surfaced in the report, 80% of all contributors to Linux are paid for their work (and more than 50% of new contributors). As such, they're well-compensated to take the abuse that may come from a caustic environment.

But that doesn't adequately explain the persistent popularity of Linux.

Whatever his personal foibles, Torvalds has managed to build a highly durable, and even inviting, community that attracts some of the world's best developers, as well as a constant crop of new recruits.

While direct interaction with Torvalds lessens with each release -- Torvalds now signs off on just 0.4% of the total number of patches, a percentage that keeps declining -- his imprint on Linux only increases as he delegates more and more to subsystem maintainers to review patches and maintain the code.

In short, the Linux community is amazingly healthy, and Torvalds deserves credit for creating an environment in which great code, and great developers, feel welcome. Some may describe him as a "terrible role model," but it's hard to find justification for that assertion in Linux contribution statistics.

Also see