The Downside Of Opensource
By Adrian Sutton
Recently Apple made WebKit development much more open which is great for people who develop products using WebKit as they get more control – it’s great for the KHTML developers as it’s easier for them to integrate Safari changes and for a bunch of people to test against.
The downside however is that people who have no business playing with development builds of WebKit just can’t help being cool and running it anyway. What’s worse is that people encourage this stupidity by making prepackaged builds available. If you can’t follow the very simple instructions to build your own version of WebKit from CVS, you really, really, really shouldn’t be working with a development build – you almost certainly don’t have the skills required to provide a worthwhile bug report anyway. The build instructions for WebKit are probably the most brain-dead simple instructions I’ve ever seen for any open source project (you thought ./configure; make; make install was difficult – try just build-webkit; run-safari). There’s even a simple script to pull the latest updates from CVS without having to know anything about CVS commands.
Why is it so bad that people run these development builds you ask? Because when you’re not a developer (and often even when you are) you don’t know what’s a bug caused by the WebKit development build and what’s a bug caused by the software you’re using – you can often get very weird knock on effects. For instance, Swing applet’s can’t use command-V to paste in Safari because Safari eats the keystroke and the applet never sees it yet to a user the applet has a bug. What really hurts is when these users wind up turning to the 3rd party developer for support and you have to waste time trying to reproduce the problem only to finally discover it was a bug that existed in WebKit for a matter of hours and it just so happens this user build WebKit from CVS in that timeframe.
Here’s a tip, there are no improvements in the latest CVS WebKit that are so compelling that you would want to run it instead of the tested, stable released version and deal with the inherent instability of a bleeding-edge browser. Just don’t do it.