Safari vs. KHTML
Johnny Mnemonic writes "CNET has a story that describes the divergence between the code base of Safari and KHTML. Although there were high hopes that Apple would contribute significantly to the OSS project, that optimism has all but disappeared. Is an unrealized danger of OSS that others may take your project in a direction you didn't intend? Can OSS code and goals harmonize with the goals and needs of corporation designed code? Is it that Apple mismanaged the relationship, or that the KHTML guys expected too much? Interesting warning for other OSS-corporate marriages." We've previously reported on the frustration in the OSS community on this issue.
Afaik the relationship between apple and freebsd is fine, and they use eachothers' patches etc. The problem seems to be that apple wanted to develop the browser in another direction than kde, and the communication stopped as they didnt use eachothers patches. As apple are having paid developers working on it, they should develop it their way and kde should maybe look at their methods to see if they are able to work in that way. If not, though luck.. I cant see that apple is the bad guy here.
- Suse
- RedHat
- *BSD
- Knoppix
- Mandrake
And there are definitely more that I haven't included. If Safari diverges form KHTML, it's fine with me.It's not unrealized, lots of projects have forked before. I think anybody who puts their code under a license that allows forking will realize that it can happen.
Can OSS code and goals harmonize with the goals and needs of corporation designed code?
Of course it can, this happens every day. Look at the kernel, GCC, Wine, etc.
Is it that Apple mismanaged the relationship, or that the KHTML guys expected too much?
I don't think expecting documented patches or a shared bug tracker is asking too much - this is the pretty much the minimal level of co-operation most projects would expect from a corporate good citizen. Some companies go even further than that, and hire some of the core developers, sponsor conferences, provide hosting facilities etc. There are plenty of examples in the Linux community of companies doing that.
So did Apple mismanage the relationship? Arguably there is no relationship. They certainly mismanaged expectations - if they'd come straight out and the beginning and said "we're not going to co-operate" a lot of frustration would have been avoided. That would have harmed their (mostly imaginary) pro-open source image though.
I doubt there's some kind of Evil Plan to screw over KDE here, it's more likely that Apple don't care or want to help the open source community, it's just a convenient place to take code from (go see how much FreeBSD has got back from them, for instance). Open source and Linux specifically are primary competitors and they'd be foolish to help the community more than they have to. After all, they're in the business of selling proprietary operating systems.
As long as they're abiding by the terms of the license, does Apple, any corporation, or any entity for that matter, have any obligation to contribute anything back to the project?
If you don't like that people JUST obey the license, then change the license!
i.e. If a company decides to launch a similar product based on this source code, they're obligued to keep a revision history in a previously agreed format (i.e. CVS, SVN, etc) so that the authors can track down their improvements.
Ta-da!
Besides, last I checked, the KHTML folks don't have a beef with Apple. They do have a beef with the fanbois who can't seem to grasp the fact that Apple using KHTML's Open Source code does not immediately mean that they're best buddies.
All it means is that Apple is using Open Source code. Period. Apple isn't violating anybody's trust.
Obliteracy: Words with explosions
This stuff is just stupid. Apple has done absolutely nothing illegal; arguably they've done nothing inappropriate. KDE and KHTML are not in any way any less well-off, and if this story accurately reflects the attitude of the primary KHTML developers, honestly, they're being jackasses.
What all this demonstrates is why using free code (especially GPL/LGPL code) is much more of a minefield than a reading of the license would suggest. You can comply to every last detail, and it doesn't do you any good against the negative publicity when someone decides you "owe something to the community".
What I'm listening to now on Pandora...
Apple has followed the obligation of the license.
:)
It's just a fork. Forks happen. Move along. If KDE guys think KHTML sucks compared to WebCore/Safari, they are free to fork THAT and start from there (backporting it to KDE). The source is open. Whine less, code more
This is nothing but a childish spat between 2 diffrent groups of developers.
Apple published the patches, and changes and KHTML cries about them having to much OSX specific code in them? Thats just crap..
Apple is acting in good faith, they are basically asking Apple to make sure all patches are 100% compatible with the current code base.
The KHTML team might as well just ask Apple to take over the project in full.
Open Source does not mean "Anything you do must conform and work with our project or your not doing it right"
Open Source is "If you make changes please give back to the community with the understanding that your changes might not be compatible with ours, Your code changes may not be what we want, but we can't complain about that"
Personal Website
I think Apple made a decision that it needed to switch cores and at that moment has every right to do so and never look back. The fact that they are putting any effort into KHTML at all should be looked at as a mere bonus for the KTHML developers at this point. Apple never claimed to be the white night funding the KHTML project or that they would be the dominant developer for the future. This is not an example of IBM taking over a project. I think some KHTML guys read way too much into this relationship. It was pretty clear from the start that they were being used (but the nature of their license allows for this). It was great that they showed trust and attempted to built a relationship, but they should not have become in anyway dependent. I'm not saying this is the case, but the bitterness of their response seems to suggst this sort of dependence.
Could Jesus microwave a burrito so hot that he himself cou
"One thing you may want to consider eventually is back-porting (WebCore) to work on top of (KDE), and merging your changes into that," Apple engineer Maciej Stachowiak wrote in an e-mail dated May 5. "I think the Apple trees have seen a lot more change since the two trees diverged, although both have useful changes. We'd be open to making our tree multi-platform."
The suggestion, which KHTML developers said they were unlikely to accept,
So Apple is open to making the tree cross platform, and presumeably to them back porting web core (which is nessesary to implement some of the things Apple has done since) and KHTML doesn't want to.
So by choice KHTML has already limited the changes they can use.
"In open source, everything's supposed to be done the right way, but sometimes the less correct way is faster," Rusin said. "In fixing one problem, they were breaking a whole bunch of other things. Apple developers were focused on fixing bugs in such a way that we could not merge them back into KHTML. Those fixes were never an option for us."
Ignoring for a moment the fact that OSS is not done the "right way" many times, Apple has an obligation to turn out code and to do it fast. They have obligations to their customers. The fact that KHTML wants to take their sweet time and Apple wants to get the patches done fast and out the door shows where the divergence is. Apple can't afford to take the open source approach of spending 5 years in beta before releasing the next version.
Once again a choice by KHTML. The patches are there, but they choose to do the patches their way, thus eliminating Apple patches.
KDE volunteers said they suddenly found themselves dealing with bug reports Apple deemed too sensitive to share, new requirements for auditing code before releasing it, and demands that developers sign nondisclosure agreements before looking at some Apple code.
So you mean once KHTML devs wanted access to code that wasn't part of KHTML, they had to play by Apple's rules? Say it isn't so! Apple plays by their rules for their code, but KHTML doesn't want to play by Apple's rules for Apple code. Again, choices by KHTML to limit their own options.
"As long as they needed us, they used us, but when they gained enough knowledge they had no reason to keep sending us reviews and patches," Rusin said. "At a certain point they decided it was a waste of time for them, and at that point the communication just stopped...We had hopes that they would pour resources into KHTML. But that never happened."
No, it did happen, but they're pouring resources in to the ways that allow them to serve their customers best too, and that means leveraging OS X technologies. KHTML has chosen to be just as uncooperative as Apple.
T Money
World Domination with a plastic spoon since 1984
There are no trails. There are no trees out here.
you can't put donuts on the table in the break room and then complain when someone eats them.
Complaining about it shows a great lack of grace.
How many times have you filed a RFE on an OSS project and gotten this back? "If you don't like how that works, feel free to submit a patch".
Okay, if you don't like how Apple provides its patches back to the KHTML guys, please feel free to write a tool that converts their patches into the form you prefer.
#DeleteChrome
...by getting everybody on the same source control software.
AFAIK, KHTML uses CVS, and Apple internally uses Perforce.
Nothing constructive can be done until everything is on the same platform.
Apple, offer to buy licenses of your source control software for the KHTML core. Even if they still spurn you, it will appear to the rest of us that you at least tried. You will look more and more of a villan until you make some effort at a reconciliation.
p.s. The KHTML team will need to be conversant with OSX to the point that they can remove GUI calls to it and replace them with QT. If this is a current problem, then some books might be in order.
This definitely isn't a GPL violation, and doesn't even violate the spirit of Free/Open Source Software. The Apple developers are making their resulting branch of the code available in compliance with the KDE license. They're even trying to work to contribute their changes back to KHTML. Even if the patches don't apply cleanly, the KHTML developers are more than free to look at Apple's changes and add them by hand. Apple is even offering to give back their entire branch, to make it the new official KHTML, since their branch has advanced faster.
This really seems to be a case of the Apple guys offering their changes (or at the very least, making them available), and the KDE guys not being interested in them, or unable to use them for various reasons. It's really hard to blame Apple for that.
Software sucks. Open Source sucks less.
And the KHTML guys have decided to "leave it" and explain why. If Apple gets a black eye out of it so be it.
Apple could have tried to be a little more community spirited rather than just ignoring the needs of the very people they relied on to save them millions in development cost. How hard would it have been to include real comments in their patches rather than pointing to a bug database number?
Sure information wants to be free, but how much are you willing to pay for the packaging?
What actually happened, was this: KHTML developer Zack Rusin read one too many uninformed comment on the internets about how awesome the cooperation between KHTML and Apple is; being on the recieving end of the very not awesome cooperation, he understandably got a bit pissed off, and blogged about it. The thing to note here is his ire *was not directed at Apple* (recognizing that they were fulfilling their legal obligations, and were required to do no more), but rather at the uninformed idiots. This has now been spun, in part by those same uninformed idiots, into the KHTML devs being whiny Apple-haters, and the whole legality question has also been quite predictably confused into it all as well, which was never a part of it.
So far, I have seen exactly one comment on this thread with some understanding of this. it'd be sad, if it weren't so fucking ironic...
Work is punishment for failing to procrastinate effectively.
Um.
Because
1) It's easy to port.
(It's not. Windows doesn't even have native APIs to support Objective C, let alone Objective C++. Porting this means porting large parts of Cocoa.)
2) Safari is just a little front-end for WebCore.
(It's not. Writing a WebCore front-end using WebKit doesn't require, I shit you not, a single line of code. Safari, on the other hand, has many.)
3) Apple would profit tons from this.
(They wouldn't. Giving away a browser for free for a foreign operating system without any other benefits is a honorary decision at best, not a business one.)
How is this a 'danger', that other people do other things with a project that you have intentionally given the world the right to work on?
is competition good, or is duplication of effort bad?
If they would just shut the hell up then we could look at Apple as what they are, a passive OSS user.
You have obviously never looked at how companies that are really passive open source software users behave. Microsoft, for example.
Right now Apple is putting some really interesting code out there for people to pick up. They've provided a framework in darwin for completely changing the way UNIX systems are managed, in nicely packaged tools like launchd, complete with "configure" scripts ready for dropping in peicemeal or packaging for debian or Red Hat.
There's a whole damned revolution waiting on opensource.apple.com and nobody's paying attention to it. Why? because it's from Apple? because nobody knows it's there? Because it's not the Linux Way? I don't know. You tell me.
"The fact that KHTML wants to take their sweet time and Apple wants to get the patches done fast and out the door shows where the divergence is. Apple can't afford to take the open source approach of spending 5 years in beta before releasing the next version."
This is quite ignorant. There are, admittedly some OSS project that are perpetually at a BETA stage. KDE is not one of them. KDE 3.4 had a few weeks of beta testing, and then it was released as final. Just as Tiger. Yes, there were a few bugs found since RELEASE - just as there were bugs in Tiger, and probably there will be more till the next release.
KDE developers did everything they could to help cooperation - in vain. And they don't even regret that as much as they regret that there are clueless users who overestimate APPLE's contributions.
And this makes hardly any sense:"Once again a choice by KHTML. The patches are there, but they choose to do the patches their way, thus eliminating Apple patches." Excuse me? What were you trying to say?
Mods: congrats!