mirror of
https://github.com/BoredDevNL/BoredOS.git
synced 2026-05-15 10:48:38 +00:00
legal: Add usage policy for current and future commits.
Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
parent
b486bb2ca5
commit
5b7940dd04
2 changed files with 261 additions and 0 deletions
213
POLICY.md
Normal file
213
POLICY.md
Normal file
|
|
@ -0,0 +1,213 @@
|
||||||
|
# BoredOS — Usage Policy & Disclaimer
|
||||||
|
|
||||||
|
Version 1.0 | Last updated: May 2026
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Acceptance of Terms
|
||||||
|
|
||||||
|
**By installing, running, copying, modifying, or otherwise using BoredOS, you
|
||||||
|
acknowledge that you have read this policy, understand it, and agree to be bound
|
||||||
|
by its terms.**
|
||||||
|
|
||||||
|
If you do not agree to these terms, you must not use, install, or distribute
|
||||||
|
BoredOS. Where technically feasible (e.g. in installer or first-boot contexts),
|
||||||
|
an explicit acknowledgment prompt will be presented. Proceeding past that prompt
|
||||||
|
constitutes acceptance of this policy.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. License
|
||||||
|
|
||||||
|
BoredOS is free software released under the **GNU General Public License v3.0
|
||||||
|
(GPLv3)**. A full copy of the license is available in the [`LICENSE`](./LICENSE)
|
||||||
|
file in this repository.
|
||||||
|
|
||||||
|
The GPLv3 governs your rights to copy, modify, and redistribute BoredOS. This
|
||||||
|
Usage Policy is a **supplementary document** and does not override or modify the
|
||||||
|
permissions and conditions granted by the GPLv3. In the event of any conflict
|
||||||
|
between this document and the GPLv3, the GPLv3 takes precedence with respect to
|
||||||
|
software licensing rights.
|
||||||
|
|
||||||
|
Certain restrictions in this policy (in particular, the jurisdictional
|
||||||
|
restrictions in Section 3) are incorporated as **additional terms** under
|
||||||
|
**GPLv3 Section 7**. Violation of those restrictions therefore constitutes a
|
||||||
|
breach of the copyright license under which BoredOS is distributed, and
|
||||||
|
automatically terminates your rights under the GPLv3 in accordance with
|
||||||
|
Section 8 of that license.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Jurisdictional Restrictions
|
||||||
|
|
||||||
|
### 3.1 Age Verification Laws
|
||||||
|
|
||||||
|
BoredOS **does not implement any form of age verification**, and the author has
|
||||||
|
no plans to add such a mechanism. BoredOS is an operating system and does not
|
||||||
|
collect user data, connect to external services, or provide online content that
|
||||||
|
is regulated under age-gating legislation.
|
||||||
|
|
||||||
|
However, certain jurisdictions have enacted laws that impose age verification or
|
||||||
|
age-appropriate design obligations on software or digital services accessible to
|
||||||
|
minors, including but not limited to:
|
||||||
|
|
||||||
|
- **California, USA** — California Age-Appropriate Design Code Act (AB 2273)
|
||||||
|
- **United States (federal)** — Children's Online Privacy Protection Act (COPPA),
|
||||||
|
as enforced by the FTC
|
||||||
|
- **United Kingdom** — Children's Code (Age Appropriate Design Code) under the
|
||||||
|
UK GDPR / Data Protection Act 2018
|
||||||
|
- **Any other jurisdiction** that enacts substantially similar legislation
|
||||||
|
requiring age verification, age-appropriate design assessments, or parental
|
||||||
|
consent mechanisms for software accessible to users under the age of 16 or 18
|
||||||
|
|
||||||
|
### 3.2 Prohibited Use in Restricted Jurisdictions
|
||||||
|
|
||||||
|
**If you are located in, or subject to the laws of, any jurisdiction described
|
||||||
|
in Section 3.1, you are not permitted to use, install, execute, deploy,
|
||||||
|
distribute, sublicense, or otherwise interact with BoredOS in any form.**
|
||||||
|
|
||||||
|
"Use" for the purposes of this section means:
|
||||||
|
|
||||||
|
- Installing or running BoredOS on any hardware or virtual machine
|
||||||
|
- Distributing BoredOS or any derivative work to third parties
|
||||||
|
- Deploying BoredOS in any environment accessible to others
|
||||||
|
- Incorporating BoredOS or its components into any other software product
|
||||||
|
|
||||||
|
By using BoredOS, you represent and warrant that the laws of your jurisdiction
|
||||||
|
do not require the operator or distributor of this software to implement age
|
||||||
|
verification or age-gating controls. This restriction is incorporated as an
|
||||||
|
additional condition of the copyright license pursuant to **GPLv3 Section 7(e)**.
|
||||||
|
Breach of this restriction terminates your rights under the GPLv3.
|
||||||
|
|
||||||
|
### 3.3 Permitted Jurisdictions
|
||||||
|
|
||||||
|
In jurisdictions that do not impose age verification or age-gating obligations
|
||||||
|
on software of this nature — including, at the time of writing, the Netherlands
|
||||||
|
and many other countries — any person of any age may use BoredOS freely, subject
|
||||||
|
to the terms of the GPLv3 and this policy.
|
||||||
|
|
||||||
|
### 3.4 No Monitoring of Compliance
|
||||||
|
|
||||||
|
The author does not have the technical means or intent to enforce jurisdictional
|
||||||
|
restrictions on a per-user basis. These restrictions are stated in good faith to
|
||||||
|
clarify the intended scope of use and to allocate legal responsibility
|
||||||
|
appropriately. If you are unsure whether your jurisdiction imposes such
|
||||||
|
requirements, consult a qualified legal professional before using or distributing
|
||||||
|
BoredOS.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Privacy & Data Collection
|
||||||
|
|
||||||
|
**BoredOS collects absolutely no data.**
|
||||||
|
|
||||||
|
- No telemetry
|
||||||
|
- No analytics
|
||||||
|
- No crash reports
|
||||||
|
- No user accounts
|
||||||
|
- No network communication initiated by the OS itself
|
||||||
|
- No cookies, tracking pixels, or persistent identifiers of any kind
|
||||||
|
|
||||||
|
BoredOS runs entirely on your local hardware. The author has no visibility into
|
||||||
|
who runs BoredOS, how it is used, or on what hardware it is installed.
|
||||||
|
|
||||||
|
The GitHub repository hosting BoredOS source code is operated by **GitHub, Inc.**,
|
||||||
|
which may collect data in accordance with
|
||||||
|
[GitHub's own Privacy Policy](https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement).
|
||||||
|
The author has no control over and is not responsible for GitHub's data practices.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Disclaimer of Warranties
|
||||||
|
|
||||||
|
BoredOS 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 non-infringement.
|
||||||
|
|
||||||
|
The author makes no representations or warranties that:
|
||||||
|
|
||||||
|
- BoredOS will operate correctly on any given hardware configuration
|
||||||
|
- BoredOS is free of bugs, security vulnerabilities, or defects
|
||||||
|
- BoredOS is fit for any production, safety-critical, or mission-critical use
|
||||||
|
|
||||||
|
**Do not use BoredOS in any environment where failure could result in personal
|
||||||
|
injury, data loss, financial harm, or other significant consequences.**
|
||||||
|
|
||||||
|
To the extent that mandatory provisions of applicable law (including EU consumer
|
||||||
|
protection law) imply warranties that cannot be excluded, such warranties are
|
||||||
|
limited in duration and scope to the minimum required by law.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Limitation of Liability
|
||||||
|
|
||||||
|
To the maximum extent permitted by the mandatory laws of your jurisdiction, the
|
||||||
|
author of BoredOS shall not be liable for any direct, indirect, incidental,
|
||||||
|
special, exemplary, or consequential damages (including but not limited to loss
|
||||||
|
of data, loss of profits, hardware damage, or business interruption) arising
|
||||||
|
out of the use or inability to use BoredOS, even if advised of the possibility
|
||||||
|
of such damages.
|
||||||
|
|
||||||
|
Nothing in this section limits liability for death or personal injury caused by
|
||||||
|
negligence, fraud, or any other liability that cannot be excluded under
|
||||||
|
applicable mandatory law.
|
||||||
|
|
||||||
|
The author is a private individual contributing this project freely to the
|
||||||
|
open-source community. This project generates no revenue. Any legal claims
|
||||||
|
should be assessed proportionally to this context.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. No Endorsement
|
||||||
|
|
||||||
|
The BoredOS name and branding may not be used to endorse or promote products or
|
||||||
|
services derived from this software without prior written permission from the
|
||||||
|
author. This is consistent with, and does not supersede, the terms of the GPLv3.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Governing Law & Jurisdiction
|
||||||
|
|
||||||
|
This policy and any non-contractual obligations arising out of or in connection
|
||||||
|
with it are governed by the laws of **the Netherlands**, without regard to its
|
||||||
|
conflict of law provisions.
|
||||||
|
|
||||||
|
Any disputes arising out of or in connection with this policy shall be subject
|
||||||
|
to the exclusive jurisdiction of the competent courts of **Amsterdam, the
|
||||||
|
Netherlands**, except where mandatory applicable law requires otherwise.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. Severability
|
||||||
|
|
||||||
|
If any provision of this policy is found by a court of competent jurisdiction to
|
||||||
|
be invalid, unlawful, or unenforceable, that provision shall be deemed modified
|
||||||
|
to the minimum extent necessary to make it enforceable, or severed if
|
||||||
|
modification is not possible. The validity and enforceability of the remaining
|
||||||
|
provisions shall not be affected.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. Changes to This Policy
|
||||||
|
|
||||||
|
This policy may be updated from time to time, for example to reflect changes in
|
||||||
|
applicable law. Each version will carry an updated version number and date. The
|
||||||
|
most current version will always be available in the
|
||||||
|
[BoredOS GitHub repository](https://github.com/boreddevnl/BoredOS). Prior
|
||||||
|
versions will be retained in the repository history.
|
||||||
|
|
||||||
|
Continued use of BoredOS after a policy update constitutes acceptance of the
|
||||||
|
updated terms. If you do not agree to an updated version, you must cease using
|
||||||
|
BoredOS.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 11. Contact
|
||||||
|
|
||||||
|
This project is maintained by its author on a best-effort, voluntary basis.
|
||||||
|
For questions about this policy, open an issue on the
|
||||||
|
[GitHub repository](https://github.com/boreddevnl/BoredOS).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*BoredOS Usage Policy v1.1 — May 2026*
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
#include "sys/module_manager.h"
|
#include "sys/module_manager.h"
|
||||||
#include "sys/bootfs_state.h"
|
#include "sys/bootfs_state.h"
|
||||||
#include "input/keymap.h"
|
#include "input/keymap.h"
|
||||||
|
#include "input/keyboard.h"
|
||||||
|
|
||||||
extern void sysfs_init_subsystems(void);
|
extern void sysfs_init_subsystems(void);
|
||||||
|
|
||||||
|
|
@ -234,6 +235,48 @@ static void fat32_mkdir_recursive(const char *path) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool usage_policy_prompt(void) {
|
||||||
|
kconsole_set_active(true);
|
||||||
|
serial_write("BoredOS - Please read the Usage Policy provided with this software before continuing.\n");
|
||||||
|
serial_write("Do you agree to the terms? [y/N]\n");
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
if ((inb(0x64) & 1) == 0) {
|
||||||
|
asm volatile("pause");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t scancode = inb(0x60);
|
||||||
|
keyboard_event_t ev;
|
||||||
|
if (!keyboard_handle_set1_scancode(scancode, &ev)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ev.pressed) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ev.keycode == KEY_ENTER || ev.keycode == KEY_KP_ENTER) {
|
||||||
|
serial_write("\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ev.is_text) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ev.codepoint == 'y' || ev.codepoint == 'Y') {
|
||||||
|
serial_write("\n");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ev.codepoint == 'n' || ev.codepoint == 'N') {
|
||||||
|
serial_write("\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void kmain(void) {
|
void kmain(void) {
|
||||||
init_serial();
|
init_serial();
|
||||||
vfs_init();
|
vfs_init();
|
||||||
|
|
@ -445,6 +488,11 @@ void kmain(void) {
|
||||||
smp_init(NULL);
|
smp_init(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!usage_policy_prompt()) {
|
||||||
|
log_fail("Usage policy not accepted, halting");
|
||||||
|
hcf();
|
||||||
|
}
|
||||||
|
|
||||||
wm_init();
|
wm_init();
|
||||||
|
|
||||||
asm volatile("sti");
|
asm volatile("sti");
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue