Skip to content

Commit

Permalink
Merge branch 'working_draft' into update-regionid
Browse files Browse the repository at this point in the history
  • Loading branch information
jpradocueva authored Nov 9, 2024
2 parents 79b311e + 83dd2f5 commit 8760f25
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 16 deletions.
1 change: 0 additions & 1 deletion LICENSE.txt

This file was deleted.

24 changes: 13 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
# FinOps Open Cost and Usage Specification (FOCUS) - Specification Working Group
# FinOps Open Cost and Usage Specification (FOCUS) - Working Group

## Overview

The FinOps Open Cost and Usage Specification (FOCUS) is a community-driven effort to develop a standard schema for cloud, SaaS, and other billing data. The primary goal of the FOCUS specification is to make it easier to understand, report on, and manage cloud costs. The FOCUS specification is intended to be adaptable across a variety of cloud service provider and SaaS product sources and defines columns (dimensions and metrics), column-specific requirements, and attributes (spec-wide requirements). This repo also provides supporting content that includes example mappings between well-known provider datasets and what's defined in the FOCUS specification.

The vision of the FOCUS project is to help the cloud and SaaS industry move toward a common vocabulary around usage and billing data. This will not only help FinOps professionals in the analysis of billing data from disparate sources but will also help software engineering teams by providing a target format for the usage and billing data that their products will generate.

Some of the usecases this capability can enable:
Some of the use cases this capability can enable:

- The FOCUS spec will make it easier for FinOps practitioners to approach a new billing data source, as common concepts have been mapped to the common vocabulary of the spec.
- The FOCUS spec will make it easier to merge multiple billing data sources together, and perform cross-cloud and cross-vendor analysis and cost reporting.
- The FOCUS spec should make it easier to open source more FinOps visibility tools, and to accelerate the FinOps framework capability of data ingestion and normalization.

[Working Group Charter]() **Link TBC**

## Notation Conventions and Compliance

The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
Expand All @@ -24,26 +22,30 @@ The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
[[RFC8174](https://tools.ietf.org/html/rfc8174)] when, and only when, they
appear in all capitals, as shown here.

An implementation of the [specification][] is not compliant if it fails to
An implementation of the specification is not compliant if it fails to
satisfy one or more of the "MUST", "MUST NOT", "REQUIRED", "SHALL", or "SHALL
NOT" requirements defined in the [specification][]. Conversely, an
implementation of the [specification][] is compliant if it satisfies all the
NOT" requirements defined in the specification. Conversely, an
implementation of the specification is compliant if it satisfies all the
"MUST", "MUST NOT", "REQUIRED", "SHALL", and "SHALL NOT" requirements defined in
the [specification][].
the specification.

## Versioning the Specification

Changes to the [specification](./specification/overview.md) are versioned according to [Semantic Versioning 2.0](https://semver.org/spec/v2.0.0.html) and described in [CHANGELOG.md](CHANGELOG.md). Layout changes are not versioned. Specific implementations of the specification should specify which version they implement.

## Project Naming

- The official project name is "FinOps Open Cost and Usage Specification"
- The official acronym used by the FinOps Open Cost and Usage Specification project is "FOCUS"
- While the official acronym includes the word "Specification", it is still acceptable to refer to this working groups output as the "FOCUS Specification"
- The official project name is "FinOps Open Cost and Usage Specification".
- The official acronym used by the FinOps Open Cost and Usage Specification project is "FOCUS".
- While the official acronym includes the word "Specification", it is still acceptable to refer to this working group's output as the "FOCUS Specification".

## About the project

See the [project repository](https://github.com/FinOps-Open-Cost-and-Usage-Spec/foundation) for information about the following, and more:

- [Project Charter](https://github.com/FinOps-Open-Cost-and-Usage-Spec/foundation/blob/main/FOCUS_-_Membership_Agreement_Package_for_use.pdf)
- [Operating Procedures](https://github.com/FinOps-Open-Cost-and-Usage-Spec/foundation/blob/main/operating_procedures.md)
- [Steering Committee](https://github.com/FinOps-Open-Cost-and-Usage-Spec/foundation/blob/main/steering_committee.md)
- [Release Planning](https://github.com/FinOps-Open-Cost-and-Usage-Spec/FOCUS_Spec/blob/working_draft/RELEASE-PLANNING.md)
- [Change / contribution process](https://github.com/FinOps-Open-Cost-and-Usage-Spec/foundation/blob/main/contributing.md)

5 changes: 4 additions & 1 deletion specification/columns/invoiceissuer.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
An Invoice Issuer is an entity responsible for invoicing for the [*resources*](#glossary:resource) or [*services*](#glossary:service) consumed. It is commonly
used for cost analysis and reporting scenarios.

The InvoiceIssuer column MUST be present in a [*FOCUS dataset*](#glossary:FOCUS-dataset). This column MUST be of type String and MUST NOT contain null values.
The InvoiceIssuer column adheres to the following requirements:

* The InvoiceIssuer column MUST be present in a [*FOCUS dataset*](#glossary:FOCUS-dataset).
* This column MUST be of type String and MUST NOT contain null values.

See [Appendix: Origination of cost data](#originationofcostdata) section for examples of [Provider](#provider), [Publisher](#publisher) and
Invoice Issuer values that can be used for various purchasing scenarios.
Expand Down
5 changes: 4 additions & 1 deletion specification/columns/provider.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

A Provider is an entity that makes the [*resources*](#glossary:resource) or [*services*](#glossary:service) available for purchase. It is commonly used for cost analysis and reporting scenarios.

The Provider column MUST be present in a [*FOCUS dataset*](#glossary:FOCUS-dataset). This column MUST be of type String and MUST NOT contain null values.
The Provider column adheres to the following requirements:

* The Provider column MUST be present in a [*FOCUS dataset*](#glossary:FOCUS-dataset).
* This column MUST be of type String and MUST NOT contain null values.

See [Appendix: Origination of cost data](#originationofcostdata) section for examples of Provider, Publisher and
Invoice Issuer values that can be used for various purchasing scenarios.
Expand Down
2 changes: 1 addition & 1 deletion specification/versions/candidate_release.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Version

v1.0 Candidate Release
v1.2 Candidate Release

| <span style="color:Red">&#x26A1; Warning</span> |
|:-------------------------------------------------------------------------------|
Expand Down
2 changes: 1 addition & 1 deletion specification/versions/main.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Version

Publication version 1.0
Publication version 1.2

Copyright © 2024 - FinOps Open Cost and Usage Specification (FOCUS) a Series of the Joint Development Foundation Projects, LLC. Linux Foundation [trademark](https://www.linuxfoundation.org/legal/trademarks), and document use rules apply.

Expand Down

0 comments on commit 8760f25

Please sign in to comment.