Retire governance-uc repo

As discussed in TC meeting[1], TC is retiring the
governance-uc repo.

[1] https://meetings.opendev.org/meetings/tc/2021/tc.2021-06-17-15.00.log.html#l-98

Change-Id: I108328a22c5b8e941fef057ef90574b9d1217754
This commit is contained in:
Ghanshyam Mann 2021-06-17 19:16:25 -05:00 committed by Ghanshyam
parent 280f462bd3
commit 5f6a688963
32 changed files with 8 additions and 1772 deletions

7
.gitignore vendored
View File

@ -1,7 +0,0 @@
.tox
doc/build
*.egg-info
pbr*.egg
*.pyc
AUTHORS
ChangeLog

View File

@ -1,6 +0,0 @@
- project:
templates:
- build-openstack-docs-pti
promote:
jobs:
- promote-governance-uc

View File

@ -1,9 +1,10 @@
This repository contains OpenStack User Committee reference documents
and tracks official resolutions voted by the committee.
This project is no longer maintained.
Directory structure:
reference/
Reference documents which need to be revised over time.
See https://wiki.openstack.org/wiki/Governance/UserCommittee for details.
The contents of this repository are still available in the Git
source code management system. To see the contents of this
repository before it reached its end of life, please check out the
previous commit with "git checkout HEAD^1".
For any further questions, please email
openstack-discuss@lists.openstack.org or join #openstack-dev on
OFTC.

View File

@ -1,157 +0,0 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
"""Build a table of the current members of the UC.
"""
import re
from docutils import nodes
from docutils.parsers.rst.directives.tables import Table
from docutils.parsers.rst import directives
from sphinx.util import logging
LOG = logging.getLogger(__name__)
# Full name (IRC nickname) [expires in] {role}
_PATTERN = re.compile('(?P<name>.*)\s+\((?P<irc>.*)\)\s+\[(?P<date>.*)\](\s+\{(?P<role>.*)\})?')
def _parse_members_file(app, filename):
"""Load the members file and return each row as a dictionary.
"""
with open(filename, 'r') as f:
for linum, line in enumerate(f, 1):
line = line.strip()
if not line or line.startswith('#'):
continue
m = _PATTERN.match(line)
if not m:
LOG.warning('Could not parse line %d of %s: %r' %
(linum, filename, line))
continue
yield m.groupdict()
class MembersTable(Table):
"""Insert the members table using the referenced file as source.
"""
HEADERS = ('Full Name', 'IRC Nickname', 'Term Expires', 'Role')
HEADER_MAP = {
'Full Name': 'name',
'IRC Nickname': 'irc',
'Term Expires': 'date',
'Role': 'role',
}
option_spec = {'class': directives.class_option,
'name': directives.unchanged,
'datafile': directives.unchanged,
}
has_content = False
def run(self):
env = self.state.document.settings.env
app = env.app
config = app.config
# The required argument to the directive is the name of the
# file to parse.
datafile = self.options.get('datafile')
if not datafile:
error = self.state_machine.reporter.error(
'No filename in membertable directive',
nodes.literal_block(self.block_text, self.block_text),
line=self.lineno)
return [error]
# Handle the width settings and title
try:
# Since docutils 0.13, get_column_widths returns a (widths,
# colwidths) tuple, where widths is a string (i.e. 'auto').
# See https://sourceforge.net/p/docutils/patches/120/.
col_widths = self.get_column_widths(len(self.HEADERS))
title, messages = self.make_title()
except SystemMessagePropagation as detail:
return [detail.args[0]]
except Exception as err:
error = self.state_machine.reporter.error(
'Error processing memberstable directive:\n%s' % err,
nodes.literal_block(self.block_text, self.block_text),
line=self.lineno,
)
return [error]
# Now find the real path to the file, relative to where we are.
rel_filename, filename = env.relfn2path(datafile)
# Build the table node using the parsed file
data_iter = _parse_members_file(app, filename)
table_node = self.build_table(
data_iter,
col_widths,
)
table_node['classes'] += self.options.get('class', [])
self.add_name(table_node)
if title:
table_node.insert(0, title)
return [table_node] + messages
def build_table(self, table_data, col_widths):
table = nodes.table()
# Set up the column specifications
# based on the widths.
tgroup = nodes.tgroup(cols=len(self.HEADERS))
table += tgroup
tgroup.extend(nodes.colspec(colwidth=col_width)
for col_width in col_widths)
# Set the headers
thead = nodes.thead()
tgroup += thead
row_node = nodes.row()
thead += row_node
row_node.extend(
nodes.entry(h, nodes.paragraph(text=h))
for h in self.HEADERS
)
# The body of the table is made up of rows.
# Each row contains a series of entries,
# and each entry contains a paragraph of text.
tbody = nodes.tbody()
tgroup += tbody
rows = []
for row in table_data:
trow = nodes.row()
# Iterate over the headers in the same order every time.
for h in self.HEADERS:
# Get the cell value from the row data, replacing None
# in re match group with empty string.
cell = row.get(self.HEADER_MAP[h]) or ''
entry = nodes.entry()
para = nodes.paragraph(text=str(cell))
entry += para
trow += entry
rows.append(trow)
tbody.extend(rows)
return table
def setup(app):
LOG.info('loading members extension')
app.add_directive('memberstable', MembersTable)

View File

