Firefox Lead Engineer Scolds KDE Project
trent42 writes "Firefox lead developer Ben Goodger has had harsh words on his blog for the KDE project, in light of its public tiff with Apple over the KHTML rendering engine. Goodger says 'Safari's renderer is vastly superior to the KHTML used by Konqueror,' and that the KDE developers should follow Apple's lead and focus more on the needs of users, instead of insisting on software perfection."
So basically, KDE should read this.
The dangers of knowledge trigger emotional distress in human beings.
Personally I can't wait for the KDE response which scolds the Firefox developers for having such huge and stupid security holes in their browser.
Maybe the Firefox team should get rid of the glass walls before they start chucking stones at other people.
the KDE developers should follow Apple's lead and focus more on the needs of users, instead of insisting on software perfection.
In a way, I agree. It's comforting to sit down, load an app, and have everything work. Knowing it's not quite perfectly written behind the scenes is a small worry sitting in the back of my mind, but it's smaller than when I have a slightly clumsy app that is otherwise technically correct.
Not that I think Konq is all that far behind in the user side of things.
Now only if Microsoft would insist on software perfection....
root@allevil:~#
...and focus more on the needs of users, instead of insisting on software
Why not try something completely the opposite, like Microsoft, and focus on neither?
http://weblogs.mozillazine.org/ben/ Who knows why the poster linked to a ZDNet article (Which incidentally can't handle a slashdotting) instead of the original blog.
So the two are mutually exclusive? We can only have software that is perfectly written or software that addresses the needs of the users?
Can't we figure out what the users need, and then deliver excellently written software to do that?
I will shred my adversaries. Pull their eyes out just enough to turn them towards their mewing, mutilated faces. Illyria
"KDE developers should follow Apple's lead and focus more on the needs of users, instead of insisting on software perfection."
Now I think back to 1995, when IE focused on user needs over software perfection and the following of published specifications. And look what a mess of incompatibility we have today of javascript, css, java VMs, etc. Mainly because M$ focused on 'the needs of users.' No thanks, I'll stick to the specs.
Do we really need to start another flamewar between projects? Who benefits? Perhaps the KDE project and Firefox should *both* keep their collective mouths shut!
bash: rtfm: command not found
I got on the KDE guys for their bit yesterday, so today I'll point out to the Mozilla side that the reason there was a decent browser for Linux in 1999 was that the Konqueror guys satisfied the needs of users while Mozilla went off constructing a whole new software platform...
What I'm listening to now on Pandora...
Why is this necessarily a fight? Why don't the Konquerer developers just say "you're ugly" and proceed to ignore the other guy? He can have his opinion, they can have theirs, and it's completely useless to argue about it. As a general rule, people don't like being told what to do, especially after they've made an informed decision.
Ya know, I can't help but wonder if it's silly little pissing contests like this that, at least in some way, prevents OSS from reaching its full potential.
Here we have several very adept programmers slapping at one another over how their respective web browsers work. Am I the only one out there that finds this kind of bickering trivial and unproductive?
Yes, people will have disagreements, and people will have different ways of doing things. Fine. But why not harness those different perspectives and create something better?
As long as OSS projects are afflicted by this kind of petty squabbling, developers' attention will be diverted from creating quality software. Now knock it off!
"Ask not what your country can do for you." --John F. Kennedy
I have always found Konq to be the best alternative to FireFox on sites that are "IE-only". (including my companies intranet.)
As a general web-browser I find Konq to be slow and kludgy, but it has never dissappointed me on the stubborn sites.
Anybody found similar situations?
"The price good men pay for indifference to public affairs is to be ruled by evil men." ~Plato (427-347 BC)
Well maybe as a software engineer I should. But does anyone that isn't a software engineer care? Probably not. Case closed.
And guess what KHTML's team is? That's right. Full of software engineers. Which is why they care.
Secondly, developers should prioritise releasing their products on time, even if they "may have to cut corners".
Software developers in the open-source world make software because they love to. They want to make their project (note: not product) the best it can be. Releasing products on time is straight from the Marketing Department.
Goodger has every right to give an opinion, but no right to flame others for caring about their projects, much like Mozilla used to, before they gave up a large part of their community.
Love for a project, not releasing products in a timely fashion is what makes open-source different, and much appreciated.
And this is different from the normal how exactly?
Quite frankly, I'd rather have them arguing - when OSS developers disagree it often highlights issues that people should really be thinking about.
You might like the Solid Wall Of Unity approach but give me chaos any day.
Isn't that exactly what the KDE-developers said?? Sheesh!
I for one think that it's great that there are still people out there with a goal to create perfect code, and not just slap features together. It's interesting that Apple chose KHTML because the code was clean, fast and small. And now this guys suggests that KDE abandons those benefits and moves to Webcore (which has lost most of those benefits due to cutting corners and less than perfect code).
Is that it? Crummy code that is "good enough" is the way to go?
Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
I can't say I feel comfortable hearing that type of reasoning coming from a Lead Engineer of my favourite web browser. I'm not a Microsoft fan but if an IE developer made a comment like that then geeks would be cutting him or her up for that. I might be wrong since I am not a coder but wouldn't keeping software perfection a priority lead to less bugs in the future?
Personally, I've always liked KHTML but have been frustrated by the lack of any real progress in it's use in Konqueror. Now, is this Apples fault? No, they just built a better mouse trap. This whole thing smacks of the same hurt feelings over the Debian vs. Ubuntu tift. The king is dead! Long live the king! and all that..
Also, if anyone has the "capital" to expend on criticizing KDE, it would and should be the people who have made one of the most successful browsers out there to put a dent in IE usage. See, people kind of listen to you when you are successful as opposed to when you sit and whine because your take on things just doesn't seem to be taking off (Debian/Konqueror I'm looking at you).
*Fortitudo, aequitas, fidelitas.*
A large part of the reason that Apple is still around with not even 5% of the market is that they do care about the user. With a user base that small for their platform, most vendors would be dead but Apple focuses heavily on the user experience. I don't see a lot of that at all coming from most open source projects.
Here's a little theory of mine: users are more concerned with having a great UI and having apps that work together than raw speed. Open source desktops used to have the speed advantage, but not anymore. Can anyone honestly say that GNOME is faster than Windows XP's desktop these days? Same for KDE and MacOS X.
For all of this bitching about Apple exploiting OSS, I don't see any recognition that the mere fact that OSX's underpinnings are OSS gives OSS a vote of confidence in the corporate world. For one of the two largest platforms in the world to switch to that foundation is a big endoresement and help lend legitimacy to OSS. The funniest part of this is that KDE's developers are finally discovering the fact that forks do happen. Imagine that, Apple actually forked KHTML for their own needs. Why is it OK for X.Org to fork and go off in one direction, but not OK for Apple to do the same thing? They give the patches back and excuse me if I am at a loss as to how a forked code base is going to maintain a lot of similarity with the original when both are going off in separate directions.
Click here or a puppy gets stomped!
However, they are angry at something: people like you. Coming here on
From TFA:
I would not be so sure of that. I seem to recall that the GPL defines source code as the "preferred form" of the program for making modifications of it. If Apple "comments" its patches by referring to numbers in a proprietary bug database to which only they have access, Apple could be accused of intentionally obfuscating its source code, which is a violation of the "preferred form" clause in the GPL. In any case, it's ethically wrong because the free-software concept is meaningless if the provided source code is not realistically usable without having access to essential information about what it does.
Gee, that sounds eerily familiar. Where have I heard it before, that "give Joe Sixpack what he wants and damn software quality" attitude? Marketing fluff at the expense of solidity and security? Oh right, of course, that's the attitude that brought us the virus propagation engine that is Microsoft Internet Explorer. Is it any wonder that Firefox is now on its way along the same route?
Ridiculous. The use of software is demanding less computer literacy by the year -- compare today to the MS-DOS days of twenty years back. But that is in fact a big part of the problem. People should learn to accept that using a computer requires some basic form of clue. If people are not willing to acquire such clue, they should watch TV instead so that they won't harm anybody with the viruses, spam and DDoS attacks perpetrated through their zombified computers.
KDE-guys did not complain about Apple as such. They even specificly mentioned that Apple is abiding by the license. what they complained about were the USERS who whined when KHTML took time to incorporate improvements made in WebCore!
Do you "get it" now, or do I have to hit you with a clue-by-four?
Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
I'm not 100% surprised, given the degree to which the original post was misrepresented, but given some replies to his blog entry pointed this out and Ben's single response to them has been dismissive, it'd be nice to see a sign of good faith.
You are not alone. This is not normal. None of this is normal.
How would you like it if you had a real nice and clean well documented codebase and you gave it to someone for free, the only stipulation - if you make some changes please give them back to us also. The guys you give your code to do make changes and do give them back. Problem is the code they give back is all over the place and badly (if even) commented. Then other people (your users) start complaining "this other guys software is better than yours, but hes using your code. Give us those features NOW." ?
Caesar si viveret, ad remum dareris.
Hmm, we work hard with Apple to give them the best possible access to our code. Apple does the minimum it can in giving the code back to us. Slashdotters praise Apple for the work on html, and so we just ask for people not to praise apple so much since they aren't exactly working with us - they don't use any of the resources we set up to try to encourage them to work with us.
And now _we_ are the pain to work with and aren't encouraging participation??
Safari only passed the Acid 2 Test because the developer David Hyatt spent time over two weeks to make it pass.
I'm not saying that this is a bad thing, in fact it's an excellent thing. But the fact is Safari, Mozilla and MSIE all failed the Acid 2 test when it was released. Using MSIE I see red. lol.
Now Safari passes. And no doubt each would fail several more tough tests. No one test can prove a superior rendering engine, unless it was 10 MB big and tested every [X]HTML/CSS1,2,3/JavaScript specification in various scenarios.
I'm looking foward to getting a Mac Mini and seing how good Safari is. It will also allow me to develop web pages against Safari for the first time.
Submitted by carewolf on Fri, 05/13/2005 - 10:33.
-
Safari and KHTML againNotice how there isn?t a vs in the title?
Hyatt and Maciej joined us on IRC yesterday, and we had some really good discussions. I might as well also admit that Maciejs comment was true (but out of context). Please notice that that implies we are discussing solutions and a common future. The idea of a common source tree is pretty much abandoned as we have very different goals and requirements, but we are discussing improved cooperation. With Apple just having released Tiger and us preparing for KDE4 we have a unique opportunity for bringing our source trees closer again.
Since Apple is being a nice guy for the time being, I will let them announce how things will improve once we have a solution, but please, no more ?vs.? stories for the time being, we are working on solving it.
Submitted by carewolf on Sat, 04/30/2005 - 13:22.
-
Emphasis added by me...I just wish to weigh in on debacle to clear up some mistakes. First of all I would like to say I agree with Zack. The annoying part is not that Apple don?t cooperate as much as they could. They are actually helpfull in answering questions and _tries_ at least to separate OS X specific features in the code (allthough they fail miserably at it). No, our problem are users who think Apple does more and underestimate the effort it takes for us to implement patches from WebCore. We are doing this for free and for fun, all we really want is appreciation for our effort.
I don't claim I know more than I know, and if you know you know more than I know, then by all means, let me know.
Wasn't that the purpose of the Acid 2 test? To give an example of common rendering problems so that browser developers could see what their browser was doing wrong? Now, I'm not saying that passing the Acid2 test means the rendering is perfect, but the challenge was placed out there, and the Safari developers took it up. It's exactly what Mozilla and MS and KDE should do, too.
Now, if after all that, we can come up with a new series of serious rendering errors not addressed by the Acid2 test, then let's make an Acid3 test, or whatever. But I don't see the grounds for complaint. It's like saying, "well the only reason Firefox renders HTML properly is because the Mozilla team spent time to make it render HTML properly." Well, good. That's what they should be doing.
The KDE-developers commented about the USERS who whine when Safari-patches don't get merged in to KHTML. They never whined about Apple as such. They even mentioned that Apple is abiding with the license.
How exactly are they "pain to work with"? Apple got a kick-ass HTML-code from them, with NO questions asked, no price being asked and with zero red tape! How exactly does that mean they are "pain to work with"? If anything, this incident shows that COMPANIES are "pain to work with". KDE-developers REALLY wanted to work with Apple, but Apple wasn't interested!
Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
Ben Goodger has hit on one of the major ways that "free" software can fail and that is that the people working on the project are doing so out of the goodness of their hearts and for their own reasons. Some developers, like Goodger probably, are writing free software for the kick of having as many people use it as possible. This will make them somewhat use oriented. Others, and the KHTML guys appear to be this, are writing code for the sheer joy of writing code. And it's not fun to write stuff that cuts corners just so you can get it out the door. Of course, you may not be meeting the users' needs. But then, there's no requirement to meet users' needs. It's free - if you don't like it, fix it yourself or don't use it. In this case, Apple chose to fix it themselves. The fact that they diverged from KHTML simply shows that they have different priorities and isn't any different than FreeBSD and NetBSD spliiting.
It's actually a known phenomenon that "real nice and clean and well-documented codebase" can in fact be _evil_! Because everyone except really lousy coders are afraid to touch it. "It's so beautiful it's practically dead" one could say.
There is no such thing as real nice clean, well documented codebase, at least not forever.
These attributes naturally go away as you add functionality to any code. That is a fact of software development.
They're mutually exclusive if you want to work at the pace that the computer industry tends to move at. Doubly so for a bunch of volunteers working for free.
I guess that makes the assumption that the needs of the users includes a rapidly expanding feature set and whatnot. And while that is important (particularly if you're going for marketshare), there are still users who'd rather have some good code. Not to mention that eventually the bad code may catch up to you, and cause the needs of the users to change. Windows needed a lot of usability enhancements until the Win95-98 era. Then stability became a big issue. MS ironed a lot of those problems out, and now security and spyware is the big problem. A lot of those issues could have been mitigated by better code at earlier stages. Fortunately for MS, their monopoly has allowed them to advertise their security and spyware solutions as new features, and so a mostly under-informed public still thinks they're paying for innovative work.
But returning to the original point, even for a big, well funded company like MS or Apple, it's not really possible to write perfect software fast enough to lead the market in features. You can dump more money into it, and hire more engineers, but that just makes it all the more complicated and harder to coordinate, leading to more mistakes.
The KHTML team can avoid that because they're not trying to keep a business profitable, they're writing this stuff because it's a hobby for them. Personally, I try and keep my hobbies as free of deadlines as is possible. And if anyone wants to criticize how I indulge in my hobbies in any sort of non-constructive way, they can go to hell, I'm not interested.
One time I threw a brick at a duck.
There are other things marked as recommended (such as OpenGL and OGG Vorbis), and there are others marked as optional (such as LAME).
The problem isn't KDE is bloated, its the way the distros package it (huge monolithic packages that contain a load of different programs), though some distros like Gentoo now provide 1 package per app (which allows you to trim most packages off.
Also comparing KDE to XFCE makes no sense, XFCE is an extremely minimalistic desktop environment (its just a bit more than only a Window Manager). Only comparing KDE to GNOME would make any sense since both are complete desktop environments.
I am sure to be modded OT as this whole thread is, but...
The Agile/XP movement is warped at best. Tests are no substitute for good design and they cannot prove any useful level conformance to a design (except in an extremely trivial application). Tests are useful in many cases, unless they are used to rationalize bad practices based on false notions.
And the more extremists you have trying to force it to be so, the worse the XP/Agile movement is percieved. Sure, they picked up on parts of a number of good practices that good programmers already followed, but when will they stop twisting them and advocating that experienced programmers abandon principles of adequate forward-looking design and methodology and follow the way which is what they ultimately believe to be The Only Right Extreme Way.
They resemble the pointy-haired managers who would like to think they can substitute their process for masterful programming and design.
I was attracted to XP by their advocacy of some of the more-reasonable principles until the fanatics showed why it was really called extreme programming. They need apologists to start really apologizing.
Both of those approaches have points of value, but they are both extremes. The Agile way seems to be more appropriate for contracts for time, whereas the "Fragile" approach is more applicable to fixed price contracts.
Agile works as long as the customer is willing to pay for the changes. Agile is good because the customer sees progress. Agile is bad because an indecisive customer can flip-flop on features and cause significant headaches.
Fragile works better where the customer needs a specific solution. They list their demands and your company realizes those demands for a price. Changes are discouraged, but that should be fine as long as the customer knows exactly what they want. The company's process ensures that what is contracted for is met. This is not good for research type projects, where the best solution is not known and needs some experimentation.
Note: One would have trouble applying the Agile paradigm to any kind of regulatory environment. Telecom, medical, and military/government contracts pretty much mandate the use of the "Fragile" system.
Remember, You are unique...just like everyone else.
But a big part of that is supplying what the users need. I think all three sides of this discussion could learn a thing or two by listening to the others.
You don't get involved in an open source project to write crappy code. You get involved in order to fix a problem that bugs you, show off your coding skills, or do a little good for the community. One of the benefits of coding for open source is that you really can take the time to get it right.
Businesses often fail to pursue excellence in coding because they believe that by taking shortcuts they save money. That's almost always wrong. One of the reasons that Netscape got beat by IE was (and I know I'll get beaten for saying this) that IE was written in a modular way that allowed it to be used more flexibly than Netscape. The IE code was better planned and executed. The developers who joined the Mozilla project took the original Netscape code and hammered on it for a long time to produce the successful browser that we now have. Even so, it was bloated and in need of a lot of trimming. So the Firefox project fixed those problems and now Netscape is based on the Firefox core rather than the original Mozilla core. (Sharing is a good thing.)
Apparently Apple believes that by taking short cuts they save money because the FOSS community will come in behind their engineers and clean up the code for them the way they did for Netscape. Why shouldn't Apple take advantage of the same mechanism?
What happens too often in corporations and is apparently happening in this part of Apple, is that they have forgotten that they are dealing with people. The FOSS crowd seems to have more than it's fair share of idealists, and they dont' like being taken advantage of. Hopefully Apple has figured this out by now and is working on a plan to mend fences. Otherwise it might be very hard for them to get help from the community in the future. It would be a shame for OS/X to fail because of foolish management mistakes on the Safari side.
Open Source can learn a lot from what Appled did, though, even if we don't like how it turned out. Appled focused on fixing things that were causing problems for their customers. They also focused on becoming standards compliant. A lot of FOSS projects come up short in that area. What gets attention is whatever is cool to code or bugging a particular developer. Not enough of the FOSS projects have any real central focus.
Listen, learn, and move on. The best thing that could come out of this whole mess is a good discussion on how FOSS and regular software companies can work together to mutual benefit. Perhaps we need some kind of template agreement that makes responsibilities clear so that the companies involved don't make bad assumptions like the ones Apple seems to have made.
-All that is gold does not glitter - Tolkien
www.ra
Apple is on record for offering to jointly attempt to make the important parts of WebCore cross-platform, similar to the situation with Gecko.
The KHTML team turned them down. They probably did so because it would shift the focus away from the KHTML they know and love and more towards the more realistic (but messier) WebCore, which they don't seem to want to do.
The KHTML team doesn't even seem to want many of the changes. Apple makes a product, and they don't care if they break small things to make deadlines. KHTML is a product of the opposite school, preferring to make a very small, clean codebase. The price of this is feature deficit.
This isn't about Apple being evil, or KHTML being snobs. It's about a project being forked. As time goes on, Apple has less and less to offer to KHTML. WebCore and KHTML are diverging, and people seem to be upset about this. I can't imagine why, this sort of separation was inevitable. Apple's best interests are served by leveraging their own excellent environment, and every time they do, they further exclude the KDE project.
Slashdot. It's Not For Common Sense
But if we hadn't waited on software perfection, we wouldn't all be playing Duke Nukem Forever on top of the GNU Hurd.
Liberals call everyone Nazis yet they are the closest thing to it.
Bullshit. The KHTML developers brought this discussion on themselves. Apple rightfully took the code, incorporated it into their products, and not only made the modified version available to users of their products but also publicly for anyone wishing to download it.
It appears that the KHTML developers expect Apple to do all the integration work for them. There is nothing in the LGPL that requires this and my reading of both the LGPL and the GPL indicates that requiring modified code to be made available is the spirit of the license. Integrating it back to the mainline is a courtesy but the license specifically does NOT require this.
Sure, it's customary to help integrate it back into the mainline tree but there have been other instances where this hasn't happened. For example, read up on Lucid Emacs (XEmacs) vs. Emacs debacle. You can draw many parallels from that to this. In that case Stallman was working on releasing a new version of Emacs for years and hadn't done it. Meanwhile, Lucid needed certain features and implemented them. When they offered to integrate the work back to mainline Stallman rejected it because he had his own ideas of how it should be written. In addition (and this does not apply in this case) Stallman required copyright assignment to the FSF which was something Jamie Zawinski in particular did not agree with. After much back and forth Lucid gave up and thus the XEmacs fork was born.
The Lucid Emacs developers suggested that their code simply be incorporated into the next Emacs and that if Stallman wanted to rewrite it again that's fine but what they had was already working and better than what was in the tree. Stallman rejected it because he preferred to wait until their rewrite was complete at which point Lucid could try to integrate with the rewritten code.
It should be obvious that this is a *really* stupid decision. The KHTML developers should suck it up and realize that Apple now has a better rendering engine than they do. They should merge in the changes now (including the ones they don't like) and THEN decide to rewrite things if the code is problematic. In the meantime the KHTML users have a better browser. It will take just as long to write code regardless of whether they merge in the Apple changes or not.
This basically amounts to the KHTML developers having a serious case of Not Invented Here syndrome. After trying and failing to get Apple to do the merging work for them they cried foul and posted publicly about how Apple wasn't helping. I'm truly glad it has mostly backfired because it's up to the KHTML project to decide whether they want the code or not. It's not Apple's responsibility to take orders from the KHTML developers. If KHTML doesn't like it then WebCore can remain a fork of KHTML just like Lucid Emacs is a fork of Emacs.
And don't give me any of the shit floating around here about how the KHTML developers merely wanted to point out that Apple wasn't doing the merging work. There are claims in this thread that the KHTML developers are fine with that but they just aren't fine with it looking as if Apple is contributing to KHTML. Well, news flash, Apple *is* contributing to KHTML and if the KHTML developers don't like the way they contribute and didn't want a big media fuss about it then they should have been smart enough not to write about it publicly. It is for this very reason that I *don't* keep a journal on the web.