LWN.net Logo

Zimmerman: We’ve packaged all of the free software…what now?

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 7, 2010 13:50 UTC (Wed) by nlucas (subscriber, #33793)
Parent article: Zimmerman: We’ve packaged all of the free software…what now?

What now? Well for desktop usage I don't think it makes sense to wait until the next version of the distribution to install new released versions in the meantime.

If a new skype version is released with some new cool feature, the user will not understand why it has to wait 6 months and be forced to update everything (specially if the new distro version has some radical changes, like KDE 4.0, which are far from stable).

It should be the distro mission to make sure every package in the new distro version is compatible with the previous version, so the user can just take a deb from the next distro version and install it on the LTS version (no big problem if that would force the update of many other packages).

This would have the advantage of gaining a stable user ABI across versions and get ISV interest. This is one of the big advantages of Windows systems against Linux distros.


(Log in to post comments)

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 7, 2010 14:02 UTC (Wed) by vonbrand (subscriber, #4458) [Link]

The problem isn't "get latest <foo> out to users", the problem is making sure the whole system works reasonably well. Having a few thousand packages installed, each available in a few dozen versions, is just impossible to check for minimal sanity.

BTW, apropos the so touted Windows compatibility, you will run regularly into programs that plainly don't work on the latest version of the operating system (ever wondered why many people have been reluctant to follow the "service pack" threadmill?). Yes, this has happened to me with a Microsft game for Win98, for which all requirements were fullfilled on WinNT. The only thing that worked was the splash startup, after that it just crased badly. And that even in the face of heroic efforts by Microsoft people to make sure that "important legacy applications" still work, even if they rely on undocumented behaviour, plain bugs, or even outright security failures. "Not so important legacy applications" (like some my daughter uses frequently) just don't work at all on anything except their native WinXP right now.

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 7, 2010 15:20 UTC (Wed) by nlucas (subscriber, #33793) [Link]

It's very hard, but not impossible.

Don't forget there are many times more incompetent developers on Windows than all Linux developers combined.
Win9x and WinNT are so different systems that it's hardly surprising incompatibility happens. Also, Win9x is already an unsupported system (which is one of the best things since sliced bread for any sane windows developer starting a new application).

If a developer actually follows the Microsoft guidelines on how to write a windows program, then it will work from Windows 2000 to Windows 7. But it's hard, not an easy task to do (although not as difficult as writing a complex Linux application that will work on every system).

Microsoft doesn't maintain bug and undocumented behavior compatibility for everything, just when a big enterprise pays them or some very famous application rely on it. It's not in their interest to do so, so don't expect they will do it for free.

One example are the anti-virus software programs that stopped working because most of the time rely on undocumented APIs. Microsoft finally decided security was more important than compatibility and drop the ball on them.

Any way, I only sporadically do any Windows development nowadays, so don't care much anymore. I just don't like reading myths, even if they are related to a common "enemy".

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 7, 2010 19:43 UTC (Wed) by vonbrand (subscriber, #4458) [Link]

Yes, the proportion of incompetent developers is roughly constant across systems. In any case, MSFT advertised a program written by them to work as long as certain requirements were met, and they were met by WinNT. It just didn't work, period.

No, MSFT didn't "decide security was more important", they just pulled the rug out from under antivirus vendors when they decided to (try to) take over that segment.

"Writing a complex application that works on every Linux system" is reasonably easy (much easier than it was to write anything to run on a reasonable range of Unix systems back when), as long as you ship source. If you try to ship binaries, you are out of luck.

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 7, 2010 21:31 UTC (Wed) by michaeljt (subscriber, #39183) [Link]

> "Writing a complex application that works on every Linux system" is reasonably easy (much easier than it was to write anything to run on a reasonable range of Unix systems back when), as long as you ship source. If you try to ship binaries, you are out of luck.

From my personal experience, even shipping binaries of complex applications is easier than people believe. As long as you are willing to build them for all the architectures you want to support (most likely the two x86 ones).

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 8, 2010 11:13 UTC (Thu) by nlucas (subscriber, #33793) [Link]

Well, one thing I agree. Shipping binaries it's the easy part.

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 8, 2010 11:23 UTC (Thu) by michaeljt (subscriber, #39183) [Link]

> Well, one thing I agree. Shipping binaries it's the easy part.

When I said "shipping", I included building and solving binary compatiblilty issues in that. It really isn't too hard - build on the oldest system you want to support, decide what dependencies you can rely on the system to provide and ship the rest static, load a couple of things at runtime if in doubt. There are still a couple of gotchas (the autopackage web page has good information on the subject, although C++ ABIs are no longer a problem, and glibc is getting better at not pulling in new features unless you actually use them), but it is still quite feasible. And once you have solved the problems, they stay solved on the whole.

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 8, 2010 11:31 UTC (Thu) by nlucas (subscriber, #33793) [Link]

Right. That's exactly what I was agreeing to.
And the current C++ ABI stability plays a big part in that, contrary to the hell it was earlier (and worst on Windows because there were more than one mainstream compiler).

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 8, 2010 11:35 UTC (Thu) by michaeljt (subscriber, #39183) [Link]

> And the current C++ ABI stability plays a big part in that, contrary to the hell it was earlier (and worst on Windows because there were more than one mainstream compiler).

I thought that Windows people used COM for ABI because it is well defined.

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 8, 2010 15:25 UTC (Thu) by nlucas (subscriber, #33793) [Link]

COM has nothing to do with C++ objects, although there are Microsoft C++ extensions to the language to make it easy to work with it inside C++.
You can use COM in a pure C program.

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 8, 2010 15:18 UTC (Thu) by foom (subscriber, #14868) [Link]

> although C++ ABIs are no longer a problem

Hm. Unfortunately, I think they will be again at some point soon. It sounds like when G++'s C++0x support is finalized, they're going to have to change the ABI of std::string and maybe a few other core classes. (okay, so, that's not a C++ ABI break, only an STL ABI change).

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 12, 2010 13:25 UTC (Mon) by HelloWorld (guest, #56129) [Link]

Do you have any reliable sources that state this?

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 15, 2010 14:51 UTC (Thu) by nix (subscriber, #2304) [Link]

There have been discussions to this effect on the GCC mailing list. It's not unsubstantiated scuttlebutt. (Perhaps a way will yet be found to avoid a std::string ABI change, but none is yet evident.)

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 7, 2010 17:11 UTC (Wed) by jrn (subscriber, #64214) [Link]

> It should be the distro mission to make sure every package in the new distro version is compatible with the previous version, so the user can just take a deb from the next distro version and install it on the LTS version (no big problem if that would force the update of many other packages).

You’re in luck, then. For unrelated reasons (being able to recover from an interrupted upgrade), this is part of Debian policy.

Zimmerman: We’ve packaged all of the free software…what now?

Posted Jul 7, 2010 18:16 UTC (Wed) by nlucas (subscriber, #33793) [Link]

Then I either have been unlucky with Ubuntu on the few times I tried this or they are not exactly doing the same (which really doesn't surprise me that much).

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