LoseThos Constitution

In order to provide an ideal environment for recreational programming, these 
twelve points are the founding principles of LoseThos.  LoseThos is not Linux 
and does not aspire to be Linux.  Such thinking must be purged, over and over, 
before one can understand LoseThos.  LoseThos is orders of magnitude simpler 
than Linux to better fulfill the promise "open source" means to those who think 
it means programmers can have fun tinkering.  The vision for LoseThos is a 
souped-up Commodore 64, that runs x86_64 code with multicore support and 
multitasking.  Astoundingly, the Commodore 64 did not use ASCII and that same 
bold spirit is present in LoseThos where no standard is assumed and everything 
is newly 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 will always run everything in kernel mode, ring 0.  All programs 
will have full access to memory, I/O ports, instructions, etc.

2) LoseThos will always "identity map" virtual memory.  (Virtual addresses are 
set 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 won't have networking.

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

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

7) LoseThos will 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.