|
|
Subscribe / Log in / New account

The plumbing layer as the new kernel

Did you know...?

LWN.net is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net.

By Jonathan Corbet
May 2, 2012

Last week's Unix wars article discussed the long-feared possibility of Linux fragmenting into a number of incompatible—and weaker—systems. Before leaving that subject behind entirely, it is worthwhile to take a look at an effort that is intended to be a unifying force in the Linux community: the growth of a well-defined and actively developed "plumbing layer." By wrapping the kernel in layers of higher-level software, the plumbers hope to create a new core that will function similarly across all distributions. Thus far, we have not seen clear evidence that all distributions want to play along, though.

The kernel has long been the unifying force across Linux distributions. Especially in recent years, as distributors have worked harder to stay close to the mainline, the kernel is one thing that could be counted on to be nearly the same on any system. The layers on top of the kernel can vary widely between distributions, though, with some distributors, such as Android, having replaced almost everything above the kernel with their own code. That creates differences between distributions that can make life harder for users, developers, and for the maintainers of the distributions themselves.

There have been attempts in the past to create a common distribution core at a higher level than the kernel. The Linux Standard Base is one such endeavor, but, despite years of effort and lots of resources poured into it, the LSB has never been hugely helpful. Its lowest-common-denominator focus left much of the system uncovered, and its stated intent of making life easier for distributors of binary software has failed to create excitement in the community. Another effort was the ill-fated United Linux project; it may well have failed in any case, but it was certainly doomed by having the SCO Group as one of its founding members. Since then, there have been few overt efforts to create a common distribution core with the arguable exception of Debian, which has always, to some extent, seen itself as being that core.

What we have seen in recent years has been an effort to bring together and organize developers working in the "plumbing layer" that wraps the kernel. This layer is not precisely defined; it includes the bootstrap and initialization systems, udev, communications mechanisms like D-Bus, and related utilities. Interestingly, the C library—the layer that intermediates most access to the kernel—has typically not been a part of that group; perhaps that situation will change as a result of the more community-oriented focus in the glibc project.

The Linux Plumbers effort was never explicitly envisioned as the creation of a new common distribution core; instead, it was just a way to help developers work together and make the system better. Recently, though, things have started to change; in particular, much of the work on systemd has been justified with the claim that it would work to reduce fragmentation between distributions. Systemd is tightly tied to the Linux kernel—it will not run anywhere else—and is meant to integrate many of the kernel's features into a tighter, well-functioning, and quickly evolving system. That system then becomes the core of a modern, fast-moving distribution.

A number of people have commented on this trend; see this recent remark from Martin Langhoff or this Google+ discussion, for example. There are some clear benefits from moving in this direction, but some challenges as well.

One challenge is ABI stability. Kernel developers try hard to ensure that they do not break applications as the kernel evolves. That policy is unlikely to change anytime soon, but the truth is that there are some in our community who would like to move the stability commitment further out, allowing the ABI between the kernel and the plumbing layer to change in incompatible ways. Such changes should not bother users as long as the kernel and the plumbing layer change at the same time, but they would be bothersome indeed if only one of those components changes, or for anybody who is not using the "standard" plumbing code. The ABI stability requirements have proved frustrating to plumbing-layer developers in the past; one can only expect that to happen again in the future.

The other problem is that there will be disagreements on what the larger core should look like; one need only read the many systemd discussions to get a sense for how deep those disagreements are. Assuming that we have achieved all we can through the reproduction of classic Unix systems, there are no precedents for what the Linux system of the future should look like. There are no POSIX standards to guide development. So developers are breaking new ground, and that will always lead to disagreement and conflict.

Add to this disagreement a certain degree of discomfort among developers who feel that they are losing influence over the direction things are going. Debian developer Marco d'Itri expressed it clearly:

We can all be "uneasy" about it until we are blue in the face, but since Red Hat maintains most Linux core components and we do not, there is not much we can do about it.

There is no special effort to exclude anybody from the development of the plumbing layer. But the usual rule of free software development holds: those who are doing the work have the biggest say in the directions it takes. For better or for worse, many of the developers doing work at the plumbing level have concentrated into a relatively small number of companies. That leaves a number of distributions out in the cold.

It also leaves them with a choice: sign on to this new, unofficial core distribution, or continue to go it alone without. There are plenty of examples of distributions that have followed their own path for many years; see Slackware as the classic example. Gentoo is another distribution that has built much of its own core infrastructure, including its own init system that few people have heard of. It can be done, but there is a real cost in the form of duplicated effort and an inability to benefit from the work done by others.

Predicting how this situation will turn out is not easy. This is a time of rapid change in both the community and the wider industry; it's not clear what is going to work in the long run. But the vision of a more tightly coupled system that can enable Linux distributions to evolve more quickly has some appeal. If these developers can pull it off, they may help to ensure that a unified Linux plays a major role for years to come.


