-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathNOTICE
More file actions
186 lines (148 loc) · 9.47 KB
/
Copy pathNOTICE
File metadata and controls
186 lines (148 loc) · 9.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
# NOTICE
This project is licensed under the zlib licence, in [`LICENSE`](LICENSE),
matching jlt-commons/raylib-jlt and raylib itself. The whole graphics stack is
zlib and there is no reason for this to be the exception.
That licence covers the work in this repository that is ours to license. It
does not, on its own, make the repository publishable: some of it is derived
from a source that grants nothing. See "Open-source status" at the end, which
is required reading before this repository is made public.
Ownership is a separate question from publication. Transferring this repository
between accounts or into an organisation is fine while it stays private, and
does not touch anything below.
## Carried unchanged
`src/poc/raylib/*.cljc` and `test/poc/raylib/*.cljc` are byte-identical to
their originals in jasalt/jolt-android-experiment at 6d2b291, and their
sha256 is verified by `tools/extract-from-notebooks`.
https://github.com/jasalt/jolt-android-experiment
Copyright 2026 Jarkko Saltiola
MIT License
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
## Ported, and altered
`src/raylib/scenes/*.cljc` are ports of examples from jlt-commons/raylib-jlt.
Each is an altered version: the loop is inverted so the host owns it, geometry
derives from the live screen instead of a fixed 800x450, randomness becomes a
seeded LCG, and drawing moves to the caller. Every file names its original in
its own docstring, as the zlib licence's "altered source versions must be
plainly marked as such" asks.
https://github.com/jlt-commons/raylib-jlt
Copyright (c) 2026 Burin Choomnuan
zlib License
## Compiled into the APK
Both are built from source by `tools/android/app/src/main/cpp/CMakeLists.txt`
and linked statically into `libmain.so`, so both are redistributed inside any
APK this project produces.
raylib https://github.com/raysan5/raylib
at 9f3cadf1e618f125bd9b282c7759f8cb26ce17fc
(RAYLIB_VERSION "6.1-dev" at that revision)
Copyright (c) 2013-2026 Ramon Santamaria (@raysan5)
zlib/libpng License
android_native_app_glue.c
from the Android NDK, which raylib's own Android CMake
configuration compiles in from
$ANDROID_NDK/sources/android/native_app_glue/
Copyright (C) The Android Open Source Project
Apache License 2.0
SDL2 is no longer here. The iOS sibling needed it as a platform layer, because
raylib has no iOS backend; raylib's Android backend is upstream, so this
project links raylib alone.
## Build tooling, not redistributed
jolt https://github.com/jolt-lang/jolt Eclipse Public License
Chez Scheme https://github.com/cisco/ChezScheme Apache License 2.0
Android SDK, NDK and the Android Gradle Plugin Apache License 2.0
Chez Scheme is build tooling in the sense that no Chez *source* is
redistributed, but its C kernel and its boot files are compiled into
`libjoltraylib.so` by `jolt build --library`. Apache 2.0 covers that; jolt's
EPL applies to jolt's own runtime, which is likewise inside that library.
## Open-source status: BLOCKED, and this is the reason
Some files here are substantially derived from statonjr/glimmer-ios-demo, whose
notebooks this project's own `tools/extract-from-notebooks` reads:
https://github.com/statonjr/glimmer-ios-demo
verified at 5c7eeb8, 2026-09-03
**That repository carries no licence file**, at any path, on that ref.
Measured, so the size of the problem is known rather than guessed. The counts
below were taken by the iOS sibling, jlt-commons/raylib-ios, against the demo
at 5c7eeb8, counting substantive lines with comments and blank lines excluded.
The right-hand column is what the Android port did to each file:
| our file | lines | also in the demo | after the Android port |
|---|---:|---:|---|
| `src/raylib/host.clj` | 170 | 130 | rewritten: SDL, UIKit, the framebuffer binding and the safe-area query are all gone |
| `src/raylib/gallery.clj` | 315 | 83 | unchanged in substance; Back and logging edits only |
| `src/raylib/touch.clj` | 35 | 35 | unchanged in substance; logging and Back only |
| `src/raylib/link.clj` | 16 | 16 | **deleted** — it probed the two iOS static archives |
| `src/raylib/probe.clj` | 53 | 2 | rewritten for GLES on Android |
| `src/raylib/objc.clj` | 32 | 13 | **deleted** — there is no Objective-C runtime here |
Two of the six files are gone, and `host.clj` no longer contains the parts that
made it iOS-specific: `SDL_UIKitRunApp`, `SDL_GetWindowWMInfo`, the per-frame
`glBindFramebuffer`, `objc_msgSend` and `safeAreaInsets`. What remains shared
with the demo is the *shape* of an owner loop — a scene as `{:title :init
:frame}`, `BeginDrawing`, `(frame state)`, `EndDrawing`, and the live seam of a
refreshed state atom plus a queue drained on the owner thread.
**That overlap has not been re-measured against the demo**, and the number
above is therefore an upper bound rather than a count of this tree. It can only
have fallen. `objc.clj`, when it existed, shared only lines that are also in
glitter-uikit's own `ffi.clj`, which is MIT and ours.
`src/raylib/scenes/*.cljc` and `src/poc/**` are clean, being MIT from jasalt and
zlib from raylib-jlt.
With no licence, the default is ordinary copyright: all rights reserved, and no
permission to copy, modify or redistribute. So the parts that remain derived
cannot be published, relicensed or moved to an organisation on the strength of
`LICENSE` alone, however small the diff or generous the intent.
Three ways forward, in the order they should be tried:
1. **Ask.** A request to add MIT or zlib upstream resolves it completely, costs
the author nothing, and is the only option that keeps the attribution
honest. The demo is itself built on glitter and glitter-uikit, both MIT and
both ours, and it says so warmly throughout its README. Someone writing a
demo of your libraries is about as likely to say yes as anyone gets. It was sent on
2026-09-03 as statonjr/glimmer-ios-demo#1.
2. **Rewrite the remaining files** from the public facts rather than from the
notebooks: raylib's headers, `src/platforms/rcore_android.c`, the NDK's
documentation and this project's own device measurements. The Android port
already did most of this incidentally — two of the six files are deleted and
`host.clj` was rewritten against `rcore_android.c` — so what is left is
`gallery.clj`'s 83 lines, `touch.clj`'s 35, and whatever survives in
`host.clj` of the loop's shape.
3. **Stay private.** No obligation is breached by a private repository, and
this is the status quo.
Note that the demo's own use of glitter-uikit does not itself settle this.
MIT is a grant, not a trade: it lets him build on our work without obliging him
to license his own back. It makes option 1 very likely to land. It is not a
substitute for it.
## Status, stated plainly
**The iOS sibling was made public on 2026-09-04 with option 1 still pending**,
and this repository inherits that position. No licence had been granted for the
derived files at that point, and none had been refused either: the request at
statonjr/glimmer-ios-demo#1 was simply unanswered.
That is a deliberate decision by this project's author, not an oversight, and
anyone using this repository should know what it means:
- `src/raylib/host.clj`, `gallery.clj` and `touch.clj` contain material whose
copyright belongs to Larry Staton Jr. and which is published here without his
express permission. The zlib licence in `LICENSE` cannot grant what this
project does not hold, so it does not cover those parts. (`link.clj` and
`objc.clj`, the other two, no longer exist in this tree.)
- If you fork or redistribute this repository, that limitation travels with
you. It is not cured by the licence file.
- If Larry asks for the material to be removed, it will be removed and this
section will say so. If he grants a licence, this section will be replaced
with the grant and the date.
The other sources are properly licensed and unaffected: jasalt's files under
MIT, the raylib-jlt ports under zlib, raylib itself under zlib, and the NDK's
app glue under Apache 2.0.
Option 2 remains the clean fix and the Android port shortened it: two of the
six files are deleted and `host.clj` was rewritten against
`rcore_android.c`, leaving `gallery.clj`, `touch.clj` and the loop's shape.
The presence of a LICENSE file does not change any of it: a licence grants what
the grantor holds, and this is the one part we do not hold.