Bounties for Gnome Optimization 469
Eugenia writes "Novell and OSNews are sponsoring the memory reduction project led by Novell's Ben Mauer by providing bounties to developers to help to clean up bloat in GNOME and related programs."
I THINK THEY SHOULD CONTINUE the policy of not giving a Nobel Prize for paneling. -- Jack Handley, The New Mexican, 1988.
Gnome Optimization (Score:5, Funny)
Re:Gnome Optimization (Score:2, Funny)
Re:Gnome Optimization (Score:5, Funny)
That's because you used a Red Hat. You could have had better luck if you had bought him a Fedora.
This can work both ways (Score:2, Insightful)
Re:This can work both ways (Score:2)
Re:This can work both ways (Score:3, Insightful)
People who wouldn't have otherwise thought of trying to clean up Gnome will give it a shot. Go, Novell!
Re:This can work both ways (Score:5, Interesting)
Re:This can work both ways (Score:5, Interesting)
Re:This can work both ways (Score:2)
Its about time (Score:5, Insightful)
Re:Its about time (Score:5, Informative)
You may want to give it back a try.
We use kde in our offices, which are pentium 2, 400mhz and as little as 128mb (!) of ram.
On my development box, i have a dual 400mhz P2 with 320mb in ram, and i can run eclipse with tomcat
Re:Its about time (Score:3, Interesting)
Re:Its about time (Score:3, Funny)
I run it in 640kb which, after all, should be enough for anybody.
Re:Its about time (Score:3, Funny)
Re:Its about time (Score:3, Insightful)
As for Konqueror, well I think Firefox has taken the open-source browser crown. Saying that, I use Konqueror for browsing images on the local filesystem. As a general file-manager it's not really up to it, and it's not really up to it as an Internet browser. I think t
Re:Its about time (Score:3, Interesting)
Have you had a look at ROX [sourceforge.net]? It's small, fast, and has some nice shell integration (eg. you can navigate directories/files as you would in bash, with tab completion, etc; you can run shell commands in a minibuffer; a command to open a terminal at the directory you're browsing
Personally, I use IceWM [sourceforge.net] for win
Re:Its about time (Score:3, Interesting)
I can vouch for this, the KDE desktop and all of its apps are nice and snappy on my aging Athlon 750. To put this in perspective, Firefox--a widely acclaimed "small footprint" browser--feels like bloatware in comparison. I use it over Konqueror only because I can use the Adblock and Googlebar plugins with it.
Re:Its about time (Score:5, Informative)
Qt is dual licensed under the GPL. It's no longer any more proprietary than gcc.
Re:Its about time (Score:3, Interesting)
Also, KDE 4 will be very interesting: it's undergoing a complete HIG review, and there will be a lot of deep changes. Luckily, the features and solid architecture are already there for the new interface to take advantage of - unlike Gnome.
Re:Its about time (Score:3, Informative)
or to use a dedicated distribution like Beatrix http://www.watsky.net// [watsky.net]
which include gnome and use dirty trick with the kernel to improve performance.
Re:Its about time (Score:4, Insightful)
Why is open source software always so memory-hungry?
I really don't know the answer, but would expect that is is partly due to different apps and code blocks being written by lots of different people in some amount of isolation. This could lead to a limited view of the project/distribution and as such the various inefficencies in the system may get missed.
Re:Its about time (Score:4, Insightful)
I had been reporting memory leak problems with gaim since like v0.8something, and was repeatedly told along the lines of "i dont have any problems, and there haven't been any memory leaks found in several versions", and was summarily dismissed. Surely enough, in a recent versions changelog, "* large memory leaks plugged" or some such. Until the problem bites the authors of the project, no one cares.
Also, the absolute insane complexity of many of the things (layer upon layer upon layer upon layer upon layer of abstraction for no good reason at all except to have a high-level interface to a high level interface to a high level interface to a medium level interface to a low level interface)
This is a realy good idea (Score:2, Insightful)
Re:This is a realy good idea (Score:5, Informative)
Both KDE and Gnome use window managers, but neither of them are window managers
(the fact that you can change which window manager is used by KDE and Gnome
is a good indication that they, themselves, are not window managers).
xwinman.org gives an excellent introduction to both window managers and
desktop environments. Give it a look.
Re:This is a realy good idea (Score:2)
FYI, anything that is talking about the recent release of KDE 2.0 is just a tad dated. The concept is neat, but somehow I doubt the site is at all maintained.
KDE has been doing this since day one (Score:5, Insightful)
Next Bounties (Score:5, Funny)
Re:Next Bounties (Score:3, Insightful)
Feasable Career? (Score:5, Funny)
I can just see all the coder bounty hunters with their boba fett helmets on.
Re:Feasable Career? (Score:4, Insightful)
Not at $100 or $200 a pop, notta chance. I think these are mostly to encourage the existing gnome hackers to attack some less-than-glamorous problems they would rather not do normally. I doubt we'll ever see a wild wild west bounty hunter who just roams around between vastly different projects. If the improvements were that easy to make, someone already on the team would just make them instead of giving up money. If they aren't that easy, like these, then you wouldn't be able to solve enough of them to pay your rent.
gnome-terminal (Score:5, Informative)
Re:gnome-terminal (Score:2, Interesting)
1. Rip out gnome-terminal and piss on it
2, slide xterm or aterm into its place
3. Profit?
Re:gnome-terminal (Score:2)
Re:gnome-terminal (Score:2)
Re:gnome-terminal (Score:2, Interesting)
Re:gnome-terminal (Score:2)
I call bullshit. I've benchmarked a few terminals, since sometimes my programs spew out tons of crap. Gnome terminal won in terms of speed (as long as you don't use antialiased fonts). rxvt was not far behind. XTerm was pitiful, especially if you have a large scollback buffer. KTerm was far behing xterm, unless XTerm has a large buffer
Re:gnome-terminal (Score:2)
If by "KTerm" you mean Konsole, I will say that it was only recently that I could switch to Konsole - probably KDE 3.2.x because it used to be too slow. It's now indistinguishable compared to xterm in my opinion. Mapping multiple sessions to ALT-F1-F6 like the linux console inside of konsole makes it more functional than xterm... I've switched for good.
(Although for remote sessions I'
Re:Nah (Score:3, Informative)
One person attempted a hefty rewrite, but ended up forking to the Multi Gnome Terminal.
Novell... (Score:2)
I know they have a vested interest but this is great stuff.
bloat in gnome... (Score:3, Funny)
-1, Not Sufficient Geeky (Score:4, Funny)
Fine, give them money, but... (Score:4, Insightful)
I wonder how many crappy bug reports and patches are to be submitted because of the "easy" money being given. I do believe that the bounties will go to the right people and for the right reasons, but more the crap, the more it takes work to find the gems.
Nevertheless, it's about time to unbloat Gnome.
Re:Fine, give them money, but... (Score:3, Insightful)
"I wonder how many crappy bug reports and patches are to be submitted because of the "easy" money being given."
0. Just because you submit a bug report doesn't mean it becomes a bounty.
Novell's attitude towards Linux desktop (Score:5, Insightful)
Feel the irony?
They should instead be desktop neutral and support KDE developers too...
Re:Novell's attitude towards Linux desktop (Score:2)
Re:Novell's attitude towards Linux desktop (Score:2)
Re:Novell's attitude towards Linux desktop (Score:2)
Re:Novell's attitude towards Linux desktop (Score:3, Insightful)
I can't help but wonder what wou
Re:Novell's attitude towards Linux desktop (Score:3, Interesting)
motivation or reward? (Score:3, Insightful)
Everyone has been assuming that this is pure motivation, appealing to the greedy nature of people who aren't already contributing. I don't think that's the case. Generally speaking, those people who are good programmers and know the code well enough to actually identify and fix problem areas are probably already doing so. This "bounty" seems to be more a way of rewarding them and helping to give them a list of priorities.
Re:motivation or reward? (Score:2)
eugenia? (Score:2)
Yup, Eugenia from OSnews (Score:2)
This can only be good (Score:3, Insightful)
Re:This can only be good (Score:2)
Time and space complexity concerns (Score:5, Interesting)
Unfortunately, for many in developing countries (like me, here in Brazil) having a computer filled with RAM and with the fastest processor available on the market isn't an option.
For instance, my desktop has a Duron 600MHz with 256MB of RAM. That's the fastest computer to which I have access here and it is some years old, but still working fine.
I can't say how happy I am with this bounty for optimization of memory.
In Computer Science we always have this concern with both time and space complexity and it seems that if Free Software developers start caring about good data structures and good algorithms (and avoid layers and layers and layers of abstraction over and over), we can actually use our computers more efficiently.
Again, this is especially important for those who have to use computers of two or three generations ago.
A welcome movement indeed.
P.S.: If you have never felt the need for less memory comsumption, then you won't probably understand how important this project is and probably this post makes little sense to you.
Perfect Labor Capital Market (Score:4, Interesting)
This creates parity for labor in the capital markets. Programmers can sell their labor as a packaged product, just as vendors can resell the programs to consumers. Programmers can market their code with better documentation, APIs and popular features. While integrators like Novell can get access to the labor market, without risking that the labor they're buying is better at job interviews than at delivering on deadline.
There is an issue of the "waste" of the losers' code submissions. But since these projects are open source, the losers can fork the project and compete with it. If the losers are really better, they can compete better with the original project - which itself might be forked by the original contest sponsor. Brand equity will determine winners in the long run, but the open source lets brand equity be earned by persistent quality, as determined by the consumer market, rather than the funder of the code.
Ladies and gentlemen, start your engines!
Re:Perfect Labor Capital Market (Score:2)
2. Take none of them, or take a fake submission you created yourself
3. Let the fool create a forked project
4. Get the code for free (It's open source right?) and integrate it in the project.
5. Profit!
Re:Perfect Labor Capital Market (Score:2)
Re:Perfect Labor Capital Market (Score:3, Insightful)
Thus, what I'm saying is that to get a guy to create GPLed code for you for free, you only have to start a "contest", don't take the guy's submission, wait until he forks your project with the code he created for the "contest", and integrate that code in your own project. Perfectly legal and ethical, since your project is also GPL, and you didn't pay a p
Ditch the dependencies and deprecated code (Score:4, Interesting)
In its history, Gnome has changed its libraries and subsystems several times, from imlib to gdk-pixbuf, from gnome-canvas to pango, from Corba to Bonobo to possibly Mono, from esd to gstreamer, and so on. Many Gnome apps still use older, deprecated libraries. Get rid of those libraries and port all apps to the standard core API.
I'm thinking of Bonobo and gnome-vfs here which are not consistently used in Gnome and whose quality and use value is questionable. If their functionality is still needed, it could be replaced by KDE's superior kioslaves and kparts (just as KDE is ditching its arts sound demon in favor of gstreamer)
Neither Gnome, nor KDE applications should be depending on any desktop-specific userspace demons. Make it possible to deactivate gconf, for example, and have applications read and write configuration files the classical Unix way, by one central switch. Make the sound demon optional, so that audio output could just be written (in old-fashioned, non-overlapping way) to /dev/dsp.
Etc.etc. The demons might have some use for some people, for for many, they are just bloat and unnecessary complexity.
Re:Ditch the dependencies and deprecated code (Score:3, Interesting)
I particularly like:
Make all demons optional
Neither Gnome, nor KDE applications should be depending on any desktop-specific userspace demons. Make it possible to deactivate gconf, for example, and have applications read and write configuration files the classical Unix way, by one central switch. Make the sound demon optional, so that audio output could just be written (in old-fashioned, non-overlapping way) to
Re:Ditch the dependencies and deprecated code (Score:2)
Re:Ditch the dependencies and deprecated code (Score:4, Informative)
Bonobo is slowly being removed since GtkUIManager came on the scene. I think gnome-vfs will be around for a while, especially since the new file chooser can plug in to it (I think).
Re:Ditch the dependencies and deprecated code (Score:4, Insightful)
I believe that deprecated libraries tend to be replaced by stubs that backport the new functionality to the old API. Eg, the gnome_sound_play function currently sends a sound file to Esound; when (if) GStreamer becomes part of the platform, the function in libgnome will be replaced with code to do the same thing in GStreamer.
The old APIs can not be removed until the developers decide to make a new release backwards-incompatible--this will be Gnome 3.0 (http://live.gnome.org/ThreePointZero [gnome.org]).
> Remove or replace subsystems which never really were useful
Most people I see using Gnome use GnomeVFS all the time. Being able to access files shared on the network without having to be root to mount them is really nice. Even nicer is the sftp virtual filesystem, used for accessing files over SSH's SFTP. If GnomeVFS is to be replaced by something else, it will be by freedesktop.org's D-VFS.
As for Bonobo: I believe panel applets use it all the time, and I don't think KParts can be a sensible replacement for it: Bonobo isn't just for GUI components. Since it is a Corba implementation, one can use out-of-process components with it, as well as components running accross the network. It's more like DCOM, whereas Kparts are analogous to ActiveX.
Furthermore, I don't see the Gnome developers starting to use C++ any time soon. Besides the matter of taste and familiarity, C++ has problems with ABI stability. It took an age for Debian to recompile every C++ program when GCC 3.2 came out; I believe one of the reasons GCC 3.4 won't be in Sarge is because it breaks ABI compatibility again.
> Make all demons optional
Sounds like you want to duplicate the code from the daemons and copy it into each application. This would only increase memory usage and the number of bugs, while decreasing functinality. The reason GConf is really, really good is because of the signals/notification system. I'm not sure one's desktop would run much faster if every program one used polled its config file for updates every second.
As for Esound, it will go away in the future if GStreamer becomes a part of the Gnome platform. This will be really nice when it happens, because the job of picking which sound server to use (esd/polyp/arts/jack/none), configuring it, etc will be left up to the distributor. But GStreamer has a fair bit of improvement to do before this can happen; and since removing Esound all together is backwards incompatible, it will have to wait for 3.0.
Re:Ditch the dependencies and deprecated code (Score:2)
Re:Ditch the dependencies and deprecated code (Score:2)
With ALSA and DMIX, any sound card can be used by any number of programs at once. I think many cards will do hardware mixing as well. ESD really isn't necessary any more at all.
The processor usage of ALSA vs ESD playing back Oggs is much lower.
Re:Ditch the dependencies and deprecated code (Score:2)
Re:Ditch the dependencies and deprecated code (Score:2)
We put them where they belong: into the X11 server. It is, in fact, depressing that the most common native X11 desktop fails to use standard X11 functionality and fails to work properly over remote connections, for this and many other reasons. KDE at least has the excuse that it's based on cross-platform technology, but Gnome is not.
And sure, let's only allow _one_ application to use the sound device at a time. That really sounds like progress...
Either Gnome s
While they are at it ... (Score:5, Interesting)
The best way of ensuring that it stays fixed is to give all the gnome developers PIIIs with 128 Mb RAM.
Re:While they are at it ... (Score:3, Funny)
Re:While they are at it ... (Score:3, Informative)
Remember... (Score:2)
Pay Peanuts, Get Monkeys - Catch Fleas (Score:5, Insightful)
That isn't enough to support a community of coders, even if the range of bounties were scaled up to supply a significant headcount with enough work to keep busy (say, 500-1000 bounties a year). The labor might be fueled by people who are coding GNOME anyway, to prioritize completion/submission of some tasks. But the better, even more productive coders won't be available at those rates. It remains to be seen whether a multitude of mediocre submissions can compensate for too-cheap bounties that can't attract quality coders. Or perhaps this model will merely send all coding offshore, to programmers who can work so cheap that a single $100 bounty won can fund a month of unsuccessful submissions to other bounties they lose.
Are you kidding me? (Score:3, Interesting)
This isn't for people who have jobs which pay them so much money they can have sexy-parties with hookers and blow every Tuesday, this is for peopl
Re:Pay Peanuts, Get Monkeys - Catch Fleas (Score:2)
And to install the entire development trees and actually do a compile? Ludicrous. heh.
Re:These bounties are not payment, they're prizes (Score:2)
As we agree, it's not enough to support a person's own economics, unless perhaps they live somewhere that programmers are willing to make about $1200:y. Or they're getting paid by someone else (perhaps their own project). It's really just a bounty to prioritize the patches th
Good luck! (Score:5, Interesting)
The big annoying thing with optimization is that assuming you are working with talented people (I believe the people who work on GNOME are talented), there is generally little low-hanging fruit. An example of low hanging fruit is places where you are using--for example--a vector, but you should be using a map or a hash table. Another example is places where complex code can be skipped over by checking some preconditions and bailing early.
Although premature optimization is the root of all evil, most of us recognize these sorts of places early, and do the relevant optimization work in the first place. What you're left with in terms of optimizations is places where your initial architecture is *just wrong.* This kind of performance / memory deficiency really sucks, because most of the time the code is too complex and there are too many other dependent pieces of code to do the necessary rewrite.
The other thing that makes optimization work hard is (lack of) tools. There are basically two types of problems you can optimize: speed and size. Sometimes you get lucky, and fixing size problems *also* increase speed (generally because your smaller code now fits in the instruction cache, or because your data memory fits in the L1 or L2), but that is usually the exception. With size problems, the best bet is usually to make all objects pooled individually. This allows you to dump out information during the program run as to how many objects you've allocated of a particular class, as well as how much memory they're taking up.
With speed concerns, it's a little more difficult. There are basically two types of speed problems. Problems that occur constantly, and problems that occur as a result of user interaction or are themselves cyclical. Effectively it's a matter of identifying spikes versus identifying plateaus. Plateuas are the easier of the two, because they are identifiable via tools like Intel's VTune (which has been--I believe--ported to Linux by Intel). But spikes are harder, in that identifying them requires code instrumentation, and although there are some suites that will do it automatically, they often over instrument places which lead to artificial spiking.
Anyhoo, sorry for rambling... optimization is something very near and dear to my heart.
vector is not "low-hanging fruit" (Score:3, Interesting)
I
Additive bounties (Score:5, Interesting)
I could setup this site right now fairly easily, but people wouldn't trust my joe random site as well as they would trust a bigger and more established organization like Novell or Ubuntu/Canonical. But I can't be the only one looking to put my money where my mouth is, so why does this functionality not exist?
I like the idea (Score:4, Insightful)
Re:Eye Candy (Score:2)
Re:Eye Candy (Score:3, Interesting)
And as for the people complaining about memory usage... if you're running "top" with 512 MB of RAM and go "omg, 431520k used! It's GNOME's fault!" -- well then I don't know what to say to you. That is simply how Linux allocates its memory -- it uses almost all of it at any given time and distributes it between a
I love Slashdot (Score:3, Insightful)
This isn't 1987 anymore. My CPU can handle drawing pleasing visual effects so that after 13 hours of programming, my eyes aren't fatigued.
Re:horrible idea (Score:4, Insightful)
It's GPL therefore it's Free software. Whether people are paid to work on it or do it out of the goodness of their heart doesn't matter as long as their contributions are GPL.
Re:horrible idea (Score:3, Informative)
trolltech is a company that makes QT, and thats duel licensed, one license being GPL.
the firefox lead developer is employed by google.
many large opensource projects have people being paid to develop them fulltime, its a good thing because the source stays open.
Re:horrible idea (Score:2)
Forgive the sarcasm, but what's a better motivater than cash? A job that pays cash? Threatening developers with death?
Re:horrible idea (Score:5, Insightful)
I think you are confusing Open Source Software and Ken Kesey's Magic School Bus. One solution to this problem is for your to do way less drugs.
open source IS about hiring and paying people (Score:2)
Most open source programmers are employed and get paid to do open source programming.
Open source isn't about some utopian, socialist community, it's about companies paying in order to develop software for their own benefit. Open source is a more efficient free market alternative to big software companies.
To put it more bluntly, you can hire a lot of well-paid programmers with the
Re:I love this (Score:2)
Yes, Darwin the base OS is open-source, but a lot of the improvements are in the layers they build on top of that.
Re:I love this (Score:2)
I admit, not enough so that I would actually want to run windows as a server, but Microsofts strength is in usability, and that means a GUI, which means resource hogging
Re:I love this (Score:2, Insightful)
Nope. it's because a lot of people put hard work into it.
Re:I love this (Score:2)
Re:I love this (Score:2)
Re:Open Source Bloat (Score:2)
The bloat reputation (in some cases) goes back to the beginnning of the Free Software movement, before Open Source even started.
Proof ? - EMACS.
That's "Eight Megs And Constantly Swapping" for those still in daipers when eight megs was a stupendous amount of memory...
Re:The best way to improve Gnome... (Score:2)
It runs KDE programs, i _think_ it runs Gnome applications as well. It's simple, powerful, SMALL, and FAST.
And, it plays nicely if you put it on with KDE and/or gnome at the same time. You don't like it? Take it off without hurting what you already had on.
Re:cat Gnome /dev/null (Score:2)
Re:Old hardware with new Linux (Score:2)
Stop these posts, your code already exists (Score:2)
Re:When are people going to learn? (Score:3, Insightful)
And there's nothing better than "oops, something screwed up my registry, gotta delete it