The InformationWeek -- Blogs

Open Source Blog

Topics:   Open Source

  • Email this page E-mail this page
  • Print this page Print this page
  • Bookmark and Share
  • icon

One FatELF Binary To Run Them All


Posted by Serdar Yegulalp, Nov 2, 2009 12:55 PM

Even Linux's advocates are unthrilled at one of its sticking points: binaries built for one breed of Linux don't always run on another. And since unifying Linux into a common distribution is about as likely as herding a circus ring full of cats into a clown car, people who want to distribute prebuilt binaries for Linux have few choices. Here's a new choice: FatELF, or universal binaries for Linux.


The idea's actually rather similar the universal binary concept as implemented on the Macintosh. There, a single file encapsulated executables for both the PowerPC and Intel versions of a given program -- a way to transition Apple's audiences gracefully from the old architecture to the new one.

The Linux issue is a bit different. Diversity of implementation is Linux's sine qua non: without it, Linux is that much less Linux. To that end, the vast majority of software for Linux is distributed in ways that take this in account:

  • Open source code, compile by the end user.
  • A package in the distribution's repository, typically also compiled from source by the distro maintainers.
  • As binaries built for each specific release of Linux (e.g., the Opera browser).

The first option is for experts only, and even many pros don't want to be bothered with the hassle of compiling from source. (After suffering through it a few times myself, I don't blame them at all.) The second is Linux's standard approach, but whether or not an app is included in a repository is entirely up to the whim of the people maintaining it. Approach #3 puts a great deal of burden on both the end user, who has to select the right edition for his distribution and hope it doesn't blow up in his face; and the software creator, who has to not go cuckoo while trying to support multiple builds of multiple distributions.

Things could clearly be better.

FatElf has one possible incremental solution. It's an infrastructure for packing into a single file multiple copies of a binary as built for different Linux revisions, CPU architectures, and so on. It's a bit like an archive format, but built specifically to package binaries and allow the right one to be selected and used.

The one clear drawback to doing this is it causes the binary files themselves to become that much bigger. As the author indicates, the binaries themselves are often only a small part of the overall size of an application. (A demo VM of Ubuntu 9.04 has been built as a proof-of-concept for the idea, and it demonstrates this side effect most explicitly--it's much larger than your stock copy of Ubuntu.)

It's an interesting idea, but it underscores something about Linux that will most likely remain synonymous with it: Linux is designed with the tacit assumption that all (or nearly all) software run on it will be open source. The majority of software makers aren't likely to adopt open source as a significant part of their development and marketing strategies anytime soon (if ever), so it's in Linux's best interest to find some way to allow closed binaries to run gracefully. This might not be it, but it's worth a try.

NewScale shined in our test of four service catalog offerings: portfolios of services that an IT organization offers its end users. But the competitors--CA, PMG, and Service-now.com--also have compelling strengths. Download our report here (registration required).

Twitter: Me | InformationWeek
Facebook: InformationWeek

« Google Says 'No Smartphone From Us' | Main | E-Health Privacy Regulations Draw Congressional Fire »



Sign Up Now
For InformationWeek News Alerts




This is a public forum. United Business Media and its affiliates are not responsible for and do not control what is posted herein. United Business Media makes no warranties or guarantees concerning any advice dispensed by its staff members or readers.

Community standards in this comment area do not permit hate language, excessive profanity, or other patently offensive language. Please be aware that all information posted to this comment area becomes the property of United Business Media LLC and may be edited and republished in print or electronic format as outlined in United Business Media's Terms of Service.

Important Note: This comment area is NOT intended for commercial messages or solicitations of business.




 
 

  1. Detecting Scalability Problems With Intel Parallel Universe Portal
  2. Just Say No To SFAQL Parallelism
  3. QuickThread: A New C++ Multicore Library


Join The InformationWeek Group On LinkedIn


                           


  1. Thoughts On The Motorola Droid
  2. Specs For Next Motorola Android Phone Leak
  3. Encryption Is Cloud Computing Security Savior


  1. Microsoft Bing Cashback Not Always A Bargain
  2. Google Buys Ad Start-Up Teracent
  3. Feds Launch Health IT Blog
  4. Full Nelson: Video: San Francisco Goes Open, Transparent
  5. AOL Previews Brand, Trims Workforce
  6. Physicians Question Health IT Stimulus Requirements

 

  Ars Technica
Boing Boing
Channel 9 Forums
CRN Blogs
Dr.Dobb's Portal: Blogs
Engadget
Gizmodo
GrokLaw
  Lifehacker
Schneier on Security
Slashdot
TechCrunch
Techdirt
Techmeme
Valleywag

  DECEMBER 2008
NOVEMBER 2008
OCTOBER 2008
SEPTEMBER 2008
AUGUST 2008
JULY 2008
JUNE 2008
MAY 2008
  APRIL 2008
MARCH 2008
FEBRUARY 2008
JANUARY 2008
DECEMBER 2007
NOVEMBER 2007
OCTOBER 2007
SEPTEMBER 2007