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.)"

8 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 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. Re:Gnome is more then creating a desktop by Anonymous Coward · · Score: 1, Interesting

      > GStreamer _is_ a Gnome project

      Yes, and in fact another one which demonstrates the not-invented-here attitude of the Gnome project pretty well.

      aRts predates GStreamer by years and the maintainer of aRts offered the Gnome project to use it as their multimedia framework pretty often.
      Still Gnome didn't "take and give" towards aRts but created GStreamer instead (which is still far from stable).

    3. Re:Gnome is more then creating a desktop by JimDabell · · Score: 2, Interesting

      I find it always funny that KDE supporters always list re-use of existing libraries as a big minus point of Gnome

      That's a straw-man argument. KDE supporters don't "always list re-use [...] as a big minus point."

      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.

      The same is true of KDE.

      Which makes the KDE supporters scream that Gnome is taking everything over.

      I think you may be listening to trolls, not KDE supporters.

      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.

      Can you give an example of how KDE alienates itself from other projects? I don't see that happening at all, in fact KDE developers have put a lot of effort into increasing compatibility between KDE and GNOME in particular.

      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.

      No, that's the job of Freedesktop.org, which both GNOME and KDE developers participate in.

      I find the KDE community extremely vicious against everything not KDE

      I don't. I find a lot of people who criticise KDE, and compare it against GNOME without becoming familiar with KDE first, leading to a highly biased point of view.

    4. Re:Gnome is more then creating a desktop by Makarakalax · · Score: 2, Interesting

      So? Most things have dependencies and if you want to use some other code that has a dependency you either install that dependency or write a wrapper for it.

      KHTML depends on Qt, mostly QString, one class. Apple wrote a wrapper so they wouldn't have to bundle Qt with their web-browser.

      I know little about Gecko, but would be amazed if it has no dependencies.

  2. 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 Anonymous Coward · · Score: 1, Interesting

      You see, I have been a Unix junkie for nine years. From time to time, I come out of the closet and talk about it. I've used Unix at work, ranging from Alphas to Indys to Suns over those years. Ever since a terrific mentor at the Oak Ridge National Laboratory, Charlie Hammons, introduced me to the spirit of Unix, I have been a student of that science which, in fact, is equal parts art. At home, I've been running Linux and the Apache Web server on a PC for over two years.
      Linux, like many complex technologies, has many different facets. Looked at in one frame of mind, it appears to be a complex command line behemoth full of arcane file names, tools, demons, and commands. Looked at in another frame of mind, it is a simple, clean, cool, powerful OS that is capable of great elegance and power. That's why there are so many different opinions about Linux. It is, and it isn't. You can, and you can't.

  3. 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