You Got A Question? Ask    GNOME Community!


Why Fedora doesn’t ship Chrome and Chromium?

This post was made with an older stylesheet


fedora and open source

Fedora always has been and always will be a core open source supporter and distributor. A core Open Source supporter, but not a hardcore Free Software fanatic as they do ship binary blobs in their Linux Kernel. Actually this is upstream kernel issue, so Torvalds’s Kernel is not such Free.This is necessary due that some applications, drivers, and hardware require binary-only firmware to function. So there is nothing to accuse Fedora for.


Above is the original and latest Fedora logo. Fedora in my opinion has one of the nicest logos around (Linux Distros) and I also like its name. Fedora as a noun is that type of hat that Red Hat is using on their logo (left).

Fedora logo shows the connection with the mother company -and largest Open Source company worldwide-  but hides an awkward fact. Fedora’s logo is using a commercial font(!!), and  actually not just commercial but expensive also, $275.

In their logo wiki they say:

The font in the logotype is Bryant2. This font is not a free font, but it was chosen because it best complements the logo design. The license for use of this font in the official logo is paid, so the logo can be used wherever the trademark and usage guidelines allow without further cost.

At least they could had torrent it, as piracy is a form of a digital freedom, like anarchy is a form of a social freedom –I am just kidding ;)

Anyway my point is that Fedora is not driven by a a bunch of old-fashion free software ideologist people. Fedora ships only open source software for very specific reasons (I won’t expand here), but certainly *not* because they “hate” commercial software.


fedora and desktop

Some people claim that Fedora is just a beta RHEL and they don’t want to be beta testers of RH. I believe that this -even if it was true in the past- has now changed. Fedora within the last two releases 17/18 really tries to deliver a quality user friendly desktop.

To be honest, I think that Canonical helped on that as they (Ubuntu) seem to drop one Gnome module each day. Red Hat, Fedora and Gnome, since today had Ubuntu to promote their desktop product and get back a quality feedback. On the other hand Canonical had Gnome to promote its own product (Ubuntu), so it was a two way relationship.

Nowadays Red Hat and Gnome are forced to make Fedora a quality and user-friendly distro as Ubuntu’s help is now ended. Can they? This is a stupid question. They real question is, will they (Fedora) bother? In my opinion I think they will. I also think that Fedora 18, will be the best Fedora release ever and a good distribution in general.

Of course Fedora has much work ahead to catch up with Canonical, as Ubuntu is now worldwide the mainstream Linux DE and has made already a well known brand name in the market.


fedora and software

Fedora has a strict policy about what software is permited to be included in their official repositories and what software is forbidden.

The Fedora Project strongly encourages using free and open source software. Fedora has licensing guidelines that enforce the following requirements:

  • If it is proprietary, it cannot be included in Fedora. (Binary firmware is the only exception to this)
  • If it is legally encumbered, it cannot be included in Fedora.
  • If it violates United States laws (specifically, Federal or applicable state laws), it cannot be included in Fedora.

You can read more in Fedora Forbidden Items wiki, but some common software like nVidia and ATi drivers, some wireless cards drivers, Oracle Java, Adobe Flash etc, are not included. While I totally agree with what they are doing, I disagree with the way they are doing it.

And that leads to the original subject of this post, why Fedora refuses to bundle Chromium in their distro.


chromium and chrome

For the people that  don’t know the difference, Chromium is the open source web browser project from which Google Chrome draws its source code. The two browsers (Chrome and Chromium) share the majority of code and features, though there are some minor differences.

Chromium lacks built-in automatic updates, built-in PDF reader and built-in Flash player. Chrome is freeware and they don’t release their source code (which is almost identical to Chromium anyway), while Chromium is under BSDMIT LGPLMS-PL and MPL/GPL/LGPL tri-licensed licences.


 why fedora doesn’t ship Chromium

