When Linus Torvalds first announced his new operating system, Linux, on Aug. 25, 1991, it was a “completely personal project,” Torvalds said at LinuxCon today. The kernel totaled 10,000 lines of code that would only run on the same type of hard disk Torvalds himself used because the geometry of the hard disk was hard-coded into the source code. And, he expected only other students to be interested in studying it as a theory.
Those early days were his most memorable, he said, when he was working to solve tough problems and create something out of nothing.
“Even the slightest sign of life makes you go “Wow, I really mastered this machine,” Torvalds told Dirk Hohndel, who interviewed him on stage. “You’re pumped because you got a character on the screen.”
The Linux kernel now supports more than 80 different architectures, Torvalds says, and counts 22 million lines of code with more than 5,000 developers from about 500 companies contributing, according to the latest Linux Kernel Development Report released this week. It is the big, professional project that Torvalds himself didn’t expect in that first public announcement 25 years ago.
These days, Torvalds no longer writes much code. And during the past 15 months, he was responsible for signing off on just 0.2 percent of patches submitted, according to the kernel report. Instead, he’s focused on making sure the development and release process stays on track.
“I can be proud when the release process really works and people get things done and we don’t have a lot of issues,” Torvalds.
During the past 10 years, the release schedule has stayed remarkably consistent. A new kernel is released every nine to 10 weeks, working at an average rate of 7.8 changes per hour. For the 3.19 to 4.7 releases, the kernel community added nearly 11 files and 4,600 lines of code every day, according to the report.
It has not always been smooth sailing, however. As Torvalds pointed out, “it really did take a while before it turned professional, and some of us still struggle with it at times.”
When Linus Torvalds Almost Quit
Fifteen years ago, when commercial interest in Linux began to increase but the kernel community was still very small, the process started to become unmanageable, Torvalds said. The community decided to switch to the Bitkeeper revision control system, which was a lifesaver for Torvalds “because the process before that was such a disaster,” he said.
“That was probably the only time in the history of Linux where I was like, “this is not working,” Torvalds said. “In retrospect that might have been the moment where I just gave up.”
He later created Git to further scale the development process, when Bitkeeper became too unwieldy.
Since then, things have run much more smoothly. To be sure, there have been points when Torvalds became so frustrated he considered walking away, he conceded. He would get angry and pledge to take a week off, but he would inevitably be back the next day after taking some time to cool off.
“Power management was such a bummer for so many years. We really struggled with that, where you could just take a random laptop and suspend it and resume it and assume it works,” Torvalds said.
Torvalds’ own mistakes during the 2.4 cycle also created problems with memory management that took a long time and a lot of effort to fix, he said.
For the most part, however, the technical issues have been small compared to the social challenges involved in organizing a project largely consisting of volunteers at first, and then kernel developers paid by companies with competing interests, operating in disparate markets with vastly different computing needs.
“I used to be worried about fragmentation and thought it was inevitable at some point,” Torvalds said.
This is where the GPLv2 (Gnu General Public License) license — which governs how the software can be copied, distributed, and modified — has been critical to the success of the project. The license requirement that changes to the code be made available, has been key to avoiding fragmentation that plagued other open source projects, Torvalds said. Under the GPL, developers can rest assured that their code will remain open and won’t be co-opted by corporate ownership.
“I love the GPL2,” Torvalds said. “It has been one of the defining factors of Linux.”
Today, the newest operating systems such as Zephyr and Fuchsia are being developed for tiny systems designed for the Internet of Things. Torvalds admitted that he does not look at the source code for these projects anymore. He contends that it isn’t helpful for him to look at source code for a project unless he wants to fix it. However, he stated that in order for a project to become big and attract contributors, the license is important.
“Under the GPL… nobody will take advantage of your code, it will remain free,” he said.