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.

8 of 553 comments (clear)

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

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

  4. 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.
  5. 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.

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

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

  8. 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).