NOTICE
Rama main · réplica de lectura del repositorio original.
Jun OS
Copyright 2026 efficiencyx
The source code in this repository is licensed under the Apache License,
Version 2.0 (see LICENSE). This NOTICE file is part of that distribution and
must travel with any redistributed copy or derivative work (section 4 of the
license).
================================================================================
1. Third-party game assets
================================================================================
The Apache License 2.0 in this repository applies to the source code ONLY.
It does NOT apply to the Live2D model, textures, or any other art assets from
the game "My Dystopian Robot Girlfriend" (the "Game Assets"). The Game Assets
are the property of their original creator. They are NOT included in this
repository and are NOT licensed to you by this project.
tools/recover_assets.py rebuilds the Game Assets on your own machine from your
own legitimately obtained copy of the game. This project does not grant any
rights over them; the conditions below describe the uses the original creator
has agreed to tolerate. If in doubt, do not do it.
ALLOWED
- Extracting the Game Assets for personal use with this project.
- Copying or transferring the Game Assets to machines, services, or
storage you control and that only you can access (e.g. your own PC,
home server, a VPS / cloud instance rented by you, a private Git
repository with no other collaborators, or personal backups and
snapshots), for the purpose of running this project, provided they are
used only for PRIVATE hosting as defined in section 2.
- Running this project with the Game Assets on a PRIVATE server.
NOT ALLOWED
- Redistributing the Game Assets, original or modified. "Redistributing"
means making them available to any person other than you, or placing
them anywhere others can access them, except as described under
EXCEPTION below.
- Committing or uploading the Game Assets to any repository, fork,
release, package, container image, mirror, shared drive, or other
location that anyone other than you can access. If such a location
later becomes accessible to others (e.g. a private repository made
public or shared with a collaborator), you must remove the Game Assets
from it first, including from its history.
- Running this project with the Game Assets on a PUBLIC server.
A web server sends the assets to every client that connects, so serving
them publicly counts as redistribution.
EXCEPTION
Transmission of the Game Assets from a PRIVATE server to its authorized
users, solely as required for this project to function, is not considered
redistribution. This exception does not allow those users to save,
extract, or further share the Game Assets.
If you fork this project, keep webapp/assets/ out of your published tree.
It is listed in .gitignore for this reason; do not remove that entry.
================================================================================
2. Private vs. public hosting
================================================================================
A server is PRIVATE only if ALL of the following are true:
a) Access is restricted by at least one technical control:
- a VPN or private network not reachable from the internet, OR
- an authentication layer in front of the app (e.g. reverse proxy
auth, SSO), OR
- a firewall / WAF / IP allowlist limited to specific addresses;
b) No more than 10 people can access it;
c) Every person with access is known to you personally; and
d) It is not advertised, listed, or shared publicly (including links).
Any server that does not meet ALL of the above is PUBLIC.
Please respect the wishes of the original creator.
================================================================================
3. Game lore dataset
================================================================================
tools/lore_dataset.jsonl and the webapp/lore_corpus.txt built from it are
question and answer pairs about the story, setting and characters of the game,
written from the game's text. They are included with the original creator's
permission. They are not Game Assets under section 1, and they are not covered
by the Apache License 2.0: the story, setting and characters they describe
remain the property of the original creator.
================================================================================
4. Vendored third-party libraries
================================================================================
webapp/vendor/ contains unmodified copies of libraries that were previously
loaded from a CDN, so that Jun OS can run without internet access. Each file
remains under its own license, NOT the Apache License 2.0 of this repository:
File Library License
------------------------- ------------------------- ----------------------
pixi.min.js pixi.js 6.5.10 MIT
cubism4.min.js pixi-live2d-display 0.4.0 MIT
marked.umd.js marked 18.1.1 MIT
purify.min.js DOMPurify 3.4.17 Apache-2.0 / MPL-2.0
live2dcubismcore.min.js Live2D Cubism Core Live2D Proprietary
Software License
Live2D Cubism Core is redistributed under the Live2D Proprietary Software
License Agreement, which permits bundling it with an application. It is NOT
covered by the Apache License 2.0 and may not be relicensed. By using this software
you must also comply with that agreement:
https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html
================================================================================
5. Python packages bundled in the Android app
================================================================================
The Android build unpacks these packages from their PyPI source archives, pinned
by SHA-256 in android/app/build.gradle.kts, and ships them unmodified inside the
APK. Each remains under its own license, NOT the Apache License 2.0 of this
repository:
Package Version License
------------------------- ------------------------- ----------------------
UnityPy 1.25.4 MIT
tpk_ar 0.2.4 MIT
================================================================================
6. LiteRT-LM in the Android app
================================================================================
Release APKs built with tools/release-apk-local.sh do not use the LiteRT-LM
AAR from Maven. They carry a build of LiteRT-LM (Apache License 2.0,
https://github.com/google-ai-edge/LiteRT-LM) from upstream commit
c30ab949d5605022d2ccf714794e99d5f5effe4c, unmodified, built for arm64-v8a
with the Bazel command recorded in that script, next to the prebuilt
libraries the same commit ships under prebuilt/android_arm64/ (Apache License
2.0; libwebgpu_dawn.so is Dawn, BSD 3-Clause). That commit is the first with
Session.clone(), which the on-device prefix cache needs. Once a Maven release
includes it, the APK goes back to the Maven AAR.
================================================================================
7. JunBridge game mod (bridge/)
================================================================================
bridge/ is a MelonLoader mod for "My Dystopian Robot Girlfriend". Its chat,
voice, Jun provider, patches and utilities are adapted from MdrgAiDialog
(https://github.com/StLyn4/MdrgAiDialog, Apache License 2.0), with the other
providers and the provider picker removed and the sync code added. Those files
stay under the Apache License 2.0.
The mod links against MelonLoader (Apache License 2.0,
https://github.com/LavaGang/MelonLoader), HarmonyX and Il2CppInterop, and
against assemblies MelonLoader generates from your own copy of the game.
The game assemblies fall under section 1: never commit or publish them.
The installers download MelonLoader from its own GitHub releases when you
ask for the in-game mod.
The native Linux JunBridge.LinuxFix.dll embeds Dobby from
https://github.com/Ketlark/Dobby at 642dd93513d890acb7ceb0312b2c1a0a27668cce
(derived from https://github.com/jmpews/Dobby, Apache License 2.0). The checked-in
patch adds Linux compatibility, disables allocation inside existing code
pages and rejects failed relocation before patching the target. The pinned
Dobby source supplies safe allocation and x64 far-trampoline relocation.
The DLL embeds the Apache license, source/change attribution and TinySTL's
BSD-2-Clause notice (Copyright 2012-2018 Matthew Endsley) as
JunBridge.LinuxFix.NOTICES.txt; it also writes these notices beside the
extracted helper under UserData/JunBridge.LinuxFix/. Build dependencies are
fetched by bridge/LinuxFix/build.sh; no game material is needed and the
stock MelonLoader bootstrap is not rebuilt or distributed by this build.