From FedoraProject

Revision as of 19:38, 15 May 2017 by X3mboy (talk | contribs) (Community + Operations = CommOps)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

CommOps wiki banner.png
Important.png
Help wanted!
You can help with this stuff! Join us on #fedora-commops on Freenode!

Community + Operations = CommOps

The rise of DevOps has been swift. Sysadmins are increasingly instrumenting and integrating automated systems to stand up and maintain their infrastructure. This same approach can be taken to support community infrastructure in a distributed and automated fashion, that doesn't force people to choose between using their precious volunteer time to "build things" or "build communities that build things."

Community Operations, a.k.a. CommOps, aims to address the area of community infrastructure by providing the tools, resources, and utilities for the different subgroups of Fedora to increase communication across the Project. We accomplish this by focusing on the following areas.

  • Community Blog
    • The CommBlog helps improve communication about "what's happening" in the four corners of the Project. Fedora is huge and there are awesome things and tasks being worked on every day - the CommBlog intends to be a central location for finding contributor-oriented news.
  • Assisting Fedora Release Manager with preparing for releases
    • Every new release of Fedora, there are tasks that need to be completed to ensure that everyone is on the same page and that each release happens smoothly. CommOps helps support the Release Manager by providing tools and resources to improving collaboration and communication project-wide.
  • Helping provide support and information to the Elections process
    • During Elections cycles, CommOps helps provide metrics for Elections, provide a platform for candidates to publish interviews, and brings greater exposure to the entire process, from nominations to campaigning to voting to results.
  • Assisting subgroups and teams with improving on-boarding methods and practices
    • A long-term goal of CommOps is to assist the various subgroups and teams of Fedora with tools and resources (e.g. Badges) to help make it easier to get new contributors involved. Part of this process involves identifying milestones where new contributors can get a footing.
  • Collecting and using metrics to direct and provide support where needed
    • Using various tools mentioned in our toolbox, we help collect and provide metrics to identify key areas in need of assistance in Fedora as well as to help subgroups discover areas of improvement or areas of success in their own work. See IRC Meeting Analytics as an example.
  • Various other tasks
    • CommOps also assists in a wider span of tasks mentioned in the Things we help with section of our wiki page.

Communicate

Mailing lists

Address Function
commops@lists.fp.o General mailing list for all things CommOps related
social-media@lists.fp.o The answer to "We should totally post this to Social Media!"
fedoramagazine-tips@lists.fp.o Reader ideas and opinions about what to write about in the Fedora Magazine


IRC

Address Function
#fedora-commops CommOps official channel
Idea.png
Zodbot
Read the Zodbot page for helpful IRC commands.

Ticket Handling

The CommOps team recently moved to Pagure and now uses Pagure instead of Trac to keep on top of what tasks we are working on, what objectives need to be completed, and to help set the pace of our meeting agendas. If you need help from CommOps, you can "light the bat signal" by filing a ticket on our repository or you can help us with the existing tickets here

CommOps Repository on Pagure


Meetings

The CommOps team meets weekly. Check the CommOps Fedocal for schedule.

Meeting minutes are logged at Meetbot and via wiki articles outlining the meeting agendas (such as CommOps meeting 2015-12-01). All meetings use the CommOps meeting template. You're invited to join us!

Meetings are often logged by Meetbot. Fedora møte logs for CommOps : CommOps Meeting Logs


Meeting format

Meetings primarily follow the agenda outlined in the meeting plan on the wiki. This includes a ticket-based approach to handle the tickets in our Pagure repository.

The following is a long-term goal for our how tickets on our tickets will work:

  • Tickets that don't get requests for information responded to after 2 weeks become inactive.
  • Tickets that are stalled for two weeks either get unassigned or can be renewed for an additional two weeks by their owner.

All the tickets can be viewed under the Issues tab in our Pagure repository

Delegation

This is a long-term goal of the Community Operations team and one of the things we hope to see farther in the future.

One person, Lead or otherwise, cannot possibly know everything that is happening in every corner of a project the size of Fedora, let alone where each of those sub-communities would like to go in the future. This requires broad participation across many teams and communities. A delegation, rather than an elected board, or other top-down style governance structure, would be the vehicle through which to gather input and reach consensus on community infrastructure. Delegates will represent distinct groups within Fedora, selected from within their delegation, with additional input and participation by non-voting delegates who want to be involved.

Members

  • The 13 Fedora Subprojects
  • The five Working Groups (three Editions, plus Base and Environments/Stacks Working Groups)
  • Any active and interested SIGS (opt-in)
  • Distinct web properties without a team / committee / group
    • ask.fedoraproject.org (?)
  • Other moving parts of Fedora not yet identified but needing representation


