In Ubuntu, once a release is out the software one has installed receives security updates only. In Windows, I can get new versions of programs with new features. How can Windows do this and why can't Ubuntu?
This is actually a feature of Ubuntu.
There is no problem with updating the software with its latest version, and Ubuntu developers might do it easily. And, actually, it is done in several other Linux distributions, including Arch.
As you have noticed, Ubuntu software is updated only with security updates and critical bug fixes. All features are "frozen", and after a Ubuntu release no software is updated to a new major version. Although it seems like a disadvantage of Ubuntu, in fact it's one of its pros.
Why freeze applications' versions and not update the features? There are several reasons.
- New versions are frequently less stable then older ones. Using a slightly older version ensures it has been well tested.
- One can trust that Ubuntu will not significantly change within a particular version. This is very important e.g. for large companies, that want to be able to rely — if they use Ubuntu 10.04 — on its always working the same way, and its containing the same features all the time.
- That also means that Ubuntu 10.04 is always 10.04, as opposed to Windows, where Service Packs change a lot in your system, and you need to take care of them.
- Ubuntu developers take special care to provide you with the most stable software available. On Windows it's usually a third party's decision when to release an update. This means some may want you to use the latest version, with new cool features, and others may release features only when they have been tested for a longer time. That means you never really know what's going on with the updates there.
- This makes it easier for Ubuntu developers to manage releases. Ubuntu is released each 6 months, and during that period Ubuntu developers prepare the new version for release, packing it with tons of new features and newer software. They add it only to the version that is currently in development, and not to all supported (older) Ubuntu versions: this requires less work.
- For example, if they wanted to update GNOME in 10.04 to version 3, that would mean hundreds of other applications' completely breaking, and would require reorganizing the system.
- The updates are provided by Canonical and Ubuntu developers, and not by software's developers, as it's done in Windows. Personally, I trust Ubuntu developers much more than developers of software ABC, and can be sure that the new version provided by Ubuntu will do no (even accidental) harm to my computer.
All of the above are one of the main parts of Ubuntu quality. You get the best quality software and OS, and to balance it out you use not the newest, but just a few months older software.
Also, remember that when you update to a newer Ubuntu release, all software is again in the newest version (but stays at it until the next release), so it's not a major issue that the software does not contain the newest features. And as others suggest, you can use PPAs to fetch newer software from other sources, if you need to.
This is a problem that the Ubuntu Software Center team is in the progress of solving.
The problem is that Ubuntu traditionally draws most of its applications from the in-development branch of Debian GNU/Linux—another free operating system—and then "freezes" a snapshot of it for inclusion in a release. This body of community-maintained software—called "the universe"—consists of 80,000 software packages; Ubuntu developers couldn't possibly provide major updates for all this software, on every supported release, while still maintaining the same level of quality.
In order to resolve this issue, Ubuntu has created the MyApps developer portal. Now that Ubuntu is a large platform with over twenty million users, it is hoped that developers will be interested in submitting apps directly to Ubuntu, and release periodic updates to their software across Ubuntu releases.
For "the universe"—which the Software Center team hopes to eventually be a small fraction of available software—the "backports" system of optional software upgrades (which already exists at a half-functional level) will be scaled up.
The Software Center interface for major software updates has been designed by a Canonical UI employee, but is not yet implemented:
If you are interested in the future of application delivery in Ubuntu, I recommend watching Ubuntu Software Center and the Future of the Universe.
Canonical (the main sponsors behind ubuntu) decided from the start (v4) that Ubuntu will be distributed on a 6 month cycle. Every 6 months, the latest/most stable software would be included in the repositories mainly from the unstable/testing branch of debian.
Outside that cycle you could get the most cutting edge software by compiling software or including additional repositories called PPAs - personal package archives.
Windows has decided on a different strategy - new features are often (but not always) released with service packs. It gets worse under windows - it is left to individual software vendors to decide if their software should be automatically updated or not. IMHO - its a messy strategy and I have often had to rebuild windows due to rogue updates by one software or another.
Other linux distros have different release strategies. For example, you could use a rolling-release distro such as Arch. As and when newer software is released, the maintainers push out the software into their repositories if it is deemed of good enough quality. Potentially this could lead to potential conflicts between different software since not a full testing suite would have been done. In practise, the maintainers have done a good job and stability issues I've read are rarely an issue.
Debian has taken the other route - constantly refining and using a distro based on the most stable packages. Often much older than in distros such as Ubuntu.
Thus - its for you to decide - (mostly) stability or potential unstability.
Ubuntu follows a standard release cycle such that software is well tested and stable between releases, and you go from one release to the other by upgrading. On the other hand there are distributions that use a rolling release cycle, where packages are continuously updated (most famous are Gentoo, Arch Linux).
Since you're comparing with Windows, I'm too far out of date, so you can answer that part yourself I hope. I haven't used that OS in a decade.
short answer: it can
long answer: it doesn't by default, in order to provide stability
i use pinning and aptitude to pick and choose what versions to install, giving me a mix of stability and up-to-date-ness.
Ubuntu's update manager works really well by updating not only security fixes but newer versions of software and bug fixes available to packages in the repository, this means updates are tried and tested, known to work and NOT break a system with a newer untested version...
If you DO want the newer version then look for and add the repository for say getdeb.net or another source and it will update your package/program to the newest release...
I have to disagree with the blanket statement in the question.
"New Feature" packages are occasionally provided mid-release, sometimes more often than I'd like in my professional capacity.
For example, Canonical upgraded CUPS from 1.4.4 to 1.5.0 as a package upgrade to the Ubuntu 11.10 release. While the basic functionality appears to be identical so far, quite a few of the defaults are different and have required modification to our configuration set prior to deployment.
By default Ubuntu offers security and recommended updates. A User can if they wish run "software sources" and select the updates tab. I usually check the box for unsupported updates (oneiric-backports) which gets me me some newer releases. There is also a check box for Pre-released updates that would expose you to more but occasionally less stable updates. You can also add ppa's for development streams of applications you're interested in. I've added the ppa for gimp which takes me past the gimp 2.6 release to the 2.7 development stream that has some new features that are important to me. Once a ppa is added updates will occur as if they were part of the supported release. This gives me considerable control over stability vs features.