Slashdot Mirror


How Competing Companies Are Jointly Building WebKit

New submitter jgb writes "WebKit is, now that Opera decided to join the project, in the core of three of the five major web browsers: Apple's Safari, Google's Chromium and Opera. Therefore, WebKit is also a melting pot for many corporate interests, since several competing companies (not only Google and Apple, but also Samsung, RIM, Nokia, Intel and many others) are finding ways of collaborating in the project. All of this makes fascinating the study of how they are contributing to the project. Some weeks ago, a study showed how they were submitting contributions to the code base. Now another one uncovers how they are reviewing those submitted contributions. As expected, most of the reviews during the whole life of the project were done by Apple, with Google as a close second. But things have changed dramatically during the last few years. In 2012, Google is a clear first, reviewing about twice as much (50%) as Apple (25%). RIM (7%) and Nokia (5%) are also relevant reviewers. Code review is very important in WebKit's development process, with reviewers acting as a sort of gatekeepers, deciding which changes make sense, and when they are conforming to the project practices and quality standards. In some sense, review activity reflects the responsibility each company is taking on how WebKit evolves. In some sense, the evolution over time for this activity by the different companies tells the history of how they have been shaping the project."

25 of 125 comments (clear)

  1. Companies can work together just fine... by mwvdlee · · Score: 5, Insightful

    ...just as long as you keep managers, marketeers, sales people and HR out of it.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    1. Re:Companies can work together just fine... by Anonymous Coward · · Score: 2, Insightful

      So who decided they weren't confident in opera's own engine and let's swap years of work out for webkit? Developers?

    2. Re:Companies can work together just fine... by Grond · · Score: 4, Insightful

      You don't think management was involved Apple's decision to use KHTML as the basis for Safari rather than Gecko (the Mozilla engine)? Or the decision to use an open source engine in the first place rather than creating their own proprietary engine? You don't think sales and marketing were involved in the decision to feature the open source nature of the engine when Safari was first announced ("Safari’s features include ... the industry’s best rendering engine based on KHTML, from KDE’s Konqueror open source project, to which Apple has made significant enhancements that will be contributed back to the open source community."). You don't think HR was involved in recruiting software engineers with experience working with open source projects?

      The same is true of every other company that has used WebKit. Companies that base products on open source projects are not self-governing programmer utopias.

    3. Re:Companies can work together just fine... by blacklint · · Score: 4, Informative

      From the guy who chose to base Safari of KHTML: "But I chose the engine we used — with my team’s and my management chain’s support, of course —"

      Sounds like an engineering-led decision to me.

    4. Re:Companies can work together just fine... by Grond · · Score: 4, Informative

      Google did this first, they helped Firefox to really take off

      No, Apple announced Safari in January of 2003, years before Google began seriously funding Mozilla through search referral kickbacks and hiring a few engineers to work part-time on Mozilla projects. Work on WebKit started within Apple even further back, in mid-2001.

    5. Re:Companies can work together just fine... by Anonymous Coward · · Score: 3, Insightful

      So who decided they weren't confident in opera's own engine and let's swap years of work out for webkit? Developers?

      I doubt it's so much a matter of confidence as it is a matter of outbreaking common sense. Why spend resources on your own engine when there is an open, fast, very popular, well-supported, and well-regarded engine available for free? I'm surprised they waited so long, though I am not surprised that Microsoft is outlasting them.

      A small fraction of users care about what engine their browser is using. They care that the websites they visit work, and WebKit certainly has the edge over Opera's old engine on that point.

    6. Re:Companies can work together just fine... by BitZtream · · Score: 2

      Having embedded both Gecko (mozilla's rendering engine) and WebKit into various applications, it doesn't take any sort of silly thinking to understand why they picked WebKit.

      Gecko is a fucking mess that no self respecting programmer will get with in half a billion miles of. It is a shining example of how to write shitty code. It is in fact the most bloated, buggy, confusing pile of shit I've ever had the dis-pleasure of working with.

      WebKit is far from a trivial beast to work with, but its a HTML layout engine, which is a non-trivial task. WebKit makes sense and was 'designed', not thrown together by idiots who should have been fired in 2000 from netscape.

      Management was certainly involved, but I'd bet a weeks pay that none of the developers involved even gave Mozilla a second thought. The first glance at the code base makes it clear that the Mozilla project is not something you really want to be involved with unless you want to learn how 'to do it wrong' by example.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    7. Re:Companies can work together just fine... by Plumpaquatsch · · Score: 3, Interesting

      http://donmelton.com/2013/01/10/safari-is-released-to-the-world/

      But back to Steve’s presentation.

      Everyone was clapping that Apple embraced open source. Happy, happy, happy. And they were just certain what was coming next. Then Steve moved a new slide onto the screen. With only one word, “KHTML” — six-foot-high white letters on a blue background.

      If you listen to that video I posted, notice that no one applauds here. Why? I’m guessing confusion and complete lack of recognition.

      What you also can’t hear on the video is someone about 15 to 20 rows behind where we were sitting — obviously expecting the word “Gecko” up there — shout at what seemed like the top of his lungs:

      “WHAT THE FUCK!?”

      KHTML may have been a bigger surprise than Apple doing a browser at all. And that moment was glorious. We had punk’d the entire crowd.

      --
      Of course news about a fake are Fake News.
  2. Why won't this paradigm work on an Office Suite? by bogaboga · · Score: 2

    Why won't this arrangement work on an Office Suite?

    That's the question.

  3. Re:Why won't this paradigm work on an Office Suite by erroneus · · Score: 4, Insightful

    Critical mass.

    *.DOC(X) is not just he most universally accepted format for word processing documents, it's the most universally EXPECTED format for word processing documents.

    And then there's the ridiculously high amount of integration which is the expected norm for all of this. It's more than just office. It's everything it touches. And as we saw when Microsoft took an active role in attempting to stop ODF from becoming an ISO standard and we saw it in how Microsoft inexplicably got an incomplete and impossible to implement standard fast-tracked through the same process.

    They have no shame or sense of morality when it comes to defending their territory and will never allow anything to get in their way.

    Now, if there were such a collaboration I'd be all over it. Right now? I just can't see it happening.

  4. Re:Is there any reason by erroneus · · Score: 3, Insightful

    The moment "everyone" goes to the same platform is the moment everything slows to a crawl or even a stop.

  5. Re:Is there any reason by bill_mcgonigle · · Score: 4, Interesting

    Here's a pretty good discussion of the issue.

    Selfishly, I hope Mozilla never adopts WebKit because both the Gecko and WebKit teams tend to stagnate when nobody is out-classing them, but they both have strong competitive instincts and everybody benefits from that.

    And, frankly, I think the aesthetics of Gecko are much nicer on Linux than Webkit. I use Chromium for Google Apps because I pretty much have to, but the text layout and rendering really has room for improvement. I do too much work in a browser all day to use that as a primary tool until the necessary work is completed on my platform.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  6. Re:Why won't this paradigm work on an Office Suite by bogaboga · · Score: 3, Interesting

    *.DOC(X) is not just he most universally accepted format for word processing documents, it's the most universally EXPECTED format for word processing documents.

    But I remember IE was in this exact position not many years ago. Heck, you could hardly "get anywhere" around the web without hitting so called "IE only" sites. What happened in this case?

  7. Re:Why won't this paradigm work on an Office Suite by Xemu · · Score: 4, Funny

    Why won't this arrangement work on an Office Suite?

    That's the question.

    The transformation of the office Paradigm will be disruptive and imperative in a cloud computing initiative and to leverage Web 3.0 and deliver a truly seamless Prosumer solution .

    --
    Tell your friends about xenu.net
  8. Re:Is there any reason by Elbereth · · Score: 2

    We could call it... KHTML and make it a part of KDE!

    However, to be fair, KHTML is actually LGPL.

  9. Re:Is there any reason by Ambvai · · Score: 2

    We have never sought to become a monopoly. Our products are simply so good that no one feels the need to compete with us. -CEO Nwabudike Morgan, Alpha Centauri (Fictional quote, by the by.)

  10. ... so long as it meets their interests by Anonymous Coward · · Score: 5, Interesting

    I interned on the Chrome team 3 years ago. Google was still building up towards being a major player on Webkit. This lead to issues when Google's interests didn't match Apple's.

    For example, there was a bug on a KURL object (held a url in it or something). According to specs, it was supposed to wipe out certain data whenever such and such an event occurred. I do not remember the specifics. But, Webkit had this bug where it did not do that, going against its own documentation and specs. This was causing Chrome some issues, so they wanted to patch the problem.

    Apple refused to accept the patch- there were many places where Safari RELIED on the bug to work. If you wanted to fix the bug in Webkit, Apple would have to fix Safari. Since Apple had the majority of commiters/contributors, they could outvote any decision, open source be damned.

    In the end, Google made a GURL object for their own purposes, which was essentially the same object, without the bug.

    *Note: I may be mistaken on many of the details here, or the specific object names (it was a while ago), but the overall scope of the issue, I'm telling it to you like I remember it happening.

    1. Re:... so long as it meets their interests by BitZtream · · Score: 2

      Right, because they exact same thing wouldn't happen with 'the community' in charge.

      THERE ARE ALWAYS CONFLICTS, even in your fantasy hippie commune. Not everyone gets what they want in the real world.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  11. Monoculture by Alain+Williams · · Score: 3, Interesting

    Much as I like the idea of competitors working together I do have a slight concern that a security flaw found will be exploitable on many platforms. OK: more developers working to kill bugs, but this code is large and complicated.

  12. Re:Why won't this paradigm work on an Office Suite by wonkey_monkey · · Score: 4, Funny

    Aww, you were only missing "synergy" to win Bullshit Bingo.

    --
    systemd is Roko's Basilisk.
  13. Re:Errror in blurb by BitZtream · · Score: 2

    No, Chrome is the Google branded closed source version of Chromium, which is the open source browser tied to Chrome. ChromeOS is the OS.

    As is traditional of tech companies, the names they chose are confusing and retarded to anyone who doesn't follow tech religiously.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  14. Re:How about fixing memory management? by Carewolf · · Score: 2

    That is just the Safari Mac defaults. It is using up to 1Gbyte on JIT code, and even more on various caches, but it should throw it out when hit with a memory pressure event. The iOS defaults are much much smaller of course.

  15. Re:Errror in blurb by pthisis · · Score: 2

    As noted, Chromium is the open-source browser project, Chrome is Google's branded version of that code (much as Netscape v6 and later and Mozilla were related).

    The bigger error in the article is calling Opera one of the 5 major browsers. The summary then links to a page that isn't overall browser share, but is only non-mobile browser share. When you stop cherry-picking data, it becomes clear that:

    a) There are only 4 major browsers; Firefox, Chrome, IE, and Safari all have about 10-30% of the market share, and nothing else has more than 5% share; and
    b) The 5th largest browser is the Android stock browser. Opera is at best the 6th biggest browser, with 3.2% of the market.

    --
    rage, rage against the dying of the light
  16. Re:Why won't this paradigm work on an Office Suite by erroneus · · Score: 2

    it is supposed to make a difference when government entities require that ISO standards are followed when possible and one exists for documents, that it should be used. So if/when government follows its own laws and policies, they would have to select software which utilizes an accepted ISO format. If Microsoft wasn't able to manipulate its way through, there would have been some really tough questions to answer.

    And let's be clear on how important an issue this is. We're talking about government record keeping. We are talking about file formats wihich should be able to stand the test of time... 10 years, 50 years, 100 years from now if documents are to be accessed, which format do you think would be most accessible? A clean and clearly defined spec (ODF) or an XML formatted memory dump (OOXML)?

    As for MS Office getting it right? Do you actually use MS Office? I more than use it, I support it so I get to identify and manage problems associated with its use. I encounter problems all the time... well not "all" the time, but often enough to keep me employed.

  17. It's not all wine and roses by Anonymous Coward · · Score: 2, Interesting

    Webkit is riven with architectural compromises, technical debt, lousy infrastructure, competing corporate agendas, mistrust and factionalism that will probably destroy it sooner or later. This recent post on the Webkit dev mailing list is illuminating. Eric Seidel is an almost-decade-long contributor to Webkit, both as an Apple and Google employee, and he has a laundry list of problems with the Webkit project. Perhaps most telling is that there is almost no trust between Google and Apple, with each having developed an "us" and "them" attitude, and also that there is essentially no management of the project's overall direction. Contributors just work on what they want, when they want, without telling anyone else, and the first and only way their supposed collaborators hear about it is by seeing changesets show up in the Webkit trunk.

    Here's another Webkit dev post by Google employee Adam Barth, regarding Apple's attempts to upstream its iOS Webkit port, which for the duration of iOS's existence has been Apple-internal. It's pretty illustrative of the level of discourse between Google and Apple on Webkit:

    I don't really know how to respond to this thread. I feel like I'm being offered the following choice: 1) Give up the ability to have technical input to how WebCore works and simply accept all the design choices made in the iOS fork, whether they be good choices or bad. 2) Keep the iOS port in an Apple-internal fork for a number of years. I feel like I'm being asked to make this choice in the context of a growing trend of unilateral action by Apple in this project. Given that trend, I don't see how I can choose option (1). As much as I would like the iOS port merged into trunk, I'm not willing to give up having a technical say in the project. Therefore, reluctantly, I'm forced to choose option (2).

    "A growing trend of unilateral action" does not seem like a healthy place for a collaborative project of this sort to be in. I get the impression that these kind of conflicts are become more common not less, as Google and Apple compete more strongly and openly, and their patience with each other runs out.

    In fact, in some respects, Google and Apple already maintain their own forks of Webkit, albeit stored under the same source tree. How does that work? Well every feature that is implemented in Webkit nowadays is done behind what is called a feature flag. This means it can be turned on or off in a particular Webkit port at compile time. The set of features enabled by Google's Webkit ports (in Chrome and Android), differs wildly from those enabled in Apple's ports (in iOS and Safari), but basically can be summed up as, Google uses features developed by Google, and Apple uses features developed by Apple, with just occasional crossover. This means anything you read about "Webkit browsers" is meaningless, because one Webkit browser can be totally different from another in capability, even if it was compiled from the same source.

    This situation, coupled with the apparent nightmare they have encountered trying to construct infrastructure to support building and testing Webkit, makes you suspect each will eventually conclude the diminishing benefits of shared labor are not worth the myriad headaches and loss of control, and go their separate ways. They'll maintain separate trees, with occasional cherry picking of features from each other, but also growing incompatibility as each pursues their own independent vision.