# ベンダー

> Source: https://www.ymotongpoo.com/works/otel-specs-ja/spec/vendors/


## 概要

OpenTelemetryプロジェクトは、API・SDK・プロトコル・セマンティック規約の[仕様書](https://github.com/open-telemetry/opentelemetry-specification)と、複数の言語向けにそれぞれの実装から構成されます。デフォルトのSDK実装は[高度に設定可能](/works/otel-specs-ja/spec/configuration/)であり、[Span Processor](/works/otel-specs-ja/spec/trace/sdk/#spanprocessor)などを通じて拡張できるため、特定のベンダーが必要とする追加のロジックを、カスタムSDKを実装せずに追加できます。カスタムSDKを必要としないことで、ほとんどの言語ではユーザーが既に使える実装を見つけられますし、そうでなくても、新しい言語で実装するためのよく整備された仕様書を利用できます。

その目標は、ユーザーがベンダー間を容易に切り替えられるようにすることであり、同時に、OpenTelemetry SDKの実装を持つどの言語も、OpenTelemetryのサポートを主張するどのベンダーとも連携できるようにすることです。

この文書では、ベンダーが「OpenTelemetryをサポートする」または「OpenTelemetryを実装する」と見なされるために必要な条件を説明します。

## OpenTelemetryをサポートする

「OpenTelemetryをサポートする」とは、ベンダーが以下の2つの仕組みのいずれかを通じて、デフォルトSDKの出力を受け入れなければならないことを意味します。

- [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector/)向け、またはOpenTelemetry SDK向けのエクスポーターを提供する
- [OpenTelemetryプロトコル](https://github.com/open-telemetry/opentelemetry-proto)向けのレシーバーを構築する

## OpenTelemetryを実装する

「OpenTelemetryを実装する」とは、ベンダーがカスタムSDK実装を要求することを意味します。カスタムSDKが必須ではなくオプションである場合は、そのベンダーは「OpenTelemetryをサポートする」ものとして記載できます。

## 資格要件

ベンダーは、サポートするテレメトリーの種類によって、OpenTelemetryのサポートを限定して名乗ることができます。例えば、OpenTelemetryプロトコルのエクスポートをメトリクスのみ受け入れるベンダーは「OpenTelemetry Metricsをサポート」として、トレーシングのみに対してカスタムSDKを実装するベンダーは「OpenTelemetry Tracingを実装」として記載されます。

