Features, features and features

initial version: 2012-07-25 (mmaslano, mitr, t8m, jreznik)

latest revision based on feedback from FUDCon Lawrence

Motivation

The aim of this proposal is to lower the barrier to propose Features, to avoid situation where unknown/not proposed changes appears later in the release cycle and leads to conflicts/slip and other issues. But also not to flood FESCo with overwhelming amount of Features and let them concentrate more on important complex Features with system wide impact. The community review is part of proposed process. The "Feature process" becomes internal planning tool and will be referred as "Planning process" (even it's difficult to split planning/marketing for truly open and community based project). Selected planning features will featured as marketing Features to create release announcements, talking points etc.

Categories of features

"self contained" features

"complex features" with wide impact

Self contained features

The self contained feature could be one very isolated package or feature with limited scope, for example adding group of leaf packages or coordinated effort within SIG with limited impact outside SIG functional area. Enhancement of one package without impact on other package is also self contained feature.

Public announcement of the new self contained feature will help to co-operate on the feature and extend proposed feature visibility. Feature owners can find help or useful comments. Those features don't have to be thoroughly reviewed by FESCo, which means more time for FESCo on the second category.

Process

Formal correctness of filled feature template will be checked by Feature Wrangler and Feature will be announced on Fedora Devel Announce list.

No docs process (optional), only release notes advertisement.

Aggregated list of features will be added to FESCo agenda after a week (or more) on mailing list.

In case of no complaints (possible breakage/conflicts, coordination needed) on Fedora Devel Announce mailing list/or from FESCo members, FESCo will approve those features without more investigation about the scope etc. Every team on Fedora devel can share their views and escalate feature to FESCo to go through the regular Feature process. Feature owner could be asked to provide more details/or move the feature to the "complex features" category. FESCo members are encouraged to ask questions on the mailing list instead of waiting for the meeting.

Scheduling

Self contained features follows the same schedule for the Feature Submission deadline as complex features (to reasonably bump them into the "complex" category).

Complex features with system-wide impact

This features are system-wide/defaults changing features or critical path components. They can impact hundreds of packages (upgrade of gcc, glibc, change default from python2 -> python3, UsrMove, etc.). FESCo must have more time to review those features, help feature maintainer with defining the scope or help with contacting other impacted teams.

Optionally, for selected features, one FESCo member/or trusted community member within the functional area (shepherd) is assigned to offer his help to maintainer and to communicate status of the feature with FESCo. Problems like postponing the decision about feature should disappear because someone will be in contact with maintainer.

Process

Formal correctness of filled feature template will be checked by Feature Wrangler and Feature will be announced on Fedora Devel Announce list.

After a week on mailing list FESCo will discuss the feature on their meeting.

Optionally, the feature could be assigned to one of FESCo members/or trusted community member within the functional area, who will help with process in Fedora (technical help like where to ask for different koji buildroot, it can also point out that buildroot will be neccessary).

The feature can be accepted, but FESCo member will follow on status of the feature until release of Fedora. (We should be able to track the real status, better than with 80% which magically grow to 100% during Beta freeze. Also using green, yellow, red instead of % will be improvement. -- --Jreznik (talk) 11:30, 12 February 2013 (UTC) let it here?)

The accepted feature will be switched to new state and will be waiting for re-review in case of problem or Beta freeze when is status of features reviewed.

Fedora QA reviews announced Features on Devel Announce list to commit to testing of the Feature and/or adjust release criteria in case of need.

Who's actually responsible for work on broken things related to the new feature?

Feature templates - must be all field filled even for self-contained features?

Add into trac more statuses for tracking features or track the whole process in Fedora Program Management trac not to pollute FESCo trac and allow different teams to access it (for rel-eng, QA acks etc).

F(n+1) planning process:

By the time Fn branches, open planning process for F(n+1)

to allow planning of large-scale changes earlier

has to be communicated on the branch day

Planning process

The idea is to split internal planning and tracking process for feature and marketing process.

"Feature process" is being renamed to "Planning process"

Marketing/docs teams to prepare list of "Features" communicated to users/press

To do

We would like rawhide "merge windows": prepare your large feature in branches / side tags, and you have merge into rawhide finished in <= 1 week. (Need to prepare howtos/guides.)