by Jason Snell
A WebKit feature was crowdfunded. Let the dunks begin?
Most of Apple’s software is proprietary. Some of it, though, is based on open-source projects. WebKit, which powers Safari, is an open-source project. Which means that Apple is not the only source of contributions to the code that powers Apple’s web browser. Indeed, the entire web development community can contribute WebKit code that can be integrated into the core of WebKit. Many (most?) other browser engines are similarly open-sourced.
Which led to the open-source consultancy Igalia creating an experiment called Open Prioritization, which let members of the community to crowdfund features they’d like to see added to prominent browser engines like WebKit, Chrome, and Firefox. (Igalia already did this work for paying clients, by the way—deep-pocketed companies that want a particular feature added to all the browser engines can, and do, pay developers to get it done. What was different here was the crowdfunding and crowdsourcing of the priority list.)
As Eric Meyer explains, implementing the
:focus-visible pseudoclass won the vote, the community supplied funds and Igalia matched, the work was done, and Apple’s WebKit team accepted the contribution. It just appeared in Apple’s latest Safari Technology Preview release.
Unfortunately, this led to some people in the web-development community to complain that Apple, the richest company in the world, was relying on crowdfunding in order to implement features in its web browser. Funny, right? Except, as Meyer1 writes:
The addition of :focus-visible to WebKit was lead by the community, done by Igalia, and contributed to WebKit without any involvement from Apple except in the sense of their reviewing patches and accepting the contributions. Many of us are mad at Apple for a lot of good reasons, but please don’t let the process of venting that anger tar the goals and achievements of Open Prioritization. The future browser-feature priority you save may be your own.
So let me decode this: Some people in the web development community have different priorities than Apple does. And it makes them grumpy. Because they think that there’s only one correct priority list—theirs. And when one of their priorities is crowdfunded into existence, because Apple had a different priority list, their reaction is not delight at finally getting a much-desired feature, but outrage. The issue isn’t the thing getting done, not really. It’s Apple choosing to not put its vast corporate resources behind their personal priority list.
This is also why I’m not getting into Apple’s funding levels and priorities for WebKit and the web. Yes, there is much Apple-the-company can be criticized about, and personally, I am one of the biggest fans browser-engine diversity ever had, but that is a different conversation. Even if you could somehow wave a magic wand and open all platforms everywhere to engine diversity, and simultaneously cause a thousand browsers to bloom, we would still have the same basic problem. Open Prioritization would still need to exist.
Or as Apple WebKit lead Maciej Stachowiak pointed out on Twitter:
WebKit is an open source project w/ many contributors. Igalia is one – they work on all the browser engines. They crowdfunded a feature, and included the other browsers in their crowdfunding. We didn’t ask them to do it, and can hardly ask them not to.
Their attempt to explore new funding models shouldn’t be taken as a pretext for cheap dunks on Apple.
That said, Apple is in fact looking to spend more on WebKit directly. If anyone sincerely wants to help with that, please help spread the word that we are hiring!
I sure wish I could crowdfund features that Apple doesn’t care about in my favorite apps and have Apple add them to its code base! But only in very particular circumstances—when there’s an open-source project at the core—can it happen. And yet when it happened in this case, the reaction in some quarters was to complain. Why am I not surprised?
- As Eric Meyer discloses in his post, he works for Igalia but wasn’t involved in this particular project. ↩