Debian is big. First categorize packages out to subsystems. A subsystem should contain packages more or less related. There should be only few inter-dependencies between subsystems. For example there could be like:

The subsystems should be released independently, based on good QA practices (e.g ReleaseWhenReady DropProblemPackages).

Pros:

Cons:

Other thoughts: A subsystem could declare which stable version of other subsystems it is based on. If there are one or two problem packages in the underlying subsystem (e.g. newer version is needed), it could be reissued.

Major changes to the build system would be needed. Would the GNOME subsystem be compiled against the latest stable Base subsystem, the development Base subsystem or both? What about packages needed by both KDE and GNOME - do they have to go in Base? Or a new Desktop-Base? This could lead to far too many subsystems. When GNOME needs the latest version of this shared package, but KDE isn't ready for it, what happens? Do we maintain two versions of it?

This could be combined with the ReleaseOnlyCore model, core would simply be a subsystem in this model.

See ReleaseProposals for alternatives.


This is the development model that ?ProgenyLinux is experimenting with.


"Would the GNOME subsystem be compiled against the latest stable Base subsystem, the development Base subsystem or both? What about packages needed by both KDE and GNOME - do they have to go in Base? Or a new Desktop-Base? This could lead to far too many subsystems."

Packages needed by GNOME or KDE (ie, X11, QT, GTK): Tough decisions here. Here is my proposal on a hierarchy of the subsystems (just IMO):

My opinion: Stable SYSTEMS (Services, Desktop, Misc) should be compiled against the latest stable BASE. When the development BASE is frozen, then start thinking about releasing other systemsagainst it. But don't bother compiling systems against a non-frozen unstable BASE. Once the unstable base eventually is frozen, then stabalized, then released,send the old BASE + systems into maintenance mode.

Repositories:

Eventual freezing of unstable/testing BASE:

Releasing:

Known problems but are likely to be easilly solved (needs discussion):

User's perspective:

Some thoughts:

More thoughts: