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 |
Trac
CommOps uses a ticket-based system called 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 Trac.
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 Trac.
The following is a long-term goal for our how tickets on our Trac 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.
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
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
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.
Interest Areas
Once you've completed the join steps add your name to the table below and refer to the previous section Things we help with to mark the areas where you'd like to contribute!
Name | UTC | Messaging | Storytelling | Badges | Hubs | Wiki | Culture | Metrics | Voting | Misc |
---|---|---|---|---|---|---|---|---|---|---|
A Mani (amani_glugcal) | UTC | X | X | X | X | X | ||||
Remy DeCausemaker (decause) | UTC-5 | X | X | X | X | X | X | X | X | X |
Ralph Bean (threebean) | UTC-5 | X | X | X | X | X | X | |||
roshi | UTC-7 | X | X | X | X | X | X | |||
nyazdani | UTC-8 | X | X | X | X | X | X | X | ||
mitzie | UTC+2 | X | X | |||||||
Joe Brockmeier (jzb) | UTC-6 | X | X | X | X | X | X | X | X | X |
Justin W. Flory (jflory7) | UTC-5 | X | X | X | X | X | X | X | X | X |
bee2502 | UTC+5.30 | X | X | X | X | X | X | |||
Charles Profitt (cprofitt) | UTC-5 | X | X | X | X | X | X | X | ||
Keerthana (keekri) | UTC+5:30 | X | X | X | X | X | X | X | X | X |
Mohammed Rafy (descientist) | UTC+5:30 | X | X | X | X | X | X | X | ||
Dan Mossor (danofsatx) | UTC-6 | X | X | X | X | X | X | |||
Corey Sheldon (corey84) | UTC-5 | X | X | X | X | X | X | X | ||
fale | UTC+1 | X | X | X | X | X | X | |||
Tummala Dhanvi (c0mrad3) | UTC+5.30 | X | X | X | X | X | X | X | X | X |
Name | UTC | Messaging | Storytelling | Badges | Hubs | Wiki | Culture | Metrics | Voting | Misc |
Sachin Kamath | UTC+5.30 | X | X | X | X | X | X | X | ||
Neville A. Cross | UTC -6:00 | X | X | X | X | X | X | |||
masetrax | UTC+8:00 | X | X | X | X | X | X | |||
Jeketam | UTC-5:00 | X | X | X | X | X | ||||
Viorel Tabara | UTC-7:00 | X | X | X | X | X | X | X | X | |
Harshal Bhatia | UTC+5.30 | X | X | X | X | X | X | X | X | |
Trishna Guha | UTC+5.30 | X | X | X | X | X | X | |||
Trusty Wolf | UTC+9:00 | X | X | X | X | |||||
Jona Azizaj (jonatoni) | UTC+1 | X | X | X | X | X | X | |||
Wesley Otugo | UTC+1 | X | X | X | X | X | X | X | X | |
akshays | UTC+5:30 | X | X | X | X | X | X | X | ||
Anubha Maneshwar (anubhamane) | UTC+5:30 | X | X | X | X | X | X | |||
Luca Ciavatta (cialu) | UTC+1 | X | X | X | X | X | X | X | X | X |
Dimuthu Lakmal (kjtdimuthu) | UTC+5.30 | X | X | X | X | X | X | |||
Dolores Portalatin | UTC-4:00 | X | X | X | X | X | X | |||
Name | UTC | Messaging | Storytelling | Badges | Hubs | Wiki | Culture | Metrics | Voting | Misc |
Dhanesh Sabane (dhanesh95) | UTC+5:30 | X | X | X | X | |||||
Drew Meigs | UTC-5:00 | X | X | X | X | X | X | X | X | X |
Tim Apple (LinuxHippie) | UTC-5 | X | X | X | X | X | X | X | X | X |
Devyani Kota (devyani7) | UTC+5:30 | X | X | X | X | X | X | X | ||
ScoDay | UTC+9 | X | X | X | X | X | X | |||
Michael Downey (downey) | UTC-5 | X | X | X | X | X | X | X | X | X |
Kanika Murarka (a2batic) | UTC+5:30 | X | X | X | ||||||
kamlesh Chaudhari (Komcy) | UTC+5:30 | X | X | X | X | X | X | X | X |
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 | github.com/decause/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 | github.com/decause/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 | github.com/decause/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
- Fedora 23 Tasks
- Fedora 23 Elections
- Fedora 23 Marketing Team Tasks
- Fedora 23 Ambassadors Team Tasks
- Fedora 23 Design Team Tasks
- Fedora 23 Development Team Tasks
- Fedora 23 Docs Team Tasks
- Fedora 23 FPL
- Fedora 23 Infrastructure Freezes
- Fedora 23 Key Tasks & Milestones
- Fedora 23 Project Management Tasks
- Fedora 23 Media/ PR
- Fedora 23 Quality Tasks
- Fedora 23 Releng Team Tasks
- Fedora 23 Spins SIG Tasks
- Fedora 23 Translation Tasks
- Fedora 23 Web Team Tasks