@ -1,141 +0,0 @@
#!/usr/bin/env python
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
"""Build a table of the current teams"""
import yaml
from docutils import nodes
from docutils.parsers.rst.directives.tables import Table
from docutils.parsers.rst import directives
from sphinx.util import logging
LOG = logging.getLogger(__name__)
class TeamTable(Table):
"""Insert the members table using the referenced file as source.
"""
HEADERS = ('Name', 'Chairs', 'Mission')
option_spec = {'class': directives.class_option,
'name': directives.unchanged,
'datafile': directives.unchanged,
'headers': directives.unchanged,
}
def run(self):
env = self.state.document.settings.env
if self.options.get('headers') is not None:
self.HEADERS = self.options.get('headers').split(",")
# The required argument to the directive is the name of the
# file to parse.
datafile = self.options.get('datafile')
if not datafile:
error = self.state_machine.reporter.error(
'No filename in teamtable directive',
nodes.literal_block(self.block_text, self.block_text),
line=self.lineno)
return [error]
# Handle the width settings and title
try:
# Since docutils 0.13, get_column_widths returns a (widths,
# colwidths) tuple, where widths is a string (i.e. 'auto').
# See https://sourceforge.net/p/docutils/patches/120/.
col_widths = self.get_column_widths(len(self.HEADERS))
title, messages = self.make_title()
except SystemMessagePropagation as detail:
return [detail.args[0]]
except Exception as err:
error = self.state_machine.reporter.error(
'Error processing memberstable directive:\n%s' % err,
nodes.literal_block(self.block_text, self.block_text),
line=self.lineno,
)
return [error]
# Now find the real path to the file, relative to where we are.
rel_filename, filename = env.relfn2path(datafile)
LOG.info('loading teamtable')
LOG.info('reading %s' % filename)
with open(filename, 'r') as f:
_teams_yaml = yaml.safe_load(f.read())
table = nodes.table()
# Set up the column specifications
# based on the widths.
tgroup = nodes.tgroup(cols=len(self.HEADERS))
table += tgroup
tgroup.extend(nodes.colspec(colwidth=col_width)
for col_width in col_widths)
# Set the headers
thead = nodes.thead()
tgroup += thead
row_node = nodes.row()
thead += row_node
row_node.extend(
nodes.entry(h, nodes.paragraph(text=h))
for h in self.HEADERS
)
# The body of the table is made up of rows.
# Each row contains a series of entries,
# and each entry contains a paragraph of text.
tbody = nodes.tbody()
tgroup += tbody
rows = []
all_teams = _teams_yaml
for team in sorted(all_teams.keys()):
trow = nodes.row()
# Iterate over the headers in the same order every time.
for h in self.HEADERS:
if h.lower() == "name":
cell = "<a href=\"%s\">%s</a>" % (all_teams[team]['url'], team)
entry = nodes.entry()
para = nodes.raw('', cell, format='html')
elif h.lower() == "chairs":
chairs = []
for chair in all_teams[team]['chairs']:
chairs.append("%s<br />" % (chair['name']))
cell = "".join(chairs)
entry = nodes.entry()
para = nodes.raw('', cell, format='html')
else:
# Get the cell value from the row data, replacing None
# in re match group with empty string.
cell = all_teams[team][h.lower()] or ''
entry = nodes.entry()
para = nodes.paragraph(text=str(cell))
entry += para
trow += entry
rows.append(trow)
tbody.extend(rows)
# Build the table node
table['classes'] += self.options.get('class', [])
self.add_name(table)
if title:
table.insert(0, title)
return [table] + messages
def setup(app):
app.add_directive('teamtable', TeamTable)

View File

@ -1,8 +0,0 @@
<button href="#" type="button" data-toggle="dropdown" class="btn docs-sidebar-release-select">OpenStack Governance<i class="fa fa-caret-down"></i></button>
<ul class="dropdown-menu docs-sidebar-dropdown" role="menu" aria-labelledby="dLabel">
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://wiki.openstack.org/wiki/Governance/Foundation">Board of Directors</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://governance.openstack.org/tc/">Technical Committee</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://governance.openstack.org/uc/">User Committee</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://governance.openstack.org/sigs/">SIGs</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://governance.openstack.org/election/">Elections</a></li>
</ul>

View File

@ -1,2 +0,0 @@
[theme]
inherit = openstackdocs

View File

