Profile: Apple / WebKit

Authors

Rationale

We picked WebKit because it is a huge piece of software. The web runs the world, and the world runs on WebKit. WebKit is the biggest (as of today) player in this market. It is also quite a unique culture since it is heavily tied with Apple and Kocsen worked on the WebKit team.

Apple Organizational Details

Is the subject of your profile a corporate entity?

Yes, Apple is a corporation.

What type?

Publicly traded

When was it founded?

1977

By whom?

Steve Jobs, Kevin Wozniak, and Ronald Wayne.

Original founder(s) still active?

No.

Publicly Traded? Since when? Initial Stock Price? Current stock price?

Publicly traded, since 1980 at $22 per share with 800k shares total.

Has the company made any acquisitions? If yes, which companies, and what were their core products?

Yes, 63 to date. Some notable ones:

  • NeXT ($400,000,000, became part of OSX and iOS)
  • AuthenTec ($356,000,000, lead to TouchID)
  • Zayante ($13,000,000, lead to FireWire).

Has the company made any investments in other companies? If yes, which ones.

Only 2, Akamai Technologies (web site support services) and Imagination Technologies (chip design).

Number of Employees?

About 98,000

Where is HQ?

Cupertino, California, U.S.

Does it have any other offices or locations?

Several headquarters across the world with smaller offices and retail stores throughout.

Website?

www.apple.com

Wikipedia?

en.wikipedia.org/wiki/Apple_Inc.

Does your organization file any annual reports? Please include links to any relevant documents (i.e. 990, Annual Report, Year in Review, etc...)

Annual Report for 2014

Communications

Social media for WebKit

Does your subject participate in social media? If yes, please list a URL for each account, and reach within that community.

They have a minimal social media presence.

Facebook: 56 likes

Twitter: 5,863 Followers

Wiki

Communications channels for WebKit

What communication channels does your subject use to reach their public? Briefly describe and include a URL for each.

IRC Channel: freenode #webkit

SVN Repository Link: http://svn.webkit.org/repository/webkit/trunk

Mailing List Archive: webkit-help@lists.webkit.org - for general help

Blog/Website: Blog - https://www.webkit.org/blog/ Website - https://www.webkit.org/

WebKit Conference Participation

WebKit has irregular and sparse meetups/conferences for the community, but has one large annual contributors meeting usually in Cupertino, CA.

WebKit Community Architecture

The project's IRC Channel

freenode #webkit

Mail list archive

webkit-help@lists.webkit.org

Documentation

WebKit is very mature. So they do have very extensive documentation and strict code guidelines.

Other communication channels Project Website and/or Blog

Answered above.

Describe the software project, its purpose and goals.

All in all, WebKit is a huge open source community. I would call it a very set and mature codebase. It has no fear of suddenly stopping and powers a lot of the web out there. It has an interesting aspect to it since a private company like Apple is behind it all but it seems to work.

Give brief history of the project. When was the Initial Commit? The latest commit?

WebKit code started in 98, with KDE HTML layout engine. After some discussions, Apple ended up announcing Safari in 2003 which used JavaScriptCore. Eventually KHTML & WebCore didn’t stay on the same page so Apple decided to fork into WebKit. Dave Hyatt announced in 2005 that Apple would open source WebKit.

Who approves patches? How many people? Who has commit access, or has had patches accepted? How many total?

There are a total of around 250 official committers and reviewers of the webkit project. See them all here.

To be a committer, you should follow and trust the project. A Committer gets nominated once they have around 10-20 good patches. They also have to show that they are not a potato and understand the policies and the collaboration behind the project.

To be a reviewer you should have a very good judgement and understanding of project policies and vision. You should at least submitted 80 good patches and should be an active member of the community. 3 Reviewers must second the acceptance/nomination of a new reviewer.

You can become inactive and get committer/reviewer status revoked.

Has there been any turnover in the Core Team? (i.e. has the top 20% of contributors stayed the same over time? If not, how has it changed?)

Changes a bit, since core contributions tend to be from companies, so as employees change contributors do as well.

Does the project have a BDFL, or Lead Developer? (BDFL == Benevolent Dictator for Life)

No, there are a lead reviewers, but there are way more than 1.

Are the front and back end developers the same people? What is the proportion of each?

