# 如何参与Istio社区及注意事项

**注意：本文档已失效，请浏览** [**Istio 官方文档**](https://istio.io)**。本书中的 Service Mesh 章节已不再维护，请转到** [**istio-handbook**](https://www.servicemesher.com/istio-handbook) **中浏览。**

本文讲述了如何参与 Istio 社区和进行 Istio 开发时需要注意的事项。

## 工作组

绝大多数复杂的开源项目都是以工作组的方式组织的，要想为 Istio 社区做贡献可以加入到以下的工作组（Working Group）：

* [API Management](https://github.com/istio/community/blob/master/WORKING-GROUPS.md#api-management)
* [Config](https://github.com/istio/community/blob/master/WORKING-GROUPS.md#config)
* [Environments](https://github.com/istio/community/blob/master/WORKING-GROUPS.md#environments)
* [Networking](https://github.com/istio/community/blob/master/WORKING-GROUPS.md#networking)
* [Performance & Scalability](https://github.com/istio/community/blob/master/WORKING-GROUPS.md#performance-and-scalability)
* [Policies & Telemetry](https://github.com/istio/community/blob/master/WORKING-GROUPS.md#policies-and-telemetry)
* [Security](https://github.com/istio/community/blob/master/WORKING-GROUPS.md#security)
* [Test & Release](https://github.com/istio/community/blob/master/WORKING-GROUPS.md#test-and-release)

## 代码规范

Istio 的代码规范沿用 [CNCF 社区的代码规范](https://github.com/cncf/foundation/blob/master/code-of-conduct.md)。

## 开发指南

进行 Istio 开发之前需要做下面几件事情：

* 配置基础环境，如 Kubernetes
* 配置代码库、下载依赖和测试
* 配置 CircleCI 集成环境
* 编写参考文档
* Git workflow 配置

详见 [Dev Guide wiki](https://github.com/istio/istio/wiki/Dev-Guide)。

## 设计文档

所有的设计文档都保存在 [Google Drive](https://drive.google.com/drive/u/0/folders/0AIS5p3eW9BCtUk9PVA) 中，其中包括以下资源：

* Technical Oversight Committee：ToC管理的文档
* Misc：一些杂项
* Working Groups：最重要的部分，各个工作组相关的设计文档
* Presentations：Istio 相关的演讲幻灯片，从这些文稿中可以快速了解 Istio
* Logo：Istio logo
* Eng：社区相关的维护文档

## 社区角色划分

根据对开发者和要求和贡献程度的不同，Istio 社区中包含以下角色：

* [Collaborator](https://github.com/istio/community/blob/master/ROLES.md#collaborator)：非正式贡献者，偶尔贡献，任何人都可以成为该角色
* [Member](https://github.com/istio/community/blob/master/ROLES.md#member)：正式贡献者，经常贡献，必须有2个已有的 member 提名
* [Approver](https://github.com/istio/community/blob/master/ROLES.md#approver)：老手，可以批准 member 的贡献
* [Lead](https://github.com/istio/community/blob/master/ROLES.md#lead)：管理功能、项目和提议，必须由 [ToC](https://github.com/istio/community/blob/master/WORKING-GROUP-PROCESSES.md) 提名
* [Administrator](https://github.com/istio/community/blob/master/ROLES.md#administrator)：管理员，管理和控制权限，必须由 ToC 提名
* [Vendor](https://github.com/istio/community/blob/master/ROLES.md#vendor)：贡献 Istio 项目的扩展

详见 [Istio Community Roles](https://github.com/istio/community/blob/master/ROLES.md)。

## 各种功能的状态

Istio 中的所有 feature 根据**是否生产可用**、**API兼容性**、**性能**、**维护策略**分为三种状态：

* Alpha：仅仅可以作为 demo，无法生产上使用，也没有性能保证，随时都可能不维护
* Beta：可以在生产上使用了，也有版本化的 API 但是无法保证性能，保证三个月的维护
* Stable：可以上生产而且还能保证性能，API 向后兼容，保证一年的维护

Istio 的 feature 分为四大类：

* 流量管理：各种协议的支持、路由规则配置、Ingress TLS 等
* 可观察性：监控、日志、分布式追踪、服务依赖拓扑
* 安全性：各种 checker 和安全性配置
* Core：核心功能

功能划分与各种功能的状态详情请见：<https://istio.io/about/feature-stages.html>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hezhiqiang.gitbook.io/kubernetes-handbook/ling-yu-ying-yong/service-mesh/istio/istio-community-tips.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