(Log in to post comments)

The plumbing layer as the new kernel

Posted May 3, 2012 6:05 UTC (Thu) by paravoid (subscriber, #32869) [Link]

I've been reading LWN for many years and, frankly, this is one of the worst articles that I've ever read here. Granted, my dissatisfaction comes from the content and style of the discussion itself, but I expected a more objective PoV from LWN.

It's all too vague. What's a "tight core"? What exactly does that contain? Who's "everyone but Debian" except Fedora/RedHat and maybe openSUSE?

As for Debian, it has always followed the LSB; and other standards like the FHS for that matter. It has been always following upstream developments and avoided intrusive modifications or diversions for branding reasons (like Ubuntu has, esp. more recently). It has always been lagging behind in large changes, but that's because it tends to prefer being stable rather than bleeding edge (like Fedora is, and there's nothing wrong with that). And I don't see how Debian has diverged here; it uses udev, D-Bus, *kit/u* and whatever else these "plumbing" people have written.

Except systemd of course. Maybe this discussion is all about systemd then?
(I won't repeat the arguments of that discussion; suffice to say, it's a bit arrogant and premature IMHO to call "not using systemd" as "diverging from the tighly-coupled core")

What else is *exactly* broken in Debian, or not following upstream developments or plumbing stuff? The same will probably stand for other distros, but I know Debian better.

The whole discussion seems to be all about FUD and full of unwarranted hate for !RedHat distros. What if the core "plumbing people" say that e.g. only GNOME is supported? Do we all have to drop all other DEs?

That's not just reductio ad absurdum; Ingo Molnar (one of the people that is involved in plumbing I think) on that Google+ thread said "[p]lease, please make *one* decent editor and *one* decent xterm part of the core...".

Really?! I think I'll pass.

The plumbing layer as the new kernel

