Contributing to Apache Ossie (incubating)

Thank you for your interest in contributing to Apache Ossie! We welcome contributions from everyone — whether you are a developer, a data engineer, a BI analyst, or simply someone interested in the future of semantic interoperability.

Apache Ossie was formerly known as Open Semantic Interchange (OSI).

Apache Ossie is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. See the DISCLAIMER for details.

Apache Ossie is governed by The Apache Way, the ASF's collection of principles and practices for building open, vendor-neutral communities. If you are new to the ASF, the Apache Incubator and the ASF New Committers guide are good starting points.

Ways to Contribute

  • Specification Feedback: Review proposed specification changes and share your perspective on the mailing list, GitHub pull requests, and issues.
  • Use Case Discussions: Share how your organization uses semantic models and what challenges you face — this helps shape the specification to address real-world needs.
  • Code Contributions: Contribute to validation tooling, converters, examples, or any other part of the project.
  • Documentation: Help improve and expand the project documentation.
  • Community Support: Answer questions, participate in discussions, and help onboard new contributors.

Communication

At the ASF, the mailing lists are the primary channel for the project. Consensus is built and decisions are recorded on the lists, so please bring discussions there. A guiding principle of the Apache Way is: if it didn‘t happen on the mailing list, it didn’t happen.

  • dev@ossie.apache.org — development and community discussion. Subscribe by emailing dev-subscribe@ossie.apache.org, then browse the archives.
  • commits@ossie.apache.org — automated notifications for commits, pull requests. Subscribe via commits-subscribe@ossie.apache.org.
  • issues@ossie.apache.org — automated notifications for issues. Subscribe via issues-subscribe@ossie.apache.org.
  • private@ossie.apache.org — the Podling Project Management Committee (PPMC) private list, used only for confidential matters such as committer nominations.

Secondary, less formal channels (never a substitute for the lists when a decision is being made):

Getting Started

  1. Subscribe to the dev list: Email dev-subscribe@ossie.apache.org and introduce yourself.
  2. Read the Specification: Familiarize yourself with the core specification to understand the semantic model format.
  3. Explore the Examples: Review the TPC-DS example to see a complete semantic model in practice.
  4. Find something to work on: Browse the issues, or raise a topic on the dev list.
  5. Submit a Pull Request: Fork the repository, make your changes, and submit a pull request. All contributions go through the review process described below.

Contributor License Agreement (ICLA)

All contributions to Apache Ossie are made under the Apache License 2.0. By submitting a pull request or patch, you agree that your contribution is licensed under those terms (see Section 5 of the license).

Before your first non-trivial contribution can be merged, and always before you are granted commit access, you must have an Individual Contributor License Agreement (ICLA) on file with the ASF. If you are contributing on behalf of your employer, a Corporate CLA (CCLA) may also be required. Please keep individual commits signed off and attributed to the correct author so that provenance is clear.

Contribution Workflow

The project's canonical repository is hosted at github.com/apache/ossie, mirrored from ASF infrastructure (GitBox).

Code, Documentation, and Tooling

Non-specification contributions (bug fixes, tooling, documentation, converters, examples) follow standard GitHub pull request review:

  1. Open an issue or start a thread on dev@ for anything non-trivial, so the approach can be discussed before significant work begins.
  2. Fork the repository and create a topic branch for your change.
  3. Submit a pull request with a clear description of the motivation and the change.
  4. A committer reviews and merges once the change has at least one +1 from a committer and no unresolved -1. The project follows a review-then-commit (RTC) model: changes are merged after review rather than committed first.

Specification Changes

Changes to the Apache Ossie specification carry a higher bar and follow a structured process:

  1. Proposal: Announce the proposal on dev@ossie.apache.org and open a GitHub pull request with a clear description of the motivation, the change itself, and its impact on existing implementations.
  2. Discussion period: The community has a minimum of 7 days (72 hours for a formal [VOTE]) to review and discuss. Complex changes may require a longer review window.
  3. Vote: Once discussion has settled, a [VOTE] thread is called on the dev list. See Decision Making and Voting below.

Decision Making and Voting

Apache Ossie strives for lazy consensus — proceeding when no one objects — and falls back to a formal vote when consensus cannot be reached. Votes happen on dev@ossie.apache.org so they are publicly recorded. Voters express:

  • +1: In favor.
  • 0: Abstain / no strong opinion.
  • -1: Against. For code and specification changes this is a veto and must be accompanied by a technical justification; a valid veto can only be resolved by addressing the stated concern.

