Slashdot Mirror


Ars Technica Interviews Robert Love

functor writes "Ars Technica has interviewed kernel hacker Robert M. Love of MontaVista/Ximian fame. He covers current and future developments in the Linux kernel and on the desktop, particularly concerning the Linux process scheduler and its enhancements for system responsiveness and also his work toward Project Utopia, an effort to make Linux's device management on the (GNOME) desktop transparent and seamless. (Robert Love is the principal hacker who worked on kernel preemption for the Linux 2.6 kernel.)"

21 of 147 comments (clear)

  1. Gnome is more then creating a desktop by Anonymous Coward · · Score: 4, Interesting

    The standard KDE argument:
    >A GNOME spreadsheet you want Miguel? Don't worry. The way things are
    >looking, I can hack one out in a few days. We will borrow from X, Y, and Z
    >projects since they have most of the functionality we need. It will be a
    >matter of fitting them all together."

    I find it always funny that KDE supporters always list re-use of existing libraries as a big minus point of Gnome, as if it is a bad thing to re-use and adopt none-Gnome supporting libraries,

    It is my vision that this is one of the great strengths of Gnome. In Gnome the supporting libraries are almost never Gnome dependent they often use already existing libraries or help to modify them too their needs, without Gnome-ifying them. When they create a new one for use in Gnome they tend too make it as generic as possible, With this sort of philosophy you create functionality that is easily adopted by other projects or was already in use or planned to get used. Things like Cairo (X-server), Fontconfig, ATK, etc. This is exactly why this functionality is popping up everywhere in open-source land. Which makes the KDE supporters scream that Gnome is taking everything over. This isn't true, but Gnome by using the above philosophy, doesn't alienate itself from other Linux/*nix projects in stark contrast too KDE. Gnome is not only about building a great desktop, it is about building modular desktop technology that can be used and reused by more projects then Gnome only, which make Gnome more cooperative too other projects then KDE.

    As example below a quote from Robert Love (from kernel fame) in a interview too Arts-Technica developing for Ximian about his project Utopia:
    [Begin quote]
    Love: Project Utopia's goal is to fully integrate the Linux system, from the kernel on up the stack, through the GNOME desktop, its applications, and finally to the user. Therefore, Project Utopia is very GNOME-specific.

    But Project Utopia is composed of many small components, and each component is intentionally being developed separately and abstractly. Thus, a GNOME desktop (or any desktop) is not required for much of the functionality and another desktop environment could (and should!) provide the missing pieces.

    The system is architect-ed in such a way that the only components actually at the desktop layer are policy mechanisms, such as gnome-volume-manager, and glue layers/libraries, such as any forthcoming notification system.

    Components such as udev and hotplug are obviously entirely agnostic to the rest of the system, as they are (or will be) required pieces of nearly any Linux system. Other components, such as D-BUS and HAL, can likewise fit into any system. I very much hope that both of those projects find wide adoption.

    In response to your example, I think that a server with no desktop environment would still benefit from this work. In fact, it would just use Project Utopia as far up the stack as needed, definitely making use of udev, D-BUS, and HAL.
    [End Quote]

    Now do you think that at KDE they will be glad to get such technology? Oh sure they will take it and probably "adapt" it (like the Borg that is) into there desktop, but for sure the work they will put into it will only benefit KDE and while this is happening they will scream and whine till the end that Gnome is about adopting and Gnome-ifying (giving project Utopia as example off-course, because the technology will get adapted in lots of non-gnome projects), while little somebody else can use is coming from the KDE community (it is all of the KDE or die, look at Red-hat and user-Linux how KDE treads other visions).

    The question is: Do you want a *nux/Linux community desktop which takes from (Fontconfig, Cairo, librsvg, etc) and gives too (Project Utopia, GTK+, Freedesktop.org, Gstreamer, ATK, Pango, etc) other projects (Xfree86, XFCE4, etc) without making everything it touches Gnome or do we want the none-*nix/Linux philosophy of one big API in the form of a win32 clone which alienates everything no

    1. Re:Gnome is more then creating a desktop by w00t_sargasso · · Score: 5, Funny

      What the hell are you on about man? KDE does use libraries -- Just not the ones GNOME uses. And here, I see we have yet another mass-manufactured windows hater who says that generic uniformity of interface is a bad thing. Personally, I would rather have all my applications have similar dialogs, etc and be as similar as possible in operation (hence why Windows is actually reasonable sometimes, and why I use KDE) More than that, point out 3 examples of public whining the KDE team has made about GNOME. I haven't seen anything on their website. Meh. People like you make me want to go back to DOS. :D

    2. Re:Gnome is more then creating a desktop by nitehorse · · Score: 5, Insightful

      Just a few comments.

      1) KDE, as a project, is not Borg-like. We like to use other technologies when they work, and we use (and/or invent) better ones if the existing things don't work properly. (See CORBA.)

      2) While it's nice to leverage existing technology and architecture, if you make use of too many existing projects it becomes an absolute nightmare to build everything from scratch. Even installing from binary packages is a huge pain - there are literally dozens of packages, and getting the dependency order correct is just insane. Can you tell me off the top of your head which libraries gdk-pixbuf, gtkglarea, ORBit, and libzvt depend on? I didn't think so.

      3) Using all sorts of different projects means that you have different APIs for every library. One of the really nice features of having KDE based on Qt is that Qt provides a very nice, sane, predictable API for all sorts of different things - the same methods are available whenever they make sense. And since all of kdelibs is distributed as one package, and developed as one large package, the entirety of the API is much more cohesive than the ORBit API plus GTK+ plus libxml plus libsoup plus any other independently-developed libraries that you might need to include to get the functionality you need.

      KDE and GNOME are evolving to serve very different markets and that's ok. I'm a KDE developer and I'm excited about everything in Project Utopia, even the GNOME-specific parts, because it gives me a chance to see what they do that I like and what they do that I dislike in their GUI and I have the opportunity to do things differently without duplicating the entirety of the Project Utopia tree. To use a very common analogy, it's much better for someone to reinvent the hubcap on the wheel than to keep reinventing the entire wheel every time.

    3. Re:Gnome is more then creating a desktop by be-fan · · Score: 5, Interesting

      I find it always funny that KDE supporters always list re-use of existing libraries as a big minus point of Gnome, as if it is a bad thing to re-use and adopt none-Gnome supporting libraries,
      ---
      It is at once a strength and a weakness. By reusing existing libraries, they gain interoperation and speed up development. However, at the same time, they give up any semblence of a highly architectured, well-integrated platform. KDE has an extremely high level of integration and consistency precisely because the KDE project has an habit of making sure that anything that goes into KDE fits naturally into the desktop. One of GNOME's principle weaknesses is that its usage of external libraries tends to destroy integration within the desktop. In KDE, pretty much everything uses the same text-editing component. You write a text-editor KPart, and it'll work in KMail, KWrite, Kate, KDevelop, etc. In GNOME, pretty much everything uses a different text-editing component. When the Kvim KPart was developed, all of the above mentioned apps automatically got support for editing text with Vim. When Evolution got vim mail-editing support, gedit and anjuta didn't automatically get it. When GNOME's HIG adopted a new Okay/Cancel button order, apps had to change their code to adopt to the new format. In KDE, if the developers wanted to change the button order, they'd change a single line of code in a library!

      Now do you think that at KDE they will be glad to get such technology? Oh sure they will take it and probably "adapt" it (like the Borg that is)
      ---
      That really doesn't make a whole lot of sense. Most of Project Utopia is desktop agnostic. Its like the Linux kernel, or glibc. KDE will "adapt it" as much as they "adapt" any other low-level API. They'll write a KDE wrapper for it and be done with it. (Without the KDE wrapper, it'd be C code, and C++ programmers don't want to use C libraries any more than C programmers want to use C++ libraries.) I don't really understand what's so borg-like about using APIs that were meant to be used in the first place?

      into there desktop, but for sure the work they will put into it will only benefit KDE
      ---
      Its hardly KDE's fault. They are building a well-integrated platform. They make extensive use of code-sharing because that is good software design, not because of some political reason. Anybody is free to use KDE's technologies, just as much as one is free to use GNOME's technologies. If people don't want to use C++ code, or depend on Qt, that's really their problem. I mean, the GNOME project seems to have no problems spreading the glib dependency all over the place.

      Project Utopia
      ---
      Most of this project (udev, hotplug, d-bus, HAL, etc) is not under the GNOME umbrella.

      GTK+
      ---
      Qt is there, and has the same number of dependencies as GTK+. And its GPL to boot. What's the problem here?

      Freedesktop.org
      ---------
      Freedesktop.org is *not* a GNOME project. None of the freedesktop.org software projects are related to GNOME. Enchant is the closest, because it comes from AbiWord, which has a GNOME version... Hell, KDE has more representation on freedesktop.org than GNOME does, because D-BUS is directly modeled on DCOP, and is a key component for freedesktop.org.

      Gstreamer
      ---
      Again, not a GNOME project. It uses glib, but then again, so does aRts! What gives people the idea that these things are GNOME projects?

      ATK, Pango
      ---
      These *are* GNOME-related projects, though Pango is more GTK+ related than GNOME-related.

      other projects (Xfree86, XFCE4, etc) without making everything it touches Gnome
      ---
      The GNOME project seems to have a tendency to push the idea that all the software it "adopts" is related to GNOME. Key example: many people now think that OpenOffice is a GNOME app, because it is part of "GNOME Office." Its absolutely ridiculous!

      one big API
      ---
      KDE actually has a highly modular API. Try developing for it sometime. Its very complete and very consistent, but that doesn't mean

      --
      A deep unwavering belief is a sure sign you're missing something...
  2. Kernel Preemption... by Anonymous Coward · · Score: 5, Funny

    ...is a bad idea. Who are the users to think their trivial tasks are more important than the kernel's?

  3. I was on this mailing list... by Anonymous Coward · · Score: 4, Funny

    I was on the linux-kernel mailing list and all I got was spam from Microsoft trying to sell me OS enlargement pills and spam from Intel trying to sell 7 minute SMT support (if it doesn't work in 7 minutes they throw in the extra minute for free.)

  4. Must.... Read... Headlines by Psychotext · · Score: 5, Funny

    I haven't had enough sleep, because that headline came out as "Slashdot Interviews Robot Love". I thought we were going to have the interesting story of the worlds first robot pornstar.

    Oh well, back to my deranged little world...

    --
    People that believe in their opinions don't post AC.
    1. Re:Must.... Read... Headlines by Psychotext · · Score: 5, Funny

      Oh god... it wasn't even Slashdot doing the interview. Time for another coffee.

      --
      People that believe in their opinions don't post AC.
  5. Re:I appreciate his work on the scheduler by Anonymous Coward · · Score: 3, Informative

    If it's truly an O(1) routine, there should be -no- increase in running time as more procs are added; it should remain constant. If it increases with the number of procs, it's no longer O(1).

    Period.

    Calling it anythign else is the kind of marketing deception that OSS is supposed to free us from.

  6. Strange by nagora · · Score: 4, Insightful
    As someone that's used Linux as their only desktop on nearly a dozen machines for four years Love said nothing of the slightest interest to me.

    Linux already works fine as a desktop; what most potential switchers need are a few good apps to fill the role of Quickbooks, Exchange, iMovie and a handfull of other programs. They're happy with any schedular as long as their ogg/mp3 player doesn't skip while loading a big spreadsheet.

    As to GNOME and KDE? Well, they're fine if you think all Microsoft's HCI mistakes are outweighed by the need to make it easy for their users to switch to an equally badly designed system. I don't and so I couldn't care less about what the programmers on these projects are wasting their time on this week.

    My wish list for the desktop is: a decent file system which stores meta-data beyond the file name and date stamp, a program which decodes the data in Quickbook files so I can import into Gnucash, and a single, working, font system. None of these are very urgent but they're all more urgent than anything mentioned in the article.

    TWW

    --
    "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
    1. Re:Strange by steveha · · Score: 4, Insightful

      Linux already works fine as a desktop; what most potential switchers need are a few good apps

      Linux already works fine, as long as you are a Linux guru, or if you never need to change the hardware configuration at all.

      Would you like to read CompactFlash cards? Okay, plug a CompactFlash reader in to a USB port. Let's say your kernel was set up correctly, and lucky you, you don't need to run modprobe or edit modules.conf. But you still need to (for KDE) manually create an icon for the desktop to let you mount the CompactFlash reader, or (for GNOME) edit /etc/fstab so that the reader will show up in the "Disks" submenu when you right-click the desktop. Then you need to mount the CompactFlash chip manually.

      The stuff that RML is working on right now would make it work like this:

      You plug in the CompactFlash reader to a USB port, and it appears on the desktop. If your system is set up for it, GNOME then asks you "Would you like to import these photographss into your photo album?"

      This is the sort of ease-of-use that Apple brags about. And I think it's really cool.

      steveha

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
  7. Re:I appreciate his work on the scheduler by functor · · Score: 4, Informative

    Perhaps you'd wish to appreciate Ingo Molnar's work? Robert Love's work has been to make the kernel mostly preemptible, rather than to make its scheduling algorithm more efficient.

  8. How much of this is ready for use? by steveha · · Score: 5, Interesting

    Project Utopia is going to glue a whole bunch of stuff together. Meanwhile, some of the pieces look interesting.

    Is udev ready for use by typical Linux users (as opposed to kernel hackers)? How about sysfs -- that is just part of 2.6 and is completely ready, right? How about D-BUS?

    Meanwhile, on a flamefest^H^H^H^H^H^H^H^H^Hdiscussion about KDE and GNOME, I saw a claim made that "hardly any GNOME applications use Bonobo". Is that true? If it is true, is it changing? (Wasn't a Network Object Model one of the fundamental things about gNOMe?)

    I browsed RML's blog, and some of the screenshots look really cool. I'm really looking forward to this stuff.

    steveha

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
    1. Re:How much of this is ready for use? by nitehorse · · Score: 4, Informative

      Oh, wow.

      I'm not even a GNOME hacker and I can tell you you're pretty far off.

      D-BUS isn't meant to replace Bonobo at all. D-BUS is a message bus architecture meant for passing messages between applications and the system - e.g. for the kernel to tell the desktop "Hey, I mounted a USB flash drive at /mnt/usb!" or "The user inserted an Audio CD". Bonobo is a cross-application component embedding system so that you can have the AbiWord viewer embedded into Evolution for inline-viewing of an attached word-processing document.

      (FWIW, D-BUS is modelled heavily on DCOP, which we've had in KDE since KDE 2.0. D-BUS has both a system-bus mode and a session-bus mode, however, which DCOP does not, as DCOP is a session-bus system only. The current talk indicates that we'll be moving wholesale to D-BUS for KDE4.)

    2. Re:How much of this is ready for use? by be-fan · · Score: 5, Informative

      It is true that hardly any GNOME applications use Bonobo. Its use is limited to Nautilus, AbiWord, and Gnumeric as far as I can tell. The Network Object Model was supposed to be a fundemental part of GNOME, but they really dropped the ball with it.

      You see, Bonobo is based on CORBA. And CORBA, as I can tell you from working on a fairly large project using it, is a total piece of crap. Its a design-by-committe API that has no semblence of order, and requires a thousand page manual to describe a fundementally simple concept. Oh sure, CORBA is great in theory. Its platform independent, network transparent, feature-packed, well-supported by the industry, and with a good ORB (OmniORB or ORBit) can be quite fast. Its also an absolute bitch to program, and the API (especially the C++ one) is more horrid than even MFC!

      When the component models of GNOME and KDE were being designed, I remember the debate between using CORBA and making something new. The GNOME people went with CORBA and stuck to it. The KDE people tried a CORBA-based system (OpenParts) realized how badly it sucked, and ultimately rolled their own (KParts). The GNOME people ridiculed them for going that route (reinventing the wheel, they said). Well, it is now 2004, and KParts is a phenomenal success on KDE, thanks to its simplicity and power. Meanwhile, Bonobo is pretty much marginal on the GNOME platform, even according to original creator.

      --
      A deep unwavering belief is a sure sign you're missing something...
  9. O(1) by Anonymous Coward · · Score: 3, Informative

    This terminology didn't originate in C.S.: it's been used in physics before the Eniac was even born and in maths even before that.

    It's general meaning is that the entity described as being O(something) responds to a variation of "something" like "something"'s power that apears between the braces, i.e. here it's a constant, so the scheduler wont respond at all. You can have O(x), wich responds linearly to x's variations, O(x^2) wich responds quadraticly (non-linear comportements begin here), and so on...


    Furthermore: it's not 0(1) (zero(1))... it's O(1) (O as in "Order of")
    1. Re:O(1) by mst76 · · Score: 3, Informative

      For more information, see Wikipedia

  10. Re:I appreciate his work on the scheduler by realnowhereman · · Score: 3, Interesting

    Erm no. To initially add a new process to the scheduler list takes longer (which is what the parent said); however once it's added it can be accessed in the same time regardless of the total size of the list. So it takes slightly longer to start the process, however once it's started the scheduler takes the same amount of time to do its work regardless of the total number of processes running, hence O(1)

    This is just demonstrating the universal tradeoff in algorithm design: faster add vs faster access (see INSERT vs SELECT in DBs)

    --
    Carpe Daemon
  11. Re:Another example by tackat · · Score: 4, Insightful

    Hi,

    The example you are pointing to is in fact one of the best examples you could have given that you are completely wrong with your reasoning.

    The KDE Groupware project builds on Kolab

    http://kolab.kde.org/

    The Kolab Server has been a KDE independent project from the start in 2001. You don't need _any_ KDE libraries to use it and it's not built on top of anything that would be KDE specific. It was intentionally built this way to make it possible for other projects to _use_ it as well. It has been finished and stable since more than 8 months ago.

    Still I don't see Ximian using it - Instead they seem to reinvent their own wheel from scratch now ...

    And as you would find out if you were more open minded this isn't the only example where KDE creates technology which has never been KDE specific and which is has been discarded by other projects just to reinvent their own wheel.

    So much for the pot calling the cattle black ...

    Regards,
    Torsten Rahn

  12. Microsoft Bob by Anonymous Coward · · Score: 5, Funny

    not to complain, but I remember one of the first beta lists I ever was on was for the product called "Microsoft Project Utopia" which apparently was the internal code name of the development project later to be released as "Microsoft Bob".

    Just thought you'd find this interesting ehhe

  13. Linux Guru? by Felinoid · · Score: 3, Funny

    > as long as you are a Linux guru

    Don't sabotog your argument with such language.
    I can show you a whole bunch of people who use Linux as a desktop and aren't computer experts. The bulk of the Slashdot userbase.

    I'm not a Linux guru but I certanlly use it for my desktop. Cmdr ("Do I LOOK like I could make a Linux Destro?") Taco is yet annother example.

    It dosen't take a computer expert to pull up a shell SU into root start up the Linux config tools and recompile the Linux kernel.

    Nither dose it take a Linux guru to build Linux from scratch or a PC expert to build a PC or an automotive expert to change your oil.

    But....
    Grandma dosen't change her oil she takes it into the shop and they do it.

    I could build my own table.. Not that difficult. But it's enough work that I'd rather buy one premade.

    That is how it is with Linux right now.
    MOST people could run it but for most people it's a lot of work.

    --
    I don't actually exist.