Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

MacRumors

macrumors bot
Original poster
Apr 12, 2001
68,179
38,960



webkit_framework.jpg



Late last week, Daring Fireball's John Gruber helped draw some attention to that fact that Apple had yet to release the source code for components of its iOS 4.3 WebKit implementation as required under the Lesser GNU Public License (LGPL) due to Apple's use of LGPL code in the project. Apple initially released iOS 4.3 on March 10th, and LGPL licensing requires that the source code be released simultaneously with the functional binaries.

As noted by TUAW, Apple has finally relented under the growing pressure and posted the required source code for JavaScriptCore and WebCore for all iOS versions through the latest iOS 4.3.3 pushed out last week.

Reports suggest that this is not the first time Apple has stalled in releasing source code required to be made public, although the company has a support system in place for open source code projects and its engineers have contributed to a number of such projects over the years.

Article Link: Apple Finally Releases iOS 4.3 WebKit Source Code Under Pressure
 
Does this mean that 3rd party web browsers will now be able to use Safari's faster engine, or is that something completely different?

Yes to the former.

Excellent :)

Thanks very much

WiidSmoker was incorrect if you are referring to iOS apps. He was correct in that third party apps can use the new engine on other OS's.

I still don’t get the worry - The code was available all the time on webkit.org...

Apple's implementation on iOS contains modifications to the version hosted on webkit.org.
 
Is it really that important?
I know they should make it available as soon as possible but they are the main engine behind it right?

Apologist much?

Yes it's important.
It doesn't matter if they're the main devs for the code, it's GPL.
Apple isn't above the law when it comes to abiding by the terms of the license.

It's not open-source, if the source is not open.
 
I'm betting the biggest problem here for Apple is the use of the LGPL license for WebKit. Not sure if Apple started WebKit and chose that license or just contributed significantly to WebKit after somebody else started it under LGPL. But either way the LGPL is one of the "viral" licenses (though not as bad as the GPL license). If Apple chose LGPL for WebKit, then that was just stupid (or extremely generous) on their part.

It looks like Google uses the Apache license for Android, which is far more flexible than the Free Software Foundation (FSF) licenses (GPL and LGPL). Licenses such as the Apache, BSD, and Eclipse are much friendlier to commercial entities that improve upon the open-source (no requirement to give back your improvements). These kind of licenses increase the chance of companies adopting and contributing to the project, but they also mean that companies can hold back those things they feel are essential to their business.

Hence with the Apache license on Android, Google could pull the "bait and switch" maneuver and make version v2.3 completely available via open source, while withholding versions 3.x and beyond for as long as they like. Apple does not have that luxury with WebKit. I must say that this was a very "evil" and brilliant tactic by Google. If Google simply closes the gap in features, integration, and consistency (non-fragmentation) that iOS has right now they could get many of those Android owners to stop envying iPhones and actually prefer Android based on features and ease-of-use rather than just price. *

*DISCLAIMER: I am sure that many Android users already prefer Android to iOS for reasons other than price, but I am talking about the masses as evidenced by the recent Clorox switch from Blackberry. When given the choice of phone on the company's dime, 92% of 2,000+ employees chose an iPhone. That number is statistically off the charts in respect to the 50% smartphone market-share that Android in all its many various forms now collectively hold. It is either representative of a market preference for iPhone or some integration synergy with using an iPhone at Clorox (maybe Clorox has Macs instead of PCs? -- doubtful).
 
I'm betting the biggest problem here for Apple is the use of the LGPL license for WebKit. Not sure if Apple started WebKit and chose that license or just contributed significantly to WebKit after somebody else started it under LGPL.

WebKit was forked from KHTML
http://en.wikipedia.org/wiki/KHTML

So they had no choice on the license.

arn
 
Reports suggest that this is not the first time Apple has stalled in releasing source code required to be made public, although the company has a support system in place for open source code projects and its engineers have contributed to a number of such projects over the years.
Couldn't you just check? I'm pretty sure this has happened before too, for what my anecdotal evidence is worth :D
 
