Monday, 26 May 2014

Unnecessary Dichotomy

As the scope of the open Web has expanded we've run into many hard issues such as DRM, support for patented video codecs, and applications needing APIs that increase fingerprintability. These issues are easily but incorrectly framed as choices between "principles" and "pragmatism" --- the former prioritizing Mozilla's mission, the latter prioritizing other things such as developer friendliness for the Web platform and Firefox market share. This framing is incorrect because the latter are essential components of our strategy for pursuing our mission.

For example I believe the optimal way to pursue our goal of unencumbered video codecs is neither to completely rely on platform video codecs (achieving nothing for our goal) nor to refuse to support all patent-encumbered codecs (in the current market, pushing almost all users and developers to avoid Firefox for video playback). Instead it is somewhere in between --- hopefully somewhere close to our current strategy of supporting H.264 in various ways while we support VP8/VP9 and develop an even better free codec, Daala. If we deliberately took a stance on video that made us irrelevant, then we would fail to make progress towards our goal and we would have actually betrayed our mission rather than served it.

Therefore I do not feel any need to apologize for our positions on encumbered codecs, DRM and the like. The positions we have taken are our best estimate of the optimal strategy for pursuing our mission. Our strategy will probably turn out to be suboptimal in some way, because this is a very difficult optimization problem, requiring knowledge of the future ... but we don't need to apologize for being unomniscient either.

A related problem is that our detractors tend to view our stance on any given issue in isolation, whereas we really face a global optimization problem that spans a huge range of issues. For example, when developers turn away from the Web platform for any reason, the Web as a whole is diminished, and likewise when users turn away from Firefox for any reason our influence of most issues is diminished. So the negative impact of taking a "hyper-principled" stand on, say, patent-encumbered video codecs would be felt across many other issues Mozilla is working on.

