What are 'nightly' builds?

When referring to the Ubuntu releases, I've come across something called 'nightly' builds. What do 'nightly' builds mean?


As software is being developed, before it is "released", the software in its unreleased or "unfinished" state may still be quite usable at any given moment in time, as devs are making changes to it and either adding features or preparing it for a future release.

A daily build usually means that some machine grabs the unreleased software every night at one particular moment in time, compiles it, and puts it up for developers to test.

Obviously, it may or may not be usable, depending on what stage of development it's at, what the release strategy for that project is, etc. What you are testing is a snapshot of unfinished software at one moment in time.

Sometimes, the software may well be very nearly ready for release, in which case it'll often work quite well already. If the developers have declared a "freeze" it means that they minimise changes, only fixing existing bugs. During that stage, a nightly build of a piece of software is more likely to be quite usable since it's getting close to release time.

If you are talking about daily builds of the Live CD or a Installer CD, then these are builds made of the installation medium based based on snapshots of the current development process. All the above applies. These should usually work pretty well due to their release strategy, though it's not uncommon for some things to be broken.

There's no point installing any piece of software from a daily build unless you are testing features that are currently in development and not yet released, and you are willing to put up with it being a bit broken or unfinished.