Chromium is basically an unstable software (but typically stable) and they don’t release stable versions. This is the first reason that Fedora doesn’t ship it. However Chromium maintains many stable “forks” under community builds which also come with the same name, “Chromium”. So this is not the major issue today.

The real problem is the packaging policy of Fedora and the packaging policy of Chromium. Chromium consists of and uses many other open source modules, but what it does is to fork them and bundle them.

For example (fake example) Chromium uses openssl.  But Chromium Team is not totally happy with openssl functionality and they want to change some things. So they fork it, and they bundle this fork in Chromium package. Of course they keep a documentation about the changes they are making on these packages. So now Chromium will use its own openssl, that isn’t tested with the system; and that makes packaging hard for any Linux distributor.

A bug report opened about this in November 2009, Metabug for issues related to making a real release for Linux distros #28287..

Though we provide source code, there are a few more steps necessary before we are a real upstream usable by Linux distributions. This is a metabug to track those issues

..but till today you still need an extra repo to install Chromium

Tom Callaway

Tom Callaway is Manager of the Fedora Engineering team at Red Hat and he is working with Google to fix the problems in Chromium so that it can be made available in the official repository. He also maintains his own test packages of Chromium http://repos.fedorapeople.org/repos/spot/chromium-stable/.

Callaway describes the problem:

Google is forking existing FOSS code bits for Chromium like a rabbit makes babies: frequently, and usually, without much thought. Rather than leverage the existing APIs from upstream projects like icu, libjingle, and sqlite (just to name a few), they simply fork a point in time of that code and hack their API to shreds for chromium to use.

This is akin to much of the Java methodology, which I can sum up as “I’d like to use this third-party code, but my application is too special to use it as is, so I covered it with Bedazzler Jewels and Neon Underlighting, then bury my blinged out copy in my application.”. A fair amount of the upstream Chromium devs seem to have Java backgrounds, which may explain this behavior, but it does not excuse it. This behavior should be a last resort, not a first instinct. What should happen is this:

[google] hey, it sure would be nice if we could use sqlite in chromium for our local db needs.
[google] hmm, the sqlite API doesn’t mesh 100% with how I’d like chromium to use it
[google] hey sqlite upstream, there are a few places where we’d like to see API improvements so chromium can leverage it for our use-case
[sqlite_upstream] hey google, so cool that you want to use our code.
* sqlite_upstream looks at google’s proposed changes to sqlite *
[sqlite_upstream] interesting, you could try using the foo_bar function for your camel launching needs, but the rest of the changes seem okay
* sqlite_upstream commits changes to the source tree in commit rev 12345 *
[sqlite_upstream] Our next release will support that.
[google] yay! we’ll tell people to either apply our patch or use commit rev 12345 or newer.

You will find more info at Fedora’s Chromium Wiki, and while the posts there are three years old, the page is recently revisited (27, July 2012), so I guess that is still the case.. Three years later…


finally

There are two descent open source web-browsers, Firefox and Chromium, but Fedora insists to ship just one of them; and unfortunately for me not the one I prefer :)

The irony is that if you google for Fedora Chrome/Chromium, you will navigate into Google’s Chrome page, and you will download the freeware version -as Google provides an official Chrome repo for Fedora.