No front-end work really, aside from documentation.

What have been some of the major bugs/problems/issues that have arisen during development? Who is responsible for quality control and bug repair?

Apple has a very clear bug lifecycle. They use mailing lists to take care of code reviews and a lot of the communication surrounding the community.

How is the project's participation trending and why?

Downward slightly because of the Blink/WebKit fork, but since patches are still being shared it still is going pretty strong.

In your opinion, does the project pass "The Raptor Test?" (i.e. Would the project survive if the BDFL, or most active contributor were eaten by a Velociraptor?) Why or why not? In your opinion, would the project survive if the core team, or most active 20% of contributors, were hit by a bus? Why or why not?

WebKit is strong and huge, no bus or raptor can stop it. As long as it has major corporations relying on it for a key part of their infrastructure we don't see it going anywhere.

Does the project have an official "on-boarding" process in place? (new contributor guides, quickstarts, communication leads who focus specifically on newbies, etc...)

There is a getting around section on the Wiki, which is pretty short, but gives enough guidance to at least know where everything is and how to build it.

Does the project have Documentation available? Is it extensive? Does it include code examples?

The WebKit wiki is extensive and regularly updated with sections for each major component in WebKit.

If you were going to contribute to this project, but ran into trouble or hit blockers, who would you contact, and how?

The mailing list is pretty active with people running into problems, seems to be a slightly better place to go then IRC.

Based on these answers, how would you describe the decision making structure/process of this group? Is it hierarchical, consensus building, ruled by a small group, barely contained chaos, or ruled by a single or pair of individuals?

It is hierarchical and that has lead to at least some conflict and obviously the Blink fork.

Is this the kind of structure you would enjoy working in? Why, or why not?

Probably not, its huge and they have had some problems.

Licenses?

LGPL - JavaScriptCore & WebCore

BSD2 - Everything Else

Technology/Product

Section adapted from EFF Worksheet

Who invented, created, or sponsored the technology?

KDE started it, but its changed hands a number of times over the years. Headed up by Apple at the moment.

What is the technology designed to do? How is it used?

It's web rendering engine for anyone interested in using HTML, SVG, Canvas, JavaScript, etc. So primarily companies/organizations making web browsers.

Who would benefit from using this technology? What kinds of companies or organizations (stakeholders) might have been concerned about the development of this technology? Why?

WebKit was and is used in a number applications including, but not limited to:

  • Apple Safari
  • Blackberry’s OS
  • Amazon Kindle

And in the past by:

  • Opera
  • Google Chrome

Even those who have used it in the past still have an active interest since most Blink development still revolves around merging WebKit patches.

Does/Did an aspect of copyright law play a role in controversies about the technology? How?

There has not been a lot of controversy around the copyright itself, but there has been some internal conflict that lead to the Blink fork. For example: one engineer made a comment on the mailing list entitle WebKit Wishes prior to the fork that said:

I’ve worked at both Apple and Google. The WebKit community is full of brilliant engineers. Yet I frequently feel a lack of trust in my (or others) judgement, or witness hot-headed remarks on bugs, lists or IRC. I don’t think it’s that people don’t trust me after nearly 8 years (!?) on this project, but rather that we forget, or fail to communicate trust among ourselves. Social problems are perhaps harder to solve for us technical types, but I worry that for many of us it’s just become “us” and “them” and we’ve stopped trying. - emphasis ours

Business and Revenue Model

How was this organization funded originally?

KDE wasn't/isn't a company.

How does this organization make revenue?

It doesn't, but other companies definitely use it in products that make money.

Which specific Open Source Revenue Models are utilized?

Apple primarily makes money through merging the open source rendering/javascript engine that is WebKit into their proprietary browser Safari, which only runs on their OS, which only runs on their hardware. So at the end of the day it makes sense for their current revenue model as a company as a whole, they are very much a hardware company.

The benefit for making this open source is that 1) it was already open source when they got their hands on it, so it was a good starting place, 2) it allowed major corporations to not reinvent the wheel (especially pre-blink fork), with major contributions from not just Apple, but Google, Nokia, Blackberry, Amazon, Adobe, and many more.

What investments/acquisitions has the organization made?

Apple has made a bunch, but WebKit itself hasn't.