Posted May 3, 2012 6:46 UTC (Thu) by burki99 (subscriber, #17149) [Link]

Did we read a different article? I couldn't find a single line critical to the way Debian is doing things including the passage "with the arguable exception of Debian, which has always, to some extent, seen itself as being that core". Or is it enough to mention systemd to put you into panic mode?

The plumbing layer as the new kernel

Posted May 3, 2012 7:07 UTC (Thu) by paravoid (subscriber, #32869) [Link]

That part of my rant was mostly referring to the original discussion on Google+ that was the spark for this article.

The plumbing layer as the new kernel

Posted May 3, 2012 21:58 UTC (Thu) by liljencrantz (guest, #28458) [Link]

So is it really this article you have a problem with or the Google+ discussion?

Do what I say

Posted May 3, 2012 18:52 UTC (Thu) by Fats (guest, #14882) [Link]

> I couldn't find a single line critical to the way Debian is doing things including the passage "with the arguable exception of Debian, which has always, to some extent, seen itself as being that core"

Although I am mostly an outsider to the systemd vs. the rest discussion I did also feel a pro-systemd stance in the whole article. But maybe that is just because I don't see everybody standardizing on systemd as a next step to Linux world domination.

What I don't understand is the 'do what I say' mentality in the open source world, e.g. we are developing here the next big thing and everybody has to start using it.

To me open source is all about producing code and other people using it because of it's technical merits; not because some people on a mailing list or in some comity decide what other people should use.
Having a few parallel solutions is IMO inherent to the way open source works and I think people who try to force their solution on the rest are wasting their time and probably keeping a few programmers from their important job: writing and improving code.
Sure, converging several solution in one is IMO a good thing (tm) but I think it can only happen if all people involved agree that it is the best solution for them and not some majority deciding for everyone this is the way to go. I just don't think this works for open source.

The plumbing layer as the new kernel

Posted May 3, 2012 7:29 UTC (Thu) by aryonoco (guest, #55563) [Link]

I think the criticism of the article is not warranted at all. It came across to me, as always, as our esteemed editor did a very good job of presenting both sides of the argument. One could perhaps read between the lines that the editor does prefer the tightly couple idea personally, but that was never mentioned expressly. Even if it was, editors are allowed to have opinions, heck most would agree that that's what an editorial is for.

The plumbing layer as the new kernel

Posted May 3, 2012 9:23 UTC (Thu) by paravoid (subscriber, #32869) [Link]

I definitely enjoy reading our editor's opinion, even if I don't agree with it. In this case, I don't think that the article explained well what the argument is, let alone which sides there are.

But other people that commented so far seem to also disagree with my judgement, so maybe it might just be me.

The plumbing layer as the new kernel

Posted May 3, 2012 15:14 UTC (Thu) by cdmiller (guest, #2813) [Link]

It's not completely just you, although "worst article ever" is needlessly inflammatory and quite a stretch.

Anyone who has read LWN for any length of time will know Corbet's current preferred distro is Fedora. While LWN articles on the whole are extremely objective and professional there will be a smidgen of preference from time to time, which perfectly reasonable when an author is most familiar with their specific day to day system.

The plumbing layer as the new kernel

Posted May 3, 2012 18:00 UTC (Thu) by smoogen (subscriber, #97) [Link]

Anyone who followed Corbet's track on Fedora would know that he flames it quite a bit internally for breaking things left and right. It also ignores that he runs various other systems with those OS's also.

Reading that he gives Fedora a free pass is really really naieve.

The plumbing layer as the new kernel

Posted May 4, 2012 14:41 UTC (Fri) by cdmiller (guest, #2813) [Link]

Certainly not trying to imply Corbet gives Fedora (or any product) a free pass.

The plumbing layer as the new kernel

Posted May 3, 2012 8:06 UTC (Thu) by niner (subscriber, #26151) [Link]

"As for Debian, it has always followed the LSB; and other standards like the FHS for that matter."

This is simply not true. SuSE back in the day got a lot of flames for "non-standard file locations" and "not following the standard" when in fact it was the first to follow LSB and the FHS while Debian still wasn't. People simply assumed that Debian must be following standards so everyone who did things differently couldn't have been. It's good that Debian cought up though.

The plumbing layer as the new kernel

Posted May 3, 2012 9:03 UTC (Thu) by nhippi (guest, #34640) [Link]

Yours is the worst comment on lwn for a while.

> Who's "everyone but Debian" except Fedora/RedHat and maybe openSUSE?

Where did invent that quote from? Only thing even remotely close in the article was the passing mention of the historic "united linux" effort.

> What if the core "plumbing people" say that e.g. only GNOME is supported? Do we all have to drop all other DEs?

We don't *have* to drop anything. But if:

1) You decide not join the plumbing people and contribute with them
2) *And* Plumbing people would make such a decision
3) *And* you choose not contribute to the other DEs interfaces to keep them up to date with new plumbing interfaces

You will end up in a situation that your DE will stop working.

As Marco points out, as long as other distros mostly consume stuff from redhat, redhat will continue to drive the decisions where Linux is headed. The only way to change that, is to start contributing more to upstream than redhat does...

The plumbing layer as the new kernel

Posted May 3, 2012 14:49 UTC (Thu) by cate (subscriber, #1359) [Link]

> ...as long as other distros mostly consume stuff from redhat

"consume", like in the Red Hat glibc: "We don't care, go away!"? Red hat is not so open (contrary to the kernel) to good things outside RedHat business.

The plumbing layer as the new kernel

Posted May 3, 2012 22:03 UTC (Thu) by liljencrantz (guest, #28458) [Link]

To my knowledge, that's one or two developers, who, for a time happened to be employed by RedHat. At least one of them was very likely fired because of this attitude. I think it's rather unfair to extrapolate from that into assuming that RedHat projects in general are hostile to third party contributions. From what I can tell, Gnome doesn't seem to be. Or LibreOffice, systemd, PulseAudio or JBoss.

The plumbing layer as the new kernel

Posted May 3, 2012 15:55 UTC (Thu) by cdmiller (guest, #2813) [Link]

The whole systemd, upstart, replace init push is pretty interesting to watch when taking a long view. In using linux since 92 including slackware, redhat, mandrake, mandriva, debian, and more recently ubuntu (just to name more popular names) along with a host of unix flavors on several architectures one notices various approaches for core items like the init system. Distros copied the best init tools from commercial unix (like chkconfig) and some form of sysv or bsd init scheme. Redhat and debian put in place secondary config layers (/etc/sysconfig, /etc/default, /lib/lsb etc.) while some special purpose distros used a bare bones init with some other script layer instead. Now we have the new options of systemd and upstart along with others (the article indirectly mentions openrc (why the indirect approach there by the way?)).

From my limited perspective the main problems new init schemes face is reconciling server needs vs desktop needs, and the enterprise desktop vs home desktop. Support for multiple hardware architectures is also important and should not be ignored.

Unlike the MS takeover of server roles from Novell/Artisoft/Banyan etc. by leveraging desktop dominance, the linux surge began from the server, supplanting unix application, database, web, compute, and file/print roles. Linux (via samba) currently competes with MS for file and print. Linux is starting to take over in virtual hosting. Linux has a lead on thin client desktops (fat, thin, vdi, multi head) and leads in the embedded space (may as well include android here).

The question for distributions should be, if a new plumbing layer or component thereof were to sacrifice continued linux dominance or growth in any of the above areas, could it result in reduction or reversal of linux desktop adoption? Careful consideration of plumbing decisions so as not to lock out alternative approaches should be a high priority.

The plumbing layer as the new kernel

Posted May 3, 2012 20:55 UTC (Thu) by drag (guest, #31333) [Link]

I like the discussion, but I differ on a few points:

> Unlike the MS takeover of server roles from Novell/Artisoft/Banyan etc. by leveraging desktop dominance,

Actually a lot of people ran screaming and yelling from mid-size server systems because they were expensive to manage, purchase and use. Seems like most people that are into Linux are completely unaware of the IBM culture and the mentality it created in the minds of many people. Programmers of those were seen as huge assholes that did the things they wanted and used their specialized knowledge to hold the businesses that they served in effective bondage. That is if you fired your IT guy then you'd realize that nobody else could possibly manage the systems because he designed it so that only he could know how it worked. Then you had to hire him back as a consultant at twice the cost.

This made businesses very gun shy and distrust a lot of developers and their mentalities. Microsoft offered a escape from that. IBM was expensive. Novel was expensive. Unix was expensive. NT was cheap. Guess what people flocked to?

It's really not as clean cut as 'Leveraged the desktop'.

There are very good reasons besides that as to why Microsoft NT is now #1 server OS as well as the #1 desktop OS. Also it's helpful to erase all ideas of 'monopoly' when considering things.

> the linux surge began from the server, supplanting unix application, database, web, compute, and file/print roles.

Linux started as a desktop OS and was adopted by many people because it could run on cheap hardware and was compatible with applications coded for Unix. IBM, SGI, and friends put a huge amount of work into it and that is how we ended with Linux 2.6, which made it a very respectable replacement for Unix servers.

> Linux (via samba) currently competes with MS for file and print.

Not really. It's like saying that Linux competes with Microsoft for text editing. File and print for desktops is extremely mundane stuff and has been wrapped up as just a piece of much larger systems involving things like Active Directory, against which Linux is not competitive.

I like FreeIPA a lot, but doesn't deal with Windows which means it's a no-go in any desktop support situation, unless you are a running a extremely pro-Linux shop. Samba4 is still seems beta-ish, unfortunately.

> Linux is starting to take over in virtual hosting.

Linux _IS_ virtual hosting. Linux effectively _IS_ the cloud system. Linux is not utterly dominate in web hosting and web applications, but it's the most popular platform by far. Even Microsoft is using Linux virtual systems for their Skype infrastructure.

> Linux has a lead on thin client desktops (fat, thin, vdi, multi head)

It has no such thing. Windows is massively more popular in thin client setups now. Linux is popular host OS for VDI installations on top of Xen and other things, but the guest desktops and protocols people use on their thin clients are largely Windows.

X Windows and Linux can be made to work in certain situations, but they are not competitive. Citrix has a huge lead.

I have seen how people setup combination of VDI-based applications and thick client desktops to manage applications and handle security issues for large corporations. I have seen how people run VDI halfway around the world for call centers and other things. It simply couldn't be made to work using Linux and X. Maybe could pull a lot of it off with NX, but unless their proprietary of NomachineNX is very impressive it would be very difficult and expensive.

> and leads in the embedded space (may as well include android here).

I haven't paid attention to the situation for a while, but embedded systems are extremely diverse. Linux is more popular, generally, but Windows is still more popular depending on what type of system you are looking at.

Hopefully Andriod is making a big difference. Working with Sun in the past with Java (which is extremely popular for embedded systems) was very unpleasant and Oracle is shooting themselves in the foot with this lawsuit business, which is just ridiculous. Being 'java' with out technically being 'java' was a brilliant approach by Android.

The plumbing layer as the new kernel

Posted May 3, 2012 22:23 UTC (Thu) by cdmiller (guest, #2813) [Link]

> Novel was expensive. Unix was expensive. NT was cheap. Guess what people flocked to?

> It's really not as clean cut as 'Leveraged the desktop'.

First MS introduced Windows 3.1 workgroups and killed off Artisoft pretty quickly, as well as taking over smaller file server shops. File and print server vendors took another hit when Windows95 came along and killed the ability to easily run windows desktops and applications from the file server (one of their main features). The non MS file and print server vendors were left playing catch up trying to implement any changes to the dos networking stack MS felt like making, there were undocumented interrupts, file locking issues, etc.. I call that leveraging the desktop to gain server market share. Price differential was a factor, but there were plenty of technical hurdles put in place as well. MS leveraged their desktop dominance to win major portions of the server space.

> Linux started as a desktop OS ...
> that is how we ended with Linux 2.6, which made it a very respectable
> replacement for Unix servers.

Ah, I saw linux gaining most traction in the server space. Sure us unix fans could get a workstation via linux on commodity hardware, but that was a niche group of users while lamp servers broke out and dominated the web server market well before 2.6 existed, primarily displacing unix installations for web hosting up through and beyond the 2000 bubble. Much of the whole compute cluster market was overtaken as well, remember beowulf cluster mania?

> Not really. It's like saying that Linux competes with Microsoft for text
> editing. File and print for desktops is extremely mundane stuff

Say what you will but linux does compete in that space mainly through samba and cups. Yes one will still use ad etc. to support the windows desktops.

> It has no such thing. Windows is massively more popular in thin client
> setups now. Linux is popular host OS for VDI installations on top of Xen
> and other things, but the guest desktops and protocols people use on
> their thin clients are largely Windows.

What I see is ltsp and friends in the thin client space. Yes with spice on kvm etc. windows is provided via linux, other than that the proprietary vdi solutions which are windows only are very expensive, where many times the reason to go thin client is $ driven.

> X Windows and Linux can be made to work in certain situations, but they
> are not competitive. Citrix has a huge lead.

Most of the thin client I see is lan fat client remote boot, read only nfs or cow nbd root. Kiosk or edu computer lab setups. I haven't seen citrix for a long time unless mentioned as xen, but certainly wan access via nx, spice, citrix would be better than straight x.

> Windows is still more popular depending on what type of system you are
> looking at.

Windows embedded? Really? Closest thing I've seen in a while are some wince devices and obsolete windows phones. Heck my 2 yr old lg tv came with an offer for the source code. It runs linux. Beyond the phones many of the arm devices are linux based, linux really is gaining in the embedded space.

The plumbing layer as the new kernel

Posted May 4, 2012 13:14 UTC (Fri) by drag (guest, #31333) [Link]

> What I see is ltsp and friends in the thin client space. Yes with spice on kvm etc. windows is provided via linux, other than that the proprietary vdi solutions which are windows only are very expensive, where many times the reason to go thin client is $ driven.

It doesn't matter if they are very expensive. It works and people are willing to spend money on it. The initial cost of the VDI solution is often not going to be significant compared to other associated costs for deployment and management.

> Most of the thin client I see is lan fat client remote boot, read only nfs or cow nbd root. Kiosk or edu computer lab setups. I haven't seen citrix for a long time unless mentioned as xen, but certainly wan access via nx, spice, citrix would be better than straight x.

Well your personal experience is not inductive of what is happening at the world at large.

Ever seen advertisements on television or radio for things like "gotomypc" ? I am sure that more people use that service, alone, then all the entire LSTP or whatnot combined. It does stuff you simply cannot do easily with Linux. Nobody offers a comparible Linux solution.

Most people that would use VDI in corporations are not going to be aware of it. I really doubt that 95% of the people in my company right now realize that the vast majority of their applications are remote. The experience is completely seamless and integrates naturally into active directory and group policies.

Spice is nice, but it's not widely adopted and the Redhat management tools are unfortunately very expensive. Also Spice lacks a WAN profile, which makes it useful for LAN-only. I expect it will improve and it's already better then X Windows for remote desktops over LAN.

> Windows embedded? Really?

Absolutely.

> Closest thing I've seen in a while are some wince devices and obsolete windows phones.

You obviously don't know what Windows XP Embedded is. It is still very popular in POS, Koisks, "infotainment" devices and other such things.

> Heck my 2 yr old lg tv came with an offer for the source code. It runs linux. Beyond the phones many of the arm devices are linux based, linux really is gaining in the embedded space.

The embedded space is huge. Much larger then desktop or server space. Linux is extremely popular, but you have to be aware that there are lots of different segments.

The plumbing layer as the new kernel

Posted May 4, 2012 14:39 UTC (Fri) by cdmiller (guest, #2813) [Link]

> Ever seen advertisements on television or radio for things like
> "gotomypc" ? I am sure that more people use that service, alone, then
> all the entire LSTP or whatnot combined. It does stuff you simply cannot > do easily with Linux. Nobody offers a comparible Linux solution.

As gotomypc etc. are mainly used for remote desktop access and helpdesk support, they're irrelevant to ltsp deployments or vdi type solutions. Ltsp has worldwide adoption and usage in the spaces I mentioned, sure citrix and MS vdi / app streaming etc. are in use in big business sector. As for not being able to do that with linux, I would be surprised if it's not fairly easily doable but the market for it would be small.

> You obviously don't know what Windows XP Embedded is. It is still very
> popular in POS, Koisks, "infotainment" devices and other such things.

Fun story on xp embedded, colleague was walking down the street in vegas on his way to MS MMS conference, and one of the large bling signs on the strip had blue screened :)

And sure, embedded is huge, but classes of devices capable of running a linux kernel are growing. As mentioned in an earlier article, 50MHz arm boards the size of the old basic stamp are now in the $20 range.

Back to the primary point,

If a new plumbing layer or component thereof were to sacrifice continued linux dominance *or growth* in any of the above areas (mentioned in the original post), could it result in reduction or reversal of linux desktop adoption? Careful consideration of plumbing decisions so as not to lock out alternative approaches should be a high priority.

You appear to be arguing we don't need to care about linux participation in the areas we have been discussing? Is that your stance?

The plumbing layer as the new kernel

Posted May 4, 2012 4:36 UTC (Fri) by dlang (guest, #313) [Link]

the problem isn't that systemd introduces a new init system, it's that anyone who doesn't move to systemd is being painted as 'diverging' from the 'standard' or otherwise being 'divisive'

I happen to agree with Shuttleworth's comment that upstart knows what it wants to be while systemd seems to want to be everything, but the real issue is the conflect between people who seem to think that there should be multiple options vs the people who think there should only be one way.

Elephant in the room

Posted May 3, 2012 10:10 UTC (Thu) by epa (subscriber, #39769) [Link]

The article mentions Slackware and Gentoo but not the most important example of a 'go it alone' Linux distribution: Android. How much of the plumbing work such as udev, glibc and systemd is being picked up by Android, and why?

Elephant in the room

Posted May 3, 2012 12:59 UTC (Thu) by ewan (subscriber, #5533) [Link]

The article mentioned Android thusly: "some distributors, such as Android, having replaced almost everything above the kernel". There's really not much else to say - it doesn't use the 'old' normal userspace, and it won't use the new one. It's chiefly interesting as an example of what it takes to go it completely alone.

Go-it-alone distros

Posted May 4, 2012 5:25 UTC (Fri) by pr1268 (subscriber, #24648) [Link]

As a Slackware user (and proud of it!), I don't quite see Slackware as "going-it-alone" to the extent our editor would suggest. Not as much as Gentoo, perhaps, but my recent experience perusing the init scripts on my Slackware system seem to suggest that Slackware "borrows" from Redhat/Fedora and Ubuntu, while still maintaining a SysVInit-style (old but reliable) startup system.

Also, I couldn't agree more with nhippi above about other distros "consuming" from Redhat. As much as I don't care for RH (or Fedora) as distros, I do acknowledge that their work pretty much drives the direction desktop and server Linux is taking1. Accordingly, I have to assume a certain responsibility for keeping current with trends in desktop/server Linux (even if Slackware is old-school). ;-)

There are several big names in Linux distros these days, and they're all trying hard to push their agenda. This is not a bad thing. Whether or not you agree with Lennart's thoughts on Ubuntu, one thing is certain: having a certain diversity of ideas, designs, and implementations in the Linux ecosystem is good for us "consumers".

To answer your question, though, I don't see Android doing much in any of the three areas you mention. In fact, I'd say your question borders on rhetorical3. If that's the case, then I see your point: Android is a big "consumer" of Linux (the kernel), but the specialized HW environment Android is supposed to run on precludes it from needing a startup system like Systemd, and I don't see udev being needed on a mobile device (how often does a HW configuration change on a mobile device?)2. Android uses its own LibC (either for specialization and eliminating code bloat, or for licensing reasons, or both), so I really don't see the Android developers doing much in the GLibC arena.

1 This is not to say that Debian, Ubuntu, Gentoo, Novell/SUSE, CentOS, Mint, etc. are not driving Linux's direction; the more commercial distros certainly have their desktop/server Linux interests to protect, and even the non-commercial ones have a distinct culture and philosophy.

2 I claim ignorance here. As a BlackBerry Owner (waiting out my contract before switching to an Android device), the only thing I'm plugging into my smartphone is the USB charging cable (either from the wall outlet or to my desktop computer to transfer files). Any other changes (SIM card, Micro-SD card, etc.) requires that the battery be removed.

3 I don't mean that in an unkind way; in fact, the more I pondered your question, the more mildly insulting it seemed (towards Android, that is). Janet Jackson's song "What Have You Done For Me Lately" comes to mind. ;-)

Go-it-alone distros

Posted May 4, 2012 8:58 UTC (Fri) by mpr22 (subscriber, #60784) [Link]

Most Androids have Bluetooth, I believe (and my Android phone's microSD slot is accessible without popping the battery). The Asus Transformer tablets, plugged in to their docking keyboards, are USB hosts.

Bluetooth (and Wi-Fi for that matter)

Posted May 4, 2012 11:53 UTC (Fri) by pr1268 (subscriber, #24648) [Link]

Ahh, darn... I forgot about Bluetooth. And, I'm now wondering whether turning on (or off) the Wi-Fi on such phones is considered "plugging in" (or removing) a network device...?

Seems I still have lots to learn about Android smartphones actually needing udev. Thanks!

Hatespeach

Posted May 3, 2012 10:38 UTC (Thu) by tpo (subscriber, #25713) [Link]

Once upon a time I quit participating (but not contributing) in Debian because the discussions there were soaking with hate. I just could not stand it any more. It was like living in a relationship with constant quarrel.

I hear that Debian's culture has advanced and discussion standards have gone up. I'm however getting the impression, that the standard of lwn's discussions has been heading the other way.

I seems that throwing around "crap" in comments has become OK.

I think I can handle and filter the tides of emotional pressure better nowadays, however the need for doing so is exhausing and makes it harder to discern the interesting intellectual part of the discussion among the exchange of emotional fluids.

I'm not sure it'll continue to be worth the effort to read the comments sections here if the discussion culture here will keep on evolving in the same style...

Re: Hatespeach

Posted May 3, 2012 13:23 UTC (Thu) by cesarb (subscriber, #6266) [Link]

I have also noticed that the amount of meta comments seem to be increasing lately...

Re: Hatespeech

Posted May 4, 2012 15:29 UTC (Fri) by giraffedata (guest, #1954) [Link]

It's always been my observation that the surest way to get flamed in LWN comments is to be mean to someone.

For example, when I read, "this is one of the worst articles that I've ever read here," I knew that there would be many opposing responses, some less than courteous.

The plumbing layer as the new kernel

Posted May 3, 2012 15:36 UTC (Thu) by iabervon (subscriber, #722) [Link]

Gentoo's "init system" mentioned is really a layer above "init"; it replaces /etc/rc.*, start-stop-daemon, ifup/ifdown, and that sort of stuff. It also seems to me like it would allow Gentoo to adopt upstart or systemd more easily than a lot of other distros, in that the information that packages contribute to /etc/init.d, plus the commands that administrators run if they want to run services provided by those packages, should be sufficient to configure either upstart or systemd.

The plumbing layer as the new kernel

Posted May 3, 2012 16:49 UTC (Thu) by gidoca (subscriber, #62438) [Link]

"would allow"? Gentoo already supports systemd.

The plumbing layer as the new kernel

Posted May 3, 2012 17:26 UTC (Thu) by iabervon (subscriber, #722) [Link]

According to that link, certain packages include systemd unit files, and systemd is able to deal with traditional init scripts. However, Gentoo's init system should be capable of generating systemd unit files which include functionality that systemd can't extract from traditional init scripts.

My point is that Gentoo should be able to offer packages additional init functionality in the case that they are being run under systemd (or anything sufficiently capable) without needing anything in the package particular to systemd. This would reduce the burden of having multiple enhanced init implementations on maintainers of packages which provide services.

The plumbing layer as the new kernel

Posted May 3, 2012 18:42 UTC (Thu) by jspaleta (subscriber, #50639) [Link]

I really look at what is going on now as the natural extension of the original project Utopia goals. which is to say we have been on this road for a while now. Long enough that we've discard the first implementations to serve the goals and started to replace them with the next generation that better serve those goals.

Looking forward I expect to see a d-bus service implementation driven deeper down into the stack as something that is always expected to be available. I find the recent blogs from Moya about netlink-based d-bus concept...fascinating. Whether or not what he's been blogging about is the right implementation that gets adopted is an open question. But I think the pressure to drive a d-bus-like implementation into the kernel is going to increase and something will end up being merged.

-jef

Trying to see the big picture

Posted May 3, 2012 18:51 UTC (Thu) by jmorris42 (guest, #2203) [Link]

A bigger question would be to ask Red Hat to give some sort of explanation of where they are trying to lead everyone else. They explicitly reject any ambition in the desktop space, loudly, publicly and on the record at every opportunity. Yet they employee the people most involved in the attempt at transforming Linux into something alien to it's previous role as the ultimate expression of the "UNIX Way." From the bottom end with systemd and all of the *kit stuff, to the middle with PulseAudio and the quest to recreate the Windows registry, all the way up the stack to the GNOMEs with their tablet madness. All too often the key people have @redhat.com on their email address.

Maybe we need to evolve beyond UNIX/POSIX. Maybe we don't. Maybe reasonable people can disagree on the question. But to have a informed discussion it would really help if we knew what the new proposed lodestar is. One gets the impression they do have a goal, that it isn't all just random code churn and overinflated egos. It all almost comes together and forms a coherent picture, but doesn't quite. It is the feeling of flailing around in the dark that is causing the most disquiet, at least for me.

Open Source need to be a little more than just dumping code over the wall.

Trying to see the big picture

Posted May 3, 2012 19:45 UTC (Thu) by jospoortvliet (guest, #33164) [Link]

I think what's going on here is that there's a difference between Red Hat the company and Red Hat the employees. The modular approach of Linux, with different, independent teams, fits less with the ideas of some influential RH people than the BSD model - 'we design everything'. And almost all of the die-hard desktop people in RH are quite passionate about GNOME when it comes to the desktop so that's what should work, the rest - some even dislike the fact non-GNOME apps 'leach off their work'.

This creates some tension - but they're (part of) the 1000 pound gorilla so though luck.

Trying to see the big picture

Posted May 3, 2012 19:47 UTC (Thu) by jospoortvliet (guest, #33164) [Link]

BTW I'm not saying any of this is bad - the focus leads to good things. I personally like the cleanup and standardization that systemd brings to us and the work on gtk+ object introspection, allowing desktop apps to directly interact with system-level stuff no matter the language they use and all that seems like a good idea. I still believe having higher-level interfaces is a good idea as it lowers the amount of work and hackiness needed for the apps - but that's more of a feeling than fact.

Trying to see the big picture

Posted May 3, 2012 21:23 UTC (Thu) by dgm (subscriber, #49227) [Link]

> They explicitly reject any ambition in the desktop space

Red Hat does offer an "Enterprise Desktop" product. Maybe you mean _consumer_ desktop market?

Please, not again

Posted May 4, 2012 11:22 UTC (Fri) by HelloWorld (guest, #56129) [Link]

Dude, we've had this discussion about a million times now. Hey, if you like UNIX the way it was in 1985, then go use that and leave the rest of us alone with your religious "UNIX Way" delusion.

Trying to see the big picture

Posted May 5, 2012 2:16 UTC (Sat) by bronson (subscriber, #4806) [Link]

Linux is "the ultimate expression of the UNIX Way?" Are you sure?

That title would be appropriate for Minix, Mach or the Hurd, not a giant, monolithic kernel whose development is steered by sheer pragmatism.

Trying to see the big picture

Posted May 5, 2012 9:51 UTC (Sat) by juliank (guest, #45896) [Link]

UNIX had a monolithic kernel, so micro kernels are not that UNIXish.

Trying to see the big picture

Posted May 8, 2012 16:07 UTC (Tue) by bronson (subscriber, #4806) [Link]

And that, right there, is why this supposed unix philosophy is so silly.

To quote Rob Pike on doing one thing and doing it well, "those days are dead and gone and the eulogy was delivered by Perl."

Trying to see the big picture

Posted May 8, 2012 17:14 UTC (Tue) by dgm (subscriber, #49227) [Link]

Even Rob Pike can be wrong, and the proof is the amount of times you use Perl vs. one job tools like ls, grep, head or sort, each and every day.

Trying to see the big picture

Posted May 8, 2012 17:51 UTC (Tue) by juliank (guest, #45896) [Link]

I use ls, grep, head, sort almost daily (ls definitely daily, to browse the file system), whereas I do not write perl scripts daily or execute self-written perl scripts.

Trying to see the big picture

Posted May 8, 2012 17:53 UTC (Tue) by juliank (guest, #45896) [Link]

And that's really not the only thing where Rob Pike is wrong. There are other things, such as static vs dynamic linking, and him wanting the static one.

Trying to see the big picture

Posted May 9, 2012 18:09 UTC (Wed) by bronson (subscriber, #4806) [Link]

You're comparing apples to oranges. Nobody said Perl made a better command line environment. How often do you use ls, grep, sort, etc to serve web pages?

Point is, the Unix Philosophy clan tends to dismiss tightly integrated things as bad designs. It's clear the world has room for both.

Trying to see the big picture

Posted May 5, 2012 10:02 UTC (Sat) by anselm (subscriber, #2796) [Link]

Plan 9. Unix done right – by the people who wrote it in the first place! None of that microkernel rubbish.

Divergence from UNIX philosophy

Posted May 6, 2012 3:36 UTC (Sun) by dberkholz (guest, #23346) [Link]

I have no problem with the *concept* of a core userland, the problem is that the *implementation* is no longer following the UNIX philosophy of passing plain text around to ease debuggability. If you've ever tried and succeeded in solving any problem related to *Kit, D-Bus, or the like, and you haven't actually hacked on the software before, you're a whole lot smarter than me. It's essentially a black box as far as anyone outside of the plumbers' world is concerned.

Divergence from UNIX philosophy

Posted May 6, 2012 3:40 UTC (Sun) by vonbrand (guest, #4458) [Link]

That "basic Unix philosopy" was applied as long as the plain text representation of data wasn't awkward and/or too inefficient.

The plumbing layer as the new kernel

Posted May 10, 2012 2:42 UTC (Thu) by Zizzle (guest, #67739) [Link]

I'm always puzzled by the systemd hate.

Surely any init systems that isn't a pile of shell scripts is an improvement.

Like a pile of crufty old, fork-happy shell scripts is what makes people, go "wow what a great, fast, efficient system startup scheme".

Luckily Apple saw Unix init for what it was and got rid of it for MacOSX.

And the cherished "UNIX Way". Have people never seen the unix haters handbook? Should we be limited to the Unix way for the rest of time.

Maybe we should start telling people that are in love with init and unix cruft to go install a BSD and be happy.


Copyright © 2012, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds