Happy birthday, Linux: From a bedroom project to billions of devices in 30 years
- Reference: 1629876250
- News link: https://www.theregister.co.uk/2021/08/25/linux_kernel_30_years_old/
- Source link:
Thirty years later, that software, now known as Linux, is everywhere.
It dominates the supercomputer world, with [2]100 per cent market share. According to Google, the Linux kernel is at the heart of more than three billion active devices running Android, the most-used operating system in the world.
[3]
Linux also powers the vast majority of web-facing servers Netcraft surveyed. It is even used more than Microsoft Windows on Microsoft's own Azure cloud. And then there are the embedded electronics and Internet-of-Things spaces, and other areas.
[4]
[5]
Linux has failed to gain traction among mainstream desktop users, where it has a market share of [6]about 2.38 per cent , or 3.59 per cent if you include ChromeOS, compared to Windows (73.04 per cent) and macOS (15.43 per cent).
But the importance of Linux has more to do with the triumph of an idea: of free, open-source software.
[7]
"It cannot be overstated how critical Linux is to today's internet ecosystem," Kees Cook, security and Linux kernel engineer at Google, told The Register via email. "Linux currently runs on everything from the smartphone we rely on everyday to the International Space Station. To rely on the internet is to rely on Linux."
The next 30 years of Linux, Cook contends, will require the tech industry to work together on security and to provide more resources for maintenance and testing.
Its first 30 years in hindsight are more plain to see, but the past still requires some interpretation. So The Register asked Greg Kroah-Hartman, the Linux Foundation fellow who oversees stable Linux kernel releases, to explain what just happened, and where it's all going.
The Register : Linux is now about 30 years old and, as I understand it, you've been working on the kernel for more than 20 years. Looking at the initial ambitions for the project and at current goals, what has changed the most and why?
GK-H: The original "goal" of "provide a working kernel for everyone to use that works on all hardware" seems to be still our current goal, not much has changed there :)
[8]
Also, there was our stretch-goal of "world domination," and that actually happened, so our job is to keep that up :)
Seriously, we all just wanted to make a kernel that would work for us, and for others, to get their real tasks done. That is still what we do today, and will be doing tomorrow. It's not magic, or special, but it is what we like doing.
The Register : What lessons might the Linux project offer to other open source projects?
GK-H: Focus on the technology and providing a solution that is useful for people. But this isn't a big secret, everyone knows how we do our work as it's all in the open :)
The Register : What's been the greatest challenge for the project and how have the kernel maintainers dealt with it?
GK-H: We've had loads of challenges over the years, mostly all having to deal with how our development model needed to change with the increase in developers and users. We constantly discuss how our current process is going and what can be done to make it better, making lots of small changes over the years that at the time do not seem like a lot, but over the long-run have helped out immensely.
Things like going to a time-based release model (every 2 1/2 months), and always keeping each release stable, and having stable kernels that only contain fixes that are in the current tree are ways we changed to make both the developers' lives easier, as well as users of the kernel and companies that want to use Linux in their devices.
The Register : How is the exploration of Rust in the kernel going, given its integration so far? Is its adoption within the kernel moving faster or slower than anticipated, and what needs to happen next for more of the kernel to be rewritten in Rust? Is that even the goal, or is it for totally new code to be in Rust?
GK-H: Take a look at
[9]this summary of the latest kernel developer thread about Rust], and the original email thread that is linked to at that page for more details on this topic than you could ever imagine. Also see the "here's an existing driver in C converted into Rust as an example of how this might all work", which is a great proof-of-concept for some of the issues involved here.
As you can see, the idea of bringing in a new language with different lifetime rules, into the kernel which already has a set of existing lifetime rules, is going to be complex to say the least.
That being said, the developers working on this are making great progress, but in the end, we will only know if this works if they get their code merged. It's still a long way off, but they are getting there.
[10]Latest patches show Rust for Linux project making great strides towards the kernel
[11]Linux kernel's Kroah-Hartman: We're not struggling to get new coders, it's code review that's the bottleneck
[12]Google: Linux kernel and its toolchains are underinvested by at least 100 engineers
[13]Open source turns 20 years old, looks to attract normal people
As for "slower or faster" than anticipated, no one "anticipated" anything here. Kernel development does not have deadlines, we merge code "when it is ready," and sometimes that can take a while to get there based on all of the issues involved. For something like this, it is a complex thing and of course it will take a while. No idea on when that will be, there's too many unknowns to ever be able to guess.
And as for the goal of rewriting things, no, right now the goal is to just write new code in Rust if at all possible. Replacing existing code is not on the roadmap of these developers, as their announcements say. But that's not to say that once support would be merged, that replacing existing C code would not be possible, only that it is not the original goal here at all.
The Register : Are there any significant upcoming challenges that you expect will need to be addressed? (In terms of evolving chip architecture considerations, emerging use cases, organizational shifts, or whatever.)
GK-H: We don't really plan for the future, we only react to what is given to us with changes in code or hardware architectures, so we will handle those changes just like we have in the past.
The Register : Why did Linux succeed?
GK-H: People have written theses about this topic. I think I'm a bit too close to answer it in an unbiased way. There are a few things that I think might be the reason, but others might disagree, so I'll let everyone else argue about it while I get back to work reviewing code that people submit to us.
The Register : Will there be another Linux-style kernel, a large, vastly deployed open-source kernel produced as a collaborative effort? Writing a fully fledged web browser from scratch, for example, seems unwise and impractical, so does the same apply to Linux? And how does that affect the development direction of the kernel?
GK-H: No one would have thought that a second open source browser could have been done, and yet it was. Who knows if the same thing could happen for an operating system kernel as well?
The Register : Do the Linux maintainers see any other technology projects in a competitive light? (e.g., Google's Fuchsia effort) If not, why not? And if so, how does that inform decisions?
GK-H: I would love some real competition in operating system kernels. We lost some good feedback loops when we would work with the BSD kernel developers in the past, as most of them went to work for Apple and disappeared. Some of the ideas in Fuchsia look interesting, and I've talked with the developers there about some of them.
I would love some real competition in operating system kernels
The nice thing is, if any good ideas do come out of other projects, and they make sense for Linux as well, we can add them to Linux fitting them into our project as needed. It's not like we all work in a vacuum of ideas, most kernel developers have loads of things they want to change and add and improve if only we can carve off the time to do it.
The Register : Is Linux development more affected by geopolitics/nationalism than it used to be? If so, how?
GK-H: What is the timeframe you are comparing today to in the past? How far back do you want to go? Linux has always been a global project, we accept changes from anyone anywhere. We do not know, or care, what country you live in, or what company you work for. That has not changed, and I do not think it ever will change.
We do have more developers from more different countries and companies than ever before, but that number has only been increasing since the beginning due to a variety of different reasons and programs of outreach that companies and organizations have done in the past.
The Register : What has Linux meant to you personally?
GK-H: It's a fun project that started out as a hobby that I enjoyed contributing to and it has turned into a paying job for me for the past decades. It's allowed me to travel the world and make wonderful friends and has allowed many amazing and crazy projects to be created that never would have been done without it. It's still loads of fun to work on, and I feel very lucky to be part of it. ®
Get our [14]Tech Resources
[1] https://groups.google.com/g/comp.os.minix/c/dlNtH7RRrGA/m/SwRavCzVE7gJ
[2] https://www.top500.org/statistics/details/osfam/1/
[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2YSYU33wwlKkJBIhczPY8egAAAFE&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YSYU33wwlKkJBIhczPY8egAAAFE&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YSYU33wwlKkJBIhczPY8egAAAFE&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[6] https://gs.statcounter.com/os-market-share/desktop/worldwide
[7] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YSYU33wwlKkJBIhczPY8egAAAFE&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[8] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YSYU33wwlKkJBIhczPY8egAAAFE&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[9] https://tivrfoa.github.io/linux/kernel/rust/2021/07/22/proposal-for-rust-linux-talk-led-to-interesting-discussions.html
[10] https://www.theregister.com/2021/07/05/rust_for_linux_kernel_project/
[11] https://www.theregister.com/2020/10/26/linux_kernel_intel/
[12] https://www.theregister.com/2021/08/04/google_linux_kernel_security/
[13] https://www.theregister.com/2018/02/03/open_source_turns_20/
[14] https://whitepapers.theregister.com/
Re: FW: hyvää syntymäpäivää!
won’t be big
That aged well...
I've got a suggestion...
How about a case-insensitive file system?
That has to be one of the dumbest design decisions ever made. I bet it's right up there with square wheels and unsliced bread.
Downvotes in 3....2....1....
Re: I've got a suggestion...
I agree for what it is worth.
But well done to everyone involved in the whole project which proves that... I don't know how to put it succinctly... That humanity isn't necessarily doomed?
Re: I've got a suggestion...
Nah, we're still doomed.
Re: I've got a suggestion...
Not me. I'm going to live forever ... or die trying.
Re: I've got a suggestion...
"How about a case-insensitive file system?"
There are several, but VFAT should suit your needs.
"That has to be one of the dumbest design decisions ever made."
I guess you never really looked at an ASCII table and tried to comprehend it's ramifications when it comes to file systems. [1]Here's one for you to peruse. Re-pose your question after you have gained some understanding.
[1] https://www.alpharithms.com/wp-content/uploads/340/ascii-table-overcoded-scaled.jpg
Re: I've got a suggestion...
Why do you think case sensitivity is bad?
Re: I've got a suggestion...
Casing is a strange grammatical quirk of some written languages. It has nothing to do with meaning or intent.
Having a case sensitive file system (or any other part of the system) places a completely artificial and unnecessary burden on the user.
Would you refuse to open a letter addressed to "JOHN" or "john" because that's not your written name?
Re: I've got a suggestion...
"How about a case-insensitive file system?"
This is just a guess but I wonder if you know that was one of many things that Linux inherited by way of being Unix-like.
It's one of those things that's part of your way of thinking. For many of us case-insensitive file systems are a strange anomoly - why would you add the extra load onto all the file handling software to say nothing of remembering that Fred, fred and FRED are all the same when quite obviously they look different?
Re: I've got a suggestion...
I think it's far better and more efficient to place that burden on the OS than on every single user for the rest of time. Doubly so when so many aspects of using the OS rely on typing commands into a console.
Re: I've got a suggestion...
Personally I disagree for a couple of reasons.
The first is that "case" doesn't mean anything for some character sets or has ambiguities. In some languages there are one to many or many to many mappings for characters and various digraphs. Are file systems supposed to maintain lookup tables and complex rule matching for characters just to decide two strings refer to the same thing? It wouldn't just be on file names either but all the folders along the path.
Secondly, it's just ick. When you introduce vagueness and ambiguity into computer programming you introduce bugs. It is far better to be ultra strict and then everyone knows the rules. At least down at the software level.
It doesn't stop the operating system from offering some kind of file filter that sits above the file system that can be utilised for user facing actions like file pickers, explorer, search etc. But it should absolutely not be in the file system itself.
Re: I've got a suggestion...
That's exactly my point. From a user perspective case doesn't mean anything, and so introducing an artificial and illogical meaning where there shouldn't be one makes Linux less accessible for new users.
FW: hyvää syntymäpäivää!
On 25-08-1991, Linus Torvalds wrote:
> Hello everybody out there using minix-
>
> I’m doing a (free) operating system (just a hobby, won’t be big
> and professional like gnu) for 386(486) AT clones. This has
> been brewing since april, and is starting to get ready. I’d like
> any feedback on things people like/dislike in minix; as my OS
> resembles it somewhat (same physical layout of the file-sytem
> due to practical reasons) among other things.
>
> I’ve currently ported bash (1.08) an gcc (1.40), and things seem to work.
> This implies that i’ll get something practical within a few months, and I’d
> like to know what features most people want. Any suggestions are welcome,
> but I won’t promise I’ll implement them :-)
>
> Linus Torvalds torvalds@kruuna.helsinki.fi
>