@ -1,296 +0,0 @@
# -*- coding: utf-8 -*-
#
# Tempest documentation build configuration file, created by
# sphinx-quickstart on Tue May 21 17:43:32 2013.
#
# This file is execfile()d with the current directory set to its containing
# dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys
import os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.join(os.path.abspath('.'), '_exts'))
# -- General configuration
# -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [
'sphinx.ext.extlinks',
'openstackdocstheme',
'members',
'teamtable',
]
todo_include_todos = True
# Define shorthand roles for making links to common destinations.
extlinks = {
'repo': ('http://git.openstack.org/cgit/%s', ''),
}
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = 'OpenStack Governance'
copyright = '2013-2014, OpenStack User Committee'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all
# documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
add_module_names = False
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
modindex_common_prefix = []
# -- Options for HTML output
# ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'governance'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
html_theme_options = {
'display_global_toc_section': False,
'root_title': 'OpenStack Governance'
}
# Add any paths that contain custom themes here, relative to this directory.
html_theme_path = ['_themes']
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
html_title = 'OpenStack Governance'
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
html_domain_indices = False
# If false, no index is generated.
html_use_index = False
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Tempestdoc'
# -- Options for LaTeX output
# --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass
# [howto/manual]).
latex_documents = [
('index', 'Governance.tex', 'OpenStack Governance Documents',
'OpenStack UC', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output
# --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output
# ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Governance', 'OpenStack Governance Documents',
'OpenStack UC', 'Governance', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
# -- Options for Epub output
# ---------------------------------------------------
# Bibliographic Dublin Core info.
epub_title = 'OpenStack Governance'
epub_author = 'OpenStack User Committee'
epub_publisher = 'OpenStack User Committee'
epub_copyright = '2016, OpenStack User Committee'
# The language of the text. It defaults to the language option
# or en if the language is not set.
#epub_language = ''
# The scheme of the identifier. Typical schemes are ISBN or URL.
#epub_scheme = ''
# The unique identifier of the text. This can be a ISBN number
# or the project homepage.
#epub_identifier = ''
# A unique identification for the text.
#epub_uid = ''
# A tuple containing the cover image and cover page html template filenames.
#epub_cover = ()
# HTML files that should be inserted before the pages created by sphinx.
# The format is a list of tuples containing the path and title.
#epub_pre_files = []
# HTML files shat should be inserted after the pages created by sphinx.
# The format is a list of tuples containing the path and title.
#epub_post_files = []
# A list of files that should not be packed into the epub file.
#epub_exclude_files = []
# The depth of the table of contents in toc.ncx.
#epub_tocdepth = 3
# Allow duplicate toc entries.
#epub_tocdup = True

View File

@ -1,63 +0,0 @@
==========================
OpenStack User Committee
==========================
The OpenStack User Committee is one of the governing bodies of the
OpenStack project.
The User Committee is formally defined in the
`OpenStack Foundation bylaws`_ (in particular article 4.14
and further refined in the :doc:`reference/charter`.
These pages contain OpenStack User Committee reference documents
and track official resolutions voted by the committee.
Current Members
===============
.. memberstable::
:datafile: ../../reference/members
Teams
===============
.. teamtable::
:datafile: ../../reference/teams.yaml
Working Groups
===============
.. teamtable::
:datafile: ../../reference/working-groups.yaml
:headers: Name,Chairs,Status,Mission
UC Elections
============
.. toctree::
:maxdepth: 1
reference/uc-election-feb2020
reference/uc-election-sep2019
reference/uc-election-aug2019
reference/uc-election-feb2019
reference/uc-election-aug2018
reference/uc-election-feb2018
reference/uc-election-aug2017
reference/uc-election-feb2017
Reference documents and Resolutions
===================================
.. toctree::
:maxdepth: 2
:glob:
:titlesonly:
reference/index
.. _`OpenStack Foundation bylaws`: https://www.openstack.org/legal/bylaws-of-the-openstack-foundation/
.. _UserCommittee: https://wiki.openstack.org/wiki/Governance/Foundation/UserCommittee

View File

@ -1 +0,0 @@
../../reference

View File

@ -1,159 +0,0 @@
=================================
OpenStack User Committee Charter
=================================
Mission
=======
The User Committee's (UC) mission is to serve the user community of
OpenStack, representing them to the broader community (including the Technical
Committee, Board of Directors, Projects and PTLs, and projects outside
OpenStack). The UC recognizes competence and contribution, and when necessary
resolves disputes in accordance with the OpenStack Code of Conduct. The UC
keeps track of OpenStack deployments and usage, helping to share user stories
and experiences. The User Committee works with user groups worldwide to keep
the community vibrant and informed.
User Committee Members
======================
The User Committee (UC) will consist of five members. All members selected to
the UC shall be Individual Members and Active User Contributors (AUC) based on
the definition in the next section. A member of the UC may cease to be an
Individual Member during her or his term, but must be an Individual Member at
the time of nomination and election. The UC shall organize its meetings and
may, create elected seats to be filled by a vote of the Individual Members
recognized as AUCs. UC members shall terminate upon the death, resignation,
removal or failure to be re-elected to the UC. The procedures for such removal
shall be determined by the UC. Cause shall include (i) failure to attend more
than half of the UC meetings within any twelve month period, (ii) breach of
the Code of Conduct, (iii) declaration of unsound mind by a final order of
court, or (iv) conviction of a felony.
Active User Contributors (AUC)
==============================
Users are recognized as part of the community and therefore granted with
AUC (Active User Contributor) status when they have engaged in one or more of
the following activities:
* Organizers of Official OpenStack User Groups: `from the Groups Portal <https://github.com/OpenStackweb/openstack-org/blob/master/auc-metrics/code/services/OfficialUserGroupOrganizerService.php>`_
* Active members and contributors to functional teams and/or working groups (currently also manually calculated for WGs not using IRC): `from IRC logs <https://git.openstack.org/cgit/openstack/uc-recognition/tree/tools/get_active_wg_members.py>`_
* Moderators of any of the operators official meet-up sessions: Currently manually calculated.
* Contributors to any repository under the UC governance: `from Gerrit <https://git.openstack.org/cgit/openstack/uc-recognition/tree/tools/get_active_commiters.py>`_
* Track chairs for OpenStack summits: `from the Track Chair tool <https://github.com/OpenStackweb/openstack-org/blob/master/auc-metrics/code/services/TrackChairService.php>`_
* Contributors to Superuser (articles, interviews, user stories, etc.): `from the Superuser backend <https://github.com/OpenStackweb/openstack-org/blob/master/auc-metrics/code/services/SuperuserService.php>`_
* Active moderators on ask.openstack.org: `from Ask OpenStack <https://git.openstack.org/cgit/openstack/uc-recognition/tree/tools/get_active_moderator.py>`_
UC Chair and Membership
=======================
The UC proposes one of its members to act as the UC chair. In the case of
multiple candidates, it may use a single-winner election method to decide the
result (see below). The Board of Directors has the authority to approve the UC
chair and shall approve the proposition, unless otherwise justified by its
bylaws. The UC chair is responsible for making sure meetings are held
according to the rules described below, and for communicating the decisions
taken during those meetings to the Board of Directors and the OpenStack
community at large. Any member of the UC, including the UC Chair, may be
revoked of its membership under the conditions described in the OpenStack
Foundation bylaws.
Meetings
========
UC meetings happen publicly, weekly on IRC. The meeting times should be
decided among UC members. If there isn't consensus on a meeting time, the
option of rotating the time weekly should be explored. The UC maintains an
open agenda on the wiki. The UC meeting is automatically called if anything
is posted to that wiki by one of its members at least one day before the
meeting time. All functional teams and working groups leads are expected to
join or to send a representative at least quarterly with monthly preferred.
For a meeting to be actually held, at least half of the UC members need to be
present. Non-members affected by a given discussion are strongly encouraged
to participate in the meeting and voice their opinion, though only UC members
can ultimately cast a vote.
Motions
=======
Before being put to a vote, motions presented before the UC should be
discussed publicly on the UC mailing-list for a minimum of 4 business days
to give a chance to the wider community to express their opinion. UC members
can vote positively, negatively, or abstain. Decisions need more positive
votes than negative votes (ties mean the motion is rejected).
Proxying
========
When a UC member is unable to make a meeting, they are encouraged to name a
proxy that will represent their opinion and vote on their behalf during the
meeting. Only members really present at the meeting (directly or proxied) can
vote. A UC member may proxy another member, but nobody should ever represent
more than two votes.
Structure - Functional Teams
============================
These are defined as permanent teams as long as they maintain a meaningful
mission in order to help the UC to achieve its mission. The work of the
functional teams is performed under the oversight of the UC. The functional
teams are listed in Teams.
Structure - Working Groups
==========================
These are defined as temporary teams with medium-short term goals and they will
exist until they have achieved those. The work of the working groups is
performed under the oversight of the UC.
Process for Creating a New Working Group/Functional Team
========================================================
* `Complete Working Group Template
<https://wiki.openstack.org/wiki/Working_Group_Template>`_
* Join the `user-committee mailing list
(user-committee@lists.openstack.org)
<https://lists.openstack.org/cgi-bin/mailman/listinfo/user-committee>`_
and communicate your intention to start a new team to the User
Committee via the same mailing list.
* `Update UC wiki page with the entry for the new
team. <https://wiki.openstack.org/wiki/Governance/Foundation/UserCommittee>`_
* UC approves or denies the request before it becomes an active
working group or functional team.
Committee Election
==================
The allotted number of UC seats are partially renewed every 6 months using
staggered elections: the minority number of seats are renewed every (Northern
hemisphere) Spring, and the majority number of seats are renewed every Fall.
Seats are valid for one-year terms. For this election we'll use a single-winner
election system. The election is held no later than 3 weeks prior to each
OpenStack Summit, with elections held open for no less than four business days.
Filling Vacated UC Members
==========================
If a seat on the UC is vacated before the end of the term for which the member
was elected, the UC will select a replacement to serve out the remainder of
the term. The mechanism for selecting the replacement depends on when the seat
is vacated relative to the beginning of the candidacy period for the next
scheduled UC election. Selected candidates must meet all other constraints
for membership in the UC.
If the vacancy opens less than four weeks before the candidacy period
for the next scheduled UC election begins, and the seat vacated would
have been contested in the upcoming election anyway, then the seat
will remain open until the election and filled by the normal election
process.
If the vacancy opens less than four weeks before the candidacy period
or the next scheduled UC election begins and the seat would not have
been contested in the upcoming election, the candidates who do not win
seats in the election will be consulted in the order they appear in
the results until a candidate who is capable of serving agrees to
serve out the partial term.
If the vacancy opens with more than four weeks until the candidacy
period for the next scheduled UC election begins, regardless of
whether the vacated seat would have been contested in the next
election, the candidates who did not win seats in the most recent
previous UC election will be consulted in the order they appear in the
results until a candidate who is capable of serving agrees to serve
out the partial term.
Amendments
==========
Amendments to this UC charter shall be proposed in a special motion, which
needs to be approved by the affirmative vote of at least two-thirds of the
total number of UC members.

View File

@ -1,12 +0,0 @@
=====================
Reference documents
=====================
Reference documents which need to be revised over time.
.. toctree::
:maxdepth: 1
charter
new-uc-group-requirements
running-a-uc-election

View File

@ -1,3 +0,0 @@
# Full name (IRC nickname) [expires in] {role}
Mohamed Elsakhawy (melsakhawy) [August 2020] {chair}
Jaesuk Ahn (jayahn) [August 2020] {}

View File

@ -1,93 +0,0 @@
======================================================================
Requirements for new OpenStack User Committee Working Groups and Teams
======================================================================
The OpenStack user community is global and use OpenStack
clouds to meet a diverse and broad range of use cases. The User
Committee working groups and teams aim to help these users
represent and achieve their needs through collaboration in the
upstream community. The working groups and teams can be created
as-needed and grow organically.
To help these groups and teams achieve their goals, the User
Committee has established criteria that working groups and teams
should adhere to in order to be considered an official working
group or team. By becoming an official OpenStack User Committee
Working Group/Team, the team places themselves under the
governance of the OpenStack User Committee. The criteria is
provided below and aims to foster collaboration, transparency,
and accessibility of the teams for new community members.
The first step is to determine whether you want to establish a
Working Group or Team.
* Working Groups are temporary with short or medium term goals
and exist until they have achieved such goals(e.g. proposing
logging enhancements, discussing how to increase the scalability
of OpenStack clouds, etc.).
* Teams are permanent addressing areas that require ongoing collaboration
and iteration to execute their objective (e.g. representing enterprise
needs in the community, performing product management like functions
in the community, etc.) as long as they maintain a meaningful mission
in order to help the UC to achieve its mission.
When considering new working groups/teams for addition, the UC will check that:
-------------------------------------------------------------------------------
* **The working group/team aligns with the User Committee mission**
* **The group must have a clear and defined scope and duration of the effort**
* **The group follows the OpenStack way ("the 4 opens"):**
* **Open Source:**
* Follows the OpenStack project definition of Open Source.
* **Open Community:**
* The leadership is chosen by the contributors to
the group
* The group has regular public meetings on IRC (at least
once a month during those months in which the group is actively
working on items) and those meetings are logged, published in the
OpenStack meeting calendar via Eavesdrop, and held in an official
official OpenStack meeting channels once the project's
application is accepted, if they're not held there already.
* If the team uses alternative methods of communication to augment
public meetings on IRC then they should provide a summary of
their meetings on the User Committee mailing list.
* The group shall provide a level and open collaboration playing field
for all contributors. The group shall not benefit a single vendor, or
a single vendor's product offerings; nor advantage contributors
from a single vendor organization due to access to information,
resources or other proprietary resources available only to those
contributors.
* **Open Development:**
* The group uses etherpads for all meetings
* If the group is using other content collaboration tools, those artifacts
should be linked in an etherpad and be publicly accessible.
* Where it makes sense, the group cooperates with existing official
User Committee working groups and teams to facilitate further
collaboration and avoid duplication.
* If the group requires a repository, it should be created under the
governance of the UC.
* **Open Design:**
* The group direction is discussed at the Forum and/or on public forums,
and mailing lists.
* The group uses the user-committee ML and UC IRC meetings to discuss issues.
* **The group should have an active team of two or more contributors**
* **The group meets any policies that the UC requires all official working
groups/teams to meet and will also honor future policies that are
defined by the UC.**
* **The WG chair (or designated member) must join the User Committee IRC meetings,
at a minimum, once a month and provide an update on WG activities/progress.**
In order to do an evaluation against this criteria, the UC
expects the group to be set up and have some history to evaluate.
This can be accomplished by the WG/Team setting up a wiki page on
wiki.openstack.org which lists objectives along with progress
being made by the team via documentation (i.e. etherpads, Google
Docs), meeting logs, links, etc; please ensure these items are
openly/publicly accessible.
If a working group or team fails to maintain adherence with these requirements
then a decision could be made to revoke its official WG/Team status.

View File

@ -1,64 +0,0 @@
=============================
HOWTO - Running UC Election
=============================
**User committee elections should be run twice a year, typically in February and August. It is suggested to start the steps within this document at least 60 days before election.**
1. Start by adding a patch to the `governance-uc <https://git.openstack.org/openstack/governance-uc>`_ repository similar to this `patch <https://review.openstack.org/#/c/627575/>`_; **be sure to modify the content like dates and number of seats**.
2. Follow up with an email to the User Committee asking for their action items:
- Decision: dates - for nomination period and voting period.
- Writing: Posts to Mailing list to announce the election
- Selection: Election officials, who don't vote and manage the process in a neutral way (inc setting up the CIVS tools)
- Action: pull the updated AUC list and make the voting links for all of them
- Writing: Post-election ML and superuser post to announce the results and declare the UC awesome
Example resources from February 2017 (copy/paste but remember to update):
- https://governance.openstack.org/uc/reference/uc-election-feb2017.html
- http://lists.openstack.org/pipermail/openstack-operators/2017-January/012530.html
- http://superuser.openstack.org/articles/user-committee-elections/
- https://wiki.openstack.org/wiki/Governance/Foundation/UserCommittee/UC-Election-Feb17
- http://lists.openstack.org/pipermail/openstack-operators/2017-February/012647.html
3. Send email to `openstack-discuss <openstack-discuss@lists.openstack.org>`_ mailing list asking for election officials
**Remember to note that election officials will not be able to vote or run for the election and are expected to be neutral in managing the process; including setting up the CIVS tools**
Election Officials and Electorate
---------------------------------
An early AUC list should be procured and provided to election inspectors to verify the AUC status of candidates. This can be done by downloading the CSV export from https://www.openstack.org/admin/auc/ (requires Foundation staff access). [Alternately. a system could be implemented that places a 'badge' on Foundation member profiles if a member qualifies for AUC.]
In addition to the CSV export, the UC may provide lists of manually calculated AUC qualifications under their current criteria and process (eg working groups that do not meet on IRC).
*#TODO Reasonable way to collect that is not manual; extra-auc is available but move to SIGs happened after; should revisit.*
A final AUC CSV export, with the list of manual additions, should be provided to the election inspectors just before the start of the voting period. The inspectors will then upload it into the voting system, which sends out the voting links.
Additional Considerations
-------------------------
| **SuperUser Article:**
|
| The Superuser magazine has published articles around the time of the election such as http://superuser.openstack.org/articles/user-committee-elections/. The editable text is available at https://docs.google.com/document/d/14CkEnrI_YLvkzx14JukfxSQcNSYYg0Xwa-yLMks1oJY/edit.
| **Sample eMail Announcement:**
|
| The announcement mail can follow the template below. Sending to `openstack-discuss <openstack-discuss@lists.openstack.org>`_ list is sufficient even though it has been sent in the past to `user-committee <user-committee@lists.openstack.org>`_, `OpenStack Operators <openstack-operators@lists.openstack.org>`_, and `women-of-openstack@lists.openstack.org <women-of-openstack@lists.openstack.org>`_ mailing lists.
|
|
.. note::
| Hello Everyone,
|
| The OpenStack User Committee will be holding an election in February, per the (UC) bylaws and charter.
| The current UC will serve until the elections in February, and at that point, the current three UC members who still have 6 months to serve get a 6-month seat, and an election is run to determine the other two members. Candidates ranking 1st, and 2nd will get a one-year seat. Voting for the 2018 UC members will be granted to the Active User Contributors (AUC).
| Open candidacy for the UC positions will be from January 29th - February 11th, 05:59 UTC. Voting for the User Committee (UC) members will be open on February 12th and will remain open until February 18, 11:59 UTC.
|
| As a reminder, please see the community code of conduct (http://www.openstack.org/legal/community-code-of-conduct/)
|
| The details of candidate submission and process are available at here and we look forward to receiving your submissions
| Please let me, or anyone from the UC know if you have any questions, comments or concerns.
|
| Thank you,

View File

@ -1,114 +0,0 @@
Large Deployment Team:
chairs:
- name: Matt Van Winkle
irc: VW
email: vw@rackspace.com
mission: >
To discuss the needs and issues of those running large OpenStack deployments.
url: https://wiki.openstack.org/wiki/Large_Deployment_Team
status: active
aucs:
- name:
irc:
email:
expires-in:
extra-aucs:
- name:
email:
expires-in:
comment:
Massively Distributed Clouds:
chairs:
- name: Adrien Lebre
irc:
email:
mission: >
To debate and investigate how OpenStack can address Fog/Edge Computing use-cases.
url: https://wiki.openstack.org/wiki/Massively_Distributed_Clouds
status: active
aucs:
- name:
irc:
email:
expires-in:
extra-aucs:
- name:
email:
expires-in:
comment:
Ops Tags Team:
chairs:
- name: Tom Fifield
irc:
email:
- name: Edgar Magana
irc:
email:
- name: Matt van Winkle
irc:
email:
- name: Melvin Hillsman
irc:
email:
- name: Saverio Proto
irc:
email:
- name: Shamail Tahir
irc:
email:
mission: >
To define tags for ops, allowing users to make better decisions by providing useful information about OpenStack software projects.
url: https://wiki.openstack.org/wiki/Operations/Tags
status: active
aucs:
- name:
irc:
email:
expires-in:
extra-aucs:
- name:
email:
expires-in:
comment:
Operators Telecom/NFV:
chairs:
- name: Curtis Collicutt
irc:
email:
mission: >
Work with the OpenStack community and ecosystem to benefit OpenStack Operators specifically running telecommunication services and Network Function Virtualization (NFV) systems utilizing OpenStack.
url: https://wiki.openstack.org/wiki/Ops-telecom-nfv
status: active
aucs:
- name:
irc:
email:
expires-in:
extra-aucs:
- name:
email:
expires-in:
comment:
Financial Team:
chairs:
- name:
irc:
email:
mission: >
Coordinate users, service providers, and developers to find and fill the gaps for OpenStack adoption in financial industry.
url:
status: active
aucs:
- name:
irc:
email:
expires-in:
extra-aucs:
- name:
email:
expires-in:
comment:

View File

@ -1,57 +0,0 @@
========================
UC Elections August 2017
========================
We expect all members of our community to adhere to the highest
standards of behavior during User Committee elections.
Officials
=========
| Amy Marrich <amy at demarco dot com>
| Ed Leafe <ed at leafe dot com>
Election System
===============
Elections will be held using CIVS and a Condorcet algorithm
(Schulze/Beatpath/CSSD variant). Any tie will be broken using
`Governance/TieBreaking <https://wiki.openstack.org/wiki/Governance/TieBreaking>`_.
Timeline
========
| July 31 - August 11, 05:59 UTC: Open candidacy for UC positions
| August 14 - August 18, 11:59 UTC: UC elections (voting)
Elected Positions
=================
Under the rules of the UC charter, we need to elect 3 UC seats for this
election. Seats are valid for one-year term. User Committee member - 3
positions.
Electorate
==========
The electorate for this election are the Foundation individual members that
are also Active User Contributors (AUC) over the last six months.
The electorate is requested to confirm their email address and (if applicable) IRC handle
in their Foundation Member Profile, https://openstack.org/profile ,
prior to August 7, 2017 05:59 UTC so that the emailed ballots are mailed to the
correct email address.
Candidates
==========
Any individual member of the Foundation who is an Active User Contributor
(AUC) can propose their candidacy (except the two sitting UC members elected in
the previous election).
Self-nomination is common, no third party nomination is required. They do so by
sending an email to the user-committee@lists.openstack.org mailing-list, with
the subject: "UC candidacy" by August 11, 05:59 UTC. The email can include a
description of the candidate platform. The candidacy is then confirmed by
one of the election officials, after verification of the electorate status of
the candidate.
Results
=======
Edgar Magana, Matt van Winkle and Saverio Proto were elected.
* Full Results: http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_a6460623fa15b328

View File

@ -1,60 +0,0 @@
========================
UC Elections August 2018
========================
We expect all members of our community to adhere to the highest
standards of behavior during User Committee elections.
Officials
=========
| Chandan Kumar - chkumar246 at gmail dot com
| Ed Leafe - ed at leafe dot com
| Mohamed Elsakhawy - m2elsakha at gmail dot com
Election System
===============
Elections will be held using CIVS and a Condorcet algorithm
(Schulze/Beatpath/CSSD variant). Any tie will be broken using
`Governance/TieBreaking <https://wiki.openstack.org/wiki/Governance/TieBreaking>`_.
Timeline
========
| August 6 - August 17, 05:59 UTC: Open candidacy for UC positions
| August 20 - August 24, 11:59 UTC: UC elections (voting)
Elected Positions
=================
Under the rules of the UC charter, we need to elect 2 UC seats for this
election. Seats are valid for one-year term. User Committee member - 2
positions.
Electorate
==========
The electorate for this election are the Foundation individual members that
are also Active User Contributors (AUC) over the last six months.
The electorate is requested to confirm their email address and (if applicable) IRC handle
in their Foundation Member Profile, https://openstack.org/profile ,
prior to August 13, 2018 05:59 UTC so that the emailed ballots are mailed to the
correct email address.
Candidates
==========
Any individual member of the Foundation who is an Active User Contributor
(AUC) can propose their candidacy (except the three sitting UC members elected in
the previous election).
Self-nomination is common, no third party nomination is required. They do so by
sending an email to the user-committee@lists.openstack.org mailing-list, with
the subject: "UC candidacy" by August 17, 05:59 UTC. The email can include a
description of the candidate platform. The candidacy is then confirmed by
one of the election officials, after verification of the electorate status of
the candidate.
Results
=======
The two nominated candidates were selected since they ran unopposed.
| Matt Van Winkle
| Joseph Sandoval

View File

@ -1,57 +0,0 @@
========================
UC Elections August 2019
========================
We expect all members of our community to adhere to the highest
standards of behavior during User Committee elections.
Officials
=========
| Ian Y. Choi ianyrchoi at gmail dot com
| Ed Leafe ed at leafe dot com
Election System
===============
Elections will be held using CIVS and a Condorcet algorithm
(Schulze/Beatpath/CSSD variant). Any tie will be broken using
`Governance/TieBreaking <https://wiki.openstack.org/wiki/Governance/TieBreaking>`_.
Timeline
========
| August 5 - August 16, 05:59 UTC: Open candidacy for UC positions
| August 19 - August 23, 11:59 UTC: UC elections (voting)
Elected Positions
=================
Under the rules of the UC charter, we need to elect 2 UC seats for this
election. Seats are valid for one-year term. User Committee member - 2
positions.
Electorate
==========
The electorate for this election are the Foundation individual members that
are also Active User Contributors (AUC) over the last six months.
The electorate is requested to confirm their email address and (if applicable) IRC handle
in their Foundation Member Profile, https://openstack.org/profile ,
prior to August 16, 2019 05:59 UTC so that the emailed ballots are mailed to the
correct email address.
Candidates
==========
Any individual member of the Foundation who is an Active User Contributor
(AUC) can propose their candidacy (except the three sitting UC members elected in
the previous election).
Self-nomination is common, no third party nomination is required. They do so by
sending an email to the user-committee@lists.openstack.org mailing-list, with
the subject: "UC candidacy" by August 16, 05:59 UTC. The email can include a
description of the candidate platform. The candidacy is then confirmed by
one of the election officials, after verification of the electorate status of
the candidate.
Results
=======
| Mohamed Elsakhawy m2elsakha at gmail dot com

View File

@ -1,58 +0,0 @@
==========================
UC Elections February 2017
==========================
We expect all members of our community to adhere to the highest
standards of behavior during User Committee elections.
Officials
=========
| Matt Jarvis - matt at mattjarvis dot org dot uk
| Matt Van Winkle - mvanwink at rackspace dot com
Election System
===============
Elections will be held using CIVS and a Condorcet algorithm
(Schulze/Beatpath/CSSD variant). Any tie will be broken using
`Governance/TieBreaking <https://wiki.openstack.org/wiki/Governance/TieBreaking>`_.
Timeline
========
| January 30 - February 10, 05:59 UTC: Open candidacy for UC positions
| February 13 - February 17, 11:59 UTC: UC elections (voting)
Elected Positions
=================
Under the rules of the UC charter, we need to elect 2 UC seats for this
election. Seats are valid for one-year term. User Committee member - 2
positions.
Electorate
==========
The electorate for this election are the Foundation individual members that
are also Active User Contributors (AUC) over the last six months.
The electorate is requested to confirm their email address and (if applicable) IRC handle
in their Foundation Member Profile, https://openstack.org/profile ,
prior to February 4, 2017 05:59 UTC so that the emailed ballots are mailed to the
correct email address.
Candidates
==========
Any individual member of the foundation who is an Active User Contributors
(AUC) can propose their candidacy (except the three UC members who were appointed
prior to the elected system based on UC charter resolution: Shilla Saebi,
Jonathan Proulx, and Edgar Magana.
Self-nomination is common, no third party nomination is required. They do so by
sending an email to the user-committee@lists.openstack.org mailing-list, with
the subject: "UC candidacy" by February 10, 05:59 UTC. The email can include a
description of the candidate platform. The candidacy is then confirmed by
one of the election officials, after verification of the electorate status of
the candidate.
Result
======
Melvin Hillsman and Shamail Tahir were elected.
* Full Results: http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_4ec37f2d06428110

View File

@ -1,61 +0,0 @@
==========================
UC Elections February 2018
==========================
We expect all members of our community to adhere to the highest
standards of behavior during User Committee elections.
Officials
=========
| Shilla Saebi - shilla.saebi at gmail dot com
| Tim Bell - tim.bell at cern dot ch
Election System
===============
Elections will be held using CIVS and a Condorcet algorithm
(Schulze/Beatpath/CSSD variant). Any tie will be broken using
`Governance/TieBreaking <https://wiki.openstack.org/wiki/Governance/TieBreaking>`_.
Timeline
========
| January 29 - February 11, 05:59 UTC: Open candidacy for UC positions
| February 19 - February 25, 11:59 UTC: UC elections (voting)
Elected Positions
=================
Under the rules of the UC charter, we need to elect 2 UC seats for this
election. Seats are valid for one-year term. User Committee member - 3
positions*.
\* We have one member stepping down during this particular election
requiring us to elect 3 positions.
Electorate
==========
The electorate for this election are the Foundation individual members that
are also Active User Contributors (AUC) over the last six months.
The electorate is requested to confirm their email address and (if applicable) IRC handle
in their `Foundation Member Profile <https://openstack.org/profile>`_,
prior to February 5, 2017 05:59 UTC so that the emailed ballots are mailed to the
correct email address.
Candidates
==========
Any individual member of the foundation who is an Active User Contributor (AUC)
can propose their candidacy (except two of the three recently elected members).
Self-nomination is common, no third party nomination is required. Nominate by
sending an email to the user-committee@lists.openstack.org mailing-list, with
the subject: "UC Candidacy" by February 11, 05:59 UTC. The email can include a
description of the candidate platform. The candidacy is then confirmed by
one of the election officials, after verification of the electorate status of
the candidate.
Result
======
Melvin Hillsman, Amy Marrich, and Yih Leong Sun were elected.
* Full Results: https://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_f7b17dc638013045

View File

@ -1,58 +0,0 @@
==========================
UC Elections February 2019
==========================
We expect all members of our community to adhere to the highest
standards of behavior during User Committee elections.
Officials
=========
| Mohamed Elsakhawy m2elsakha at gmail dot com
| Jonathan Proulx jon at csail dot mit dot edu
Election System
===============
Elections will be held using CIVS and a Condorcet algorithm
(Schulze/Beatpath/CSSD variant). Any tie will be broken using
`Governance/TieBreaking <https://wiki.openstack.org/wiki/Governance/TieBreaking>`_.
Timeline
========
| February 04 - February 17, 05:59 UTC: Open candidacy for UC positions
| February 18 - February 24, 11:59 UTC: UC elections (voting)
Elected Positions
=================
Under the rules of the UC charter, we need to elect 3 UC seats for this
election. Seats are valid for one-year term. User Committee member - 3
positions.
Electorate
==========
The electorate for this election are the Foundation individual members that
are also Active User Contributors (AUC) over the last six months.
The electorate is requested to confirm their email address and (if applicable) IRC handle
in their `Foundation Member Profile <https://openstack.org/profile>`_,
prior to February 17, 2019 05:59 UTC so that the emailed ballots are mailed to the
correct email address.
Candidates
==========
Any individual member of the foundation who is an Active User Contributor (AUC)
can propose their candidacy (except two of the three recently elected members).
Self-nomination is common, no third party nomination is required. Nominate by
sending an email to the openstack-discuss@lists.openstack.org mailing-list, with
the subject: "UC Candidacy" by February 17, 05:59 UTC. The email can include a
description of the candidate platform. The candidacy is then confirmed by
one of the election officials, after verification of the electorate status of
the candidate.
Result
======
Amy Marrich, Belmiro Moreira, and John Studarus were elected.
* Full Results: https://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_8760d5969c6275f1&rkey=75d7d496f7e50780

View File

@ -1,55 +0,0 @@
==========================
UC Elections February 2020
==========================
We expect all members of our community to adhere to the highest
standards of behavior during User Committee elections.
Officials
=========
Rain Leander rainleander AT gmail DOT com
Amy Marrich amy AT demarco DOT com
Election System
===============
Elections will be held using CIVS and a Condorcet algorithm
(Schulze/Beatpath/CSSD variant). Any tie will be broken using
`Governance/TieBreaking <https://wiki.openstack.org/wiki/Governance/TieBreaking>`_.
Timeline
========
| February 03 - February 16, 05:59 UTC: Open candidacy for UC positions
| February 17 - February 23, 11:59 UTC: UC elections (voting)
Elected Positions
=================
Under the rules of the UC charter, we need to elect 3 UC seats for this
election. Seats are valid for one-year term.
Electorate
==========
The electorate for this election are the Foundation individual members that
are also Active User Contributors (AUC) over the last six months.
The electorate is requested to confirm their email address and (if applicable) IRC handle
in their `Foundation Member Profile <https://openstack.org/profile>`_,
prior to February 16, 2019 05:59 UTC so that the emailed ballots are mailed to the
correct email address.
Candidates
==========
Any individual member of the foundation who is an Active User Contributor (AUC)
can propose their candidacy (except two of the three recently elected members).
Self-nomination is common, no third party nomination is required. Nominate by
sending an email to the openstack-discuss@lists.openstack.org mailing-list, with
the subject: "UC Candidacy" by February 17, 05:59 UTC. The email can include a
description of the candidate platform. The candidacy is then confirmed by
one of the election officials, after verification of the electorate status of
the candidate.
Result
======
This election was canceled due to a lack of nominations.

View File

@ -1,55 +0,0 @@
===========================
UC Elections September 2019
===========================
We expect all members of our community to adhere to the highest
standards of behavior during User Committee elections.
Officials
=========
| Ian Y. Choi ianyrchoi at gmail dot com
| Ed Leafe ed at leafe dot com
Election System
===============
Elections will be held using CIVS and a Condorcet algorithm
(Schulze/Beatpath/CSSD variant). Any tie will be broken using
`Governance/TieBreaking <https://wiki.openstack.org/wiki/Governance/TieBreaking>`_.
Timeline
========
| August 26 - August 31, 05:59 UTC: Open candidacy for UC positions
| September 1 - September 4, 11:59 UTC: UC elections (voting)
Elected Positions
=================
We need to elect 1 UC seat for this election. This seat is valid for one-year term.
Electorate
==========
The electorate for this election are the Foundation individual members that
are also Active User Contributors (AUC) over the last six months.
The electorate is requested to confirm their email address and (if applicable) IRC handle
in their Foundation Member Profile, https://openstack.org/profile ,
prior to August 31, 2019 05:59 UTC so that the emailed ballots are mailed to the
correct email address.
Candidates
==========
Any individual member of the Foundation who is an Active User Contributor
(AUC) can propose their candidacy (except the three sitting UC members elected in
the previous election).
Self-nomination is common, no third party nomination is required. They do so by
sending an email to the user-committee@lists.openstack.org mailing-list, with
the subject: "UC candidacy" by August 31, 05:59 UTC. The email can include a
description of the candidate platform. The candidacy is then confirmed by
one of the election officials, after verification of the electorate status of
the candidate.
Results
=======
| Jaesuk Ahn bluejay dot ahn at gmail dot com

View File

@ -1,42 +0,0 @@
Fault-Genes Working Group:
chairs:
- name: Nemat Bidokhti
irc:
email:
- name: Rochelle (Rocky) Grober
irc:
email:
mission: >
The Fault Genes Working Group's goal is to be the DNA of OpenStack fault-tolerance.
url: https://wiki.openstack.org/wiki/Fault_Genes_Working_Group
status: active
aucs:
- name:
irc:
email:
expires-in:
extra-aucs:
- name:
email:
expires-in:
comment:
LCOO Working Group:
chairs:
- name: Jamey McCabe
irc:
email:
mission: >
The working group aims to collaborate with the Product Working Group (PWG), other working groups and community-wide stakeholders to define the use cases and identify and prioritize the requirements which are needed to deploy, manage, and run services on top of OpenStack.
url: https://wiki.openstack.org/wiki/LCOO
status: active
aucs:
- name:
irc:
email:
expires-in:
extra-aucs:
- name:
email:
expires-in:
comment:

View File

@ -1,10 +0,0 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
PyYAML>=3.1.0 # MIT
docutils>=0.11,!=0.13.1 # OSI-Approved Open Source, Public Domain
sphinx>=2.0.0 # BSD
openstackdocstheme>=2.0.0 # Apache-2.0

View File

@ -1,58 +0,0 @@
==========================================
2018-07-24 AUC Recognition Criteria Update
==========================================
During the `Rocky PTG <https://etherpad.openstack.org/p/UC-Rocky-PTG>`_ among
the many things we discussed was increasing the pool of AUCs. We identified
areas we believed AUCs could be added from and recently voted to approve these
additions. This resolution is to verify the vote and provide information as
needed on what was voted on.
**AUC Recognition Criteria**
Summary:
Criteria should be adjusted to be relevant to the state of the community today;
i.e. SIGs. We are quite possibly missing up to at least 500 contributors who
should be AUC eligible. We need to vote a) if the recommended additional pools
should be used, b) publish AUCs (consider those who select anonymous for user
survey), and c) official + unofficial should be eligible (there are some user
groups who are not official but still are healthy).
Additional Pools:
* User Survey - people who completed a deployment (~550)
* Ops midcycle attendees instead of just session moderators (~50)
* OpenStack Days organizers (~100)
* SIG users (as suggested by SIG leaders) (~25)
* Active WoO participants (~10)
* Active Diversity WG participants (~10)
**Notes:**
SIG leaders should provide active participants who should be AUC and will follow
process of extra-auc as Team and Working Group leaders do. For SIG, can we have
the SIG leader to update on the AUC list, for example:
* https://wiki.openstack.org/wiki/I18nTeam/ATC_statistics
* https://review.openstack.org/#/c/532982/
* https://review.openstack.org/#/c/464051
While it is possibly extra work for the chairs/leaders it just seems right to
prefer having to provide a list of active members who deserve it than it not be
earned.
AUCs are required to be Foundation Members; this document does not supersede
existing requirements but seeks to at least augment them with additional pools
AUCs can be obtained from.
**Vote Results:**
Additional Pools:
* User Survey - People who completed a deployment (~550) - Y
* Ops Midcycle Session Moderators and Event Organizers (~30) - Y
* OpenStack Days Session Moderators and Event Organizers (~200) - Y
* SIG Users (as suggested by SIG leaders) (~25) - Y
* Active WoO Participants (~10) - Y
* Active Diversity WG Participants (~10) - Y

View File

@ -1,17 +0,0 @@
.. _resolutions:
=============
Resolutions
=============
When a motion does not result in a change in a reference doc, it can
be expressed as a resolution.
2018
====
.. toctree::
:maxdepth: 1
:glob:
2018*

View File

@ -1,9 +0,0 @@
[metadata]
name = openstack-governance-uc
version = 2014.1
summary = OpenStack Governance Documents
description-file =
README.rst
author = OpenStack UC
author-email = user-committee@lists.openstack.org
home-page = https://governance.openstack.org/uc/

View File

@ -1,22 +0,0 @@
#!/usr/bin/env python
# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
import setuptools
setuptools.setup(
setup_requires=['pbr'],
pbr=True)

20
tox.ini
View File

@ -1,20 +0,0 @@
[tox]
envlist = docs
minversion = 1.6
skipsdist = True
[testenv]
basepython = python3
usedevelop = True
passenv = ZUUL_CACHE_DIR
REQUIREMENTS_PIP_LOCATION
setenv = VIRTUAL_ENV={envdir}
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/requirements.txt
[testenv:venv]
commands = {posargs}
[testenv:docs]
commands = sphinx-build -W -b html doc/source doc/build/html