Scratch操作系统定义与分类标准(修订版 1.4)
1. 前言
1.1 目的
本标准旨在为在Scratch编程环境及其衍生平台中开发的操作系统类项目(以下简称ScratchOS)提供明确的定义、技术分类准则及最低功能要求。本标准的建立旨在规范ScratchOS生态,确保项目评价的公平性与可比性,并促进跨平台、跨社区的良性发展与协作。
1.2 适用范围
本标准适用于所有在Scratch平台或其兼容衍生平台(如02engine、Gandi IDE、TurboWarp、CCW、MetaCrea、Tier等)上开发并自称“操作系统”的项目。项目的最终发布形式(如.sb、.sb2、.sb3、.html、.exe等)不影响其适用性。
1.3 核心原则
- 创意与功能优先:评价核心应着眼于项目的创意、用户体验及功能性实现。
- 公平与透明:根据技术实现纯度进行严格分类,并要求项目明确声明其技术依赖,确保评审环境的公平、透明。
- 社区与共享:鼓励项目的开源共享与基于此标准的跨平台、跨社区交流协作。
2. 术语与定义
- ScratchOS:指满足本标准第4章所有最低功能要求的Scratch项目。
- 图形用户界面(GUI):用户通过图形图标、视觉指示器及点击等动作与系统进行交互的界面。
- 命令行界面(CLI):用户通过文本命令与系统进行交互的界面。
- 应用程序(App):在ScratchOS环境中运行的、提供特定功能的独立功能模块。
- 纯ScratchOS(Pure-ScrOS):项目的全部核心逻辑与功能均通过Scratch积木实现。
- 混合ScratchOS(Hybrid-ScrOS):项目的核心功能或大量模块依赖于Scratch之外的其他编程语言(如C、Python)实现。
- 虚拟机ScratchOS(VM-ScrOS):即项目先编写一个图灵机或虚拟机,再在其基础上编写的ScratchOS。
- 内存ScratchOS(In-Memory-ScrOS):指主要在内存中运行,不依赖持久化存储,但可配合云服务实现数据同步或扩展功能的ScratchOS。
- 技术依赖透明性:项目需明确声明其是否依赖外部代码、插件或转换工具。
- 跨平台兼容性:指ScratchOS能够在多个Scratch衍生平台(如MetaCrea、Tier等)上正常运行的能力。
3. 技术分类标准
3.1 纯ScratchOS(Pure-ScrOS)
定义:指项目的全部创造性逻辑与功能均通过Scratch积木块实现。允许使用官方或社区公认的扩展功能(如文本朗读、翻译、TurboWarp自定义扩展)、云变量/云列表以及运行于浏览器环境中的JavaScript插件。
要求:项目简介中应声明所使用的主要扩展功能。
3.2 混合ScratchOS(Hybrid-ScrOS)
定义:指项目部分使用Scratch,但其核心功能依赖于其他编程语言编写并通过外部方式(如扩展、封装)在Scratch环境中运行。
要求:项目简介中必须明确标注“Hybrid-ScrOS”字样,并列出所使用的外部编程语言及主要技术依赖。
3.3 界面形态分类
- 标准版(GUI):提供图形用户界面的ScratchOS。
- 基础版(CLI):仅提供命令行界面的ScratchOS。此类别项目参与评价时,应单独归类或注明。
3.4 技术依赖的判定补充说明
若项目使用以下技术之一,应归类为 Hybrid-ScrOS 并明确声明:
- 使用非Scratch原生语言或非编写Scratch的语言(如C、Python)编写的自定义扩展或插件;
- 通过代码转换工具(如将Python代码转为Scratch积木)实现核心功能;
- 依赖自建服务器、数据库或API实现系统级功能(如用户认证、数据同步)。
若仅使用Scratch官方扩展或社区广泛认可的轻量级插件(如TurboWarp扩展),且未引入核心逻辑依赖,仍可归类为 Pure-ScrOS。
若使用编写Scratch所使用的语言(JavaScript、WebGL、ActionScript),并且实现了范围在Scratch的能力之内,仍可归类为 Pure-ScrOS。
4. ScratchOS最低功能要求
一个项目必须同时满足以下所有条件,方可被定义为ScratchOS。
4.1 系统核心与资源管理
必须实现一个系统核心环境,负责协调应用程序的运行与资源管理。该系统核心应具备以下能力之一:
- 持续运行的后台管理环境(适用于多任务系统);
- 或明确的系统调度机制(适用于单用户顺序执行系统)。
4.2 应用程序抽象与管理
必须提供至少两个(2个)功能完整且互不相同的应用程序。
必须提供明确的机制用于启动、切换及退出上述应用程序。应用程序退出后,控制权必须清晰交还给系统核心。
4.3 统一的用户交互模式
必须提供一种系统级的、统一的人机交互接口。
- 标准版(GUI):须提供包含图标、菜单或窗口等至少一种图形元素的桌面或启动器界面。
- 基础版(CLI):须提供可输入的命令提示符及一套用于启动应用或管理系统的基础命令集。
4.4 系统服务或数据持久化(须满足至少一项)
- 数据持久化:提供一种系统级机制,允许应用程序对共享的、持久化的数据进行读写操作。
- 公共服务:提供至少一种系统级公共服务,如统一的通知、主题管理、多用户切换或硬件状态模拟(如电量)。
- 内存运行:对于内存ScratchOS(In-Memory-ScrOS),系统核心与应用程序主要在内存中运行,不要求本地持久化存储,但可配合云服务实现数据同步或功能扩展。
5. 社区规范与最佳实践
- 开源鼓励:强烈建议项目以开源形式分享,遵循Scratch社区规范,以促进知识共享与技术进步。
- 依赖声明:所有项目必须遵循第3章要求,明确声明其技术分类与依赖,确保评价透明。
- 原创性与署名:鼓励原创性工作。基于他人项目的再创作,必须严格遵守原作许可协议并明确注明原作者与来源。
- 社区参与:鼓励开发者参与专业社区(如中国ScratchOS社区 SCOS、MetaCrea、Tier等)的交流与建设,共同完善本标准。
- 跨平台兼容性声明:建议项目在发布时注明其兼容的Scratch平台或衍生平台(如Scratch、TurboWarp、MetaCrea、Tier等)。
6. 发布与修订
本标准修订版 1.4 于2025年10月6日发布。标准的修订与解释权归社区所有。鼓励所有开发者就本标准的完善提出建设性意见。
文档编号:SCOS-2025-1.4
发布机构:中国ScratchOS社区 (SCOS)
本标准编写者:子米游戏盒饭-wai(即wordsaidOS作者)
网址:https://scos.02studio.xyz/
参考平台:https://metacrea.top/、https://tier.scos.work/ 等