LWN.net Logo

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 2, 2009 3:56 UTC (Wed) by jameslivingston (subscriber, #57330)
In reply to: Callaway: Chromium: Why it isn't in Fedora yet as a proper package by motk
Parent article: Callaway: Chromium: Why it isn't in Fedora yet as a proper package

You could just as easily say "When rpm can truly understand, say, maven goals and can be plugged into a java build system we'll be somewhere."

Just because java builds aren't done the same was as some linux distribution do them doesn't magically make it wrong.

The issue isn't the build system, it's that java libraries often don't provide the same API/ABI stability guarantees as a number of C libraries do. Exactly the same problem happens when C libraries don't provide those guarantees, such as ffmpeg, and there is a large amount of work dealing with that. The only difference is that not providing that guarantee is much more common in the java world.

There is also the issue of putting archives inside archives, but that is just how Java works and there are some good reasons it does work that way.


(Log in to post comments)

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 2, 2009 7:56 UTC (Wed) by nim-nim (subscriber, #34454) [Link]

Java devs have been saying for years they didn't need to participate in the rpm/deb/linux package ecosystem and their way was better

How many java apps are widely used on Linux systems today?

How many persons will just reject java apps on sigh because they've tried the "java way" before and made their own opinion ?

How many php/python/etc apps were written because it was "just there" in the system and people didn't need to learn a "php" or "python" way of deploying apps to use it?

Looks like a huge *FAIL* to me

The only people that can use the "java way" are java developpers. Just developpers do not make an healthy ecosystem. Sysadmin, users, etc need to be part of it too and they care nothing about dev preferences.

PS If Java libs don't provide API/ABI stability guarantees that's also because:
1. Java devs have constantly refused to integrate in systems like linux packages that would have forced them to follow API/ABI stability rules
2. the "Java way" is such a disaster at deploying dependencies people would not get any big benefit from API/ABI stability: when you can not easily deploy a new dep version it does not matter if it has the same API/ABI as the previous one

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 2, 2009 8:28 UTC (Wed) by kragil (subscriber, #34373) [Link]

Java isn't _that_ special in this regard. Rails devs are even worse.

That said, I really hope Java apps will retreat to some enterprise niche I won't have any contact with. So I don't mind their unpopularity.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 2, 2009 13:52 UTC (Wed) by robilad (guest, #27163) [Link]

The number of packages with reverse deps on java-common in Ubuntu has gone from around 300 back in late 2006, to around 600 now.

I assume that the numbers for Fedora are similar.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 2, 2009 14:24 UTC (Wed) by nim-nim (subscriber, #34454) [Link]

Given enough resources and motivation you can package anything (hell, JPackage managed to get a working tomcat package back when half the stack was closed-box SUN jars that changed location and name every time SUN re-published them)

That does not mean some software does not make it as painful as pulling teeth.

Given Java's propensity for multiplying components 600 packages is not big at all. Java has a long, long, way to go.

PS I stand by the "efficient" claim. We live in an insanely competitive world, given the number of persons that dislike the Linux model, if theirs was so much better Linux distributions would be cloning their work instead of the reverse (hi OpenSolaris).

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 2, 2009 15:29 UTC (Wed) by robilad (guest, #27163) [Link]

Well, I think that, objectively speaking, Apple's AppStore has been a lot more efficient at providing an 'industrialized' software distribution channel then any mainstream Linux distribution up til now - many more apps served to many more users in a much shorter time frame.

Afaict, the centralized AppStore encourages the 'binary blob of made of stuff upstream made' model of software delivery over the 'set of interdependent binary blobs made of most of the stuff upstream made' delivery model centralized Linux distributions encourage.

It seems to work pretty well for its audience despite breaking such basic taboos of Linux package management. That hasn't escaped the attention of Linux distribution makers. So now many distribution makers are racing to provide their own AppStores.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 2, 2009 18:24 UTC (Wed) by nim-nim (subscriber, #34454) [Link]

I think the 'many more apps' could easily be disputed. What can not be disputed is that Apple relies on needing to support a small set of hardware. It is easy to make app distribution work when your hardware diversity is limited.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 2, 2009 18:46 UTC (Wed) by robilad (guest, #27163) [Link]

Apple announced over 100k applications being available in their store a few weeks ago:

http://www.apple.com/pr/library/2009/11/04appstore.html

I'm not aware of any Linux distribution that has that many packages, let alone applications.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 2, 2009 18:55 UTC (Wed) by nim-nim (subscriber, #34454) [Link]

In the Apple world, an "application" can be anything from Photoshop to an iphone screen that links to random web content.

Do you want to bet which kind of app makes the bulk of their numbers?

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 2, 2009 18:59 UTC (Wed) by robilad (guest, #27163) [Link]

Well, the quality of the content doesn't say anything about the quality of the distribution mechanism, and vice versa. We're still discussing distribution mechanisms here, right?

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 2, 2009 19:35 UTC (Wed) by nim-nim (subscriber, #34454) [Link]

It's not about the quality of the content, it is about the constrains it poses.

To take a real-world example, just because an army of bicycle postmen can deliver an astounding number of small letters in a city, does not mean they won't fare miserably as soon as you give them a big parcel,something to deliver long-distance, a container, or some refrigerated content, live animals, etc to distribute

So your comparison is ridiculous. I'm sure yourtube or "social" web sites could blow Apple numbers out of the water by counting the pictures, songs, or bits of javascript, they deliver to a large number of people of everyday. That does not make them examples to follow when assessing ways to distribute complex application ecosystems where multiple components interact with each other.

You can try to avoid dealing with the problem by bundling everything in one place (as Apple does, and SUN tried to with Java). It only does so far before the impedance mismatch between different un-cooperating binary bundles forces you to dedicate separate un-upgradable systems for every one of them (as is commonly seen in the Java world, where supposedly multi-purpose flexible app servers are usually dedicated to a few closely cooperating apps, as they can't cope with real diversity). It is highly ironic that you point out the Apple Appstore where this logic led to two special-purpose products, ipod and itune.

I suppose one could claim this model is "efficient" at the software level. It only multiplies your hardware needs many times over. Unsurprisingly, SUN and Apple are in the hardware business.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 2, 2009 20:48 UTC (Wed) by robilad (guest, #27163) [Link]

Do you have a link to some 'complex application ecosystem' distribution of JavaScript applications that has 100k apps?

I am not sure I can follow your 'Apple is in the hardware business' line of thought. You seem to believe that Apple designed their software distribution mechanism to force users to eventually buy an iphone/ipod for each application separately, multiplying their hardware needs many times over, if I understand you properly?

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 2, 2009 22:35 UTC (Wed) by nim-nim (subscriber, #34454) [Link]

I'm saying the "100k" apps Apple claim are

1. mostly trivial stuff, declined many times over to increase the advertising surface in the app store and get more customers

2. not a complex code ecosystem (unless you remove most of the content, and then the numbers don't look so good)

It is easy to inflate numbers when counting trivial apps (Palm did it a decade before Apple). A site like tesnexus is at ~ 30k (their latest mod today is 28515) that would all qualify as applications under Apple's definition. I hope you're looking hard at this new software power house

And yes, I claim Apple is very happy to foster habits where you by one device for music, one to telephone, etc even thoug most of the hardware inside is the same.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 2, 2009 22:48 UTC (Wed) by nim-nim (subscriber, #34454) [Link]

And just to show how pointless Apple brags are
1. there are almost 20k binary packages in Fedora x86_64 development version alone (about 19500)
2. Add the i386, ppc, etc package numbers
3. Add Fedora 1 to 12 packages
4. Add updates

Suddenly 100k does not look such a high number

And that was one Linux distribution. I could have inflated the numbers even more by counting its predecessor (Red Hat Linux), all its derivatives (OLPC, RHEL, EPEL, CentOS, Moblin, etc)

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 3, 2009 12:03 UTC (Thu) by robilad (guest, #27163) [Link]

Well, it may help to put that 100k number from November in context, that Apple was bragging about 85k apps in late September:

http://www.apple.com/pr/library/2009/09/28appstore.html

Thank you for looking up the Fedora package numbers. They are interesting, so let's play a bit with them. As we are comparing single, centralized distributions of upstream software here, I think it's more adequate to pick a single Fedora release - the one you provided numbers for.

As Fedora packages developer-oriented parts of an upstream separately, I'd assume that's around 10k upstream applications for the current distribution. For the sake of inflating Fedora's numbers, let's count libraries as applications, too.

For the sake of deflating Apple's numbers, let's apply the Pareto principle, and weed out 80% of the apps as trivial. That leaves 20k non-trivial apps in November, and 17k in late September.

Let's also assume that the Pareto principle does not apply to Fedora at all - everything that gets packaged into Fedora is a non-trivial labor of love, and so on.

Even with all that, Fedora is still quite a bit behind Apple's distribution in raw numbers. In particular, just the increase in non-trivial apps in Apple's distribution in the course of a couple of weeks is almost a third of all of all applications in Fedora.

I'd be very surprised if the growth of packages in Fedora is remotely close to that. So I think that maybe there is more then 'one true way' to implement 'industrialized', 'efficient' software distribution.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 3, 2009 12:56 UTC (Thu) by nim-nim (subscriber, #34454) [Link]

You continue to be disingenuous

Apple counts *all* apps, for *all* its systems (itune, iphone, etc)

So it is not fair to remove older releases, Apple counts them too

It is not fair to count only Fedora but not OLPC, Centos, RHEL, etc Apple counts different lines of products too

And lastly, Apple does not have the aggressive culling processes of a distribution like Fedora. Fedora worries about mirror space, Apple worries about getting the highest number count possible in press releases.

Yet, even given all this, Apple does not manage to equal the Fedora ecosystem alone.

So your chosen example nicely disproves your point.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 4, 2009 15:37 UTC (Fri) by robilad (guest, #27163) [Link]

"You continue to be disingenuous"

Well, thank you for your polite, respectful and informative words. You have eloquently convinced me, now I see that I was wrong all along.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Jan 7, 2010 21:27 UTC (Thu) by ceplm (guest, #41334) [Link]

Really the number of apps is not the point ... complexity is. Try to
understand all packages required when you install some substantial program
(firefox, postgresql, eclipse-platform ...) and then compare them to
(comparably) trivial tiny apps available for iPhone. Just pure numbers are
absolutely meaningless.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 9, 2009 20:55 UTC (Wed) by leoc (subscriber, #39773) [Link]

How many of those "apps" are anything other than a launcher for a web link? Also, as was pointed out in this item, the vast majority of available apps in the app store (as in 80% to 90%) are not really even maintained any longer. Considering the level of unprecedented hype that the iPhone and app store have received, you would expect the tail on this graph to be a little less flat.

Ignoring things like application size and complexity, duplication of function, actual level of use, end user quality, and the heavy hand of Apple censorship makes your argument about it somehow being a model to 'copy' specious at best. If any Linux distribution ever does consider adopting such a broken and anti-developer model, I'd keep away from it with a 20 foot pole.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 3, 2009 3:21 UTC (Thu) by motk (subscriber, #51120) [Link]

False equivalence. Show me how a shiny webdav client that copies binary blobs has anything to do with a rich dependency management system like rpm/yum.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 3, 2009 12:34 UTC (Thu) by robilad (guest, #27163) [Link]

Both copy software provided as binary blobs with associated metadata from one central place to some other place.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 3, 2009 23:43 UTC (Thu) by motk (subscriber, #51120) [Link]

That's a little ... simplistic, shall we say. If you can't understand the difference between rich dependency management and a sexified webdav client then I don't know what to say.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 4, 2009 11:51 UTC (Fri) by Cyberax (✭ supporter ✭, #52523) [Link]

Have you _ever_ used Maven?

It's much more than a 'webdav' client. For example, Maven can be used to build application, run tests, bundle it and then upload to a repository. With source code attachments, if desired.

Your assertion is like saying that 'APT just downloads some files' or 'dpkg just unpacks archives'.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 7, 2009 0:07 UTC (Mon) by motk (subscriber, #51120) [Link]

I've used maven, and quite like it! I was refering to the Apple app store, not maven in this case.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 3, 2009 15:49 UTC (Thu) by jschrod (subscriber, #1646) [Link]

Watch out your prejudices: with jpackage.org I can use RPM-packaged java components, including integration in Maven2.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 3, 2009 16:05 UTC (Thu) by nim-nim (subscriber, #34454) [Link]

I am well aware of JPackage. They do a wonderful job, but their life is not simplified at all by Java common practices (the same ones Tom Callaway complains of in his message)

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 4, 2009 7:08 UTC (Fri) by jameslivingston (subscriber, #57330) [Link]

That's right, as the Java and linux packaging practices don't mesh well together. It's not the fault of either side, it's just that they were developed independently with different goals, so just make it hard to mix the two.

There are some quite easy ways to make Java packaging fit with a distro's packaging system, it's just that it would violate most of their policies:
* my-java-library-1.0.1 is one package, and my-java-library-1.0.2 is a separate package, not a newer version
* put the contents of those packages into a maven repository-like file structure (e.g. /usr/share/java-libs/org/my-java-lib/1.0.1/my-java-lib-1.0.1.jar)
* Have the shell script that starts the app pull all of that into the right place in the classpath

Of course your linux packagers will have a fit, because you're abusing their packaging system, but it works :)

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 4, 2009 8:53 UTC (Fri) by nim-nim (subscriber, #34454) [Link]

It only works in the fork and forget mode Java developpers are so found of (secrutity issues, who cares about security issues, didn't SUN promise me a language that voided them all?)

FFmpeg does *not* have an unstable API

Posted Dec 2, 2009 12:36 UTC (Wed) by DonDiego (subscriber, #24141) [Link]

> The issue isn't the build system, it's that java libraries often don't
> provide the same API/ABI stability guarantees as a number of C libraries
> do. Exactly the same problem happens when C libraries don't provide those
> guarantees, such as ffmpeg,

All false claims to the contrary notwithstanding, FFmpeg has never had a volatile API. Please stop claiming otherwise.

FFmpeg does *not* have an unstable API

Posted Dec 3, 2009 10:42 UTC (Thu) by alankila (subscriber, #47141) [Link]

So...why exactly did everyone seem to fork a copy of ffmpeg into their video players at some point of time, then?

FFmpeg does *not* have an unstable API

Posted Dec 4, 2009 7:17 UTC (Fri) by jameslivingston (subscriber, #57330) [Link]

The people I've directly talked with who forked copies of ffmpeg into their projects would disagree.

Take another example: Gecko. While it has "stable" and "unstable" APIs, you can't (or couldn't, last time I checked) realistically embed gecko into your app without using API marked unstable. So for all practical purposes it has doesn't provide any real API stability.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds