Slashdot Mirror


Safari And KHTML May Never Meet

diegocgteleline.es writes "Announcing that Safari passes the Acid2 test has raised some voices in the KDE world. Apple, they say, isn't playing friendly. They don't provide a CVS history, just the modified files where nobody can understand how and when things have changed. It's quite likely that KHTML developers will have to write their own code to pass the acid2 test. Zack Rusin writes: 'All I'm asking for is that all the clueless people stop talking about the cooperation between Safari/Konqueror developers and how great it is. There's absolutely nothing great about it. In fact "it" doesn't exist.'"

41 of 765 comments (clear)

  1. He posted patches! by Knytefall · · Score: 5, Informative

    Looking at Safari developer Dave Hyatt's blog it looks like he's provided some patches. I'm sure it will take some work to get those into KHTML, but that seems to be a pretty good start to me.

    1. Re:He posted patches! by masklinn · · Score: 4, Informative

      From Rusin's post, these patches are not useable (mainly because they often rely on previous Safari specific implementations that don't exist in KHTML trunk, or for the worse ones because they rely on OSX features itself and thus can't be ported to KHTML without a full rewrite)

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    2. Re:He posted patches! by Carewolf · · Score: 5, Interesting

      He posted the patches because I provoked him to do it. They are the first patches we have received from Apple since late 2003.

      Unfortunately they don't merge very well. I've spend a few hours to merge two of them. The rest will probably require redeveloping.

    3. Re:He posted patches! by masklinn · · Score: 5, Insightful

      For god's sake, RTFP, Rusin didn't complain about the fact that he couldn't merge the patches on the trunk, he is annoyed by the fact people think it is, and think Apple is all great and mighty and actually cooperates with the KHTML team, which is not true.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
  2. But... But... by PhotoGuy · · Score: 5, Funny
    But... Butt... Apple Good!

    I give up, no more computers for me.

    --
    Love many, trust a few, do harm to none.
  3. As if that ain't enough... by Sirch · · Score: 4, Informative

    ... they're duping comments.

    Hey, that gives me an idea - find a nice little comment somewhere a week or so back and submit it as news... yeah...

  4. Apple tries to woo KDE folks by mynzai · · Score: 5, Funny

    In a shocking and unsuspected announcement, Apple will change their name to 'KApple' in an effort to patch relations with other Kommunities.

  5. Re:This sounds like something SCO would say... by Chirs · · Score: 5, Insightful

    Have you ever worked on a large project?

    Without the revision history, it can be very difficult to track what effect particular changes actually have. Intermediate code cleanups, reorganizations, additional features, etc. can combine to make the code look much different in a fairly short amount of time.

    Looking at "what has been changed" makes it much easier to figure out "what does the changed code do".

  6. Has anyone asked Hyatt? by byolinux · · Score: 4, Informative

    Dave Hyatt seems fairly responsive to emails. He's replied to one's I've sent in the past asking questions about Safari. He's a Free Software guy, I'm sure he can appreciate the frustrations here, and might be able to help - afterall, I don't believe he, or Apple really want to 'screw over' the KHTML people - it might just be that communications haven't been really made.

    Email him - ask?

    1. Re:Has anyone asked Hyatt? by masklinn · · Score: 5, Interesting

      From Rusin's post and links, it looks like the KHTML guys did quite a lot for Apple's sake (creating specific mailing lists and such).
      They don't look like they're asking for much, basically they'd like access to the Safari team's changelogs (and internal CVS I think) in order to see how the changes happened, why the modifications were made (because knowing that a modification was done but having no damn clue about why it was done can be quite useless) and where, and which internal of external features the modification uses.

      From what i understood, in a nutshell, the KHTML guys merely used to ask for a documentation that was supposed to exist instead of big webcore tarballs, that was more or less denied and the KHTML guys stopped asking for it.
      But they're quite annoyed about the buzz over Safari's change getting back to KHTML, which is something that they're not able to do.

      On a side note, it should be reminded that KHTML is only part of the K distribution, which means that they can't afford to put more work in KTHML engine alone that on KDE for example.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    2. Re:Has anyone asked Hyatt? by booch · · Score: 4, Informative
      You don't need to ask him. He's blogged the whole thing! He's got a separate patch for each change in functionality, with explanations of each. Some "explanations" are just a single sentence as a link to the patch. Others are full blog entries. The blog provides a pretty good history of his thinking on the changes as he went along and tracked his progress. The patches are also commented to a reasonable degree explaining what's going on.

      If this isn't enough info, I don't know what is. I suppose code for regression tests, etc. would be nice. But complaining about this is more likely to piss off Apple/Hyatt than to help. Plus, he does have his email address posted on his blog if you have questions. Or just post a comment, and I'd bet he'd answer it.

      --
      Software sucks. Open Source sucks less.
    3. Re:Has anyone asked Hyatt? by Otter · · Score: 4, Insightful
      I think part of the issue is patches like this, where Mac-specific code is used that can't easily be backported to KHTML.

      I understand why that can't simply be slapped into the KDE codebase but, c'mon -- is there now some obligation for everyone modifying GPL code to keep their modifications cross-platform? Apple's job is to improve and ship Safari, not to fix Konqueror.

      With all due respect to Rusin and any other KHTML devs complaining, I don't get what the problem is. They're getting diffs in manageable chunks (some of which look directly usable), they're getting bugs pointed out and solutions offered -- it looks pretty helpful to me.

  7. Public release of Safari does not pass yet. by MarkByers · · Score: 5, Informative

    This might be a good time to remind everyone that the patch has not yet been released to the public. The patch might make the browser unstable - further testing will be required. Depending on how long it takes before the patch makes it into the public version, Safari might not be the first browser to support Acid 2.

    From yesterday's summary:

    The patched Safari is not yet avaliable for public consumption. It is unknown when the patches will appear in a public version of Safari.

    --
    I'll probably be modded down for this...
  8. Re:Is this a joke? by MankyD · · Score: 4, Insightful

    He's not saying that Apple is doing anything wrong. He's simply pointing out that there exists no cooperation, as many people would like to think.

    --
    -dave
    http://millionnumbers.com/ - own the number of your dreams
  9. Re:Is this a joke? by nharmon · · Score: 4, Funny

    they have to do more than the minimum.

    And how many pieces of flare are you wearing?

  10. Re:Stop complaining by unixmaster · · Score: 4, Informative

    Huh? They got Khtml and Kjs from KDE, without them there is no Safari , No Dashboard. Got it?

    --
    Never learn by your mistakes, if you do you may never dare to try again
  11. Re:Wow - vitriolic by Anonymous Coward · · Score: 4, Insightful

    I would agree. Nowhere does the GPL require you maintain and distribute CVS logs so everyone can see what changes have been made. Nor does it require you detail what has been changed from the original source. It's good enough to say "Here is the code after we made it do x y and z". If the original developer wants to see how they did x y and z, then he can diff the code.

  12. Re:Stop complaining by JanusFury · · Score: 5, Insightful

    I don't see how fragmenting KHTML is going to help it much... If people code for Safari, and Safari is the only KHTML based browser that acts lke Safari, the what good does it do for anyone else?

    --
    using namespace slashdot;
    troll::post();
  13. Re:Isn't that what opensource is about ? by francisew · · Score: 4, Insightful

    I'm not sure about that. From what I understand, open source doesn't mean you have to give other people everything verbatim, and explain the changes.

    You have to make available the source you based your code on. That's all. Apple would be under no obligation to make modifications publicly available. It's just a bit silly not to contribute back, otherwise they end up working off a completely different source tree, and lose most colateral benefits of having an open-source basis.

    Apple might simply plan to let the open-source crowd stay a few months behind their closed source implementation. That way the community still contributes useful bits, but doesn't ever get in Apple' face with competition for users.

  14. Why cvs history is important for Khtml etc. by unixmaster · · Score: 5, Informative

    Every change in khtml has to be run through a regression suite to make sure it doesn't break anything. Now if you fix something a new regression test is added for that.

    If you get fixes with no log of what they fix you will end up with bunch of code which you have no idea how to test for regressions. This is just one of the reasons why diffing codebase doesn't cut it.

    Another good reason is damned diff is ~6mb because Apple guys never send small patches but only dump WebCore tarballs.

    --
    Never learn by your mistakes, if you do you may never dare to try again
  15. Re:Is this a joke? by Elwood+P+Dowd · · Score: 5, Informative
    Conveniently, this time you didn't even have to RTFA. Right there in the abstract:
    'All I'm asking for is that all the clueless people stop talking about the cooperation between Safari/Konqueror developers and how great it is.'
    Maybe I missed the part where he said that Apple had to hand-hold him through understanding the code. Oh, no, in the article he points out that Apple has fulfilled all the requirements of the license.
    --

    There are no trails. There are no trees out here.
  16. Re:Wow - vitriolic by Anonymous Coward · · Score: 4, Insightful

    This isn't true. They are legally bound to include a notice telling their customers that they are entitled to source, and they are legally bound to supply it to a customer of theirs, should they ask for it, for the price of shipping. They don't even have to send patches back to the KHTML team.

    They are doing more than the license forces them to. They are just getting criticised because some developer wants them to do more.

    Also, everybody whining about suing them for GPL infringement? You are clueless. Not only are they abiding by the license, it's LGPL, not GPL. You haven't even bothered to read the license and you are advocating suing them? Typical American attitude.

  17. Re:Is this a joke? by squiggleslash · · Score: 4, Insightful

    Actually I think he understands that. The issue is that people are under the impression Apple does directly contribute, and so start blaming the KHTML team when WebCore has features that KHTML does not. He's not criticising Apple so much as criticising the massive group of people, including many Slasdotters, who do not understand the issues involved and claim that KHTML is benefiting from Apple's involvement.

    --
    You are not alone. This is not normal. None of this is normal.
  18. Re:Hmmm... by k98sven · · Score: 5, Informative

    Now that diff can't tell you why they've changed, but for Pete's sake, you're a developer. You've got the code. You've got the standard. You've got the changes in the code. You've got the old code. You can see how behaviour changes in each. You've (hopefully) got an reasonable general understanding of the codebase.

    You obviously didn't read the blog entry.

    The problem here is that Apple drops a huge diff on them for every release. It's not individual diffs for each change, but one massive one. We're talking about a diff several megabytes in size consisting of hundreds of changes. With all kinds of changes mixed in with eachother and mixed in with all kinds of Safari-specific stuff.

    Yes it is possible to sit and pick that apart. But it's a lot of work. It may very well take more work to seperate out a change than to re-implement it from scratch.

    On top of that it's unnecessary work, because there's no reason Apple wouldn't be able to hand over all individual patches seperately, which would make things immensely simpler for the KHTML guys.

    Apparently the KTHML guys have tried and tried to get Apple to do this. And they haven't helped.

  19. Blog Entry by David+Saxton · · Score: 5, Informative

    I can't access kdedevelopers.org, so here's the blog entry:

    You cant even imagine how I hate that question. The truth is most probably never. I just read the article on /. about Safari supporting the all crack Acid2 test and people raving how great it is for KHTML. The truth is that KHTML will probably never get those patches. Whats most probably going to happen is that one of us will simply reimplement it from scratch (and at the moment the reality is that if its not going to be Allan or Germain its not going to happen).

    Code in Safari is hugely inconsistent and changes are always interdependent. Theres basically no way of merging in one change without bringing a whole bunch of others in. And you know what? Dont even tell me about merging stuff like render_canvasimage.h,cpp. It outright uses OS X apis. Well never be able to merge that in - someone will have to implement it. And whats going to happen when someone does? Some jackass on /. or some other equally stupid site will be praising Apple.

    In the past when someone spent long hours implementing something in KHTML, they at least got a thank you from people using Konqueror. Now its well finally! It was working in Safari. khtml developers are lazy. Wheres the fun in that?

    Do you have any idea how hard it is to be merging between two totally different trees when one of them doesnt have any history? Thats the situation KDE is in. We created the khtml-cvs list for Apple, they got CVS accounts for KDE CVS. What did we get? We get periodical code bombs in the form of them releasing WebCore. Many of us wanted to even sign NDAs with Apple to at least get access to the history of their internal vcs and be able to be merging the changes incrementally, the way they can right now. Nothing came out of it. They do the very, very minimum required by LGPL.

    And you know what? Thats their right. They made a conscious decision about not working with KDE developers. All Im asking for is that all the clueless people stop talking about the cooperation between Safari/Konqueror developers and how great it is. Theres absolutely nothing great about it. In fact it doesnt exist. Maybe for Apple - at the very least for their marketing people. Clear?

  20. Re:Wow - vitriolic by I+confirm+I'm+not+a · · Score: 4, Informative

    it seems like they're doing everything they're legally bound to do. And that only, nothing more at all, which is the part that annoys the KHTML team.

    Not even that: it's *other people's* attitude that the KHTML devs dislike - from TFA:

    "And you know what? That's their right. They made a conscious decision about not working with KDE developers. All I'm asking for is that all the clueless people stop talking about the cooperation between Safari/Konqueror developers and how great it is."
    --
    This is where the serious fun begins.
  21. Re:Diff? by irritating+environme · · Score: 4, Insightful

    You obviously work on a grand total of a couple thousand lines of code at work, if at all, and aren't working in a source control managed environment.

    Since Safari is a big fork, in order to know how to reintegrate the files, you need to know WHEN as well as WHICH LINES of code changed in order to reintegrate major changes into the source management, or you'll run substantial risk of overwriting previous patches the other fork doesn't have or need, especially if there aren't a lot of people and time to figure this out. Otherwise, the time to reintegrate is much more than...just writing it yourself from scratch.

    Your comment is so moronic and naive that it is officially a troll. If a key guy like this is complaining, then: THERE'S SOMETHING WRONG. He's not lazy and he's not whining, you dumb fuck, he's legitimately frustrated. I would say this is very helpful, since it straightens up all the iPod-hypnotized Apple apologists on this site. If there are a million consumers who buy Apple's marketing, fine. But this was supposedly a site for intelligent technical people.

    Apple is what it is: a talented amoral corporation led by a greedy egotistical amoral CEO. They aren't "Different", they aren't "feeeel-gooood", and they don't care about OSS unless it makes them money.

    --


    Hey, I'm just your average shit and piss factory.
  22. Re:This sounds like something SCO would say... by Carewolf · · Score: 5, Informative

    Actually the biggest problem right now is that Apple are not keeping up with code-cleanup. We constantly try to develop more elegant easier to maintain code, where as Apple wants the right features - right now.
    Safari is basically still KHTML from KDE 3.1 with a ton of bug fixes and features. Many of the features takes time to port because they do not live up to our coding standards.

  23. Re:Hmmm... by kelnos · · Score: 4, Insightful

    Let me guess... you're not a developer, right? From what I understand, Apple doesn't send back patches for specific issues, they just periodically make a tarball of their webcore tree and lob it at the KHTML devs. A 'diff -u' would probably give you a 5-10MB patch file. Is it useful? Sure. But it's a royal pain in the ass to sort through it and figure out what does what.

    And why is this important, you ask? KHTML, like any rendering engine for a complex document format, is a complex piece of software. If you're going to change it, you need to be absolutely sure that the changes aren't going to have an impact on another part of the rendering pipeline. You can't do that when you have 5+MB worth of multiple possibly-unrelated changes to sort through.

    --
    Xfce: Lighter than some, heavier than others. Just right.
  24. This is natural by Calibax · · Score: 5, Insightful

    Apple, they say, isn't playing friendly. They don't provide a CVS history, just the modified files where nobody can understand how and when things have changed.

    First of all, anytime you fork off a large project like KHTML the source code bases will start to grow apart. When the new fork has a dedicated group of engineers updating it for their needs then it will quickly diverge to the point where it makes little sense to attempt to keep patches in lock step. In my career I can recall several times where this has happened, and it always seems to come as a surprise to the people maintaining the less active fork.

    Apple doesn't use CVS as their normal source control system. To provide CVS documentation, Apple engineers would have to maintain a CVS database as well as maintain their patches in their standard internal SCS. This used to be perforce, I believe, and probably still is as switch a SCS is generally a royal PITA.

    Because the sources have been diverging for several years, it's unrealistic to expect that the Safari patches will be directly applicable to KHTML, and I frankly doubt that even having the Safari patch documentation would help very much after several years of Apple patches. This probably isn't anything underhanded on Apple's part. It's just the way engineers work - they change the code to fit their needs, and rarely consider the impact on the old fork that they started from in the absence of an explicit mandate to stay compatible with the old fork. That level of compatibility would require the Apple folks to always have the current KHTML sources and be familiar with that source and particularly to understand the differences between the KHTML code and the Safari code.

    Apple does provide the modified files, and usually this is a huge improvement on starting from scratch in implementing a new feature or fixing bugs. It does require the KHTML engineers to be able to read and understand the Safari code. To say that nobody can do that sounds a little strange.

    It's quite likely that KHTML developers will have to write their own code to pass the acid2 test.

    Well, yes. Should Apple engineers be expected to maintain the KHTML engine also? Apple's engineers are probably focused on their code base exclusively. The KHTML engineers are the right people to modify their own code base. Does anyone expect Apple engineers to be responsible for maintaining compatibility between Safari and KHTML? Apple makes changes, and they provide the changes files to the KHTML team. The rest is up to the KHTML folks if they want to extract the Apple code they want to use and put it into their code.

    1. Re:This is natural by browse · · Score: 5, Informative
      Apple doesn't use CVS as their normal source control system.
      Ummm, yeah, they do. I worked within Apple's OS division for several years of OS X development. Source control is all done via CVS.
  25. Re:This sounds like something SCO would say... by wed128 · · Score: 4, Insightful

    Pretty code is much easier to extend and maintain than hacked together 'the browser fucking works' code.

  26. Re:The Sky Is Falling!!!! by Anonymous Coward · · Score: 5, Insightful

    So Safari is a fork of KHTML then? Fine. Again, I don't want to hear anyone talk about how great Apple is because they give back so much to the open source community. What they do is TAKE from the open source community, fork their code, and give next to nothing back. That is their right. But I don't want to hear anyone praise them for being CONTRIBUTORS to the open source movement, because it is clear they aren't.

  27. Re:Isn't this the Apple way? by coolGuyZak · · Score: 5, Insightful

    Bitch all you want, but Dave Hyatt's changes to WebCore stand a good chance of finding their way back into KHTML

    Do you even RTFA? Hell, do you even read the headline? It's written by one of the KHTML Developers.

    If you had RTFA, you would have noted that he's not complaning about Apple. He's complaining about you and your uninformed comments. He's asking you, in a more polite way than I will, to shut the fuck up. Because most of Apple's code is completely unusable to KHTML.

  28. Re:Stop complaining by labratuk · · Score: 4, Insightful

    Dont you think Apple has already done enough for KHTML?

    What have they done for KHTML exactly?

    At this rate, Safari will end up with a completely different engine from KHTML. How will n million installations of a distantly related browser help KHTML?

    --
    Malike Bamiyi wanted my assistance.
  29. Business Plan by mslinux · · Score: 5, Insightful

    1. Use FREE source code from BSD & Darwin.

    2. Get lots of FREE BSD & GPL Unix utilities.

    3. Use FREE browser source code from KHTML.

    4. Beg & plead with MS to continue making Office for Mac.

    5. Write the GUI in house and a few other cool apps.

    6. Bundle it up and sell it for lots and lots of money and take credit for it all.

  30. Re:Isn't that what opensource is about ? by zorander · · Score: 4, Informative

    They're providing the modified source code. What they're not doing is adhering to the project management standards (version control, changelogs, whatever) that KHTML uses. The GPL doesn't require this. As I see it, Apple is modifying and using KHTML and releasing the modified source back to the KHTML team, thus fulfilling the GPL. There's no requirement that it be easy to build or that they document their changes well or that they not fork the project.

    In fact, forking is not a bad way to describe what they're doing. They've made a legitimate fork. They're releasing patches, they're playing by the rules.

    The OP is right. They're not 'cooperating'. Guess what--they don't have to. The GPL, however much RMS would like it to, doesn't mandate having a social conscience.

  31. RTFA by ElMiguel · · Score: 4, Insightful

    Or even read just the Slashdot summary. You will find this quote:

    'All I'm asking for is that all the clueless people stop talking about the cooperation between Safari/Konqueror developers and how great it is. There's absolutely nothing great about it. In fact "it" doesn't exist.'

    This KDE developer is frustrated because people misunderstand the contribution (or absence thereof) Apple is making to KHTML; he's not flaming Apple or suggesting Apple's duty is to be more helpful to the KHTML people.

  32. Re:Is this a joke? by McDutchie · · Score: 4, Interesting
    but the GPL will be modified so that developers need to comment and document every single change they make

    Funny thing is, I think you could argue that the GPL already more or less requires this:

    2. You may modify your copy or copies of the Program or any portion
    of it [...] provided that you also meet all of these conditions:
    a) You must cause the modified files to carry prominent notices
    stating that you changed the files and the date of any change.
    [...]

    Now it doesn't say that the changes actually have to be documented, but I am reading "the date of any change" to mean that the date for each single change needs to be specified, which would necessitate specifying what change belongs to which date, which comes pretty close to documenting the changes.

    To get back on-topic, I'm actually curious if Apple is complying with this rule, and if so, with what interpretation of it. :-p

  33. Missing their point by ElMiguel · · Score: 5, Informative

    Why is everybody missing this KHTML developer's point? It's right there in the short Slashdot summary. He acknowledges that Apple is fulfilling their legal obligations by providing the modified files. But they're not providing any help at all in making their changes useful to the KHTML team. So, there's no "collaboration" at all from Apple's side. That's all. He's not even flaming Apple. If anyone, he's flaming people who misunderstand this situation.

  34. Talking crap. by g_lightyear · · Score: 5, Insightful

    Let's be frank, folks.

    - A bunch of developers finds a bunch of bugs and fix it in their source base.
    - They hand you their source base, along with loads of information on where the bugs are, and patches that you can't integrate into CVS HEAD.

    And the KHTML team is sitting around bitching about the fact that KHTML != WebCore anymore, and how none of the patches can be run against HEAD...

    Ok, I was *at* Netscape at the time. I have no doubt that he and his team continue to bust their asses to ship good code, and they're passionate about doing so.

    That is not to say that they:
    1) Should feel restricted to KHTML's API. That's not in Apple's best interest, and they're not doing this *for the KDE team or organisation*. It's also not fun - they don't run Linux desktops, or KDE, and don't feel like re-entering Netscape's cross-platform hell.

    2) Is KHTML nice and segregated? The whole reason WebCore happened was that KHTML was littered with KDE calls. Now the KHTML team is complaining that the WebCore code is littered with Mac API? Imagine my shock. Really.

    3) A bunch of people just gave you a ton of information, bug reports, and example code you can *LIFT OUT AND REWRITE*.

    Lazy? You're damn right you are. Disillusioned? Yeah, I'll bet. Apple didn't add developers to the KDE project - they added them to Safari. Any idiot can tell *from the starting point* that the only way the browser would happen was to do in WebCore what the KDE team did in KHTML; utterly fail to abstract platform-specifics from the rendering engine.

    Personally? I could wish that some big commercial development house would take an open source product I was on, commercialise the development, submit its source code quarterly for me to scavenge for ideas and code where possible, and for it to remain legal to do so.

    Is it "ideal"? What's "ideal"? A bunch of other people bend over backwards to make your codebase a nicer place to live in, so they can throw away their deadlines, fix the fact that you didn't separate out the platform dependency in the first place, and burn money on things in the codebase that don't have *any* outward impact except to make it easier for someone else to suck up the code into their tree?

    I'll bet you're frustrated. All those damn clouds keep getting in the way of your panoramic view.

    It may not be perfect - but it's more than just a little better than nothing; it's actually a hell of a lot of time and effort spent to give back to the community. Even if, in this specific instance, what's given back isn't instantly reusable by that community.

    Meanwhile, you can go back to KDE. Not a bad product, but strangely enough, it's hard to run KDE applications without running KDE. It's hard to develop a KDE application that would/could. If anyone has experience with writing applications in an environment that has to cross APIs with fundamental differences in how they perform simple actions, it's the person you're accusing of... of what? Of not being "helpful enough"? Of not being a KHTML team member? Of not being an Apple employee paid to work on a KDE-specific project?

    I'm having a really hard time imagining what the fuck is going on in your head, and I'm just not sure it's worth bothering; I suggest you start a rock band and burn off some of that angst on teenagers who are more likely to think that every word that comes out of your mouth is gospel, rather than the drivel it sounds like to those of us of older generations.

    --
    -- A mind is a terrible thing.