# What Is the Release Cycle of Apache OSSIE? Two-Stage Voting Explained

> Understand the Apache OSSIE release cycle. Discover the two-stage voting process involving PMC and Incubator PMC approvals for every release.

- Repository: [The Apache Software Foundation/ossie](https://github.com/apache/ossie)
- Tags: internals
- Published: 2026-07-23

---

**Apache OSSIE follows a community-driven, two-stage voting process rather than a fixed calendar schedule, requiring binding approvals from both the Project Management Committee and the Apache Incubator PMC before any release can be published.**

The Apache OSSIE (Open Source Software Identity and Entitlement) project, housed in the `apache/ossie` repository, operates under the Apache Incubator's governance model. Unlike projects with monthly or quarterly release trains, OSSIE's **release cycle** is demand-driven, occurring whenever the community achieves consensus through formal mailing list votes.

## The Two-Stage Voting Process

As documented in [`CONTRIBUTING.md`](https://github.com/apache/ossie/blob/main/CONTRIBUTING.md) (lines 55–63), the release cycle consists of two mandatory voting stages that must complete successfully before any artifacts can be published to official Apache channels.

### Stage One: PPMC Approval

The first voting stage begins when a release manager initiates a `[VOTE]` thread on the project’s development mailing list (`dev@ossie.apache.org`). According to the source file, this stage requires:

- At least **three binding +1 votes** from the Project Management Committee (PPMC)
- A net positive vote count (more +1 than -1 votes)

If these conditions are not met, the release candidate is rejected and the cycle restarts with a new build.

### Stage Two: IPMC Approval

Once the PPMC vote succeeds, the process moves to the second stage: a `[VOTE]` thread on the Apache Incubator mailing list (`general@incubator.apache.org`). As specified in [`CONTRIBUTING.md`](https://github.com/apache/ossie/blob/main/CONTRIBUTING.md) (lines 55–63), this stage demands:

- At least **three binding +1 votes** from the Incubator PMC (IPMC)

Only after securing approval from both committees can the release proceed to distribution.

## From Vote to Distribution: Release Production

After both voting stages pass, the release enters the production phase. The source release is built and distributed through official ASF channels, complying with the ASF Release Policy as noted in lines 64–66 of [`CONTRIBUTING.md`](https://github.com/apache/ossie/blob/main/CONTRIBUTING.md).

Because the **release cycle of Apache OSSIE** depends entirely on community voting rather than calendar dates, releases occur irregularly. The most recent documented release is version **0.1.1**, dated 2025-12-11, as recorded in lines 583–584 of [`core-spec/spec.md`](https://github.com/apache/ossie/blob/main/core-spec/spec.md).

## Checking Current and Past Releases

You can verify the current release status programmatically using the following methods.

### Using the OSSIE CLI

Install the official CLI to check the latest released version:

```bash

# Install the CLI (requires Go)

go install github.com/apache/ossie/cli@latest

# Show the current released version of the core specification

ossie version

```

### Reading the Specification File

To extract the version directly from the source repository:

```python
import yaml
from pathlib import Path

spec_path = Path(__file__).parent / "core-spec" / "spec.yaml"
with spec_path.open() as f:
    spec = yaml.safe_load(f)

# The 'version' field is the latest released version

print("Current OSSIE release:", spec.get("version"))

```

### Monitoring Voting Threads

You can programmatically check for active release votes via the mailing list archives:

```python
import requests
from bs4 import BeautifulSoup

# Fetch the most recent VOTE thread on the dev mailing list

url = "https://mail-archives.apache.org/mod_mbox/ossie-dev/"
page = requests.get(url).text
soup = BeautifulSoup(page, "html.parser")
vote_thread = soup.find("a", string=lambda s: s and "[VOTE]" in s)
print("Latest vote thread:", vote_thread["href"])

```

## Key Files in the Release Cycle

Several files in the `apache/ossie` repository define and track the release process:

- **[`CONTRIBUTING.md`](https://github.com/apache/ossie/blob/main/CONTRIBUTING.md)**: Contains the definitive two-stage voting requirements (lines 55–66) that govern the release cycle.
- **[`core-spec/spec.md`](https://github.com/apache/ossie/blob/main/core-spec/spec.md)**: Lists released versions such as **0.1.1** and tracks the current development version (lines 583–584).
- **[`core-spec/osi-schema.json`](https://github.com/apache/ossie/blob/main/core-spec/osi-schema.json)**: The machine-readable schema published with each release.
- **[`ROADMAP.md`](https://github.com/apache/ossie/blob/main/ROADMAP.md)**: Tracks planned milestones and features, though actual release timing depends on the voting process.

## Summary

- Apache OSSIE uses a **vote-driven release cycle** rather than a fixed calendar schedule.
- Releases require **two stages of approval**: first from the PPMC (three binding +1 votes), then from the IPMC (three binding +1 votes).
- The process is defined in **[`CONTRIBUTING.md`](https://github.com/apache/ossie/blob/main/CONTRIBUTING.md)** (lines 55–66) and complies with ASF Release Policy.
- The latest documented release is **0.1.1** (2025-12-11) per **[`core-spec/spec.md`](https://github.com/apache/ossie/blob/main/core-spec/spec.md)**.
- Releases are distributed through official ASF channels only after both voting stages complete successfully.

## Frequently Asked Questions

### How often does Apache OSSIE release new versions?

Apache OSSIE does not follow a monthly or quarterly release schedule. Because the **release cycle** depends on community voting and consensus-building on the mailing lists, releases occur whenever technical milestones are ready and both the PPMC and IPMC have granted approval via binding votes.

### Who can vote on an Apache OSSIE release?

The first voting stage accepts votes from any community member, but only **binding +1 votes** from PPMC (Project Management Committee) members count toward the required three approvals. The second stage similarly requires three binding +1 votes from the Incubator PMC (IPMC). Non-binding votes from contributors and users are welcome but do not satisfy the legal requirements.

### Where can I download official Apache OSSIE releases?

Official releases are distributed through Apache Software Foundation channels after passing both voting stages. You can verify the current version using the `ossie version` CLI command or by examining the `version` field in [`core-spec/spec.yaml`](https://github.com/apache/ossie/blob/main/core-spec/spec.yaml). Release artifacts are hosted on Apache distribution infrastructure, not solely on GitHub.

### What is the difference between a source release and the CLI tool?

A **source release** is the official artifact voted on by the PMCs, containing the full codebase, schemas, and documentation as defined in `core-spec/`. The **CLI tool** (`github.com/apache/ossie/cli`) is a Go-based utility that implements the specification; while it follows the same version numbers, installers like `go install` pull from the repository directly, whereas official source releases must be downloaded from Apache distribution mirrors after the voting process completes.