Conventions:

  • Code and other changes pass by lazy consensus: at least one binding +1 and no vetoes.
  • Specification changes require at least three binding +1 votes and no vetoes.
  • Committer and PPMC nominations are held on the private list and pass by lazy consensus (no -1 within 72 hours).
  • Procedural votes (e.g. adopting a policy) pass by simple majority and cannot be vetoed.

Binding votes on the podling are cast by PPMC members. Everyone is encouraged to vote; non-binding votes are valued input that informs the outcome.

Releases

As an incubating project, every release is approved in two stages:

  1. A [VOTE] on dev@ossie.apache.org that passes with at least three binding +1 votes from the PPMC and more +1 than -1 votes.
  2. A second [VOTE] on general@incubator.apache.org that passes with at least three binding +1 votes from the Incubator PMC (IPMC).

Releases are source releases distributed through official ASF channels and must comply with ASF release policy.

Community Values — The Apache Way

Apache Ossie follows The Apache Way, built on these principles:

  • Community over code: A healthy, welcoming community is the project's most important asset.
  • Meritocracy: Merit is based on contribution and never expires. Any constructive contribution earns merit — code, documentation, testing, community support, and specification reviews all count.
  • Peer-based: Every participant is treated as a peer regardless of employer affiliation or seniority. Decisions are made by the community, not by any single company or individual.
  • Consensus decision making: We strive for consensus in all decisions. When full consensus cannot be reached, a formal vote may be called.
  • Open Communications: Technical discussions, design decisions, and specification changes happen in the open on the mailing lists and other public resources. Decisions are made asynchronously so contributors in every timezone can take part.
  • Responsible oversight: The community collectively ensures the specification and tooling remain high quality, secure, and aligned with the project's mission.
  • Vendor neutrality: The project operates independently of any single vendor or organization.

Roles and Responsibilities

Contributors

Anyone who contributes to the project in any form — code, documentation, bug reports, specification feedback, or community support. Contributors are encouraged to participate in all discussions and votes; contributor votes are non-binding but valued.

Committers

Contributors who have earned write access to the repository through sustained, high-quality contributions. Committers review and merge pull requests and have binding votes on the project's technical decisions. All committers must have an ICLA on file.

Podling Project Management Committee (PPMC)

The PPMC is responsible for the overall direction and health of the podling — technical direction, community growth, and oversight of releases. PPMC members' votes are binding. During incubation, PPMC members work alongside the project‘s mentors and, upon graduation, the PPMC becomes the project’s PMC.

Mentors

Experienced ASF members assigned by the Incubator to guide the podling through the incubation process. Mentors are PPMC members who help the community learn the Apache Way, and they shepherd release votes to the Incubator PMC.

Incubator PMC (IPMC)

The Apache Incubator PMC provides oversight for all podlings, including approving releases and reviewing quarterly podling reports until the project graduates to a top-level project.

Becoming a Committer

Committership is earned through sustained contribution to the project. There is no fixed formula — the community recognizes contributors who demonstrate consistent, high-quality involvement over time.

What counts

Committer candidacy is based on the breadth and quality of your contributions across any of these areas:

  • Code contributions (converters, validation tooling, examples, tests)
  • Specification feedback and review participation
  • Documentation improvements
  • Community support (answering questions, helping onboard others, discussion on the lists)
  • Working group participation

The process

  1. Any PPMC member may nominate a contributor by starting a discussion on the private list (private@ossie.apache.org).
  2. The nomination includes a summary of the candidate's contributions and a rationale for committer status.
  3. The PPMC discusses and votes. A nomination passes by lazy consensus — if no -1 votes are received within 72 hours.
  4. If the vote passes, the candidate is invited to become a committer. Once they accept and their ICLA is on file, their Apache account is set up and write access is granted.
  5. The new committer is announced to the community and listed in the project documentation.

There is no minimum time requirement. What matters is the quality, consistency, and impact of your contributions. Contributors who show sound judgment and help grow the community may also be invited to join the PPMC.

Code of Conduct

All participants in the Apache Ossie community are expected to follow the Apache Software Foundation Code of Conduct. We are committed to providing a welcoming and inclusive environment for everyone, regardless of background or experience level. Concerns may be raised privately with the PPMC (private@ossie.apache.org) or, for foundation-level matters, with the ASF per the linked policy.

Trademarks

Apache Ossie, Ossie, Apache, the Apache feather logo, and the Apache Ossie project logo are trademarks of The Apache Software Foundation. Please review the ASF trademark policy before using any of these marks.

License

All content in this repository — including code, specification, and documentation — is licensed under the Apache License 2.0.

By submitting a contribution, you agree that your contribution will be licensed under the same terms, as described in the Contributor License Agreement section above.