From Mageia wiki
Jump to: navigation, search
(How to define and propose a feature)
(35 intermediate revisions by 19 users not shown)
Line 1: Line 1:
 +
{{multi language banner|[https://wiki.mageia.org/de/Gundsaetzliche_Eigenschaften Deutsch] ; [[Features_policy|English]] ; [[Intégration des nouvelles fonctionnalités-fr|Français]] ; [[Mageia_5_-_Política_de_Funções_pt-PT|Portuguese (Portugal)]] ; }}
  
 
== Why this policy? ==
 
== Why this policy? ==
  
A lot of new features were proposed for previous versions of Mageia. See wiki pages. Some were implemented but a lot still needs to be done. We miss priorities, real planning and well defined features so that people can be motivated and contribute.  
+
A lot of new features were proposed for previous versions of Mageia. Some were implemented but a lot still needs to be done. We miss priorities, real planning and well-defined features so that people can be motivated and contribute.  
  
 
What we define here:
 
What we define here:
Line 9: Line 10:
 
* how features are selected for coming specifications
 
* how features are selected for coming specifications
 
* how do we follow features implementation
 
* how do we follow features implementation
 +
 +
All this work has been done after having a look at how other distributions manage this important step. We specifically looked at Fedora as they have done a lot in formalizing the process.
  
 
== What is a feature ==
 
== What is a feature ==
  
Only noteworthy changes should be proposed as features. Update of a component which involve modification or update of several other components is probably a feature. Something which involves some new developement in Mageia tools is probably a feature. Update of a single package on which nothing depends, probably shouldn't be listed as a feature.
+
Only noteworthy changes should be proposed as features. Update of a component which involves modification or update of several other components is probably a feature. Something which involves some new development in Mageia tools is probably a feature. Update of a single package on which nothing depends, probably shouldn't be listed as a feature.
  
'''Exemple of features :'''
+
'''Example of features :'''
 
* migration to systemd
 
* migration to systemd
 
* grub2 support in the installer
 
* grub2 support in the installer
 
* GPT support in the installer
 
* GPT support in the installer
  
'''Exemple of things which shouldn't be listed as features''' :
+
'''Example of things that shouldn't be listed as features''' :
* update cowsay to latest version
+
* update cowsay to the latest version
 
* fix crash of XXX package
 
* fix crash of XXX package
 
* add package for XXXX software
 
* add package for XXXX software
Line 29: Line 32:
  
 
# If not already done, register an account on http://identity.mageia.org to be able to edit the wiki
 
# If not already done, register an account on http://identity.mageia.org to be able to edit the wiki
# create a wiki page of the name '''<nowiki>http://wiki.mageia.org/en/Feature:<feature_name></nowiki>'''
+
# create a wiki page of the name '''<nowiki>http://wiki.mageia.org/en/Feature:<feature_name></nowiki>''' using [[Feature_Template|the following template]].
# use following template and complete all sections  '''http://wiki.mageia.org/en/Feature:Template'''
 
 
# When you think the feature page is ready :
 
# When you think the feature page is ready :
#* add the page to the category ProposedFeatureMageia3 (add the text '''<nowiki>[[Category:ProposedFeatureMageia3]]</nowiki>''' at the bottom of the page). Your feature should then appear in the [[:Category:ProposedFeatureMageia3|list of proposed features]].
+
#* add the page to the category [[:Category:ProposedFeatureMageia7|ProposedFeatureMageia7]] (add the text '''<nowiki>[[Category:ProposedFeatureMageia7]]</nowiki>''' at the bottom of the page). Your feature should then appear in the [[:Category:ProposedFeatureMageia7|list of proposed features]].
#* send an email to the mageia-dev mailing list, with the subject "'''Proposed Feature: featurename'''" to discuss the feature and let people know about it, so they can add themself to the page if they plan to participate
+
#* send an email to the dev mailing list, with the subject "'''Proposed Feature: featurename'''" to discuss the feature and let people know about it, so they can add themselves to the page if they plan to participate
  
 
== How to participate in a feature ==
 
== How to participate in a feature ==
  
If you think a feature is interesting, and you plan to help implement it, add yourself in the resources list.
+
If you think a feature is interesting, and you plan to help implement it, add yourself to the resources list.
 +
 
 +
== List of proposed features ==
 +
 
 +
The list of proposed features is available [[:Category:ProposedFeatureMageia6|on this page]].
  
 
== Criteria used to choose features ==
 
== Criteria used to choose features ==
  
Here is a non exhaustive list of criteria:
+
Example for Mageia 5: [[FeatureMageia5_Review]]
 +
 
 +
Here is a non-exhaustive list of criteria:
 
* wiki page to apply is complete on following items:
 
* wiki page to apply is complete on following items:
 
** Summary
 
** Summary
Line 51: Line 59:
 
** What could disrupt development of this new feature
 
** What could disrupt development of this new feature
 
** Planning
 
** Planning
* amount of people that plan to be involved in the feature: a feature cannot be done if nobody plans to work on it
+
** Contingency (aka Plan B - what happens if it doesn't work)
 +
* amount of people that plan to be involved in the feature: a feature cannot be implemented if nobody plans to work on it
 +
 
 +
== Features acceptance ==
 +
After the end of feature proposal submissions, a mail is sent to the dev mailing list with a preliminary list of accepted and rejected features.
 +
 
 +
The accepted features have been reckoned as :
 +
* useful and consistent with the goal and policies of the project
 +
* having enough details
 +
* having a realistic planning
 +
* having enough people involved in the features
 +
* having seen no major and unanswered objections in discussions about the feature
 +
 
 +
The rejected features list includes for each feature the reason(s) for not accepting the feature. Features can be rejected for different reasons (non-exhaustive list) :
 +
* not enough people plan to be involved in the feature
 +
* not enough details about the feature
 +
* missing planning or contingency plan
 +
* unrealistic planning
 +
* objections to the feature in discussions on the mailing list
 +
 
 +
When the preliminary list of accepted and rejected features is published, comments are received for one week :
 +
* objections to an accepted feature
 +
* comments adding more details to a rejected feature (description, planning, contingency plan ...)
 +
* people adding themselves to the list of feature contributors
 +
 
 +
After one week :
 +
* accepted features that receive no new comment are officially accepted
 +
* rejected features that receive no new comment are officially refused
 +
* accepted features that receive objection comments are officially rejected unless a consensus is reached in the discussions
 +
* rejected features that receive additional details or interested contributors and reached consensus for acceptance in discussions are officially accepted
 +
 
 +
The final list of accepted features is :
 +
* published on the blog and wiki (added to category FeatureMageia3) and advertised
 +
* development of the features is started according to the planning
 +
* the planning of each feature is monitored and discussed in developers meetings until the feature is completed
 +
 
 +
Rejected features are not included in the official specifications of the distribution, and planning is not monitored in developers meetings. Depending on the reasons for rejecting the feature, it can still be implemented by interested people.
 +
 
 +
[[Category:Policies]]

Revision as of 19:18, 8 November 2018


Drakconf multiflag.png
Other languages
Deutsch ; English ; Français ; Portuguese (Portugal) ;

Why this policy?

A lot of new features were proposed for previous versions of Mageia. Some were implemented but a lot still needs to be done. We miss priorities, real planning and well-defined features so that people can be motivated and contribute.

What we define here:

  • what is a feature
  • how to define and propose a feature
  • how features are selected for coming specifications
  • how do we follow features implementation

All this work has been done after having a look at how other distributions manage this important step. We specifically looked at Fedora as they have done a lot in formalizing the process.

What is a feature

Only noteworthy changes should be proposed as features. Update of a component which involves modification or update of several other components is probably a feature. Something which involves some new development in Mageia tools is probably a feature. Update of a single package on which nothing depends, probably shouldn't be listed as a feature.

Example of features :

  • migration to systemd
  • grub2 support in the installer
  • GPT support in the installer

Example of things that shouldn't be listed as features :

  • update cowsay to the latest version
  • fix crash of XXX package
  • add package for XXXX software

How to define and propose a feature

Everybody is free to propose new features for coming releases but this will have to be done using the following procedure :

  1. If not already done, register an account on http://identity.mageia.org to be able to edit the wiki
  2. create a wiki page of the name http://wiki.mageia.org/en/Feature:<feature_name> using the following template.
  3. When you think the feature page is ready :
    • add the page to the category ProposedFeatureMageia7 (add the text [[Category:ProposedFeatureMageia7]] at the bottom of the page). Your feature should then appear in the list of proposed features.
    • send an email to the dev mailing list, with the subject "Proposed Feature: featurename" to discuss the feature and let people know about it, so they can add themselves to the page if they plan to participate

How to participate in a feature

If you think a feature is interesting, and you plan to help implement it, add yourself to the resources list.

List of proposed features

The list of proposed features is available on this page.

Criteria used to choose features

Example for Mageia 5: FeatureMageia5_Review

Here is a non-exhaustive list of criteria:

  • wiki page to apply is complete on following items:
    • Summary
    • Owner
    • Targeted release
    • Detailed Description
    • Why it would be good for Mageia to include it
    • Software / Packages Dependencies
    • What could disrupt development of this new feature
    • Planning
    • Contingency (aka Plan B - what happens if it doesn't work)
  • amount of people that plan to be involved in the feature: a feature cannot be implemented if nobody plans to work on it

Features acceptance

After the end of feature proposal submissions, a mail is sent to the dev mailing list with a preliminary list of accepted and rejected features.

The accepted features have been reckoned as :

  • useful and consistent with the goal and policies of the project
  • having enough details
  • having a realistic planning
  • having enough people involved in the features
  • having seen no major and unanswered objections in discussions about the feature

The rejected features list includes for each feature the reason(s) for not accepting the feature. Features can be rejected for different reasons (non-exhaustive list) :

  • not enough people plan to be involved in the feature
  • not enough details about the feature
  • missing planning or contingency plan
  • unrealistic planning
  • objections to the feature in discussions on the mailing list

When the preliminary list of accepted and rejected features is published, comments are received for one week :

  • objections to an accepted feature
  • comments adding more details to a rejected feature (description, planning, contingency plan ...)
  • people adding themselves to the list of feature contributors

After one week :

  • accepted features that receive no new comment are officially accepted
  • rejected features that receive no new comment are officially refused
  • accepted features that receive objection comments are officially rejected unless a consensus is reached in the discussions
  • rejected features that receive additional details or interested contributors and reached consensus for acceptance in discussions are officially accepted

The final list of accepted features is :

  • published on the blog and wiki (added to category FeatureMageia3) and advertised
  • development of the features is started according to the planning
  • the planning of each feature is monitored and discussed in developers meetings until the feature is completed

Rejected features are not included in the official specifications of the distribution, and planning is not monitored in developers meetings. Depending on the reasons for rejecting the feature, it can still be implemented by interested people.