From Fedora Project Wiki

This page is outdated and is only retained for historical reference


What should be in core

We needed a place to start this discussion so why not here. What should be in core? What criteria should we use for determining if a package goes into core. This doesn't mean we will apply all these things for the next release, it just means we start being able to define future inclusions/exclusions from core based on a consistent and applicable policy.

This is bluesky brainstorming and we need to start from a couple of basic existing features and assumptions on the increasing thin line between Core and Extras software repositories:

Existing Features

  1. Fedora Extras repository is enabled by default from Fedora Core 4 onwards.
  2. Pup in Fedora Core 5 can update both Core and Extras repositories

Future plans

  1. core must be self-hosting for building and installing - no outside dependencies
  2. fedora extras iso images will happen at some point. - We have to assume this so that people w/o broadband connections can get to all the goodness outside of core, too. Notably this isn't done yet but we have to start brainstorming now.
  3. fedora extras packages will eventually be selectable at initial install time, from within anaconda
  4. System-config-packages will use yum and will be able to install packages from Extras repository potentially within the Fedora Core 5 release.

Notes

Some guidelines for core vs extras for packages in the past

Fedora LiveCD tool will be mix and match any packages in the Fedora repositories and create a LiveCD out of it. If it gains the ability to install those packages into a hard disk we will solve the problem of rolling out custom Fedora CD's neatly.

Criteria

This is a list of criteria useful for defining core. What we don't want to see here is a list of packages. We must come up with a list of rules to determine if a package is core or is extras or what.

  • important for providing a basic system for a new user
  • important for providing a system capable of making installs of other software possible for a new user
  • important for building/installing core
  • Should satisfy atleast one target segment - Desktop, Developer Workstation or Server. This is important for any forms of redistribution.
  • more here...?