WebKit Developers Discuss Removal of Google-Specific Code 92
hypnosec writes "WebKit developers have already started discussing the removal of Chrome- and Chromium-specific code from the rendering engine in a bid to make the code easier to maintain. Just a couple of days back, Google announced it will go ahead with a WebKit fork to develop a new browser engine — Blink. According to Google, having multiple rendering engines — just like multiple browsers — will allow for innovation as well as contribute toward a healthy open-web ecosystem. The discussion was started by Geoffery Garen, an Apple WebKit developer. He said Google's departure is an 'opportunity to streamline' the code of WebKit, which would eventually make development 'easier and more coherent for everyone.' Garen expects that developers who will be working on WebKit in the future should help to clean up the code. However, Adam Barth and Eric Seidel — two Google WebKit developers — have already offered their help."
Google plans on making the switch to Blink in the stable Chrome release in around 10 weeks. They've posted a half-hour video explaining how the transition will work.
Clean It Up Boys (Score:5, Interesting)
The removal of Chrome specific code from WebKit, and non-Chrome code from Blink will benefit everyone in the long run. Both code bases and rendering engines will be smaller, faster, less buggy, etc.
The down side to all this is checking code in another browser model as well as a different js debugger in Blink.
World Wide Web of Moving Targets
Re: (Score:3)
I just hope they make it a fork in the sense that Linux distro's are forks; actively exchanging code with the upstream project for the benefit of both.
Re: (Score:1)
Directly contradicting the first post. The announcement suggests neither will be upstream of the other.
Re: (Score:2)
That still doesn't preclude sharing on equal terms, at least until the two projects diverge enough to make that impractical.
Re: (Score:3)
Yeah, the BSD projects borrow fairly liberally from each other despite the fact that the code can rarely be copied and pasted.
Re: (Score:2, Insightful)
Linux distros like ubuntu are technically not forks, but rather derivatives. A fork becomes independent after the fork takes place, even if they do merge code back and forth with the parent project. A derivative, on the other hand, is still dependent on the upstream project for core functionality.
Autonomy is what makes a fork a fork. Dependence is what makes a derivative a derivative.
Re: (Score:2)
The removal of Chrome specific code from WebKit, and non-Chrome code from Blink will benefit everyone in the long run. Both code bases and rendering engines will be smaller, faster, less buggy, etc.
Please explain to me: What negative impact do cleanly separated platform adaptions have? So WebKit devs will delete the chromium directory in https://trac.webkit.org/browser/trunk/Source/WebCore/platform [webkit.org] and Google will delete all directories except chromium (and probably android) but I don't see why a buggy BlackBerry adaptation would have any negative impact on the Chromium adaptation and vice versa.
Re: (Score:3)
Re:Clean It Up Boys (Score:4, Informative)
Webkit does have a JavaScript Engine. It's called JavaScriptCore. But Chrome didn't use it.
Re: (Score:1)
Re: (Score:2)
As of this article, that's exactly what's happened.
Re: (Score:3)
Nobody is removing anyone's code from WebCore itself. They are only talking about now unmaintained platform adaptions. Unmaintained adaptions have always been removed. Nobody within the public even noticed when the Symbian S60 adaptations were deleted.
Re:Hurr durr Google (Score:5, Funny)
http://prng.net/blink-faq.html [prng.net]
Re: (Score:1)
What a bunch of FUD. Did whoever wrote that actually read the original?
For example:
vs
Like this part (Score:4, Funny)
#ifdef __CHROME__
doCheckpoint( 1332 );
doCheckpoint( 1335 );
doCheckpoint( 1337 );
#endif
Re: (Score:2)
> implying, there is the #ifdef line
On the Origin of Species (Score:5, Insightful)
I don't see why people get so scared of forking code. Differentiation and species drift happens in nature all the time, and a code-base that tries to fit too many different requirements is awful to maintain (and also unstable).
Re: (Score:1, Funny)
Because Adria Richards thinks forking is sexist and puts women down, that's why!
God forbid you using your 4g dongle to connect to the internet in order to fork webkit's repo, she'd probably have the cops arrest you!
Re:On the Origin of Species (Score:4, Interesting)
Well, in this case Webkit is planning to drop V8 support. I'm kinda freaked out by the fact that Webkit apparently isn't script engine agnostic as it should be, but now all the incentive to make it such may be lost.
Forks in general tend to cause much duplication of effort, especially if both branches remain popular. Given enough time, fixes for one fork aren't obvious to implement in the other. You shouldn't really fork a project unless you cannot reach a peaceful decision.
In this case however, Google just didn't want to contribute to the new Webkit2 with generalised multi-process support, because that would make it easy to develop a multi-process browser, which just happened to be Chrome's main selling point.
The Webkit folks made the right technical decision, Google made the right marketing decision. A fork was inevitable, sadly.
Re: (Score:3)
I don't see why people get so scared of forking code. Differentiation and species drift happens in nature all the time...>
I think the fear here is that the forking of code will lead to browsers that interpret "standards" differently and don't display web pages the same way. We'll be back to "I have to use Internet Explorer for site x and Netscape to get site y to work right."
One thing about homogenous browsers, we're more likely to all be on the same page on how to read the web (pun not intended).
Re: (Score:2)
We'll be back to "I have to use Internet Explorer for site x and Netscape to get site y to work right."
That's a problem with the design of the site. HTML was never designed for pixel perfect layout, quite the opposite in fact. CSS gives you a lot of control but also wasn't designed for the kind of perfection that web monkeys seem to want. Aside from anything else a site should at least be able to cope with different font sizes, for example.
If it uses so much tricky HTML/CSS/JS that it doesn't render reasonably in standards compliant browsers then I'm not browsing it.
Why not? (Score:2, Insightful)
It only makes sense to trim unused legacy code from any library. If Google isn't using Webkit any more, why leave their own specific stuff in there?
It isn't a problem to fork code and remove legacy stuff. It was done when KHTML was forked into Webkit, and it will probably be done again. The only losers in the event of a fork like this are possibly the independent developers who contribute to Webkit, but it is doubtful that they were contributing code that is Google specific.
Re: (Score:2)
I thought about going for the first "woosh", but I'll leave it for another :)
Re: (Score:3)
The video is for Chrome(ium), WebKit, and now Blink developers, not for the end users or the browser(s).
Re: (Score:2)
Yikes, the FUD is strong with this one.
Know your audience. (Score:5, Insightful)
The "how the transition works" video will be for people interested in how the transition works, not a regular user. Your comment is like saying a 30 minute video on "how the internal combustions engine works" is a pointless exercise, because the regular driver just wants it to work
Re:Good luck with that (Score:4, Insightful)
This is an open source project, and the video is directed at people who work with the browser source code or who have an interested in webkit/blink. It isn't targeted at end users.
It is a rendering engine. How many end users have even heard of webkit?
Obviously the browser will work the same after as before. The only thing a user might notice is that it is faster (some day) or that it has some new feature that perhaps would not have been as easy to develop without the fork.
I for one appreciate that a company like Google takes the time to actually create videos like this. I can certainly say that my employer doesn't put half-hour videos on Youtube discussing the software engineering decisions it makes for its closed-source systems.
Re: (Score:2)
Anybody who has ever looked at their task manager and wondered WTF WebKit2WebProcess process was and why it was using so much memory.
I find it tends to try to use as much memory as it possibly can, and even if it's sitting just on a single web page over time it bloats enough that I have to exit the browser and restart it to reclaim it
I just wish Safari could actually delete cookies without that webkit process crashing. I suspect both Ap
Re: (Score:2)
Especially since none of the answers are useful at all.
It just says "it's a fork, so right now, it's the same thing". I don't know why they thought they needed to repeat this for 30 minutes.
Re: (Score:2)
Re:quid pro quo (Score:4, Insightful)
Erm... You're confusing external functionality that isn't cross platform (ActiveX, the old DirectX-labeled text effects, etc) versus internal functionality designed to integrate better with the browser. This is obviously the latter.
Re:quid pro quo (Score:5, Informative)
For the same reason there is Apple specific code in WebKit. And (probably) PowerPC code, and x86 code, and Android code, and iOS code, and ...
Why is HyperV code in the Linux kernel?
Or code that is for Intel graphics?
If a piece of software tries to support many platforms and usage cases, you have code that is only used in specific scenarios.
And if the reason to support this platform or usage case is gone (i.e. iOS support for Blink, and Google support for post-split WebKit), then you remove it.
Re: (Score:3)
Re: (Score:2)
Wow. A comment like that from a UID much lower then mine.
Fascinating.
A major user of WebKit had submitted code for WebKit. News at 11.
Re: (Score:2)
They didn't block them before, I don't see why this fork would cause them to block them after. They may decide to do so at some point, but that decision doesn't have anything to do with the forking...
Re: (Score:2)
I think defeating ad-blocking and enhanced ad management are one of the primary reasons for the fork.
The first thing Google lists for architectural changes is support for out-of-process iframes [chromium.org]
Re: (Score:2, Troll)
Did you even bother to see why [chromium.org] they are moving iframes to their own process? Yeah, it's all about ads, not about making a more secure product... I think this has infinitely more to do with Chromebook than it does to ad sales, in fact moving iframes to their own process would give any ad-in-iframe LESS visibility into your surfing which you would think would be the exact opposite of what an "evil" Google would want.
Re: (Score:2)
Sweet, posting information about why a technical change is being made is now trolling on Slashdot, it really has gone downhill.
Re: (Score:2)
Re: (Score:1)
Google is just providing more value to it's customers.
Why is it that I find when a company says that it's providing me with "more value", that I find that they are in reality removing things that I actually value, and / or adding things I do not value, and are probably charging me more for the priviledge?
For example:
I called a company complaining about a new juice bottle that, because the bottom was concave, held 1/2 an ounce less than the previous bottle, but they had not lowered their already high price. The person had the nerve to tell me that the change ha
Re: (Score:2)
That change has nothing to do with ads, and in no way does it help or hinder ad blocking.
Google could have handled that quite simply by banning ad blockers from the chrome store, or by not extending the API with things specifically designed to support ad blockers...
The fork doesn't have anything to do with ad blockers because nothing was stopping them from banning those before.
Re: (Score:1)
It doesn't even have to do that, it could just ignore everything that returns 127.0.0.1 that isn't localhost, and only THEN query the DNS server. Or, it could keep it's own small file of Google's own ad serving addresses, and translate those into IP Addresses before the request even hits the hosts file. This would have the advantage of never allowing THEIR ads to be blocked, while allowing their competitors to be blocked.
And since most Google ads (AFAIK) are graphics and flash light, this might even be acce
One size fits all? (Score:1)
Re: (Score:3)
Re: (Score:2)
... with the ex helping to burn the pictures?
Note that at least two Google employees offered to help.
Re: (Score:2)
Re: (Score:3)
The first thing I though of was the http://en.wikipedia.org/wiki/Blink_element/ [wikipedia.org] I can only imagine how much easier it will be for Google to track us via a custom HTML and extensions it implements...
Which is doubly odd, because I just recently used the forbidden <blink> element once, in all my years of development, to create a blinking terminal-like cursor for a few quick one-off temporary landing pages (excerpts from my old text based BBS game). [project-retrograde.com]
Firefox actually renders the "cursor" blinking... Guess which browser doesn't? Chrome.
Re: (Score:2)
You may be the only other person I've heard of to use <blink> in a legitimate fashion.
About 8 years ago, I was writing a web based application for a public facing help desk department. Appointments were limited to 15 minutes per customer, and to serve as a reminder we provided a timer right in the ticket system. At a certain threshold, the timer would turn red to indicate hurry up mode - and for the last minute, it would blink. One of my coworkers set out to write a JS timer to handle it until I remin
Re: (Score:2)
The first thing I though of was the http://en.wikipedia.org/wiki/Blink_element/ [wikipedia.org]
And I was thinking about Bling. As in "Chrome, now with extra Bling!"
So... (Score:1)
Google is evil according to all the whiny bitches on here for Forking Webkit into Blink. So just how horrifically evil is Apple for forking KHTML into Webkit? Safari and Chrome don't share much of anything really in common save for the webkit api and even then it's a clusterfuck of vendor specific tags
Re:So... (Score:4, Insightful)
Re: (Score:1)
Thats because most sites sniff useragents and serve browser specific code. This move will break apps that sniff android or Chrome and only serve -webkit specific CSs
Re: (Score:1)
Re:So... (Score:5, Insightful)
Google is evil according to all the whiny bitches on here for Forking Webkit into Blink. So just how horrifically evil is Apple for forking KHTML into Webkit?
Actually Apple at that time was a pretty bad FOSS citizen. People campaigned to Apple to rethink the way it does development and that resulted in a vendor-neutral development home for WebKit. These days KDE is a happy user of WebKit.
Google now repeating Apple's past mistakes is not so great. 2 wrongs don't make 1 right, as they say.
Re: (Score:2)
Part of the reason for this is that Apple is not being completely vendow neutral. They seem to be fighting some Google enhancements on somewhat 'political' grounds rather than technical. I think this is going to end up being good for everybody.
Re: (Score:2)
Part of the reason for this is that Apple is not being completely vendow neutral. They seem to be fighting some Google enhancements on somewhat 'political' grounds rather than technical. I think this is going to end up being good for everybody.
You got it the wrong way around. It was Google who refused to develop a multi-process architecture within WebKit, just as they refused to improve JavaScriptCore and instead created V8 as stand-alone project under Google-exclusive control.
Re: (Score:2)
Actually Apple at that time was a pretty bad FOSS citizen.
Can you recite specific cases? The situation with KHTML was when two different development models clash. Apple with its paid development team churned out a lot of code because they needed to develop a working browser (Safari) quickly. Apple first submitted changes in Jun 2002 and by Jan 2003 had Safari in beta. They didn't have a lot of time to document the code as necessary when they submitted their patches to upstream. It happens. The KHTML core developers are mostly volunteer so they work whenever t
Re: (Score:3)
Can you recite specific cases? The situation with KHTML was when two different development models clash.
Apple's development model at that time was behind closed doors and doing that is not good FOSS citizenship.
Another example is Apple Public Source License 1.0.
Apple has contributed to and still contributes to many open source project today. LLVM, OpenCL, Darwin, cups, Bonjour/ZeroConf, etc.
Yes, today. I was referring to Apple's initial steps into FOSS development.
Apple dropped source code under APSL unless it had no choice. Today even Apple's own developments such as Bonjour or Dispatch are released under Apache License or BSD-like licenses and other parties can easily pick them up. Apple successfully set up WebKit as vendor-neutral proj
Anyone said it yet? (Score:1)
DON'T BLINK!
Amicable parting (Score:1)
Re: (Score:2)
Will Blink support the blink tag? (Score:2)
One has to wonder.
If it aint broken (Score:1)