“Casbin明日之星预选生计划-Talent for Casbin 2025”(以下简称 Talent 2025)是由Casbin开源社区举办的一项面向高校学生的编程活动,旨在鼓励在校学生积极参与Casbin社区旗下开源软件的开发维护,促进国内优秀开源软件的蓬勃发展。
2020年,Casbin以开源社区的身份首次参加了由Google公司主办的Google Summer of Code 2020 和由中科院软件所、OpenEuler社区主办的开源软件供应链点亮计划-开源之夏2020 。在上述活动中,Casbin社区共派出7位来自国内外(中国、法国等)互联网一线的资深社区导师,共培养、指导了国内外15名学生(14位中国同学、1位印度同学)进行为期3个月的开源编程活动。Casbin项目已毕业的同学,有的成长为Casbin项目核心维护者、以开源大牛的身份活跃于GitHub,有的毕业后全职加入腾讯微信事业部等互联网头部公司,有的凭借在Casbin社区的出色经历拿到全球顶级投行Morgan Stanley(摩根士丹利)的offer,在工业界和学术界发挥着重要作用。
2021年和2022年,Casbin社区继续参加上述两项活动,Google Summer of Code 和开源软件供应链点亮计划-开源之夏,题目的数量与招纳的学生人数均创下新高。
活动 | 学生人数 | 最终考核通过人数 |
---|---|---|
GSoC 2020 | 3 | 3 |
开源之夏2020 | 12 | 10 |
GSoC 2021 | 9 | 9 |
开源之夏2021 | 11 | 11 |
GSoC 2022 | 12 | 11 |
开源之夏2022 | 6 | 5 |
为了在非暑期时间能够继续促进Casbin开源软件的发展,同时挖掘有潜力的学生作为Google Summer of Code 2025和开源之夏2025(若该赛事仍举行并且Casbin社区获得参加资格)的有力竞争者,Casbin社区将自筹资金,在Google Summer of Code等活动的闭幕期间,开展常态化的“Casbin明日之星预选生计划-Talent for Casbin 2025”活动,针对Casbin社区旗下开源软件的开发与维护提供 mini 项目,并向全国高校学生开放报名。学生可自主选择感兴趣的项目进行申请,并在中选后获得该软件资深维护者(社区导师)亲自指导的机会。
根据项目的难易程度和完成情况,参与者可获取“Casbin明日之星预选生计划-Talent for Casbin 2025”活动奖金和加盖Casbin社区公章的参与(实习)证明。
“Talent 2025”项目在2025年第五次举办,与Google Summer of Code等活动类似,不同点是“Talent 2025”在非GSoC申请时间举行,与GSoC等活动是互补的关系。
- Casbin明日之星预选生计划-Talent for Casbin 2025 官网:https://github.com/casbin/Talent2025
- Google Summer of Code官网:https://summerofcode.withgoogle.com/
- Google Summer of Code中文介绍:https://github.com/gsoc-cn/gsoc-cn 或 https://zhuanlan.zhihu.com/p/27823910 或 https://zhuanlan.zhihu.com/p/27330699
- 开源软件供应链点亮计划-开源之夏活动官网:https://summer.iscas.ac.cn/
活动组织方:Casbin开源软件社区。
活动参与方主要角色为学生和导师。
- 学生:学生自由选择项目,与导师沟通实现方案并撰写项目计划书。被选中的学生将在导师指导下,按计划完成开发工作,并将成果贡献给社区。社区评估学生的完成度,主办方根据评估结果发放资助金额给学生。
- 社区:社区提供项目列表和描述,并安排项目对应的导师,导师与申请者沟通方案、并从申请者中选中一位承接项目。在为期三个月的开发周期中,导师指导学生进行对应项目的开发工作。
- 导师:社区针对每一个项目指定一个导师,与学生一起制定合适的开发计划和方案,指导学生按计划完成开发。
资助金按月发放,分为基础资助金:600元 + 奖金:0~400元 (均为每月税后,根据上手快慢程度及技术栈匹配程度会有浮动,项目开始前会协商好。)
Casbin是一个强大的、高效的开源访问控制框架,支持Go, Java, Node.js, Javascript (React), Python, PHP, .NET, C++, Rust等十几种语言。Casbin开源项目由北京大学罗杨博士创立于2017年,核心维护团队有二十多人。Casbin在业界具有广泛影响力。目前已经被Intel、VMware、Orange、RedHat、T-Mobile等公司开源使用,被腾讯云、Cisco、Verizon等公司闭源使用。具体详见Casbin主页。Casbin Go主项目目前GitHub 10000+ stars,加上所有语言的实现、插件等可达到15000+ stars。
Casbin技术已经被列入多个国内外权威机构、政府部门的白皮书:
- 国家广电总局《广播电视和网络视听区块链系统》白皮书(第85页):http://www.nrta.gov.cn/module/download/downfile.jsp?classid=0&filename=e2ed95c223c34e38aa163b01030655aa.pdf
- 美国国家标准与技术研究院(NIST)《Attribute-based Access Control for Microservices-based Applications Using a Service Mesh》白皮书(第10页):https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-204B.pdf
Casbin也曾经在国际上进行多次线下宣讲:
- 新加坡政府技术部Open Government Products:https://www.youtube.com/watch?v=OTT84oplR9o
- 俄罗斯最大在线旅游平台tutu.ru:https://www.youtube.com/watch?v=Z5dUxH4PqYM
具体请了解Casbin官网:https://casbin.org/
下列所有项目都与Casbin一致,采用开源协议:Apache 2.0 license
- Casbin核心引擎(Golang)
- Casdoor单点登录系统(前端React,后端Golang)
- Casibase开源AI知识库系统(前端React,后端Golang)
- Casvisor开源堡垒机 + 日志审计系统(前端React,后端Golang)
- Casnode社区论坛系统(前端React,后端Golang)
- 开源社区文档系统Docusaurus优化(前端React)
- jCasbin 生态完善(Java)
- PyCasbin 生态完善(Python)
- Node-Casbin 生态完善(Node.js)
- Casbin.NET 生态完善(.NET, C#)
- Casbin-RS 生态完善(Rust)
- PHP-Casbin 生态完善(PHP)
- SwiftCasbin 开发(Swift)
- Casbin开源社区运营(非技术类)
- 项目标题:Casbin核心引擎(Golang)
- 项目描述:Casbin采用独特的PERM模型语法(model)来实现强大、灵活的访问控制。Casbin Golang版本作为Casbin的第一个语言实现,拥有最多的用户以及最先进的feature。我们希望在Casbin Golang上:1)增强Casbin语法的表达能力,满足用户多样化的策略制定需求;2)优化Casbin在大规模规则集上(百万以上)的策略评估性能。这两个目标是Casbin的核心竞争力,对于其他Casbin语言的实现也会起到非常重要的借鉴意义。
- 项目难度:中
- 项目社区导师:王达 (nomeguy)
- 导师联系方式:nomeguy (AT) gmail.com
- 合作导师联系方式(选填):无
- 项目产出要求:
- 增强Casbin语法的表达能力,满足用户多样化的策略制定需求
- 优化Casbin在大规模规则集上(百万以上)的策略评估性能
- 解决Casbin Golang主仓库&相关仓库中的issues:https://github.com/casbin/casbin/issues
- 项目技术要求:
- 熟悉Golang语言
- 熟悉Git、GitHub相关操作
- 相关的开源软件仓库列表:
- 项目标题:Casdoor身份认证系统(前端React,后端Golang)
- 项目描述:Casdoor是一套基于基于OAuth 2.0 / OIDC协议的统一身份认证(单点登录)系统。其支持多种第三方登录方式,如QQ、微信、Google, GitHub等。Casdoor具有Web管理界面,可以用来管理用户、角色、权限(基于Casbin)
- 项目难度:中
- 项目社区导师:王达 (nomeguy)
- 导师联系方式:nomeguy (AT) gmail.com
- 合作导师联系方式(选填):无
- 项目产出要求:
- 扩展架构,添加更多的第三方登录支持
- 优化、美化Web界面
- 支持Casbin权限管理
- 解决Casdoor主仓库&相关仓库中的issues:https://github.com/casbin/casdoor/issues
- 项目技术要求:
- 熟悉React、Javascript语言(前端)
- 熟悉Golang语言(后端)
- 熟悉Git、GitHub相关操作
- 相关的开源软件仓库列表:
- 项目标题:Casibase开源AI知识库系统(前端React,后端Golang)
- 项目描述:Casibase 是一个开源的企业级 AI 知识库系统,旨在将 AI 助手整合到企业内部文档知识中。其主要特性包括:
- 支持多种AI模型,如 ChatGPT、Azure OpenAI、HuggingFace 等。
- 提供多种 Embedding 嵌入 API 接口。
- 支持多种文档格式,包括 txt, markdown, docx, pdf 等,并支持 PDF 文件智能解析。
- AI 小助手可嵌入应用网站,支持在线实时聊天和人工接入。
- 支持多用户、多租户,包括企业级单点登录。
- 聊天会话日志管理,方便审计和计费。
- 界面支持中文、英文等多语种。
- 项目难度:中
- 项目社区导师:王达 (nomeguy)
- 导师联系方式:nomeguy (AT) gmail.com
- 合作导师联系方式(选填):无
- 项目产出要求:
- 添加新的GPT模型支持
- 添加多模态(图片)模型支持
- 优化、美化Web界面
- 解决 Casibase 主仓库及相关仓库中的 issues:https://github.com/casibase/casibase/issues
- 项目技术要求:
- 感兴趣或熟悉ChatGPT等大模型技术
- 熟悉React、Javascript语言(前端)
- 熟悉Golang语言(后端)
- 熟悉Git、GitHub相关操作
- 相关的开源软件仓库列表:
- 项目标题:Casvisor开源堡垒机 + 日志审计系统(前端React,后端Golang)
- 项目描述:Casvisor 是一款开源的堡垒机和日志审计系统,专注于实时监控和分析系统指标、用户行为,以及与 Casbin 授权和 Casdoor 身份认证相关的事件。其主要特点包括:
- 支持多种远程登录协议,如 RDP、VNC、SSH 等。
- 图形化管理 MySQL、Oracle 等多种数据库。
- 远程桌面支持内网穿透。
- 支持多用户、多租户,集成 Casdoor 单点登录。
- 所有操作均记录在审计日志中,方便管理和审计。
- 用户界面支持中文、英文等多国语言。
- 项目难度:中
- 项目社区导师:王达 (nomeguy)
- 导师联系方式:nomeguy (AT) gmail.com
- 合作导师联系方式(选填):无
- 项目产出要求:
- 实现对Windows、Linux主机的远程桌面支持,包括RDP、VNC等
- 实现对Windows、Linux主机的健康监控,如CPU、内存、磁盘占用率等
- 优化日志存储、查询等功能,可对接ElasticSearch, OpenSearch等
- 支持 Casbin 权限管理
- 解决 Casvisor 主仓库及相关仓库中的 issues:https://github.com/casbin/casvisor/issues
- 项目技术要求:
- 熟悉React、Javascript语言(前端)
- 熟悉Golang语言(后端)
- 熟悉Git、GitHub相关操作
- 相关的开源软件仓库列表:
- 项目标题:Casnode社区论坛系统(前端React,后端Golang)
- 项目描述:Casbin社区目前采用QQ群(中文),Gitter(英文)进行社区交流,交流渠道比较有限。我们打算开发一个同时面向Casbin开发者和用户的官方论坛:Casnode(https://github.com/casbin/casnode ),风格与V2EX类似。该论坛开源,因此也欢迎其他开源社区使用。
- 项目难度:中
- 项目社区导师:张军洁 (kocoler)
- 导师联系方式:tsglsdrs (AT) 163.com
- 合作导师联系方式(选填):无
- 项目产出要求:
- 完成一个界面风格类似V2EX的论坛,作为Casbin开源社区的官方论坛
- 继续维护该项目,添加features,解决bugs,完善其邮件列表功能
- 解决Casnode&相关仓库中的issues:https://github.com/casbin/casnode/issues
- 项目技术要求:
- 熟悉React、Javascript语言(前端)
- 熟悉Golang语言(后端)
- 熟悉Git、GitHub相关操作
- 相关的开源软件仓库列表:
- 项目标题:开源社区文档系统Docusaurus优化(前端React)
- 项目描述:Casbin官网(https://casbin.org/ )基于开源文档工具Docusaurus构建(基于React),采用Docusaurus所集成的CrowdIn在线翻译平台进行众包翻译。Casbin官网原始文档均为英文,由CrowdIn上的贡献者自愿将英文翻译为其他各语言(如中文,韩文等)。但是目前各语言的翻译率较低,中文翻译率目前仅有15%,不利于开源项目在国内推广。因此希望能够将中文翻译率提高到100%。并且,目前社区文档内容不够齐全,可读性较差,需要添加新文档内容、改进现有文档内容。
- 项目难度:中
- 项目社区导师:王达 (nomeguy)
- 导师联系方式:nomeguy@gmail.com
- 合作导师联系方式(选填):无
- 项目产出要求:
- 通过手工或ChatGPT等自动化方式在CrowdIn翻译平台将社区项目官网英文内容翻译为中文
- 优化Docusaurus文档系统配置、内容排版等,提升文档可读性、可理解性
- 改进Docusaurus文档系统功能(如在线演示、评论功能等)、美化官网UI效果
- 解决Casbin-website主仓库&相关仓库中的issues:https://github.com/casbin/casbin-website-v2/issues
- 解决Casdoor-website主仓库&相关仓库中的issues:https://github.com/casbin/casdoor-website/issues
- 项目技术要求:
- 热爱并有能力撰写技术博客、文章
- 了解React框架和NPM包管理
- 了解Git、GitHub相关操作
- 了解Casbin的工作原理
- 相关的开源软件仓库列表:
- 项目标题:jCasbin 生态完善(Java)
- 项目描述:jCasbin 在 Java 平台上取得了不错的进展,但是我们仍然需要努力工作,以帮助 Casbin 成为世界上最受欢迎的身份授权库。目前Java语言上最流行的授权库是Apache Shiro和Spring Security,最流行的Web框架是Spring。我们需要实现Casbin针对Spring等框架的插件,使Spring用户可以无缝接入Casbin。同时要兼容Apache Shiro和Spring Security的接口,让目前正在使用Apache Shiro和Spring Security的项目可以无缝迁移到Casbin。同时jCasbin也需要及时跟踪Golang Casbin主库的最新feature并移植到Java版本中来。
- 项目难度:中
- 项目社区导师:房政金 (Distance)
- 导师联系方式:fangzhengjin (AT) gmail.com
- 合作导师联系方式(选填):无
- 项目产出要求:
- 实现针对Spring,包括Spring Cloud,SpringBoot等的权限认证中间件
- 实现兼容Apache Shiro和Spring Security的接口
- 根据用户需求,实现缺失的数据库adapter
- 解决 jCasbin 主仓库&相关仓库中的 issues:https://github.com/casbin/jcasbin/issues
- 项目技术要求:
- 熟悉 Java 语言
- 熟悉 SQL
- 熟悉 Git、GitHub 相关操作
- 相关的开源软件仓库列表:
- 项目标题:PyCasbin 生态完善(Python)
- 项目描述:Casbin 是一个强大的、高效的开源访问控制框架,对主流语言都有相关实现,包括 Python 版本的 Casbin(PyCasbin)。目前,虽然 PyCasbin 主库的主要功能相对完善和稳定,但仍然需要不断迭代演进,特别是在 Python 生态内各种框架、插件的集成,代码质量和性能还有调优的可能。项目目的是对主库及其周边生态系统进行完善和优化,以增强 Casbin 在 Python 领域的应用场景,提高外部系统接入 Casbin 的效率和成本,扩大 Casbin 在 Python 领域的生态圈。
- 项目难度:中
- 项目社区导师:李强 (techoner)
- 导师联系方式:techqiang (AT) gmail.com
- 合作导师联系方式(选填):无
- 项目产出要求:
- 实现在分布式系统中使用 RabbitMQ 做策略同步的监视器 rabbitmq-watcher。
- 对现有 Watcher 实现和完善 WatcherEx 接口。
- 引入 Casbin 核心引擎 Casbin Core Engine (Golang) 中的新功能。
- 对主流框架的支持增强,例如:在 Python 的 Django 扩展中引入 Django Caching,集成 Django 认证系统。
- 解决 PyCasbin 主库以及相关仓库中的 issues:https://github.com/casbin/pcasbin/issues
- 项目技术要求:
- 熟悉Python语言
- 熟悉Git、GitHub相关操作
- 相关的开源软件仓库列表:
- 项目标题:Node-Casbin 生态完善(Node.js)
- 项目描述:Node-Casbin 和 Casbin.js 是基于 PERM 模型语法的访问控制库,适用于 Web、Node.js、Electron 等 JavaScript 平台。本项目的目标是加速 Node-Casbin 和 Casbin.js 在 Web 和 Node.js 平台上的插件生态系统建设。具体目标包括为 Angular、React、Vue 等主流框架提供 Starter 插件,帮助开发者快速集成 Node-Casbin 和 Casbin.js,同时维护并优化现有的 Node.js 平台的 Adapter、Watcher 和 Starter 插件。
- 项目难度:中
- 项目社区导师:刘子轩 (nodece)
- 导师联系方式:nodeces (AT) gmail.com
- 合作导师联系方式(选填):无
- 项目产出要求:
- 解决 Node-Casbin 主仓库的 issues:https://github.com/casbin/node-casbin/issues
- 解决 Casbin.js 主仓库的 issues:https://github.com/casbin/casbin.js/issues
- 维护现有的 Adapter、Watcher 和 Starter 插件,并提供相关文档和索引,方便用户使用。
- 项目技术要求:
- 熟悉 Node.js, JavaScript 语言
- 熟悉前端 JS,如:Angular, React, Vue等。
- 熟悉 Git、GitHub 相关操作
- 相关的开源软件仓库列表:
- 项目标题:Casbin.NET 生态完善(.NET, C#)
- 项目描述:Casbin.NET 是 Casbin 的 .NET 实现,采用独特的 PERM 模型语法来实现强大、灵活的访问控制。该项目的目标是跟进 Casbin Golang 版本的最新功能,将其移植到 .NET 版本,并维护 .NET 特有的生态系统
- 项目难度:中
- 项目社区导师:汤贤赫 (Sagilio)
- 导师联系方式:sagilio (AT) outlook.com
- 合作导师联系方式(选填):无
- 项目产出要求:
- 跟踪Casbin-Go最新关键特性与BUG修复,并移植到Casbin.NET
- 维护已有项目: https://github.com/casbin-net, 提供更加丰富友好的示例
- 尝试为GUI场景(如WinUI/Maui/WPF等)接入Casbin提供友好地支持 Casbin.Native
- 解决 Casbin.NET 主仓库&相关仓库中的 issues:https://github.com/casbin/Casbin.NET/issues
- 项目技术要求:
- 熟悉.NET, C#语言
- 熟悉Git、GitHub相关操作
- 项目成果仓库:
- 项目标题:Casbin-RS 生态完善(Rust)
- 项目描述:Casbin-RS 是 Casbin 在 Rust 语言中的实现,目前需要对其生态进行完善。本项目的重点是完善 Casbin-RS 生态,包括与 Rust Web 框架的集成,解决现有 issues。
- 项目难度:中
- 项目社区导师:刘毅涵 (qianxi0410)
- 导师联系方式:894871277 (AT) qq.com
- 合作导师联系方式(选填):无
- 项目产出要求:
- 实现 Casbin-RS 中间件,包括单元/集成测试、文档说明,以及实际应用示例
- 根据用户需求,实现缺失的数据库adapter
- 解决 Casbin-RS 主仓库&相关仓库中的 issues:https://github.com/casbin/casbin-rs/issues
- 项目技术要求:
- 熟悉 Rust 语言
- 熟悉 Git、GitHub 相关操作
- 相关的开源软件仓库列表:
- 项目标题:PHP-Casbin 生态完善(PHP)
- 项目描述:PHP-Casbin 是Casbin的PHP版实现,功能和 Casbin(Golang)基本一致。目前,PHP-Casbin已经支持对
Laravel
ThinkPHP
Yii
Codeigniter
CakePHP
等主流框架的适配。目前还需要开发对Symfony
的扩展,C级别的框架进行支持,例如:Phalcon Framework
,基于Swoole的框架支持,例如:Hyperf
easyswoole
等。除此之外,我们也希望Casbin有个PHP的C/C++扩展,以提升性能。 - 项目难度:中
- 项目社区导师:李强 (techoner)
- 导师联系方式:techqiang (AT) gmail.com
- 合作导师联系方式(选填):无
- 项目产出要求:
- 完成 Symfony-Permission
- 对C级别的框架进行支持,例如:
Phalcon Framework
- 对基于Swoole的框架支持,例如:
Hyperf
easyswoole
等 - PHP的C/C++扩展,可以基于Casin-cpp,也可以考虑通过
zephir
实现 - 解决PHP-Casbin仓库中的issues:https://github.com/php-casbin/php-casbin/issues
- 项目技术要求:
- 熟悉PHP语言
- 熟悉Git、GitHub相关操作
- 相关的开源软件仓库列表:
- 项目标题:SwiftCasbin 开发(Swift)
- 项目描述:开发Swift版本的Casbin,支持iOS App、Swift服务器端应用等生态。
- 项目难度:中
- 项目社区导师:孟祥文 (cit117)
- 导师联系方式:cit117 (AT) me.com
- 合作导师联系方式(选填):无
- 项目产出要求:
- 实现 Casbin 的 Swift 版本
- 实现纯数据库驱动的 adapter: PostgresQL, Mysql, Microsoft SQL Server, Oracle, SQLite, IBM Db2.
- 解决 SwiftCasbin 主仓库&相关仓库中的 issues:https://github.com/casbin/SwiftCasbin/issues
- 项目技术要求:
- 熟悉 Swift 语言
- 熟悉 iOS App 开发等
- 熟悉 Git、GitHub 相关操作
- 相关的开源软件仓库列表:
- 项目标题:Casbin开源社区运营
- 项目描述:负责Casbin社区推广、运营、活动管理等事务,协助社区负责人参与社区的新成员招募、文案推广(官方博客维护、微信公众号维护)、对外合作等任务。
- 项目难度:中
- 项目社区导师:王达 (nomeguy)
- 导师联系方式:nomeguy@gmail.com
- 合作导师联系方式(选填):无
- 项目产出要求:
- 负责日常招募新的开源开发者参与社区的各项活动,如Google Summer of Code,开源之夏、明日之星等等,在活动期间对参与者进行管理
- 参与对接本社区与其他厂商、开源社区的商务合作,推进合作进度
- 撰写社区的技术、推广、合作等文案,维护、贡献社区官方博客(https://casbin.org/blog/ )、微信公众号等社交媒体账号
- 项目技术要求:
- 热爱开源,对技术有一定了解,同时具有技术与推广、运营双重背景的优先
- 沟通能力良好,理解力强,有出色的组织、协调能力
- 有能力撰写社区的技术、推广、合作等文案
- 相关的开源软件仓库列表:
所有可选项目详见:https://github.com/casbin/Talent2025#可选项目列表
- 每周与项目导师进行线上讨论,完成项目规定的开发任务。项目导师由开源项目创始人或其他核心成员担任;
- 积极参与开源社区的建设,参与代码提交、解决Issue、审核PR等日常工作;
- 配合完成官方要求的材料提交等事项,包括项目申请书撰写、社区反馈任务完成度追踪等。
- 本科、硕士或博士在读(已毕业、工作的无法参加);
- 对开源软件、开源社区感兴趣;
- 熟悉一种或多种编程语言,有较强的工程能力,代码格式清晰规范,善于团队协作;
- 有一定英文读写能力,能够熟练运用英语在GitHub进行开发、协作;
- 较强的沟通能力和逻辑表达能力。
- 熟悉Go, Javascript、React等语言或框架、Web系统、分布式系统、微服务架构,有相关项目经验;
- 在GitHub较为活跃,有自己的开源项目,或参与过知名开源项目;
- 可以在项目结束后继续长期参与开源社区的开发、建设或维护。
申请学生需要同时完成以下“联系社区”和“官网投递”两个环节:
- 加入《Casbin访问控制社区群》(QQ大群):546057381
- 加入《Casbin明日之星预选生计划-Talent for Casbin 2025-群》(QQ小群):540163681 ,联系导师,与导师沟通项目细节和方案,完成社区指定的Easy Tasks
发送【中文简历PDF】至Casbin社区官方邮箱:admin@casbin.org