Operating principles

  • Instrument activity in existing communities to create and track metrics (a good initial effort exists at ThisWeekInFedora)
  • Federate and syndicate with as little burden on contributors as possible (like middle-ware that wraps and pipes existing processes / activity)
  • Community engagement and outreach is something *everyone* in Fedora should be concerned with and invested in, not just Ambassadors or Marketing.


Technical strategy

  • Use real-time communication channels and infrastructure when possible (fedmsg, FMN, Zodbot, others)

Join CommOps

We're always looking for new members to join us. Whether you're a new contributor or someone that's been around since the beginning, there are definitely ways you can help CommOps. Join CommOps and:

  • Build your portfolio by working on real-world projects
  • Get a holistic view of the entire Fedora Project and learn how all the pieces fit together
  • Work directly with Fedora Project leadership
  • Elevated privileges in different parts of the project (e.g. wiki editing)
  • Work with teammates from the four corners of the world
  • Broaden your scope of working in open source communities and gain experience interacting in different areas
  • Aspire to the greatness of a superhero

Happypanda.png Join the CommOps Team now


Things we help with

Badges requests

To help direct contributor activity, the community team will help existing sub-projects come up with badges and series of badges to establish an official process (and an award) for team / subproject membership. The Badges design process is operating very well, but the Badges strategy process falls onto the Design team's already full plate. It is our aim to help fix that.

Culture

There are many different ethics and values that compose the community, and it's important to be mindful of these. Not only to be mindful, but also to help enrich and support the communities of culture that exist within Fedora.

The Ambassadors are the most obvious example of this as they are separated by region, but it's not the case for other sub-projects. For how CommOps fits into this, it is our duty and responsible to help build a community infrastructure of support and acceptance for all of the different cultures that fit into Fedora. The "Friends" part of the Four Foundations is there for a reason. People enjoy contributing in a community where they feel valued for being a part of the family, not just that they are useful.

We help with a lot of the "technical" things in the community, like measuring impact at events with powerful metrics, documenting what's happening in the community on the Community Blog, and directing resources and assistance when and where it is needed. All of which are very important things. But it is also our role to help support the "non-technical" things in the community too, things like bringing the community together, helping "federate" the different sub-projects, and building a supportive and welcoming community.

Some of the things that make up "culture" in the Fedora community:

Code of Conduct and Diversity

CommOps helps work with the Diversity Adviser to evaluate topics such as the Code of Conduct and evaluate diversity in the Fedora community. One of the responsibilities that the Diversity Adviser will help with is creating a survey to be shared with the Fedora community to get a better sense of how our contributors are composed.

Internal communications

This is an ongoing and difficult problem, and we have come up with an approach, but it does resemble the proposed structure of FOSCo. Each of the 13 official subprojects, active and interested SIGs, working groups, and each web-property (Ask, Magazine, etc...) can choose a delegate.

Since this is a massive synchronous effort, we will need a way for each delegate to report on behalf of their delegation via a template. That template will be ticket-driven. Creating zodbot hooks to fill in this template from existing IRC meetings will solve this in many cases, but not all. Having a method to manually submit reports will help as a fallback.

Metrics

Because of the fedmsg stack, we have some very detailed raw data on Fedora contributor activity. There are a number of efforts being undertaken to generate data visualizations and regular reports based on this raw data. A critical part of developing metrics will be defining what kinds of questions we want to ask of this massive store of raw data.

Some past and future metrics ideas are listed here. You should also take a look at the CommOps Toolbox for metrics related tools.

Onboarding via Fedora Hubs

This is an existing effort with the momentum and full support of the Design Team and a buy-in from the Infrastructure Team. We do not have to create or recreate this wheel and want to support Hubs as the Community Operation team's official strategy.

The point behind the idea was to provide a space specifically for Fedora contributors that was separate from the user space, and to make it easier for folks who are non-packager contributors to Fedora to collaborate by providing them explicit tools to do that. This would include tools for folks working in Docs, Marketing, Design, Ambassadors, and so on, to help make it easier and enable them to bring new contributors on-board.

See the proposal and the results of the proposal.

Release notes

Each time Fedora makes a release, subprojects and teams provide updates and highlights. Helping to aggregate and publish that data takes a village, and CommOps is here to help. See theReleases page for details.

Storytelling

Much in the spirit of BoingBoing, the idea of "Cover Posts" are a target goal which can be generated from existing content and point to existing parts of Fedora to minimize the burden of "publishing in yet another place."

Content that is highly designed and curated already (announce-list, Fedora Magazine) should get the "greenlight" to be published automatically, and others added to a curated content queue from the community by Zodbot, other mailing lists, fedmsg, and/or other means. This queue of curated content will help feed both the Fedora Magazine (end-user focused content) and the Community Blog.

