The Great Debate Over a Linux Standard Package Format
May 14, 2009 4:00 AM PT
Conversation on the Linux blogs tends to be either outraged and angry (probably most common) or jubilant and enthusiastic (generally when Redmond is taken down a notch or two). In the last few days, however, some of it has been positively mournful.
The cause? Widely revered reverse engineer Fjalar Ravia -- more commonly known by his pseudonym "Fravia+" -- passed away on Sunday, May 3, 2009.
In April, Fravia+ posted a farewell message on his blog, announcing that he had just weeks to live after battling cancer for more than two years.
Jun Auza called attention to the post on his blog, prompting Linux geeks far and wide to pause and reflect.
'Big Respect to a Great Coder'
"Fravia+ ... perhaps one of the most influential individuals I've had the chance to encounter on the internet," wrote Anonymous in the comments on Auza's post.
"His many websites are a gigantic source of wisdom and of useful information. I've studied reverse engineering through him, his tutorials and challenges -- all in the hope of becoming a better programmer and person," Anonymous added. "Thanks Fravia+ for all the information, the time was well spent."
Similarly: "Big respect to a great coder and someone that freed a lot of information," added HexJam.
'His Work Will Continue'
"Perhaps this is a good time to take a collective pause and consider that there may be more to life than just tech stuff," Montreal consultant and Slashdot blogger Gerhard Mack offered.
On the other hand: "It is sad when someone who contributes so much to openness departs, but his work will continue," blogger Robert Pogson told LinuxInsider by email. "It angers me that M$ and others make such an effort to be closed that we have to spend our lives fighting it."
'Nobody Needs a Unified Format'
Speaking of the battle with Redmond -- and strategies for victory -- an interesting conversation arose when TuxRadar recently asked the question, "Do we need a standard package format?"
A virtual stampede of more than 120 comments greeted the question on TuxRadar before it was picked up on Digg as well.
"No," wrote person-b in the comments following the TuxRadar post. "Nobody needs a unified format. Everybody should just use 'alien' to convert packages to their native format if the owners can't be bothered to package it properly."
'Would It Make Any Difference?'
On the other hand: "Absolutely," shot back geekyBodhi. "Not only will it be simpler for users, it'll also save app developers and packagers loads of time."
Then again: "Would it make any difference?" asked Martin from Sweden. "I think the solution is things like Linux Standard Base and then a user friendly front end to 'alien', as well as using a solution like PackageKit besides the distributions' other packaging tools."
Not long ago, we here at LinuxInsider investigated a similar question regarding the existence of multiple distros. Now, given the divided nature of opinions on this one, we couldn't resist digging a little deeper.
'I Don't Think It Should Be RPM'
"I think we need a standard package format," Mack told LinuxInsider.
"I don't think it should be RPM," he added. "On the other hand, it might just end up that RPM-based distros will become yesterday's news. I had a 'nothing on my desktop but Fedora' coworker make the jump after he got used to apt-get on our servers."
The case for standard package formats is strongest "when one is trying to woo proprietary software developers to a Linux distro," Chris Travers, a Slashdot blogger who works on the LedgerSMB project, told LinuxInsider.
"If you build open source software and your software is valuable, people will package it for whatever distribution they want to use it on," Travers explained. "So, the first question we have to ask is, do we need closed source software on Linux? Do we care enough to make it easy to make such software packages by vendors?"
A second argument that's sometimes advanced is that "packaging for many distributions consumes developer time needlessly," Travers noted. "The fact, however, is that testing still needs to be done on the target distro, and this is one of the packager's jobs."
Packaging is also "somewhat lightweight work," he added, "but it requires knowledge of how the software should be correctly implemented on a specific distro" and so provides "opportunities for community members of open source projects to get involved," he said.
In short, "I don't think that a common packaging framework would necessarily be particularly helpful to open source projects," Travers concluded.
Lack of Support
At least one blogger saw the question in an entirely different light.
"The problem with Linux is NOT the packages, it is the fact that trying to develop for Linux is like trying to hit a dartboard with a live bumblebee," Slashdot blogger hairyfeet told LinuxInsider via email.
To illustrate: "A friend of mine brought over a scanner the other day," hairyfeet recounted. "It was released nearly 9 years ago, but you know what? It works in XP SP3. That is because the driver for Win2K -- released nearly 9 years ago -- still worked. I run games and programs from the Win98 era. That is 11 years and it still works on XP SP3.
"Now compare that to Linux," hairyfeet added. "Does anyone honestly think they can use a driver from even 3 years ago in Linux? Or that getting a program from even 5 years ago working wouldn't be an exercise in frustration?"
That is why Linux "isn't getting market share," hairyfeet explained. "It isn't the packages, it isn't the lack of exposure, it is simply the fact that hardware manufacturers by and large refuse to support it."
'Linux Simply Isn't Stable'
There's also good reason for that refusal, he asserted. "It is because Linux simply isn't stable as a platform, and if it keeps going like this it never will be.
"If I am a hardware manufacturer, competing with all the other manufacturers, I have two choices: I can write three drivers -- Win98/ME, Win2K/XP and WinVista/7 -- and have every single Windows OS covered from 1998 to 2011 at least," he said. "If I write for Linux, exactly WHICH Linux? Red Hat or Debian based? Stable, testing, long term support? How long will my customers be able to use the driver I release today before it no longer functions?"
In short, "If Linux is going to get the crucial hardware manufacturers to support it, then like Windows they need to be able to release a driver today and have it work years and years into the future without maintenance," he concluded. "To truly succeed, Linux needs to have a truly stable long term underlying framework that the manufacturers can target."