+1 Casbin provides access control solutions and has an active user community. As a project mentor, I am delighted to see the project enter the ASF Incubator and look forward to its incubation journey.
Best, Huajie Wang hulk <[email protected]> 于2026年1月28日周三 15:19写道: > +1 > > Casbin has been adopted by many open-source projects. Bringing it into the > Apache Incubator > would benefit many companies and developers. Looking forward to > incubating this project. > > On Mon, 26 Jan 2026 at 19:03, tison <[email protected]> wrote: > > > Hi IPMC, > > > > I would like to propose Casbin[1] as a new Apache Incubator project, you > > can find the proposal of Casbin [2] for more details. > > > > [1] https://github.com/casbin/casbin > > [2] > https://cwiki.apache.org/confluence/display/INCUBATOR/Casbin+Proposal > > > > I'm acting as the champion, and we have 5 mentors (including me) so far. > > > > Full Context inlined for easy reading below. > > > > Casbin Proposal > > Abstract > > Casbin is a powerful, open-source access control framework that > > provides a unified, model-driven approach to authorization. Through > > its domain-specific language (DSL), Casbin seamlessly integrates ACL, > > RBAC, and ABAC models, enabling flexible and fine-grained policy > > management. It delivers high-performance access control enforcement > > and offers a broad multi-language ecosystem, including Go, Java, > > Node.js, JavaScript, Python, .NET, C++, and Rust. > > > > Proposal > > Casbin is an open-source access control library. The core idea is > > simple: pull authorization logic out of your code and put it into > > configuration files/databases. > > 1. Various access control models > > Casbin uses the PERM metamodel (Policy, Effect, Request, Matchers). > > You write a .conf model file and a policy file, and you get ACL, RBAC, > > ABAC, ReBAC, or other access control models as required. Changing your > > permission model is just editing config—no code changes required. You > > can even mix RBAC roles with ABAC attributes in the same policy. > > 2. Multi-language support > > Casbin has native implementations in multiple languages—Go, Java, > > Python, Node.js, Rust, C++, .NET, Ruby, and more—with consistent APIs > > across all of them. Teams working across different stacks can share a > > common understanding of how permissions work without having to hunt > > for a separate authorization solution for each language. > > 3. Middlewares > > Policies can live in memory, in files, or across dozens of backends > > (MySQL, PostgreSQL, MongoDB, Redis, etc.) via adapters. Role > > management integrates with enterprise identity providers like LDAP, > > Okta, and Auth0. For multi-instance deployments, the Watcher mechanism > > keeps policies in sync. There's also an online editor for debugging > > models and policies. > > 4. Performance > > Policy evaluation happens in memory with predictable latency. In > > large-scale multi-tenant scenarios, filtered loading lets you load > > only the policies you need, rather than the entire set. > > Casbin was originally built for cloud-native and microservice > > architectures. It's now running in production at many internet > > companies, SaaS products, and internal platforms. The decision to > > donate Casbin to the ASF was made through a community vote: > > https://github.com/casbin/casbin/issues/1625. We believe bringing > > Casbin into the Apache Incubator would add valuable diversity to the > > community. > > Background > > Casbin is being developed by an open-source community from day one > > under the Apache License 2.0. The project was launched in April 2017. > > > > Rationale > > > > Casbin provides a unified authorization and access control abstraction > > layer that simplifies integrating different access control models and > > policy backends. In addition, Casbin offers advanced authorization > > capabilities, including fine-grained policy management, pluggable > > extensions (adapters, role managers, watchers, effectors), and a rich > > ecosystem of tools for policy editing and administration. Casbin > > enables you to define authorization rules once and apply them > > consistently across multiple languages, frameworks, and systems. > > > > Initial Goals > > > > Build a more diverse community by attracting more contributors. > > Promote the adoption and integration of Casbin by ensuring its > > neutrality and sustainability. > > Gather more user feedback and become one of the standard > > implementations of access control interfaces. > > Current Status > > Meritocracy > > > > Casbin was developed by Yang Luo at Peking University in 2017. Zixuan > > Liu, the maintainer of the Node.js version, joined later, and in 2020, > > Zihui Liu, the maintainer of the JavaScript version, also joined. > > Afterwards, many developers became core contributors. > > > > Since it was open-sourced, Casbin has attracted strong interest from > > both companies and individual developers. We will continue to support > > new contributors, and those who submit high-quality contributions will > > be invited to become committers. The Casbin project is being donated > > to the Apache Software Foundation by Yang Luo in an individual > > capacity. Yang Luo, as the original creator, will sign the SGA to > > formally transfer the intellectual property rights to the ASF. > > > > Community > > Contributors: 152 > > See: https://github.com/casbin/casbin/graphs/contributors > > > > Users: > > Argo CD: Declarative Continuous Deployment for Kubernetes > > OpenShift: The developer and operations-friendly Kubernetes distro > > Apache Pulsar: Distributed pub-sub messaging system > > Apache APISIX: The Cloud-Native API Gateway and AI Gateway > > Casdoor: Identity and Access Management platform > > Harbor: An open source, trusted cloud native registry project that > > stores, signs, and scans content > > Skydive: An open source real-time network topology and protocols analyzer > > Core Developers > > The core developers are all experienced open-source developers. They > > have been running the Casbin community for over eight years. > > > > Alignment > > Casbin works well with Pulsar, APISIX, and many other ASF projects. > > The Casbin codebase is already under the Apache License 2.0. > > > > Known Risks > > Project Name > > We have checked and consider the name appropriate, and the project is > > entitled to continue using its current name. The current project lead, > > Yang Luo, has registered the “Casbin” trademark and will donate it to > > the ASF. > > > > Orphan Products > > Casbin is already being used by many companies and open-source > > communities globally. The current developers will continue to improve > > the project to better support current and future needs. > > > > Inexperience with Open Source > > Casbin's core developers are all experienced open-source contributors, > > and its primary maintainer, Yang Luo, has 12 years of open-source > > experience, having worked on projects including Nmap, Npcap, Casdoor, > > and others. > > > > Length of Incubation > > Expect to enter incubation in two months and graduate in about two years. > > > > Homogenous Developers > > Casbin developers come from a variety of backgrounds and contribute to > > the project for different use cases. > > > > Reliance on Salaried Developers > > Most core contributors to Casbin are not salaried for their work on > > the project; they contribute in their spare time out of personal > > interest and commitment to open source. Some new contributors may > > receive modest financial support through community beginner programs, > > but this is limited and optional. Going forward, we plan to attract > > more contributors from diverse organizations and backgrounds to > > further distribute responsibility and reduce any potential dependency > > on a small group of individuals. > > > > Relationships with Other Apache Products > > Casbin can be integrated with Apache projects to provide unified > > authorization: > > Pulsar: Apache Pulsar uses Casbin to implement RBAC authorization on > > tenants, namespaces, and topics. > > APISIX: Apache APISIX provides the `authz-casbin` plugin to enforce > > ACL/RBAC/ABAC policies on API requests. > > An Excessive Fascination with the Apache Brand > > We believe that the Apache Way and its neutrality, which goes beyond > > branding alone, will help the development of Casbin. As a fundamental > > software function, authorization is better served by a > > community-driven foundational library. In the long run, a neutral > > organization is more beneficial to the community than a single > > company. > > > > Documentation > > The Casbin documentation is available at https://casbin.org/. Casbin’s > > documentation is self-contained; all its current and historical > > versions are available at https://github.com/casbin/casbin-website-v2. > > > > Initial Source > > The project currently holds several GitHub organizations as follows. > > All the repos under the following GitHub organizations will be > > migrated to Apache. > > https://github.com/casbin > > https://github.com/jcasbin > > https://github.com/node-casbin > > https://github.com/officialpycasbin > > https://github.com/casbin-net > > https://github.com/casbin-rs > > https://github.com/casbin-cpp > > https://github.com/casbin-js > > https://github.com/SwiftCasbin > > https://github.com/casbin-lua > > https://github.com/dart-casbin > > > > Source and Intellectual Property Submission Plan > > External Dependencies > > 1. Golang (https://github.com/casbin/casbin) > > MIT > > doublestar:v4.6.1 > > govaluate:v1.3.0 > > BSD-3-Clause > > uuid:v1.6.0 > > > > > > 2. Java (https://github.com/casbin/jcasbin) > > Apache-2.0 > > com.fasterxml.jackson.core:jackson-databind:2.18.1 > > com.github.seancfoley:ipaddress:5.5.1 > > com.google.code.gson:gson:2.11.0 > > commons-io:commons-io:2.17.0 > > io.github.aviatorscript:aviator:5.9.0 > > org.apache.commons:commons-csv:1.12.0 > > org.apache.maven.plugins:maven-gpg-plugin:3.2.7 > > org.apache.maven.plugins:maven-surefire-plugin:3.2.5 > > org.codehaus.mojo:cobertura-maven-plugin:2.7 > > org.sonatype.central:central-publishing-maven-plugin:0.6.0 > > org.testng:testng:7.4.0 > > org.apache.maven.plugins:maven-compiler-plugin > > org.apache.maven.plugins:maven-source-plugin > > org.apache.maven.plugins:maven-javadoc-plugin:3.11.1 > > MIT > > org.eluder.coveralls:coveralls-maven-plugin:4.3.0 > > org.mockito:mockito-inline:4.11.0 > > org.slf4j:slf4j-api:2.0.16 > > org.slf4j:slf4j-simple:2.0.16 > > > > 3. Node.js (https://github.com/casbin/node-casbin) > > Apache-2.0 > > @casbin/expression-eval:5.3.0 > > MIT > > @semantic-release/changelog:5.0.1 > > @semantic-release/commit-analyzer:8.0.1 > > @semantic-release/git:9.0.0 > > @semantic-release/github:7.2.3 > > @semantic-release/npm:7.1.3 > > @semantic-release/release-notes-generator:9.0.3 > > @types/jest:26.0.23 > > @types/node:10.17.59 > > @types/picomatch:2.2.2 > > @typescript-eslint/eslint-plugin:4.22.0 > > await-lock:2.1.0 > > buffer:6.0.3 > > csv-parse:5.5.6 > > cz-conventional-changelog:3.3.0 > > eslint:7.25.0 > > eslint-config-prettier:6.15.0 > > eslint-plugin-prettier:3.4.0 > > BSD-2-Clause > > @typescript-eslint/parser:4.22.0 > > coveralls:3.1.0 > > > > 4. Python (https://github.com/casbin/pycasbin) > > BSD-2-Clause > > pytest-benchmark:5.1.0 > > MIT > > black:25.1.0 > > pytest:8.4.1 > > simpleeval:1.0.3 > > wcmatch:10.1 > > > > 5. .NET (https://github.com/casbin/Casbin.NET) > > MIT > > DynamicExpresso.Core:2.16.1 > > Microsoft.Extensions.Configuration.Ini:9.0.0-preview.4.24266.19 > > Microsoft.Extensions.Logging:9.0.0-preview.4.24266.19 > > > > Apache-2.0 > > CsvHelper:32.0.3 > > > > 6. Rust (https://github.com/casbin/casbin-rs) > > MIT | Apache-2.0 > > async-std > > async-trait > > criterion > > fixedbitset > > getrandom > > globset > > hashlink > > ip_network > > mini-moka > > once_cell > > parking_lot > > petgraph > > regex > > rhai > > serde > > serde_json > > slog > > slog-async > > slog-term > > thiserror > > tokio > > tokio-stream > > wasm-bindgen-test > > > > 7. C++ (https://github.com/casbin/casbin-cpp) > > No dependency > > > > 8. Javascript (https://github.com/casbin/casbin.js) > > Apache-2.0 > > casbin-core:0.0.0-beta.2 > > typescript:5.9.3 > > MIT > > @babel/core:7.28.4 > > @babel/plugin-proposal-optional-chaining:7.21.0 > > @babel/preset-env:7.28.3 > > @types/express:4.17.0 > > @types/jest:29.5.14 > > @types/js-cookie:2.2.7 > > @typescript-eslint/eslint-plugin:4.33.0 > > axios:0.21.4 > > babel-loader:10.0.0 > > clean-webpack-plugin:3.0.0 > > eslint:7.32.0 > > eslint-config-prettier:6.15.0 > > express:4.17.0 > > html-webpack-plugin:4.5.2 > > jest:29.7.0 > > jest-environment-jsdom:29.7.0 > > js-cookie:2.2.1 > > npm-run-all:4.1.5 > > prettier:2.8.8 > > ts-jest:29.4.5 > > ts-loader:9.5.4 > > tslint-config-prettier:1.18.0 > > webpack:5.102.1 > > webpack-cli:4.10.0 > > webpack-dev-server:3.11.3 > > webpack-merge:5.10.0 > > BSD-2-Clause > > @typescript-eslint/parser:3.10.1 > > ISC > > rimraf:3.0.2 > > > > 9. Swift (https://github.com/casbin/SwiftCasbin) > > Apache-2.0 > > swift-log:1.0.0 > > swift-nio:2.0.0 > > swift-nio-transport-services:1.5.1 > > MIT > > Expression:0.13.0 > > Regex:2.1.0 > > > > 10. Lua (https://github.com/casbin/lua-casbin) > > MIT > > lua >= 5.1 > > lualogging >= 1.5.1 > > lrexlib-pcre2 >= 2.9.2 > > luaposix = 35.1-1 > > > > 11. Dart (https://github.com/casbin/dart-casbin) > > MIT > > expressions: >= 0.2.2, < 0.3.0 > > BSD-3-Clause > > collection: >= 1.15.0, < 2.0.0 > > quiver: >= 3.0.1, < 4.0.0 > > lints: >= 5.1.0, < 6.0.0 > > test: >= 1.16.7, < 2.0.0 > > > > 12. Elixir (https://github.com/casbin/casbin-ex) > > Apache-2.0 > > ecto_sql:3.10 > > credo:1.7 > > ex_doc > > MIT > > git_hooks:0.7.3 > > > > Cryptography > > N/A > > > > Required Resources > > Mailing Lists > > [email protected] > > [email protected] > > [email protected] > > [email protected] > > [email protected] > > Subversion Directory > > N/A > > > > Git Repositories > > From https://github.com/casbin/casbin > > https://gitbox.apache.org/asf/repos/casbin > > https://github.com/apache/casbin > > > > From https://github.com/casbin/jcasbin > > https://gitbox.apache.org/asf/repos/casbin-jcasbin > > https://github.com/apache/jcasbin > > > > From https://github.com/casbin/node-casbin > > https://gitbox.apache.org/asf/repos/casbin-node-casbin > > https://github.com/apache/node-casbin > > > > From https://github.com/casbin/pycasbin > > https://gitbox.apache.org/asf/repos/casbin-pycasbin > > https://github.com/apache/pycasbin > > > > From https://github.com/casbin/Casbin.NET > > https://gitbox.apache.org/asf/repos/casbin-Casbin.NET > > https://github.com/apache/Casbin.NET > > > > From https://github.com/casbin/casbin-rs > > https://gitbox.apache.org/asf/repos/casbin-rs > > https://github.com/apache/casbin-rs > > > > From https://github.com/casbin/casbin-cpp > > https://gitbox.apache.org/asf/repos/casbin-cpp > > https://github.com/apache/casbin-cpp > > > > From https://github.com/casbin/casbin.js > > https://gitbox.apache.org/asf/repos/casbin.js > > https://github.com/apache/casbin.js > > > > From https://github.com/casbin/SwiftCasbin > > https://gitbox.apache.org/asf/repos/casbin-SwiftCasbin > > https://github.com/apache/SwiftCasbin > > > > From https://github.com/casbin/lua-casbin > > https://gitbox.apache.org/asf/repos/casbin-lua-casbin > > https://github.com/apache/lua-casbin > > > > From https://github.com/casbin/dart-casbin > > https://gitbox.apache.org/asf/repos/casbin-dart-casbin > > https://github.com/apache/dart-casbin > > > > From https://github.com/casbin/casbin-ex > > https://gitbox.apache.org/asf/repos/casbin-ex > > https://github.com/apache/casbin-ex > > > > From https://github.com/casbin/casbin-website-v2 > > https://gitbox.apache.org/asf/repos/casbin-website-v2 > > https://github.com/apache/casbin-website-v2 > > > > From https://github.com/casbin/casbin.io > > https://gitbox.apache.org/asf/repos/casbin.io > > https://github.com/apache/casbin.io > > > > From https://github.com/casbin/casbin-editor > > https://gitbox.apache.org/asf/repos/casbin-editor > > https://github.com/apache/casbin-editor > > > > From https://github.com/casbin/casbin-server > > https://gitbox.apache.org/asf/repos/casbin-server > > https://github.com/apache/casbin-server > > > > For all other non-core repos (like plugins, examples, etc.) in > > different organizations: > > From https://github.com/casbin/* > > https://gitbox.apache.org/asf/repos/casbin-* > > https://github.com/apache/casbin-* > > > > From https://github.com/jcasbin/* > > https://gitbox.apache.org/asf/repos/casbin-jcasbin-* > > https://github.com/apache/jcasbin-* > > > > From https://github.com/node-casbin/* > > https://gitbox.apache.org/asf/repos/casbin-node-casbin-* > > https://github.com/apache/node-casbin-* > > > > From https://github.com/officialpycasbin/* > > https://gitbox.apache.org/asf/repos/casbin-pycasbin-* > > https://github.com/apache/pycasbin-* > > > > From https://github.com/casbin-net/* > > https://gitbox.apache.org/asf/repos/casbin-net-* > > https://github.com/apache/casbin-net-* > > > > From https://github.com/casbin-rs/* > > https://gitbox.apache.org/asf/repos/casbin-rs-* > > https://github.com/apache/casbin-rs-* > > > > From https://github.com/casbin-cpp/* > > https://gitbox.apache.org/asf/repos/casbin-cpp-* > > https://github.com/apache/casbin-cpp-* > > > > From https://github.com/casbin-js/* > > https://gitbox.apache.org/asf/repos/casbin-js-* > > https://github.com/apache/casbin-js-* > > > > From https://github.com/SwiftCasbin/* > > https://gitbox.apache.org/asf/repos/casbin-SwiftCasbin-* > > https://github.com/apache/SwiftCasbin-* > > > > From https://github.com/casbin-lua/* > > https://gitbox.apache.org/asf/repos/casbin-lua-* > > https://github.com/apache/casbin-lua-* > > > > From https://github.com/dart-casbin/* > > https://gitbox.apache.org/asf/repos/casbin-dart-casbin-* > > https://github.com/apache/dart-casbin-* > > > > Issue Tracking > > The community would like to continue using GitHub Issues. > > > > Other Resources > > The community has already chosen GitHub Actions as its continuous > > integration tool. > > > > Initial Committers > > Yang Luo [[email protected], Peking University] > > Zixuan Liu [[email protected], AscentStream] > > Zihui Liu [[email protected], Tencent] > > Xianhe Tang [[email protected], Xiaomi] > > Hongyang Shi [[email protected], Baidu] > > Hanyang Xia [[email protected], SenseTime] > > Xiangwen Meng [[email protected], BaiTaste] > > > > Sponsors > > Champion > > tison [[email protected]] > > Nominated Mentors > > tison [[email protected]] > > Huajie Wang [[email protected]] > > Hulk Lin [[email protected]] > > Jerry Shao [[email protected]] > > Hao Ding [[email protected]] > > Sponsor Entity > > We expect the Apache Incubator to sponsor this project. > > > > Best, > > tison. > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > > -- > Best Regards, > - *Hulk Lin* >
