blob: ff54272a53451cd94fd4483f315f8a441ea0aa41 [file] [view]
<!---
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
# Community
Apache Ranger is developed by a volunteer community under the Apache Software Foundation (ASF). Anyone can
use the software, ask questions, report bugs, propose changes and, over time, earn a vote in how the project
is run. This page lists where the community meets, how decisions are made, and the policies the project
commits to.
If you have a question about running Ranger, start on the user mailing list or Slack. If you want to change
Ranger, read [Contributing](contributing.md).
## Mailing lists
Mailing lists are the official channel: decisions, votes and release announcements happen here, and the
archives are the project's record. Subscribe by sending an empty email to the subscribe address, then reply to
the confirmation mail.
| List | Purpose | Subscribe | Unsubscribe | Archive |
|---|---|---|---|---|
| `user@ranger.apache.org` | Questions about installing, configuring and using Ranger | `user-subscribe@ranger.apache.org` | `user-unsubscribe@ranger.apache.org` | [lists.apache.org](https://lists.apache.org/list.html?user@ranger.apache.org) |
| `dev@ranger.apache.org` | Design discussions, JIRA and PR notifications, release votes | `dev-subscribe@ranger.apache.org` | `dev-unsubscribe@ranger.apache.org` | [lists.apache.org](https://lists.apache.org/list.html?dev@ranger.apache.org) |
| `commits@ranger.apache.org` | Notifications for every commit to the repository | `commits-subscribe@ranger.apache.org` | `commits-unsubscribe@ranger.apache.org` | [lists.apache.org](https://lists.apache.org/list.html?commits@ranger.apache.org) |
Tips for a useful post:
- Include the Ranger version, the component (Admin, UserSync, a specific plugin), the relevant configuration
and the exact log messages.
- Search the archive first; many questions have been answered before.
- Do not post security vulnerabilities to any list. See [Security](security.md).
## Chat
The community also uses a Ranger channel in the ASF Slack workspace:
<https://the-asf.slack.com/archives/C4SC5NXAA>. Committers can join with their `@apache.org` address;
if you do not have one, ask for an invitation on the dev list. Slack is good for quick questions, but anything that affects
the project (designs, decisions) should be brought to the dev list so it is archived.
## Issue tracking
Bugs, improvements and new features are tracked in the `RANGER` project in Apache JIRA:
<https://issues.apache.org/jira/browse/RANGER>. You need an Apache JIRA account to file issues; new users can
request one from the [self-service page](https://selfserve.apache.org/jira-account.html).
When filing a bug, include: the Ranger version, the affected component, steps to reproduce, expected and actual
behavior, and relevant log excerpts. Every code change is tied to a JIRA id (`RANGER-XXXX`), which appears in
the commit message and the pull request title.
## Source code and CI
- Repository: <https://github.com/apache/ranger> (canonical ASF mirror at
`https://gitbox.apache.org/repos/asf/ranger.git`)
- Pull requests: <https://github.com/apache/ranger/pulls>
- CI: GitHub Actions workflows in
[`.github/workflows`](https://github.com/apache/ranger/tree/master/.github/workflows) run the build, unit
tests and Docker smoke tests on every push and pull request; the project also has a Jenkins job at
<https://ci-builds.apache.org/job/Ranger>.
## Project team
The Project Management Committee (PMC) and committers are listed on the ASF projects site:
<https://projects.apache.org/committee.html?ranger>.
| Role | What it means |
|---|---|
| Contributor | Anyone who files issues, answers questions, writes docs or submits patches. No account beyond JIRA/GitHub needed. |
| Committer | Has write access to the repository and merges reviewed contributions. Committers are invited by the PMC based on sustained, quality contributions and sign an Individual Contributor License Agreement (ICLA). |
| PMC member | Votes on releases and on adding committers and PMC members, and is responsible for project oversight. PMC members are elected from the committers. |
| PMC chair | The project's Vice President, who reports to the ASF board. |
Committers and PMC members are added by a vote on the PMC's private list, following the same process for every
candidate. Contributions of any kind, not only code, count toward being invited.
## How decisions are made
Ranger follows [The Apache Way](https://www.apache.org/theapacheway/):
- All important discussions happen in writing on `dev@ranger.apache.org`, so anyone can take part and the
reasoning is archived. Decisions taken elsewhere (Slack, meetings) are brought back to the list.
- Most decisions are made by consensus. Where discussion is not enough, the project uses the standard
[ASF voting rules](https://www.apache.org/foundation/voting.html): `+1`, `0`, `-1`. Vetoes apply only to code
changes and must be backed by a technical justification.
- Releases need at least three binding `+1` votes from PMC members and more `+1` than `-1` votes. Anyone can
test a release candidate and cast a non-binding vote; see [Voting on a release](contributing.md#voting-on-a-release).
- Contributors act as individuals, not as representatives of their employer. The project is independent of any
vendor.
## Project maturity
Ranger tracks itself against the
[Apache Project Maturity Model](https://community.apache.org/apache-way/apache-project-maturity-model.html).
The self-assessment on the [cwiki](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=66850011)
was written during incubation; the substance still holds and is summarized here.
| Area | How Ranger meets it |
|---|---|
| Code | Released under the Apache License 2.0; source in a public git repository with full history; every release is tagged; reproducible Maven build; provenance of every change is established through authenticated commits and JIRA-linked commit messages. |
| Licenses and copyright | Dependencies are limited to ASF Category A/B licenses and reviewed in release votes; `LICENSE` and `NOTICE` files ship in source and binary distributions; all committers have an ICLA on file; code donations have a Software Grant Agreement. |
| Releases | Releases are source releases in standard archive formats, signed with the release manager's PGP key and accompanied by SHA-256/SHA-512 digests, approved by PMC vote. Convenience binaries and Docker images are provided but are not the official release. The [release process](release-process.md) is documented and has been followed by different release managers. |
| Quality | Bugs are tracked openly in JIRA; security is a stated priority with a private reporting channel ([Security](security.md)); backward compatibility is a documented policy (below); the project aims to respond to bug reports promptly. |
| Community | Public homepage linking to source, JIRA, lists and docs; newcomers are welcomed on the lists; contributions of all kinds are recognized; committers and PMC members are added through a documented, uniform process; user questions are usually answered within hours. |
| Consensus building | The list of PMC members is public; decisions are made by consensus on the dev list and documented there; standard ASF voting rules apply; vetoes are rare and must be technically justified. |
| Independence | The project is independent of any corporate influence; contributors act as themselves. |
## Backward compatibility
Ranger commits to backward compatibility across releases in two areas:
- **Public REST APIs.** The public APIs under `service/public/v2/api/...` for service definitions, services,
policies and related objects remain backward compatible: clients written against an earlier release keep
working against a newer Ranger Admin. New fields may be added; existing fields and semantics are not removed
or changed.
- **Policy authoring.** Policies created in an earlier release continue to be valid and to evaluate the same way
after an upgrade. New policy features (for example row filters, data masking, deny and exception items,
validity schedules, conditions) are additive; existing policies do not need to be rewritten.
Changes that cannot be made compatibly are discussed on the dev list and called out in the
[release notes](../release-notes/index.md). Database schema changes are handled by the versioned patches
applied at upgrade time, so an existing policy store is
migrated in place.
## Roadmap
Ranger does not maintain a separate roadmap document. Planned work is visible as:
- open JIRA issues of type *New Feature* and *Improvement* in the
[RANGER project](https://issues.apache.org/jira/browse/RANGER), including their target fix versions;
- design discussions and `[DISCUSS]` threads on the dev list;
- the highlights of each release in the [release notes](../release-notes/index.md).
If you want to influence the roadmap, file a JIRA describing the use case and start a thread on the dev list.
## Project history
Ranger joined the Apache Incubator in 2014 and is now an Apache Top-Level Project. Release announcements are
posted on the user and dev lists; the highlights below are taken from the project news archive.
| Date | Release | Highlights |
|---|---|---|
| 2014-11-17 | 0.4.0 | First Apache release: centralized authorization and audit for HDFS, HiveServer2, HBase, Knox and Storm. |
| 2015-06-10 | 0.5.0 | Adds YARN, Kafka and Solr support. |
| 2016-01-26 | 0.5.1 | Maintenance release. |
| 2016-02-29 | 0.5.2 | Maintenance release. |
| 2023-03-29 | 2.4.0 | Fine-grained access control over nested structures; upgraded HBase support; security fixes. |
| 2024-08-08 | 2.5.0 | New React-based UI; performance improvements; HA for UserSync and TagSync; roles as security-zone admins and auditors. |
| 2025-02-15 | 2.6.0 | Policy evaluation performance improvements; TagSync support for Ozone resources; validity schedules as a policy-item condition. |
| 2025-07-30 | 2.7.0 | Improved Docker setup scripts; audit module refactoring for fewer dependencies; service configuration UI for service admins and super users. |
| 2026-03-01 | 2.8.0 | `authz-api` and `authz-embedded` modules; service-managed ACLs (inline policies); Kerberos in the Docker setup; plugins no longer depend on `hadoop-common`; JWT authentication between plugins and Ranger Admin. |
| 2026-08-08 | 2.9.0 | Latest release; see the [release notes](../release-notes/2.9.0.md). |
Releases between 0.5.2 and 2.4.0 are summarized in [1.x and older](../release-notes/1.x-and-older.md) and the
per-version pages under [Releases](../release-notes/index.md).
## Further reading
- [Contributing](contributing.md)
- [Security](security.md)
- [ASF index](asf-index.md): links to the foundation, sponsorship and licensing pages.
- [Apache Community Development](https://community.apache.org/)