订阅内容

In the Open Source Program Office we consider a healthy open source community one that demonstrates open practices, uses open infrastructure, and cultivates an open culture with the goal of becoming more sustainable. But even for the most seasoned community architects, measuring an open source community’s health is a complex, difficult, and sometimes intimidating task.

That’s because any picture of project health is actually a mosaic. Multiple factors combine to depict a community’s overall health. You’ll never find just one indicator you can point to and say "See? The community is healthy." (You can, however, find some indicators that immediately show that a community is unhealthy.)

What’s more, the factors that determine overall project and community health are always changing. In the past, for example, some may have pointed to the total number of downloads as a health metric. But today we understand that even millions of downloads does not reflect the fact that a community's production and quality assurance processes might be out of sync—or that trolls are running rampant in the project’s mailing lists.

This post outlines several ways to measure community health, many of them centered not only on results or outcomes (like downloads, release cadence, etc.), but also around processes (onboarding barriers, how easily a project can discover and promote maintainers, etc.). It also outlines important factors to consider when assessing an open source project’s and community’s overall health. It focuses specifically on key metrics you can use to gauge, assess, and report that health. 

Project life cycle

An open source project's life cycle affects all other considerations about a project's health. Understanding the project's place in that life cycle will help you put your assessment into proper context (for example, single-person governance can be acceptable when a project is young—but not so great when a project is more mature). Moreover, monitoring contributor trends might tell you something about a project's short-term or long-term future.

Key considerations:

  • When was the project founded? How old is it?

  • How often do new contributors join the project?

  • How frequently does the project accept new contributions?

Target audience

Well-run open source projects demonstrate a clear understanding of their target audiences or the users (and contributors) they hope to reach through their work.

Key considerations:

  • Has the project clearly identified a target audience? Who is it?

  • Is that audience the most appropriate one for this project?

  • Are you part of the audience this project has identified?

  • Does this audience engage with projects that either complement or compete with this project?

Governance

"Governance" refers to the rules and customs that define who gets to do what—and how they are supposed to do it—in an open source project. Successful projects thoroughly document (and continuously evolve) their governance models.

Key considerations:

  • What is the project's governance model, and is that model documented publicly?

  • How do project members make decisions, and do members seem to abide by those decisions?

  • Who seems responsible for ratifying and enforcing decisions?

  • Does the project's governance model account for both the technical and the business aspects of the project?

Project leads

Healthy projects have visible, easily identifiable leadership. Leads often coordinate project work and establish a project's vision. They often have extensive knowledge of project history. 

Key considerations:

  • Who are the project's leads?

  • What are the project leads' responsibilities? Are they focused more on engineering, on marketing, or on some combination of both?

Release manager and process

Another identifier of project health is the state of the project's release process. The healthiest projects have formally documented their release processes, and have identified release managers to oversee those processes. 

Key considerations:

  • Has the project documented its release processes?

  • Has the project identified a release manager?

  • How often does the project release updates?

  • Do project releases occur on a steady and predictable schedule?

Infrastructure

The tools a community uses to work on a project are almost as important as the people who comprise that community. Different projects require different technical infrastructures. The most successful projects are those that have the tools they need to do their work—and keep those tools in good working order.

Key considerations:

  • Who is responsible for maintaining project infrastructure?

  • Does the project have the bare minimum infrastructure it needs? Are infrastructural shortcomings producing bottlenecks for the project?

  • Is the project missing useful infrastructural components? Does it have plans to obtain these components?

Goals and roadmap

Healthy open source projects share their goals publicly and maintain roadmaps they will follow to reach those goals. Generally, the most successful projects are those that set attainable goals and routinely meet the deadlines they set for themselves.

Key considerations:

  • Are the project's goals clear and public?

  • Does the project have a clearly communicated roadmap, and is it also public?

  • Does the project have a history of meeting its release schedule (and other deadlines)?

Onboarding processes

New contributors are vital to project success. Without new members, a project can lose its creativity and vitality. Successful projects feature clear, welcoming onboarding materials that assist newcomers who wish to join.

Key considerations:

  • Do the community's resources explain precisely what the project is?

  • Does the community offer useful documentation on obtaining and using the project?

  • Does the project publicly document processes new contributors can follow when they want to contribute to the project?

  • Does the project welcome contributions of more than one type (e.g., development, marketing, project management, event planning, etc.)?

Internal communication

The presence or absence of internal communication channels is a key indicator of project health, as are a project's internal communication practices. Often, issues affecting a community will emerge first in internal channels—such as mailing lists, chat platforms, or some other medium—where contributors and users interface with each other.

Key considerations:

  • Does the project have sufficient communication channels?

  • Can people easily find and use these channels?

  • Are channels regularly moderated?

  • Is use of the channels governed by a code of conduct?

Outreach

Outreach is the process of actively promoting a project and making others aware of it. Communities use written materials (social media, blogs, whitepapers), events (meetups, conventions), and educational tactics (demos, training sessions) as part of their outreach. Healthy projects devote adequate energy and resources to outreach.

Key considerations:

  • Does the community use a clear and consistent set of outreach tools? If not, does it plan to?

  • Are people writing, talking about, and promoting this project and its technologies?

Awareness

Awareness is a desired outcome of a project's outreach efforts. Measured perhaps through user and contributor surveys or general marketing analyses, it refers to how well a target audience knows the project—the audience's awareness of the project in general, and their understanding of the problems it solves more specifically. 

Key considerations:

  • Are people in the project's target audience aware of the project?

  • Are people working in an industry that would benefit from the project aware that the project exists?

  • Can people in the target audience explain the project's uses, features, and advantages over alternatives?

Ecosystem

No project lives in a vacuum. Projects frequently depend on one another. In some cases, similar project's can be competing for similar target audiences. A community's interactions with other projects in its ecosystem reflect the project's health.

Key considerations:

  • What are the project’s dependencies? And what projects depend on it?

  • How well integrated is this community in the project's overall ecosystem, the project's target industry, organizations that may use the project, etc.?

  • Do members of the ecosystem view this project favorably?

For those interested, a downloadable version of this guide is also available

However you want to initially approach community health, it is important to understand there is no one way to determine how well a community project is functioning. A holistic, balanced approach is key to understanding where a community is thriving and where it may not.


关于作者

Brian Proffitt is Senior Manager, Community Outreach within Red Hat's Open Source Program Office, focusing on enablement, community metrics and foundation and trade organization relationships. Brian's experience with community management includes knowledge of community onboarding, community health and business alignment. Prior to joining Red Hat in 2013, he was a technology journalist with a focus on Linux and open source, and the author of 22 consumer technology books.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Original series icon

原创节目

关于企业技术领域的创客和领导者们有趣的故事