Slashdot Mirror


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.

21 of 553 comments (clear)

  1. Its only the bad things we head about? by Folmer · · Score: 5, Insightful

    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.

    1. Re:Its only the bad things we head about? by Suppafly · · Score: 5, Informative

      The problem with Apple and KDE is that apple doesn't make patches that are easy to apply to the khtml source. They release one patch that has tons of changes instead of one change per patch.

    2. Re:Its only the bad things we head about? by JohnFluxx · · Score: 5, Informative

      "Noone seems to bitch about X.org changes not getting back into XFree86."

      True, but the X.org changes are all in some form of vcs unlike the apple changes that they give us.

      The only 'hoops' we have asked for is that they give us some form of vcs (version control) logs rather than just a single 60MB dump :(

      How on earth are we supposed to do anything with comments like "this fixes 2374924" without being able to view what 2374924 is? Some of the kde developers have offered to sign NDA's just to see the commit messages, but apple refuses to reply to such requests.

      Personally I think Apple would gain more from working with us a bit more. Particulary with our new dom changes.

    3. Re:Its only the bad things we head about? by angst7 · · Score: 5, Insightful

      As others will likely point out, they certainly are within their legal rights to do what they like where patches are concerned. But you're missing a crucial distinction between Must and Ought.

      It is not required that Apple play nice with the way they release patches. That is to say there is not 'must' apart from the requirement that they make them available. But there's alot of 'ought' that comes into play when you use OSS code. This is basically a niceness test that says, in effect, if you use this code to make money, great, but you 'ought' to give back in such a way that we can make use of as well.

      Having said all that I feel a bit bad about even responding to an obvious troll. There's very little 'insight' in your comment.

      --
      StrategyTalk.com, PC Game Forums
    4. Re:Its only the bad things we head about? by Anonymous Coward · · Score: 5, Insightful

      Let me get this straight...

      KDE gives Apple (and everyone else) access to a monolithic block of code that doesn't run on Mac OS X, and that's considered a big favour. Apple gives KDE (and everyone else) access to a monolithic block of code that doesn't run on Linux, and that is the moral equivalent of spitting in their face?

      Error, error, does not compute.

    5. Re:Its only the bad things we head about? by alienw · · Score: 5, Insightful

      Read The Farking License. It doesn't say "preferred form for the original developer". It says "preferred form of the work for making modifications to it". As in, ASCII source code. What they are saying is that you can't comply with the GPL by, say, releasing code only as a PDF file, or only as a hardcopy, or without the appropriate makefiles. Nowhere does it say you even _have_ to release a patch.

    6. Re:Its only the bad things we head about? by 99BottlesOfBeerInMyF · · Score: 5, Insightful

      The thing is, the KDE guys did Apple a favor, and DID make it easy for them to get at the code. Apple just spit on their courtesy by just releasing their monolithic patches.

      I'm not sure, what exactly did the KDE guys do to help Apple? Did they help them to incorporate the code into their Webcore fork of Konquerer?

      Apple using Konquerer has already helped the KDE team in a number of ways. First they do have those patches to look through, in fact the acid test CSS patches from a previous article were even separately documented for the Konquerer codebase as much as possible given the divergence of the codebases. Next Apple using the Konquerer engine has made a lot of web sites compatible with Konquerer since Web designers are much more likely to test their pages against Safari than Konquerer. Also, they have advanced standardized HTML in general by promoting a browser that does not conform to either Gecko or IE's bugs and quirks.

      I think it is unlikely that Apple is going to change versioning systems to make the KDE team's job easier, nor are they likely to implement changes on both browsers (even if they could which they can't since the Konquerer developers do not want to implement all of the same type of changes Apple has and don't use the same development tools or APIs). What they do, however, is provide their changes openly so that the KDE team can look through them and copy whatever fixes, improvements, or changes are useful to them. I'm sure both sets of developers are overworked and neither has enough time and both would like more people to do more for them. Maybe if the KDE developers asked for more granularity with the patches the Safari team would be willing to accommodate them. They would probably also be happy to answer questions and explain particular changes.

      I guess I just don't see what anyone is mad about, and I'm not sure that anyone really is mad that is involved with Konquerer. This seems like a lot of people trying to make drama out of very little.

    7. Re:Its only the bad things we head about? by Pete · · Score: 5, Informative

      I'm not sure, what exactly did the KDE guys do to help Apple? Did they help them to incorporate the code into their Webcore fork of Konquerer?

      The KDE project's CVS (and now Subversion) source control tree is totally open and accessible to anyone (including Apple), has always been that way and will always be that way. Also, the general convention (as I understand it) on large open-source projects like KDE (and especially so on core library components) is that code changes should be made in small, distinct, atomic blocks - with a meaningful commit comment to help comprehend the change (and so the changes can be easily rearranged and merged into, eg. a different branch).

      This kind of system makes it relatively easy for the Safari/Webcore team to cherry-pick KHTML changes that they like. Though I have no idea how much they've done this, or even if they've done it at all - for all I know they've taken nothing from KTHML since starting Webcore.

      But even so, the existing CVS history helps to understand historical design decisions, and indeed can be helpful in all sorts of subtle ways.

      Now, conversely, Apple with Webcore. The KHTML team have no access to the Webcore source control system (it's not being run as a truly open open-source project, even if it is under the LGPL). The KHTML team have (AFAIU) only limited access to the Webcore bugtracking system, with some bugs not visible at all. From the story: "[KHTML] 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."

      I think it is unlikely that Apple is going to change versioning systems to make the KDE team's job easier,

      Whatever Apple uses for a source control system is utterly and totally irrelevant. What is relevant is that their source control system is not publically accessible. You can't see changes as they're made, you can't track the development trunk. All you can do is take the occasional slabs of code that they release - and the whole point is that that makes it difficult to port interesting code changes into the KHTML codebase.

      Added to which, the Safari/Webcore developers have entirely different (ie. commercial) priorities to the KHTML project. The KHTML team are prepared to take more time and do it right. The Webcore team are not - so they're more likely to use kludgy, lower-quality hacks that are simply unacceptable to the KHTML team.

      And the Apple developers have done another thing which makes things even more difficult for the KHTML devs to use their changes - they're using significant closed-source functionality from Mac OSX system libraries... thus building in a dependency to a closed library. Which makes it even harder to work out what's happening when Webcore makes a call out to an external library to accomplish some vital task.

      Maybe if the KDE developers asked for more granularity with the patches the Safari team would be willing to accommodate them.

      Wow, you really haven't read any of the background on this at all, have you? The KDE/KHTML team did ask (many, many times), and the Safari/Webcore team weren't willing to (or weren't allowed to) accomodate them.

      They would probably also be happy to answer questions and explain particular changes.

      Weren't. :-)

      Look, what Apple is doing with Webcore is (AFAIU again) completely legal. It's just that they're following the strict letter of the law and not at all the spirit of the law. They're not running an opensource project with Webcore, they're building a closed-source project (Safari) and making occasional monolithic code releases of the one major open-source component of that app (Webcore).

  2. Open Source Is A License by American+AC+in+Paris · · Score: 5, Insightful
    Folks, if you want your code used in a certain way, you put the terms in the damned license. That's what it's there for.

    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

  3. Here's the source for the WebCore from Safari 2.0 by daveschroeder · · Score: 5, Informative

    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.

  4. This is just stupid by Otter · · Score: 5, Insightful
    The original story just had Zach Rusin saying that Apple's contributions to KHTML were exaggerated. OK, fine.

    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".

  5. Nothing to see here... It's just a fork by Jarnis · · Score: 5, Insightful

    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 :)

  6. Childish Spat by cyberlotnet · · Score: 5, Insightful

    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"

  7. Read the article and know what is going on. by WindBourne · · Score: 5, Informative

    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.
  8. Learning about Apple by Anonymous Coward · · Score: 5, Informative
    How on earth are we supposed to do anything with comments like "this fixes 2374924" without being able to view what 2374924 is?

    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.

    1. Re:Learning about Apple by slipstick · · Score: 5, Insightful

      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?
  9. Re:Another question by javaxman · · Score: 5, Informative
    C++ IS an objective language. Objective C is the abortion of a language that Apple uses

    You call Objective-C an 'abortion of a language', and then mention C++ as an 'objective language', and you are moded 'Insightful' ?!?! Wow. Words fail me. I guess we all get to have an opinion, but which language has a cleaner, more object-oriented syntax, Objective-C or C++ ? Both are useful, practical, powerful languages, but I'm going to have to humbly disagree with you- it's C++ that's the messier, less OO-centric language. What did Objective-C ever do to you?!? It's a fine, clean, well-designed, practical OO language.

    I guess at least the remainder of your post is actually *somewhat* insightful, although it leaves me with questions. Did the KHTML guys really do 'a lot of work' to let Apple have access to their code? What, how and why? It would seem Apple couldn't need any more access to their code than any other developer. What special effort did they ask for ?

    Is doing a diff of Apple's release vs. what they started with to determine new code that difficult? From what I've seen actual KHTML developers aren't complaining about this near as much as you are... sure, it would be nice if Apple could have it's engineers spend more time releasing modular change packages to KHTML, but where do you draw the line? Remember, it's not like those guys at Apple have tons of free time- they're overworked and understaffed for the amount of things they have on their plate ( I mean, have you ever WORKED for Steve Jobs?!? ), and it's not their responsibility to do more than they've done.

    Seriously, I just see this as some KHTML developers wanting some respect, and not neccessarily from Apple. They want people ( like, KDE users and other developers ) to understand that *they*, the KHTML developers, are having to do some real work, that it's not all just Apple doing everything for them. And they're right.

    hah, that's funny. Sane moderation strikes back. In the time it took me to write this, you've gone from 'insightful' to 'flamebait'. Let me check again. Yep. Still funny.

  10. No problem here by booch · · Score: 5, Insightful

    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.
  11. This is being blown *way* out of proportion by Illissius · · Score: 5, Insightful

    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.
  12. Re:Apple = Closed by argent · · Score: 5, Informative

    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.

  13. Re:Sound like KHTML team doesn't want to play eith by molnarcs · · Score: 5, Insightful
    This is unbelievable (I mean the +5 insightful moderation). How can one claim that KDE developers have been just as uncooperative. They set up a mailing list specifically for Apple devs. They gave CVS access. All they asked was incremental changelogs instead of 60Mb code dumps. They even offered to sign NDAs with apple (and their offer was completely ignored) in order to get them.

    "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!