项目简介

今年,中科院软件所继续举办 “开源软件供应链点亮计划——暑期2022” 项目。该项目与 Google Summer of Code 形式类似:开源社区提供项目需求并提供导师(mentor),在校学生利用暑期时间进行开发,主办方为顺利完成的项目提供一定额度的奖金。无论 GSoC 还是“点亮计划”,都是一种非常好的开源实践范式,能够有效增进高校学生对开源的理解、增加与真实社区的接触,并积累宝贵的经验。本次 TUNA 协会将继续作为社区加入这一计划,提供若干项目需求。TUNA 愿意和大家一起,为国内的开源生态添砖加瓦,欢迎有能力、有热情、有时间的小伙伴们参加。

2021 年,TUNA 基于自身与上游需求,共提出开源弹幕系统改进、跨平台 NFC 读写套件的维护与升级、Windows 平台 SSH agent 的统一实现等多个方面的 8 个项目,并有 5 个项目通过立项,4 个项目顺利结项,其中 2 个项目获评优秀:(Windows 平台 SSH agent 的统一实现,学生张奇夫,导师许朋程)获评最佳质量奖;(完善 Gentoo ROCm GPGPU 框架,学生武益阳,导师续本达)获评突出贡献奖。详情可见 TUNA 项目页面官网公示

我们将于五月份举办项目说明会,具体时间待定。

本页最后更新时间:2022/5/8 19:00

注意事项

下面是一些通用的注意事项:

  • 请先详细阅读 活动首页 的介绍、日程安排、FAQ 等,对活动形式和流程有一个基本的认识。
  • 在决定报名前,首先邮件联系导师进行交流,简单地介绍一下你自己。
  • TUNA 成员大多使用 Telegram 作为即时通讯工具,而非 QQ 或微信。希望你能注册并加入 TUNA 群组以进行更细致的讨论(加入方式见本页面底部)。
  • 不要担心太难/工作量太大,在截止日期前,项目内容都是灵活可更改的。

项目列表

自有项目

下面的项目都从 TUNA 的实际需求而来,目前或者将作为 TUNA 的自有项目开放源码,由 TUNA 和开发者共同维护。

移植 CanoKey 固件到 nRF52840

  • 项目描述:CanoKey 是开源的硬件密钥项目,支持 WebAuthn、OpenPGP、PIV 等多种协议,其完全开源的版本基于 STM32L432 单片机。nRF52840 是 Nordic Semiconductor 公司推出的芯片,与 STM32L432 相比多了密码运算等特性,且基于 nRF52840 的 USB 开发板更容易取得,方便了用户制作自己的开源安全密钥。本项目的预期目标是将 CanoKey 的固件移植到 nRF52840 上,使开发者可以有更多硬件选择。
  • 项目难度:高
  • 项目社区导师:党凡
  • 导师联系方式:fan.dang (at) tuna.tsinghua.edu.cn
  • 项目产出要求:
    • 一个适用于 nRF52840 的 CanoKey 固件
  • 项目技术要求:
    • ARM 开发基础
    • USB 协议栈
  • 相关的开源软件仓库列表:

使用 Rust 开发的视觉小说引擎

  • 项目描述:视觉小说是一种电子游戏,是有声读物的衍生产品。它通常以文字为主,辅助以图像与语音。游戏流程呈树状,并根据玩家的选项不同有着不同的路线。这样的游戏创作比较复杂,有一定的门槛。本项目希望以新兴的编程语言 Rust 为主,从头开发一个高扩展性的、创作友好的视觉小说引擎。
  • 项目难度:高
  • 项目社区导师:许朋程
  • 导师联系方式:i@jsteward.moe
  • 项目产出要求:
    • 跨平台:至少支持 Windows、Linux、MacOS 桌面平台
    • 一个良好定义的、创作友好的视觉小说描述格式(例如 JSON 或者 YAML),要求该格式可以使用一般的文本编辑器编辑,如 VSCode
    • 一个嵌入在视觉小说中的脚本语言及引擎,可以是现有脚本语言或者自创语言
    • 基础的国际化(i18n)支持,至少提供简单的切换文本语言的功能
    • 一个基于 WebAssembly 的扩展系统,扩展应该能被脚本语言使用
    • 一个基于命令行的视觉小说前端
    • 一个 GUI 的图形化视觉小说前端
  • 项目技术要求:
    • Rust 开发
    • 编译原理
    • WebAssembly 开发
    • 跨平台 GUI 相关技术,可以是 Qt 或者网页前端技术
  • 相关的开源软件仓库列表:

上游项目

下面的项目非 TUNA 维护,由 TUNA 成员和相应的上游社区成员(可能为同一人)共同担任导师。项目成果将以 Pull Request 的形式回馈给上游项目。

Debian 高性能分布式只读文件系统

  • 项目描述:CernVM-FS 是欧洲核子中心研发的基于 HTTP 的只读文件系统,它优秀的缓存性能令它成为软件分发的优秀载体,被大科学仪器如江门中微子实验等采用。CernVM-FS 的官方创建了 Debian 软件包,但是不符合 Debian 社区的官方标准。你的任务是制作符合 Debian 官方标准的 CernVM-FS 软件包,包括服务端和客户端,方便在 Debian 系统上快速部署科学软件。
  • 项目难度:高
  • 项目社区导师:续本达
  • 导师联系方式:orv (at) debian.org
  • 项目产出要求
    • 完成符合 Debian 要求的 CernVM-FS 包
    • 并被 Debian 官方采纳
  • 所需知识和技能
    • 有一年以上 Debian 使用经验
    • 熟练使用 Git
    • 了解 Debian 包管理器原理
  • 相关的开源软件仓库列表
    • CernVM-FS官方网站: https://cernvm.cern.ch/fs/
    • Debian新人开发指南: https://www.debian.org/doc/manuals/maint-guide/
    • Debian知识大全: https://www.debian.org/doc/manuals/debian-reference/