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.
We've previously reported on the frustration in the OSS community on this issue.
Atleast you're being honest.
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? Who gets to decide when someone is contributing "enough"?
Additionally Apple posts all of its open source code; here's the page for WebCore, which states:
WebCore is a framework for Mac OS X that takes the cross-platform KHTML library (part of the KDE project) and combines it with an adapter library specific to WebCore called KWQ that makes it work with Mac OS X technologies. KHTML is written in C++ and KWQ is written in Objective C++, but WebCore presents an Objective C programming interface. WebCore requires the JavaScriptCore framework.
The current version of WebCore is based on the KHTML library from KDE 3.0.2. Changes that are specific to WebCore are marked with #ifAPPLE_CHANGES. Other changes to improve performance and web page compatibility are intended for integration into future versions of the KHTML library.
Sounds like a case of sour grapes to me. I'm sure the level of cooperation and collaboration that the KDE/KHTML/Konqueror folks had hoped for wasn't there, if only because Apple keeps everything secret before its release (including everything related to Safari 2.0 in Tiger). Another example of a corporate need butting heads with a contrary OSS philosophy. And I'm sure Apple's main priority is not developing an infrastructure to cohesively and voluminously contribute changes back to projects. It's more like, "Ok, here's our stuff..."...it's all there for anyone to see.
- 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.In the article, Apple engineer Maciej Stachowiak said,
"One thing you may want to consider eventually is back-porting (WebCore) to work on top of (KDE)... We'd be open to making our tree multi-platform."
I wonder if that means they are looking to port Safari to Windows. It would give Windows users another taste of the Mac, and I for one would use it.
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.
Lars T.
To the guy who modded me down from perfect to terrible Karma - Apple haters still suck
Obviously Apple is not sharing there code! Slashdot looks great in Safari!
Dashboard Widgets
How is this different from any other OSS project? Two groups see the project going in two different directions and it forks. Granted, the Apple side on this one may not be as open as the KHTML people want, but in all honesty, I'm willing to bet that Apple has a much better code base than KDE at this point. The fact that Apple is suggesting a KDE backport of WebCore is pretty amazing. How many corporations do we see telling an OSS group, "Why don't you just take our code and use it for your project whole-hog"? My guess is not many.
Per Square Mile, a blog about density
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
WebCore-413
And here's everything from 10.4, posted on the same day 10.4 was released. They even posted full binary PowerPC and x86 installers for Darwin corresponding to Tiger that same day.
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
Is an unrealized danger of OSS that others may take your project in a direction you didn't intend?
Isn't that point of OSS, hoping that someone will take interest in your project and do something with it you couldn't do yourself?
And what's dangerous about that?
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
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.
Apple hasn't done anything wrong. This is exactly the way OSS is set up to work. If someone made some software and you want to change it, you are free to do so. As long as you publish the changes. There is no rule you have to do it in a way that makes the original author happy, you aren't required to follow their vision. You are free from all that. If the original author likes what you've done, they should be able to take your work and merge it back in.
It's nice when everyone cooperates with each other, and keeps everything syncronized, but all that is frosting on the cake.
First off, I do KDE work, not Apple.
KHTML is under LGPL. Apple is doing what they are required. In addition, they have offered to move their code base to be multi-pltform. In the end, I think that the KHTML team will move towards this. It will allow full time developers on an import piece of work.
The article is doing a disservice.
I prefer the "u" in honour as it seems to be missing these days.
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
One of the things you learn about Apple as you work with them is that secrecy is paramount. Among other things, that means that NOBODY gets access to their bug database. Developers have been clamoring for a more-open database for years. KDE's not getting special treatment, that's how ALL of Apple works. Love it or leave it.
...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.
Dave Hyatt, one of the lead developers of Safari, has solicited comments and suggestions on his blog about how to better improve coordination between Apple's Safari group and the KDE Konqueror. team. Corporate support from Apple will have to follow, of course. I am sure that they are the main reason this coordination has not occured by now.
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.
Check out gtk-webcore; their browser (osb-browser) is incomplete, but the renderer is great. I was able to load Google Maps with it and zoom in, something I haven't managed to do on konqueror. There's also atlantis, which seems to use gtk-webcore--I haven't tried it yet.
So... if Apple's code is so hard to work with, how did these people get it working? And using gtk, no less! Sorry folks--I'm no Apple fan, but Apple definitely *is* releasing code, and it *isn't* unusable.
pb Reply or e-mail; don't vaguely moderate.
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.
I can't imagine who modded this insightful. We really need the whole -1 factually incorrect mod.
iPod limited to apple services and formats, functionally a lockin product designed to trap users into the Apple Music Store.
iPods play MP3, AAC, WAV, MP3 VBR, Audible, and AIFF formats in addition to DRM'ed AAC files. Most users never use the iTunes music store. Also, why would Apple want to trap people using a store that they don't make any money on? You have it backwards. The store is a service they operate to make ipods more attractive.
Look and Feel. Apple has always imposed the most limits on the user's ability to customize his computer look and feel of any OS. Conformity is the Mantra at Apple. Individuality be darned.
Conformity eh, you mean like conforming to standards? Try editing the preferences of a program in Windows. What menu are they in? Answer, it depends on the program, they all put it somewhere different. Apple programs (and about 95% of third party programs for OS X) all have their preferences in the program menu and it is called preferences. All of the programs can make PDFs, from the same menu, in the same place. Can you see why that might be desirable? You don't have to hunt for things or remember different keyboard shortcuts, menu locations, menu names, etc. for different programs.
As far as look-and-feel goes, it is easy enough to change with third-party tools if you really want to, but you're right Apple discourages it. They spent a lot of time making things easy to use and don't want their systems getting a reputation for being hard to use because end users set the colors to really stupid things and put crappy bitmaps all over everything. They don't actively try to stop you, but they don't make it easy either.
Open Source. Apple plays lip services to opensource but does not give anything of signifigance back to the community. Darwin in open. Aqua is not. KHTML is open, Safari is not. On and on.
Everything Apple takes that is open source, they give back to. They publish their improvements and changes to WebCore which is what they have done with the Konquerer code. They take a different approach to things and provide a web service that all applications can use rather than just making one browser. You can write a basic browser using WebCore in about 5 minutes because all you need to add is the UI. Since the UI runs on a different window manager and rendering environment than Konquerer, the UI work is useless to them anyway. How about zeroconf? Apple wrote it and even provided a port for windows users. It is open and the protocol has been incorporated into printers, modems, routers, Tivo, etc. How about the new LaunchD daemon? It is a real improvement to a core UNIX service and not so different from the advanced schedulers used in some very expensive proprietary Server OSes. Linux can take the code and use it, or implement their own version using it as a reference. That does not include the patches they have submitted to Apache, MySQL, and dozens of other open source projects. It sounds like they are giving back to me.
Apple's image is ALL marketing spin.
Yeah, because contributing to open source is such a huge marketing fiat. Get real most people neither know or care what Open Source is and Apple sure as hell is not getting many sales by tricking the Open Source community into thinking they are helping the movement. Apple uses open source code because it works and they give back because it is in their own best interests. That is how open source works. Your view is severely myopic. Try reading some mainstream news for a change and seeing what the really real world thinks.
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?
Apple has always imposed the most limits on the user's ability to customize his computer look and feel of any OS.
Actually, Mac OS X is extremely customizable down to a very low level. Apple doesn't give you a nice GUI for making these changes, because they consider the look and feel a brand, but neither have they made any deliberate effort to prevent people from providing the missing components. In fact, if they didn't hold their developers responsible for maintaining that look and feel it would be harder to go in and modify the GUI.
The company that is currently doing the most to take advantage of and develop the various hooks Apple has provided is Unsanity, and Shapeshifter is the premier tool of this type:
http://www.unsanity.com/haxies/shapeshifter
But there's also an open source project:
http://themechanger.sourceforge.net/
And there have been other applications going all the way back to Kaleidoscope on Mac OS 8. These apps don't just change the window borders, they change every detail of every control in every application... and Kaleidoscope did it first.
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!