Here are some places where you can find the latest news and updates about the Fedora Project, read articles, and keep in touch with the community that develops, supports, and promotes Fedora. You can also publish your own articles, share an experience with others, ask a question, and interact with the community. Some of the most well-known sites are the following:

Unified messaging

When someone asks the question, "What is Fedora?" to an existing community member, *everyone* should have at least a standard elevator pitch, whether you are a designer, engineer, or translator. Ideally, this will be informed by the Fedora Core Values and Mission, and developed in the open (similar to the Red Hat Mission Statement). Input from existing groups (such as Marketing and Design) will be needed.

Voter turnout

Improving voter turnout during FESCo and Council elections makes for a stronger field of candidates and a more participatory community. This priority has been identified and added at the request of the Fedora Council.

Wiki

The wiki is aging. The wiki tries to be all things to all Fedorans. There are a number of initiatives happening: some are moving user documentation out of the wiki into a readthedocs.org-style site, others say there is a {{old}} tag that is going to help us sift through content, and there are likely other initiatives too.

We'd like to do things automatically, such as generate User pages on the wiki (in the spirit of the Badges template) so that users don't have yet-another-place-to-edit.


Members & Interest Areas

See CommOps/Members for a list of our current members and their interest areas.

Toolbox

Already, the Infrastructure, Design, and other teams started developing tools to help drive community initiatives and aggregate metrics. You can also find a detailed listing of CommOps tools on decause's blog.

Internal tools

These are tools that we use for managing some of our own resources, communication platforms, or other things.

Project Source Description Stack Interest Area
Community Blog (CommBlog) communityblog.fedoraproject.org A centralized blog available to contributors to publish news, activities, or calls for help for the rest of the project. Useful place for getting the inside scoop of "what's happening" in Fedora. Note that the blog publishes in UTC. WordPress (PHP) Messaging, Storytelling
Fedora Hubs pagure.io/fedora-hubs Modern, web-based Fedora activity center Python Hubs, Messaging
ircbot.py infrastruture.fedoraproject.org/cgit/ansible.git IRC bots in #fedora-commops that relay real-time updates and news in Fedora about various topics Python Messaging, Storytelling

Metrics

These tools are all useful for generating metrics, analyzing data, or interacting with the fedmsg bus.

Project Source Description Stack Interest Area
annualgrepper annualgrepper.py gather raw fedmsg totals on topics over 1 year timespan Python Metrics, Storytelling
cardsite pagure.io/cardsite live fedmsg tracker inspired by http://emojitracker.com Python Metrics
daily-briefing daily-briefing.py template takes lists of URLs, generates summary report of daily meetbot links and action items. Manual now, but can be automated in the future. Python Metrics
datagrepper apps.fedoraproject.org/datagrepper Using HTTP GET requests, you can query for all kinds of historical data from the fedmsg bus: events by username, by package, by message source, by topic... you name it. REST API Hubs, Metrics, Storytelling
fedmsg fedmsg.com Python package and API that hooks all the services in Fedora Infrastructure together by sending messages to one another over a unified message bus in real-time. Python Hubs, Metrics
fedora-stats-tools github.com/fedora-infra/fedora-stats-tools GitHub repo with multiple statistics tools, data, and slide decks for fedmsg metrics, year in reviews, and Fedora Events metrics Python Metrics
feedcloud pagure.io/feedcloud Take an RSS feed, or list of RSS feeds, and generate fancy wordlcouds for all/each Python Metrics, Storytelling
gsoc-stats pagure.io/gsoc-stats Python tool to generate statistics of Fedora Users Python Messaging, Metrics, Storytelling
longtail longtail-analyze.py longtail-gather.py Measure the ratio of activity/user to approximate burnout Python Metrics
meetbot-fedmsg-activity meetbot-fedmsg-activity.py jinja2 template that creates links to meetbot activities for each subproject Python Metrics
statscache github.com/fedora-infra/statscache A daemon to build and keep highly-available fedmsg statistics Python/REST API Hubs, Metrics, Storytelling
wordcloudbot pagure.io/wordcloudbot Create pretty wordclouds from IRC meeting logs Python Storytelling, Metrics

Other

These are other tools in our toolbox that are worth checking out for various uses and purposes.

Project Source Description Stack Interest Area
5 Things In Fedora This Week (5tftw) Final Product, Contributions Weekly series by the Fedora Project Leader to sum up five things going on in Fedora community shared via the Fedora Magazine. CommOps team can contribute to this by finding the "things" happening in Fedora, collecting one URL for the topic, and writing a maximum of five sentences describing it. N/A Storytelling, Wiki
OSAS/rh-events https://github.com/OSAS/rh-events Repo with data for Red Hat conference and talk attendance. Useful for plotting events in our own calendar and keeping track of what's happening in the open source community. N/A Messaging, Storytelling

Fedora Program Management and Schedule Track