Apparently, I'm a Bitcoin miner now, and it looks like I'm actually pretty good at it. Ars is currently in possession of one of the elusive but very real Butterfly Labs Bitcoin Miners. It's a tiny little black box that fits in the palm of my hand, and it contains a specialized ASIC adept at chewing through SHA-256 cryptographic functions—exactly the kind of calculations necessary to bring more Bitcoins into the world. Turns out, it's very good at what it does: it computes hashes at the rate of about 5.3 billion per second.
The Butterfly Labs Bitcoin Miner. Lee Hutchinson
The Miner disassembled. That 80mm fan gets pretty darn loud. Lee Hutchinson
I've got any number of computers around the house here to try the Butterfly Labs box out with, but I took the masochistic route and chose to try it out on OS X. This took quite a bit of back-and-forth with John O'Mara, creator of the popular MacMiner Bitcoin mining application. After several hours of troubleshooting, we eventually arrived at success. Here it is, happily churning away:
The Butterfly Labs Bitcoin Miner chewing its way through calculations at more than five billion hashes per second. Lee Hutchinson
According to my trusty Kill-A-Watt, the miner is drawing a pretty constant 50 watts at a similarly constant 0.73 amps. Its 80mm fan is whirring at what can only be described as "hair dryer" levels. According to MacMiner, the ASIC is generating a fair amount of heat, too—it's reporting a temperature of more than 80C.
The Linux Foundation has taken control of the open source Xen virtualization platform and enlisted a dozen industry giants in a quest to be the leading software for building cloud networks.
The 10-year-old Xen hypervisor was formerly a community project sponsored by Citrix, much as the Fedora operating system is a community project sponsored by Red Hat. Citrix was looking to place Xen into a vendor-neutral organization, however, and the Linux Foundation move was announced today. The list of companies that will "contribute to and guide the Xen Project" is impressive, including Amazon Web Services, AMD, Bromium, Calxeda, CA Technologies, Cisco, Citrix, Google, Intel, Oracle, Samsung, and Verizon.
Amazon is perhaps the most significant name on that list in regard to Xen. The Amazon Elastic Compute Cloud is likely the most widely used public infrastructure-as-a-service (IaaS) cloud, and it is built on Xen virtualization. Rackspace's public cloud also uses Xen. Linux Foundation Executive Director Jim Zemlin noted in his blog that Xen "is being deployed in public IaaS environments by some of the world's largest companies."
hypnosec writes "The Linux Foundation's UEFI secure boot pre-bootloader is still in the works, and has been modified substantially so that it allows any Linux version to boot through UEFI secure boot. The reason for modifying the pre-bootloader was that the current version of the loader wouldn't work with Gummiboot, which was designed to boot kernels using BootServices->LoadImage(). Further, the original pre-bootloader had been written using 'PE/Coff link loading to defeat the secure boot checks.' As it stands, anything run by the original pre-bootloader must also be link-loaded to defeat secure boot, and Gummiboot, which is not a link-loader, didn't work in this scenario. This is the reason a re-write of the pre-bootloader was required and now it supports booting of all versions of Linux." Also in UEFI news: Linus Torvalds announced today that the flaw which was bricking some Samsung laptops if booted into Linux has been dealt with.
Read more of this story at Slashdot.
The Ubuntu phone operating system will come with a terminal application. That's right: experienced users will have access to the full power of the Linux system running underneath the phone's shiny graphical user interface.
While Ubuntu phone code hasn't been released publicly yet, it seems that development will take place somewhat in the open, with a wiki devoted to the platform's core applications, which include e-mail, calendar, clock/alarm, weather, file manager, document viewer, YouTube, Facebook, and Twitter.
In addition, the terminal application will emulate the Linux terminal in an application window and perhaps have a special keyboard layout optimized for Linux commands. One of the key development requirements is that the terminal app integrate with BusyBox, a set of Unix tools. Developers are welcome to propose designs for the application. To get things started, Canonical has posted a few mockups, including this one:
For new readers just joining us, this is the fourth in a series of articles on getting your hands dirty by setting up a personal Web server and some popular Web applications. We've chosen a Linux server and Nginx as our operating system and Web server, respectively; we've given it the capability to serve encrypted pages; and we've added the capability to serve PHP content via PHP-FPM. Most popular Web apps, though, require a database to store some or all of their content, and so the next step is to get one spun up.
But which database? There are many, and every single one of them has its advantages and disadvantages. Ultimately we're going to go with the MySQL-compatible replacement MariaDB, but understanding why we're selecting this is important.
To SQL or NoSQL, that is the question
In most cases these days, when someone says "database" they're talking about a relational database, which is a collection of different sets of data, organized into tables. An individual record in a database is stored as a row in a table of similar records—for example, a table in a business's database might contain all of that business's customers, with each record consisting of the customer's first name, last name, and a customer identification number. Another table in this database might contain the states where the customers live, with each row consisting of a customer's ID number and the state associated with it. A third table might contain all the items every customer has ordered in the past, with each record consisting of a unique order number, the ID of the customer who ordered it, and the date of the order. In each example, the rows of the table are the records, and the columns of the table are the fields each record is made of.
Fifteen years ago, you weren't a participant in the digital age unless you had your own homepage. Even in the late 1990s, services abounded to make personal pages easy to build and deploy—the most famous is the now-defunct GeoCities, but there were many others (remember Angelfire and Tripod?). These were the days before the "social" Web, before MySpace and Facebook. Instant messaging was in its infancy and creating an online presence required no small familiarity with HTML (though automated Web design programs did exist).
Things are certainly different now, but there's still a tremendous amount of value in controlling an actual honest-to-God website rather than relying solely on the social Web to provide your online presence. The flexibility of being able to set up and run anything at all, be it a wiki or a blog with a tipjar or a photo hosting site, is awesome. Further, the freedom to tinker with both the operating system and the Web server side of the system is an excellent learning opportunity.
The author's closet. Servers tend to multiply, like rabbits. Lee Hutchinson
It's super-easy to open an account at a Web hosting company and start fiddling around there—two excellent Ars reader-recommended Web hosts are A Small Orange and Lithium Hosting—but where's the fun in that? If you want to set up something to learn how it works, the journey is just as important as the destination. Having a ready-made Web or application server cuts out half of the work and thus half of the journey. In this guide, we're going to walk you through everything you need to set up your own Web server, from operating system choice to specific configuration options.
Gabe Newell, the co-founder and managing director of Valve, the videogame development and online distribution company, made a rare appearance last night at Casual Connect, an annual videogame conference in Seattle.
Newell, who spent 13 years at Microsoft working on Windows, is not well-known outside of the videogame industry, but the company he has built in Bellevue, Wash., cannot be overlooked.
Valve is not only a game developer, producing megahits like Portal 2, it owns and operates Steam, which is the largest consumer-focused digital games distribution platform in the industry. By some measures, it may be valued at $3 billion.
Last night, at a dinner sponsored by Covert & Co., Google Ventures and Perkins Coie, Newell unveiled some of his most quirky and secretive projects in an interview onstage with Ed Fries, former VP of game publishing at Microsoft.
Newell, who has a desk on wheels so he can quickly roll over to his favorite projects within the company, struggled at times to put into words how he sees the industry shaking out as companies like Microsoft and Apple move toward closed ecosystems. At one point, he even lamented that his presentation skills aren’t up to speed because Valve isn’t a public company.
Here are excerpts from the conversation that took place in a packed and noisy room with an under-powered speaker system:
On the future of videogame distribution
“Everything we are doing is not going to matter in the future. … We think about knitting together a platform for productivity, which sounds kind of weird, but what we are interested in is bringing together a platform where people’s actions create value for other people when they play. That’s the reason we hired an economist.
“We think the future is very different [from] successes we’ve had in the past. When you are playing a game, you are trying to think about creating value for other players, so the line between content player and creator is really fuzzy. We have a kid in Kansas making $150,000 a year making [virtual] hats. But that’s just a starting point.
“That causes us to have conversations with Adobe, and we say the next version of Photoshop should look like a free-to-play game, and they say, ‘We have absolutely no idea what you are talking about, but it sounds really bad.’ And, then we say, ‘No, no, no. We think you are going to increase the value being created to your users, and you will create a market for their goods on a worldwide basis.’ But that takes a longer sell.
“This isn’t about videogames; it’s about thinking about goods and services in a digital world.”
On closed versus open platforms
“In order for innovation to happen, a bunch of things that aren’t happening on closed platforms need to occur. Valve wouldn’t exist today without the PC, or Epic, or Zynga, or Google. They all wouldn’t have existed without the openness of the platform. There’s a strong tempation to close the platform, because they look at what they can accomplish when they limit the competitors’ access to the platform, and they say ‘That’s really exciting.’”
“We are looking at the platform and saying, ‘We’ve been a free rider, and we’ve been able to benefit from everything that went into PCs and the Internet, and we have to continue to figure out how there will be open platforms.’”
On Valve’s interest in Linux
“The big problem that is holding back Linux is games. People don’t realize how critical games are in driving consumer purchasing behavior.
“We want to make it as easy as possible for the 2,500 games on Steam to run on Linux as well. It’s a hedging strategy. I think Windows 8 is a catastrophe for everyone in the PC space. I think we’ll lose some of the top-tier PC/OEMs, who will exit the market. I think margins will be destroyed for a bunch of people. If that’s true, then it will be good to have alternatives to hedge against that eventuality.
On the evolution of touch
“We think touch is short-term. The mouse and keyboard were stable for 25 years, but I think touch will be stable for 10 years. Post-touch will be stable for a really long time, longer than 25 years.
“Post touch, depending on how sci-fi you want to get, is a couple of different technologies combined together. The two problems are input and output. I haven’t had to do any presentations on this because I’m not a public company, so I don’t have any pretty slides.
“There’s some crazy speculative stuff. This is super nerdy, and you can tease us years from now, but as it turns out, your tongue is one of the best mechanical systems to your brain, but it’s disconcerting to have the person sitting next you go blah, blah, blah, blah.
“I don’t think tongue input will happen, but I do think we will have bands on our wrists, and you’ll be doing something with your hands, which are really expressive.”
On wearable computers
“I can go into the room and put on the $70,000 system we’ve built, and I look around the room with the software they’ve written, and they can overlay information on objects regardless of what my head or eyes are doing. Your eyes are troublesome buggers.”
This document outlines the set of requirements and guidelines for file and directory placement under the Linux operating system according to those of the FSSTND v2.3 final (January 29, 2004) and also its actual implementation on an arbitrary system. It is meant to be accessible to all members of the Linux community, be distribution independent and is intended to discuss the impact of the FSSTND and how it has managed to increase the efficiency of support interoperability of applications, system administration tools, development tools, and scripts as well as greater uniformity of documentation for these systems.
- Table of Contents
- Source and pre-formatted versions available
- 1. Linux Filesystem Hierarchy
- A. UNIX System V Signals
- B. Sources
- C. About the Author
- D. Contributors
- E. Disclaimer
- F. Donations
- G. Feedback
The AllWinner A10 Android 4.0 mini PC
The small computer has an AllWinner A10 single-core 1.5GHz ARM CPU, a Mali 400 GPU, and 512MB of RAM. An HDMI port on the exterior allows users to plug the computer into a television. It outputs at 1080p and is said to be capable of playing high-definition video.
The device also has a full-sized USB port with host support for input devices, a conventional micro-USB port, a microSD slot, and an internal 802.11 b/g WiFi antenna. The computer can boot from a microSD card and is capable of running Android 4.0 and other ARM-compatible Linux platforms.
The Millenium Technology Prize, awarded every two years, is a Finnish award designed “to improve the quality of life and to promote sustainable development-oriented research, development and innovation.” Sir Tim Berners-Lee won the prize in 2004. The finalists this year are Dr. Shinya Yamanaka, who has been contributing to the area of stem cell research, and Linux creator Linus Torvalds. The 2012 Grand Prize winner will be announced on June 13 in Helsinki, Finland.
From the press release:
In recognition of his creation of a new open source operating system kernel for computers leading to the widely used Linux operating system. The free availability of Linux on the Web swiftly caused a chain-reaction leading to further development and fine-tuning worth the equivalent of 73,000 man-years. Today millions use computers, smartphones and digital video recorders like Tivo run on Linux. Linus Torvalds’ achievements have had a great impact on shared software development, networking and the openness of the web, making it accessible for millions, if not billions.
I had the opportunity to ask Linus a few questions by email. Hopefully I didn’t simply create a nerd version of The Chris Farley Show.
Scott Merrill: You use a MacBook Air because you want a silent, quality computer. Why is it that Apple has the corner on this market? Have you considered using your fame or some portion of your fortune to try to remedy this?
Linus Torvalds: You *really* don’t want me to start designing hardware. Hey, I’m a good software engineer, but I’m not exactly known for my fashion sense. White socks and sandals don’t translate to “good design sense”
That said, I’m have to admit being a bit baffled by how nobody else seems to have done what Apple did with the Macbook Air – even several years after the first release, the other notebook vendors continue to push those ugly and *clunky* things. Yes, there are vendors that have tried to emulate it, but usually pretty badly. I don’t think I’m unusual in preferring my laptop to be thin and light.
Btw, even when it comes to Apple, it’s really just the Air that I think is special. The other apple laptops may be good-looking, but they are still the same old clunky hardware, just in a pretty dress.
I’m personally just hoping that I’m ahead of the curve in my strict requirement for “small and silent”. It’s not just laptops, btw – Intel sometimes gives me pre-release hardware, and the people inside Intel I work with have learnt that being whisper-quiet is one of my primary requirements for desktops too. I am sometimes surprised at what leaf-blowers some people seem to put up with under their desks.
I want my office to be quiet. The loudest thing in the room – by far – should be the occasional purring of the cat. And when I travel, I want to travel light. A notebook that weighs more than a kilo is simply not a good thing (yeah, I’m using the smaller 11″ macbook air, and I think weight could still be improved on, but at least it’s very close to the magical 1kg limit).
SM: I wasn’t so much asking why you haven’t designed your own hardware — I fully understand people playing to their own strengths. It’s taken considerable time for hardware manufacturers to recognize Linux as a viable platform, and today more and more OEMs are actively including or working toward Linux compatibility. Surely there’s an opportunity there for the global Linux community to influence laptop design for the betterment of everyone? I know it’s not your passion, and I respect that. Do you have any suggestions or guidance on ways we can collectively influence these kinds of things?
LT: I think one of the things that made Apple able to do this was how focused they’ve been able to stay. They really have rather few SKU’s compared to most big computer manufacturers, and I think that is what has allowed them to focus on those particular SKU’s and make them be better than the average machine out there.
Sure, they have *some* variation (different amounts of memory etc), but compare the Apple offerings to the wild and crazy world of HP or Lenovo or Toshiba. Other hardware manufacturers tend to not put all their eggs in a single (or a few) baskets, and even then they tend to hedge their bets and go for fairly safe and boring on most offerings (and then they sometimes make the mistake of going way crazy for the “designer” models to overcompensate for their boring bread-and-butter).
That kind of focus is quite impressive. It’s also often potentially unstable – I think most people still remember Apple’s rocky path. I used to think that Apple would go bankrupt not *that* long ago, and I’m sure I wasn’t the only one. And it can be hard to maintain in the long run, which is probably why most other companies don’t act that way – the companies who consistently try to revolutionize the world also consistently eventually fail.
So that kind of focus takes guts. I’m not an apple fan, because I think they’ve done some really bad things too, but I have to give them credit for not just having good designers, but the guts to go with it. Jobs clearly had a lot to do with that.
Anyway, I don’t think it’s worth worrying too much about laptops. The thing is, the Macbook Air was (and still to some degree is) ahead of its time. But I actually think that hardware is catching up to the point where doing good laptops really isn’t going to be rocket science any more. Rotational media really is going away, and with it goes one of the last formfactor issues: people really do not need (or want) that big spindle for a harddisk, or the silly spindle for an optical drive.
Sure, optical drives will remain in some form factors for a while, and others formfactors will remain bigger just because the manufacturer will want to continue to offer the capability of a rotational disk too – they’re still cheaper and have bigger capacities. But at the same time, *small* flash-based storage is really getting quite good, and while you still pay more for them, it’s not revolutionary any more. The mSATA/miniPCIe form factor is making it more and more realistic standard form-factor.
Together with CPU’s often being “fast enough” I would expect that the macbook air kind of formfactor becomes way more of a norm than it used to be. Apple was ahead of the curve, and I absolutely have higher expectations of the hardware I use than the average user probably does, but at the same time I’m convinced that the notebook market will finally get where I think it should be. Sure, some people will still want to use the big clunkers, but making a good thin-and-light machine is simply not going to be the technical expensive challenge it used to be.
In other words, we’ll take the whole Macbook Air formfactor for granted in a few years. It’s been done, it used to be pretty revolutionary, it’s going to be pretty standard.
It *did* take a lot longer than I thought it would take, admittedly. I’ve loved the thin-and-lights for much longer than the Macbook Air has existed. It’s not like Apple made up the concept – they just executed well on it.
What I in many ways think is more interesting are people who do new things. I love the whole Raspberry PI concept, for example. That’s revolutionary in a whole different direction – maybe not the prettiest form-factor, but taking advantage of how technology gets cheaper to really push the price down to the point where it’s really cheap. Sure, it’s a bit limited, but it’s pretty incredible what you can do for $35. Think about that with a few more years under its belt.
The reason I think that is interesting is because I think we’re getting to the point where it is *so* cheap to put a traditional computer together, that you can really start using that as a platform for doing whole new things. Sure, it’s good for teaching people, but the *real* magic is if one of those people who get one of those things comes up with something really new and fun to do with it.
Fairly cheap home computing was what changed my life. I wouldn’t worry about how to incrementally improve laptop design: I think it’s interesting to see what might *totally* change when you have dirt cheap almost throw-away computing that you can use to put a real computer inside some random toy or embedded device. What does that do to the embedded development world when things like that are really widely available?
SM: You don’t pull any punches when communicating with kernel developers and patch submitters. Has this tactic helped or hindered your success as a father?
LT: I really don’t know. I think the kids have grown up really well, and I don’t think it hurt them that we had rules in the family that were fairly strictly enforced (usually with a five-minute timeout in the bathroom). We had a very strict “no whining” rule, for example, and I’ve seen kids that should definitely have been brought up with a couple of rules like that.
That said, maybe they’re just naturally good kids. I don’t remember the last time I sent them to the bathroom (but it’s still a joke in our family: “If you don’t behave, you’ll spend the rest of the day in the bathroom”)
And while I do work from home, I am *not* a “father” when I work. The kids always knew that if they came in and disturbed me while I was at the computer, they’d get shouted at. I know some people who say that they could never work from home because they’d be constantly distracted by their kids – that is just not the case in our family. So despite me working from home, we’re a very “traditional” family – Tove stayed at home and was really the homemaker and took care of the kids.
And don’t get me wrong: when I interact with kernel developers, there can be a lot of swearing involved. And while that may *occasionally* happen with the kids too, the kids get hugs and good-night kisses too. Kernel developers? Not so much.
Would some kernel people prefer getting tucked in at night instead of being cursed at? I’m sure that would be appreciated. I don’t think I have it in me, though.
SM: How does your family feel about what you do for a living? What questions did/do they ask?
LT: They’ve never seen anything else, so I doubt they even think about it. It’s just what dad does. None of my three daughters have so far shown any actual interest in computers (outside of being pure users – they game, they chat, they do the facebook thing), and while they end up using Linux for all of that they don’t seem to think it’s all that strange.
SM: Do you try to get involved with technology problem solving in your every day life, for example at your kids’ school? If so, how has that been received?
LT: Oh, the absolute *last* thing I want to do is be seen as a support person. No way.
Sure, I do maintain the computers in the house, and it obviously means that the kids laptops (that they use in school too) run Linux, but it turns out that the local school district has had some Linux use in their computer labs anyway, so that never even made them look all that different.
But I’m simply not really organized enough to be a good MIS person. And frankly, I lack the interest. I find the low-level details of how computers work really interesting, but if I had to care about user problems and people forgetting their passwords or messing up their backups, I don’t know what I’d do. I’d probably turn to drugs and alcohol to dull the pain.
Even in the kernel project, I’m really happy that I’m not a traditional manager. I don’t have to manage logistics and people, I can worry purely about the technical side. So while I don’t do all that much programming any more (I spend most of my day merging code others wrote), I also don’t think of myself as a “manager”, I tend to call myself a “technical lead person” instead.
SM: What do you want to tell people that no one has ever bothered to ask you?
LT: The thing is, I don’t have a “message” to people. I never really did. I did (and do) Linux because it’s fun and interesting, and I really also enjoy the social aspect of developing things in the open, but I really don’t have anything I want to tell people.
SM: I apologize for not making this question more clear. I’m not asking if you have a message or anthem or anything like that. As a celebrity, you’ve conducted lots of interviews. Many of them have been formulaic, and there’s only so many times you can receive the same questions before rolling your eyes in exasperation.
Is there any question you wish you’d've been asked in an interview? Whether it’s because you’ve got the perfect / clever / whatever answer prepared, or just because you’d welcome the novelty of it? If so, what would have been your answer?
LT: Hmm. Some of the interviews I’ve enjoyed the most have been from somewhat antagonistic people who came from a non-computer background. I remember this russian journalist (back when I lived in Helsinki), who was writing a piece for some russian financial newspaper. He really was pretty aggressive, and being Russian from after the fall of the soviet union he had an almost unhealthy admiration for Microsoft and making lots of money, and capitalism. I’m sure it was heightened by the whole admiration for wall street etc that must run in the blood of most financial journalists to begin with.
That made for an interesting interview – because I like arguing. Explaining to a person like that why open source works, and in fact works better than the model he so clearly idolized was interesting. I don’t think I necessarily convinced him, but it still made for a memorable interview.
But any particular question? No. That’s not what I tend to find interesting – I enjoy the process, and the argument, and the flow of ideas of an interview, I don’t think there’s a “perfect question”, much less a “perfect answer that I wish somebody had asked me the question for”. So you’re not asking for something that I think I have.
But to expand on that, and to perhaps give you something of an answer anyway: this is very much true for me in software development too. I like the *process*. I like writing software. I like trying to make things work better. In many ways, the end result is unimportant – it’s really just the excuse for the whole experience. It’s why I started Linux to begin with – sure, I kind of needed an OS, but I needed a *project* to work on more than I needed the OS.
In fact, to get a bit “meta” on this issue, what’s even more interesting than improving a piece of software, is to improve the *way* we write and improve software. Changing the process of making software has sometimes been some of the most painful parts of software development (because we so easily get used to certain models), but that has also often been the most rewarding parts. It is, after all, why “git” came to be, for example. And I think open source in general is obviously just another “process model” change that I think is very successful.
So my model is kind of a reverse “end result justifies the means”. Hell no, that’s the stupidest saying in the history of man, and I’m not even saying that because it has been used to make excuses for bad behavior. No, it’s the worst possible kind of saying because it totally misses the point of everything.
It’s simply not the end that matters at all. It’s the means – the journey. The end result is almost meaningless. If you do things the right way, the end result *will* be fine too, but the real enjoyment is in the doing, not in the result.
And I’m still really happy to be “doing” 20 years later, with not an end in sight.
SM: Looking back over the history of Linux, do you have any “Oh man, I can’t believe I did/said that” reactions? (Note: this is not in respect to code strictly, but engineering or policy decisions)
LT: Engineering decisions usually aren’t a problem. Sure, I’ve made the wrong decision many times, but usually there was some good reason for it at the time – and the important part about engineering decisions is that you can fix them later when you realize they were wrong. So the “oh, that was spectacularly wrong” happens all the time, but the more spectacular it is, the quicker we notice, and that means that we fix it quickly too.
The one really memorable “Oh sh*t” moment was literally very early on in Linux development, when I realized that I had auto-dialed my main harddisk when I *meant* to auto-dial the university dial-in lines over the modem. And in the process wiped out my then Minix setup by writing AT-commands to the disk that understandably didn’t respond the way the autodialling script expected (“AT commands” is just the traditional Hayes modem control instruction set).
That’s the point where I ended up switching over to Linux entirely, so it was actually a big deal for Linux development. But that was back in 1991.
SM: If you could give an award to someone, who would be the recipient, and for what accomplishment?
LT: Hey, while I am a computer guy, my heroes are still “real scientists”. So if I can pick anybody, I think I’d pick Richard Dawkins for just being such an outspoken critic of muddled thinking and anti-scientific thought.
SM: The Millennium Technology Prize ceremony is on June 13, which happens to be my birthday. Any chance I can be your +1 to the party?
LT: Scott, I never knew you felt that way. I think my wife would not approve.
SM: Nor would mine, but you miss all the shots you don’t take!
SM: What are the major Linux distributions doing right, in general, and where are they falling short? Your recent Google+ rant about OpenSUSE’s security stance sheds some light on this, but I’d like to know more. Are formalized distributions a necessary evil? How much (if any) influence do you have with the distributions?
LT: So I absolutely *love* the distributions, because they are doing all the things that I’m not interested in, and even very early on they started being a big support for the kernel, and driving all the things that most technical people (including very much me) didn’t tend to be interested in: ease of use, internationalization, nice packaging, just making things a good “experience”.
So I think distributions have been very instrumental in making Linux successful, and that whole thing started happening very early on (some of the first distributions started happening early 92 – on floppy disks).
So they aren’t even a “necessary evil” – they are a “necessary good”. They’ve been very instrumental in making Linux be what it is, both on a technical side, but *especially* on a ease of use and approachability side.
That said, exactly because they are so important, it does frustrate me when I hit things that I perceive to be steps backwards. The SuSE rant was about asking a non-technical user about a password that the non-technical user had absolutely no reason to even know, in a situation where it made no sense. That kind of senseless user hostility is something that we’ve generally come away from (and some kernel people tend to dismiss Ubuntu, but I really think that Ubuntu has generally had the right approach, and been very user-centric).
The same thing is what frustrated me about many of the changes in Gnome 3. The whole “let’s make it clutter-free” was taken to the point where it was actually hard to get things done, and it wasn’t even obvious *how* to do things when you could do them. That kind of minimalist approach is not forward progress, it’s just UI people telling people “we know better”, even if it makes things harder to do. That kind of “things that used to be easy are suddenly hard or impossible” just drives me up the wall, and frustrates me.
As to my own influence: it really goes the other way. The distributions have huge influences on the kernel, and not only in the form of employing a lot of the engineers. I actively look to the distributions to see which parts of the kernel get used, and often when people suggest new features, one of the things that really clinches it for me is if a manager for some distribution speaks up and says “we’re already using that, because we needed it for xyz”.
Sure, I end up influencing them through what I merge, and how it’s done, but at the same time I really do see the distributions as one of the first users of the kernel, and the whole way we do releases (based on time, not features) is partly because that way distributions can plan ahead sanely. They know the release schedule to within a week or two, and we try very hard to be reliable and not do crazy things.
We have a very strict “no regressions” rule, for example, and a large part of that rule is so that people – very much including the people involved in distributions – don’t need to fear upgrades. If it used to work a certain way, we try very hard to make sure it continues to work that way. Sure, bugs happen, and some change may not be noticed in time, but on the whole I think a big part of kernel development is to try to make it as painless as possible for people to upgrade smoothly.
Because if you make upgrades painful, it just means that people will stay back.
SM: You’ve been doing this for 20 years. What do you think of the newest crop of kernel contributors? Do you see any rising stars? Do you see any positive or worrisome trends with respect to the kind and caliber of contribution from younger developers?
LT: I’m very happy that we still have a very wide developer base, and we continue to see more than a thousand different people for each release (which is roughly every three months or so). A lot of those contributions come from people who make just tiny one-liner changes, and some of them are never heard from again once they got their one small fix done, but on the other hand, the small one-liner changes is how many others gets started.
That said, one of the things that *has* changed a lot in the 20 years is that we certainly have a lot more “process” in place. Most of those one-liners didn’t get to me directly – many of them came through multiple layers of submaintainers etc. By the time I see most “rising stars” they’ve already been doing smaller changes for a long time.
The one worrisome trend is pretty much inevitable: the kernel *is* getting big, and a lot of the core code is quite complex and sometimes hard to really wrap your head around. Core areas like the VM subsystem or the core VFS layer simply are not easy to get into for a new developer. That makes it a bit harder to get started if that’s what you are interested in – the bar has simply been raised from where it was ten or fifteen years ago.
At the same time, I do think it’s still fairly easy to get involved, you may just have to start in a less central place. Most kernel people start off worrying about one particular driver or platform, and “grow” from there. We do seem to have quite a lot of developers, and I’ve talked to open source project maintainers that are very envious of just how many people we have involved in the kernel.
SM: You’ve said that it’s the technical challenge that keeps you involved and motivated. Surely there are plenty of technical challenges in the world. Why stick with the kernel?
LT: I think it’s partly because I’m the kind of person who doesn’t flit from one project to another. I keep on doing Linux, because once I get started, I’m kind of obstinate that way.
But part of it is simply the reason I started doing a kernel in the first place – if what you are interested in is low-level interactions with hardware, a kernel is where it is all at. Sure, there are tons of technical challenges out there, but very few of them are as interesting as an operating system kernel if you are into that kind of low-level interaction between software and hardware.
SM: As the number of systems and architectures supported by the Linux kernel continues to grow, you can’t possibly have development hardware for each of them. How do you verify the quality and functionality of all the change requests you get?
LT: Oh, that’s easy: I don’t.
The whole model is built on a network of trust among developers that have come to know each other over the years. There’s no way I can test all the platforms we support – the same way there is no way I can check every single commit that gets merged through me. And I wouldn’t even really even *want* to check each hardware or each change – the point of open source and distributed development is that you do things together. We have a few tens of “highlevel” maintainers for various subsystems (eg networking, USB drivers, graphics, particular hardware architectures etc etc), and even those maintainers can’t test everything in their area, because they won’t have that particular hardware etc. I trust them, and they in turn trust the people they work with.
I think any big project is about finding people you can trust, and really then depending on that trust. I don’t *want* to micro-manage people, and I couldn’t afford to even if I did want to.
And the thing is, smart people (and people who have what I call “good taste”, which is often even more important) may be rare, but you do recognize them. I think one of my biggest successes is actually outside Linux: recognizing how good a developer Junio Hamano was on git, and trusting him enough to just ask if he would be willing to maintain the project. Being able to let go and trusting somebody else is *important*, because without that kind of trust you can’t get big projects done.
What will Linus do with the prize money, if he wins? “I guess I won’t have to worry about the kids education any more,” he says.
Thanks, Linus, for taking the time to chat with me. And good luck! We hope you win the Millenium Technology Prize!
Photo credit: Wikipedia