So we finally end up with a Google Chrome -with Flash :)


 
  We can't watch comments unless G+ provides an API or if you send a notification, e.g +World Of Gnome
     Sometimes is better to place your questions on GNOME Community
  • Al

    No Web (gnome browser) in fedora?

    It is a detail but debian has got rid of all non free part of the kernel for debian squeeze so fedora could do the same to respect completely their policy about non free software.

    • alex285

      It’s optional package in Fedora 15-18. But you can’t call Web a descent browser :(

      • Ian Brunelli

        You can’t call Web a decent browser (yet)*

        • alex285

          now?

          *best classical joke ever!

          • Ian Brunelli

            Now Web is not a decent browser, but it will be until 4.0, I hope.

          • alex285

            @brunelli:disqus: I tried to make a joke! I said “it’s not descent”, you said “it’s not descent yet” and I asked after 5 mins, “Is it now?”.

            Pff another joke in the trash bin!

          • Ian Brunelli

            Oh, my english is too poor…
            (I thought “descent” was an error for “decent”)

  • hellzou

    How is this relative to gnome ? Because Fedora is the main Gnome distribution ? Will we have all the fedora relative news on wogue ?

    • alex285

      If Fedora was called Gnome OS, wouldn’t be relative?

  • http://profiles.google.com/l33ts0n Arron Washington

    [sqlite_upstream] Our next release will support that.
    [google] yay! we’ll tell people to either apply our patch or use commit rev 12345 or newer.

    This is telling, and is probably why the Chromium developers fork the way they fork.

    Chromium, how it’s shipped now, just works. You don’t have to go around patching your system libraries or anxiously waiting for your entire distribution to upgrade — which could be anywhere from 6-12 months — just to use this one application. And, what if your distribution decides not to package a newer version of the required library, for whatever reason?

    The developers, I think, has made a very good choice in this regard.

    • alex285

      Did you read the Callaway’s original post? Because he actually says, if we follow that logic, that means we will have 100 sqlite forks, a 100 openssl forks, and every project will have its own sqlite or openssl or whatever else fork.

      He also makes a point that because Google is too big, that doesn’t guarantee that they will keep to support a certain module, ie sqlite.

      • http://profiles.google.com/l33ts0n Arron Washington

        Callaway is arguing from a distributor’s point of view, and I think to understand Chromium’s behavior we have to look at a developer’s point of view: they’ve got software to ship, and they can’t really let themselves be led by the pace of other people. In an ideal world we wouldn’t have to fork any software, but developers have to face the reality of things not working exactly as we’d like them to when we need them to. I’ve had to make forks of software libraries, myself, when patches would languish in pull requests or their changes would only be available in more recent versions, and the fixes couldn’t be / wouldn’t be backported to an older version.

        It’s not ideal… but as a developer, you do what you have to do so you can ship your software.

        • alex285

          Oh I see. I didn’t ask you to read Callaway’s post because I was arguing with you. I ask you so just to have his complete opinion. Actually, I think that Apps installations should be atomic and don’t affect the rest system. I am basically neutral to your and his opinion :)

  • mobinmob

    Τα ανεπίσημα builds είναι μια καλή χαρά και ανανεώνονται τακτικά… πόσο δύσκολο είναι να αντιγράψεις ένα αρχείο .repo στην σωστή θέση;
    Θα καταλάβαινα το πρόβλημα αν μιλούσαμε για μια διανομή για την οποία η χρήση repo τρίτων είναι σπάνια, γιατί τα επίσημα έχουν τα πάντα (βλέπε Debian/Ubuntu/Gentoo), αλλά… ποιος χρησιμοποιεί fedora μόνο με τα επίσημα repo;

  • Reinout van Schouwen

    That description doesn’t sound anything like “Java methodology” to me, as a Java developer.
    Oh, and Epiphany (Web) has been decent enough for me since before Firefox even existed.

  • Pingback: Links 16/10/2012: Linux 3.7 RC1, Plasma Active Improvements | Techrights

  • Jan

    Free Software (or, let’s say “open source”) can be, and is, commercial.

    Commercial software and nonfree software are different things.

  • Nux

    Looks like the Chome devs need to learn how to ship software in the Linux world.

  • ScionicSpectre

    Yeah, I get RPMfusion every time since the Fedora guidelines forbid certain software regardless of the license. Kind of annoying, but if you know what to expect it’s not that bad.

  • Pingback: Pourquoi la distribution Fedora ne distribue pas Chrome et Chromium ? | Dico Micro

  • Pingback: Fedora 18 Beta Release! | woGue