Having said all that, we need to remain vigilant against corruption and lazy thinking, so we need keep our minds open to people who complain we're veering too much in one direction or another. In particular I hope we continue to recruit contributors into our community who disagree with some of the things we do, because I find it much easier to give credence to contributors than to bystanders.


  1. Personally, I think mozilla should fork the browser into one that support the ugly parts that they think they need and one that only implement things that can be distributed as open source in the US. Basically I think Mozilla should always distribute a browser that supports the web the way we want it even if Mozilla distributes another browser that supports the web the way it unfortunately is.

    As a practical matter the firefox I get will probably not support DRM since I am getting it from a linux distribution since I doubt the distribution's CDM will be bit-identical to Mozilla’s CDM host executable.

    1. One problem with that approach is branding. If there's a "Firefox that works" and a "Firefox that doesn't", ordinary users will get confused. If we take the Firefox brand off the browser that doesn't work, that might make sense.

    2. I agree that branding would be the biggest challenge. I am guessing the technical challenges would be less than one person week of effort.

      I would think that Mozilla could just think of a new name (Freefox?, work with FSF on IceCat?) and put it in the product category like Thunderbird and Webmaker instead of on the front page.

  2. Looking back at the history and beginnings of Mozilla you see talk of the rise of the internet and growing acceptance of the open source movement. I imagine with rising technologies and acceptance of things like Smartphones, Blockchains, Crowd Sourcing, Crowd Funding, Sharing Economy we may someday have a Mega Mozilla like entity born of the such things. I already hear talk of distributed autonomous organizations and already people are working a decentralized Kickstarter like application that uses Bitcoin.

    It's nice to think of these these things because in truth Mozilla for all the talk of protecting and making a better web doesn't really swing much power in line with accomplishing a lot of change.

    No one in their right mind would believe that Mozilla could persuade the media corporations to change their mind on DRM (regardless of what proposed alternatives they had). But that was the line that was touted when asked about it early on.

    The most impactful thing Mozilla has ever done for the was was to take 25% of the browser market from Internet Explorer. That was long ago before Safari or Chrome came along. Today the most important things they do is correct the things Google is doing.

    O3D - WebGL
    NaCl - Asm.js
    Chrome Apps - Open Web Apps

    I think WebGL and Asm.js have a bright future ahead of them and FFOS could be a repeat of Firefox's success but we all expect more in these days of Webkit, V8, LLVM, Android. Now we take it for granted that a runtime or software platform is open source, hackable and reusable.

    Sure it's a little unfair since Mozilla played a part in getting us where we are with these things but that doesn't get us free from DRM or user tracking/data-mining. Mozilla actually gets most of their funding from the very company profits from the advancement of data-mining and who was one of the 3 companies that the new DRM standard to the W3C. The fact that Mozilla wants to explore getting more revenue from Ads only raises even higher the question of just how effectively Mozilla, as it's currently built, can serve and fight for our interests.

    1. "Sure it's a little unfair since Mozilla played a part in getting us where we are..."

      I'm not sure you're aware how critical Mozilla is to the structure of the software world right now.

      They didn't just play a part in getting us to where we are. Netscape made an explicit choice back in 1998 to mix pragmatism with idealism by open sourcing their browser while maintaining their commercial objectives. If they hadn't done that --- if they had gone the pure Free Software route, or remained purely commercial --- the project would have either died along with the company, or would have died in the wild.

      Ever since it's birth, this mix of pragmatism and idealism has been a part of Mozilla's DNA. It has survived because of it. It has set the agenda because of it. Yes, it sets the agenda --- Mozilla might seem to always come in second place, but it leads from behind, forcing others to adopt open source practices and engage in genuine innovation (rather than fad-based innovation) when they otherwise would have no reason to do so. This is because Mozilla is *both* a viable competitor (pragmatism) and has a compelling philosophy (idealism).

      Mozilla continuously proves that open source processes can make exceptional products for real people. If Mozilla died today, open source and the philosophy of openness would die with it. We are very lucky they exist.

    2. I'm not confident enough in my knowledge of history to say how big of a roll Netscape/Mozilla played in promoting the current open source ecosystem, all I know is they played a part so I left it as that. I know Netscape weren't the only ones strategically using open source development at the time.

      "If Mozilla died today, open source and the philosophy of openness would die with it."

      That's just plain not true. They showed that successful consumer products can come from open source development and they took 25% of the browser market from Internet Explorer. But open source development existed long before them and will continue after they are gone.

      Mozilla is viable because of the online advertising industry and in particular their referrals to Google's search engine for which they are compensated for. Firefox is popular today partly because at some point Microsoft halted development on Internet Explorer and partly because Google promoted it (knowing it would benefit them). If Google hadn't came along when they did Firefox would probably have faded along with so many other promising projects.

    3. "Mozilla is viable because of the online advertising industry..."

      That's very true, and I was going to mention it as support for the pragmatist/idealist approach that Mozilla has always had.

      " 'If Mozilla died ...' That's just plain not true."

      Right. Closer to what I mean is: if Mozilla died, open source would shrink into the shadows. Even still, I agree that this sounds radical, and is a claim that requires much more evidence than I can give. I'll give it a quick and feeble shot, though.

      Open source as a practice has existed since the dawn of software, but was largely restricted to academics and enthusiasts (or hardware-specific) until Stallman and GNU/Linux. Even with the extreme hype in the late 90s, open source had only managed to extend its reach into IT departments. Nonetheless, this inspired Netscape/Mozilla's efforts, which showed the world how to create open source software for a mainstream user (i.e. not academics, enthusiasts or developers). As a result of GNU and Mozilla, we now have user-friendly and popular open source offerings across a whole range of software categories. This includes ideologically-driven software such as GNU/Linux, Mozilla (Firefox/Thunderbird/SeaMonkey), LibreOffice, gcc, WordPress, VLC, Python, GIMP, Inkscape, Blender, etc. It also includes strategy-driven software, like Chrome/Chromium, Android, Java and Safari/WebKit.

      While I don't have numbers, I think we can agree that of the ideologically-driven software that we have today, Mozilla Firefox obliterates all other such projects in terms of number of installations and active users. I'd also expect that, aside from GNU/Linux, it would dwarf the other ideologically-driven software in terms of the average amount of time users spend using the software. Even on GNU/Linux, either it or Chromium would account for the vast majority of most users' time --- which is why we have products like ChromeOS and FirefoxOS.

      Given the above, you'd have to agree that if Mozilla died, it would at the very least be a substantial setback to the open source movement --- more damaging than the loss of any other project, including GNU/Linux and Chromium (which is not ideologically-driven). I would argue that it's worse than that, though. Setting aside Chrome/Chromium for the time-being, the loss of Firefox by itself would allow companies to play lock-in games. In today's world, Google (in past worlds, Microsoft) can propose things like SPDY and P/NaCL, but can't get traction without Mozilla's support and input. In a Mozilla-free world, Google could propose, implement and make things the de facto standard without having to answer to anyone except their customers. Google wouldn't need to consult other companies because everyone understands those other companies to be commercially-driven entities who need to compete or die. How long do you think Google's support for open source would last in such a world? (For hints, see their openness with respect to search indexing, API access and their online software suites.) More importantly, how much of a role do you think open source as a whole would be able to play in such a world?

      Google's not the only threat that Mozilla protects the open source world from, but it's the biggest and most apparent. If we bring Chrome back into the equation in a Mozilla-free world, what would happen? Very likely, a new project would spring up around either Gecko or Chromium. If the former, the new project would face the same issues as Mozilla, needing to be competitive and pragmatic to maintain its influence. If the latter, it would either have to fork and separate (again facing the same issues as Mozilla), or stay with Chromium/Google. And that's unworkable if the reason for the fork is ideological --- remember that Google forked WebKit, which was all about control; similarly, WebKit forked KHTML, and one side ended up dying.

      I apologise because, as long as this reply is, it's way too brief to do the issues justice.

  3. 1. I don't understand why "video codecs" can make something relevant or irrelevant on the Web. Once upon a time everybody was talking of "media players" and today nobody speaks of them.
    2. I don't understand why copying competitors (read as "Firefox is a clone of Google Chrome) can make you "relevant". Every single day Mozilla tries to imitate Google and every single day it becomes more irrelevant because of it.
    3. If "the user" doesn't mind of "Open Web" and he/she just want to watch movies, then the same "user" doesn't care if the corporation that provides the software is "no profit" and "good" or "profit" and "evil", until the corporation delivers. Then again, in the same moment Mozilla says "the user" doesn't care, Mozilla assumes to be irrelevant.

    1. 1. We don't hear about "media players" because people just expect video to work on the Web. Which it won't in Firefox, if Firefox doesn't support H.264, especially as Flash dies off.
      2. Google has a lot of bad ideas we're not copying, like PNaCl and Dart and WebP. (FWIW WebP's not bad-bad, but not good enough to be worth doing.) Instead we building better alternatives like asm.js and mozjpeg and ES6 and Daala.
      3. It's great when users care about our mission but the great majority of our users never did care, never have had to care for us to succeed in our mission, and shouldn't have to care. There are many important issues in the world and we can't expect everyone to care about all of them.

  4. It is funny that you talk about an "Open Web" from a google property, it just emphasizes that the user don't give a fuck about the open web, he just wants a good browser with which he can read and post on facebook and watch youtube.

    In the beginning mozilla was about creating a better browser, better for the user not for the content creators, if the current approach of market share had prevailed in those days firefox would have supported activeX and all the propriety extensions of IE in order to gain market share.

    now firefox is just a chrome "me too" as far as the user is concerned, the UI is the same and even the version numbers :(

    From all the political talking of the recent years (really, crying to the EU to give you a better chance against IE instead of making a better browser? and in the end it didn't made any change...) mozilla had lost its technological focus and kicking brandon for political reasons just helped many to realize it.

    1. Nope, it "emphasizes" only that while Google provides a convenient blogging platform, Mozilla does not.

      The huge mistake is inside the concept of "user".
      Back to "Phoenix" days, I was working as CTO in a small Web company and I struggled to force developers in making Web sites compliant with "standards" instead of just testing them on Internet Explorer. Not only "users" but first developers DID NOT CARE of the Web, since it was less work to adopt the most common approach. Fortunately among "users" there was a minority who could make a difference and evangelize the rest, forcing them to keep their mind and work "open". Nowadays the situation is more or less the same but Mozilla changed. Instead of pushing AGAINST the flow, people working at Mozilla are the first supporters of their competitors (the "me too" thing).

      The problem doesn't come from "the user", it comes from inside Mozilla. Mozilla doesn't believe in its own "mission".

    2. I've been contributing to Mozilla continuously since the year 2000, both as a volunteer and on staff. Circumstances have changed but our commitments have not. I find it irritating when people claim to know my mind and minds of my co-workers better than I do.

    3. I guess what is in your mind is a bit less important compared to what Mozilla produces, also known as "facts".

      What Mozilla is doing is to look at what it thinks are "competitors", Apple, Google, Microsoft and then say "we must do the same things to retain market share", which is just a step before "we are losing market share because our products are inferior".

      Now, in the same moment Mozilla thinks Google's Chrome is better than Firefox because Chrome is better in giving people what people want, in the same moment Mozilla assumes that "the user" doesn't care of anything but having the same look and the same features as Chrome, Mozilla is accepting to be nice but irrelevant.

      Yes, I expect the average Mozilla's employee to think "I should be working at Google" but at the end what affects me is I must find reasons to use Firefox (the copy) instead of Chrome (the real deal). If I am one of those "users" who don't care of anything, then I don't have reasons to prefer Firefox. And when I am told by Mozilla that actually there aren't reasons and even if there were I would be to stupid to care of them, well...

    4. Your second and third paragraphs are all claims about what people at Mozilla think.

    5. By the way, same with FirefoxOS.
      Everybody is using smartphones, Mozilla must carve its slice off the cake but doesn't believe it can do any better than "competitors", then here come the cheap phones for developing countries, with the noble mission of giving them a chance of getting on Facebook to reduce the "digital divide". The "user" doesn't care of the Open Web, you must give people what people want to stay on the business, then in this case your only option is price. FirefoxOS sucks, nobody ad Mozilla would use it instead of iOS or Android but if the phone is cheap enough, Mozilla gets its market share and everybody is happy.

    6. I think Firefox OS competing on price is pretty much a bad strategy. Kitkat can also run on lower end devices now. I honestly don't see anything stopping Google from optimizing it for $20 phones.

      But Firefox OS also competes on regional integration and OEM friendliness. That also may not be enough in the long run but they have gotten a few people like Philips.

      Ultimately the best hope for Firefox OS is that Google blesses it with their apps and services. This could happen as already they have a Youtube app and they already seem to want to combine Chrome with Android (see Project Hera) and are already emphasizing the Android platform in favor of their services so they can reach iOS users (see Chromecast). None of that is truly surprising since Google is at it's heart a web company.

      Still if Mozilla wants to have any leverage to influence the Web they have to have marketshare. Surprisingly, their best bet seems to be Firefox for Android.

      I think if Mozilla really wants to guide the web of the future they may have to work on a new separate mobile browser of the likes of Javelin, Coast, and Link Bubble. I don't know if they can do that using Gecko since it seems harder to work with as far as embedding is concerned (I'd love to be proven wrong). So they may be better off going with Webkit, Blink or creating a new fork of Webkit so that they can move quickly without being hindered by the design choices of Gecko. They have to get as many users to get their browser app as possible if want to be able to have influence in mobile.

  5. Yes, agreed.
    I guess what Mozilla does is vaguely related to what Mozillians think.

    And don't make me even start to talk about what Mozilla communicates through the official channels. Difficult to do worse even on purpose. Then blame the "user" to be an idiot and to not understand the noble mission.