LoseThos Constitution

The goal of LoseThos is to provide an ideal environment for recreational 
programming and not imitate Linux.  LoseThos is orders of magnitude simpler than 
Linux to better fulfill the promise of open source.  The vision for LoseThos is 
a 64-bit, souped-up, multitasking, multicore Commodore 64 with a C+ shell 
instead of BASIC that runs x86_64 code.

LoseThos holds no standards sacred -- everything is freshly designed from 
scratch.  This is not a 1970's main frame operating system and, no, it has 
nothing to do with Commodore 64 emulation -- it's x86_64.

 
1) LoseThos is ring-0-only, running everything in kernel mode including 
applications.  You have full access to memory, I/O ports, instructions, etc. at 
all times, because that's fun.

2) LoseThos will always identity-map memory in a single-address-map 
configuration.  (Virtual addresses are always kept equal to physical addresses 
with a single map for all tasks on all cores.)  It's as though paging is not 
used.

3) LoseThos will always be for one platform -- x86_64 PC compatibles.

4) LoseThos will never have networking, so malware is less of an issue.

5) LoseThos will always have one video mode, 640x480 by 16 colors, unless that 
mode becomes unavailable on computers in the future.

6) The LoseThos operating system will always be free.  I might sell 
applications, support, or, possibly, do adware.

7) LoseThos will always be 100% open source with all source included, unless 
device drivers or something can only be included with non-disclosure agreements.

8) All function args and returns will be 64-bit.  No plans for C++.

9) LoseThos documents are not for printing.  They're dynamic and intended for 
the screen.  There will always be just one font, a fixed-width font.  No 
Unicode, just ASCII.

10) LoseThos is not for multimedia.  Games will be created by programmers, not 
artists.  Sounds and images will be, primarily, calculated in real-time, not 
fetched.

11) All functions, variables and class members will be accessible.  There are no 
C++ public/private protections and all functions, even secondary ones in the 
kernel, can be called.

12) Backward compatibility is NOT guaranteed.  You are safest working with JIT 
compilation instead of AOT static binaries because I can add members to classes, 
reorder members in classes, add default args to existing functions, change #defi
ne values, etc. all without breaking compatibility.


* "Commodore 64" was a trademark of Commodore Business Machines.
* "Linux" is probably a trademark owned by Linus Torvalds.