One trick about the GPL is that it *DOES* allow for delays, as long as they are 'reasonable'. The GPL also doesn't require that the code be available to absolutely everyone on the internet. They could make you request it on CD, and ship the CD at cost. (Yes, then the person who requested the CD could then post it on the internet - but there is no requirement in the GPL stating that Apple has to do it.)

And as Red Hat has shown, you can even restrict distribution to customers that paid you. Yes, THOSE customers can then redistribute freely, but the originating organization is under no requirement to make the source available to everyone who asks.
 
What are you smoking? :confused:
There's NOTHING sensational about the headline. o_O

It seems pretty sensational to me. There is nothing in the GPL2 or LGPL2.1 which requires the source code to be published at the time the binary is released. It just requires that the source code be made available. If anyone wanted the source code between the release of iOS4.3 and the syncup with the website, all they would need to do is send a request to Apple, and they would be obligated to supply it.
 
WebKit was forked from KHTML
http://en.wikipedia.org/wiki/KHTML

So they had no choice on the license.

arn

You are correct, but it is interesting to note that WebKit is actually a mixed license code base... parts of it are GPL and parts of it are BSD. Apple ( and several other contributors ) are slowly contributing more and more code via the BSD license and replacing GPL licensed functionality.
 
Sensational headline... x2

What a ridiculous headline ... "under pressure" ? A few blog posts... that's "pressure" ? sheesh.

Apple released the source code when it was done tweaking it.

As John Gruber said, there was probably a reason for the delay. Now not only is 4.3.3 out but all the others.

Get a grip, chill out... move on :)
 
While I'm not sure I agree that 2 month is a reasonable delay, I suppose as long as this was an exception to the norm, (they did drop everything to focus on the location tracking non-sense,) then I think it really is ok.
 
I think the article headline (Apple releases ... under pressure) is quite off the mark.

Parts of WebKit are under the LGPL license. First, it is not the GPL license which is important, because if it was GPL then Apple and everyone else would have to release the source code for applications using the library, not just the source code for the library itself.

Because the code is under the LGPL license, Apple has to release the source code at some point. That "has to" is one hundred percent, absolute, no way around it. Some blog posts are _not_ creating pressure. Apple had a legal obligation with some bad consequences if these obligations were not fulfilled, some blog posts don't add anything to this.

But contrary to what these bloggers say, Apple had no obligation to make the source code available publicly. They have the choice of making it available plublicly _or_ giving the source code to anyone who asks Apple for it, and charging for the cost of making the copy. I mean "asks Apple", not "posts in a blog post".

So until someone asks for the code, Apple actually had to do nothing. Publishing the source code is the nice and easy thing to do, but not required. Apple could wait for the first person to actually ask for the source code, then reply "well, we haven't preopared this yet, so Joe will do it right when he comes back from his holiday in two weeks time, so it should be ready in three weeks, and please send us a cheque for $10.00 first to cover the cost of copying, the DVD, and the postage".
 
YES! Apple has finally relented under the extreme pressure from those wicked bloggers! No longer will Apple delay the release of WebKit source code! Indeed this will surely make the world a better place. A place where ALL WebKit sourcecode is available to everyone who wants it, and for free! Next up: Make Android open again!
YAY!
(If the sarcasm wasn't obvious enough, this was sarcasm, which wasn't obvious enough.)
 
Is it really that important?
I know they should make it available as soon as possible but they are the main engine behind it right?

Yes it is important. It is a very slippery slope to start having company using stuff under GPL then refuse to release the source. On matter of principle they should do it.
 
How to incorporate WebKit into existing iOS project?

Now how do I actually incorporate the WebKit into my iOS project?

I'm not asking how to use the WebKit. I have an existing project where I was cranking out my own implementation of DOM classes.

I've downloaded the WebCore source code from Apple.

So I guess I need to build the framework, right? So how do I build it?

Thanks.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.