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
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?
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.
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.
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.
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!