mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2024-12-26 15:26:43 +00:00
Change Charter and update OS documentation.
The ZealOS Charter now permits bootloaders to be excluded from the fully open-source public-domain source code requirement, but adds that the 'legacy' ZealOS ZealC public-domain HDD/DVD BIOS-mode bootloaders must always be provided, functional, and offered as a bootloader option during BIOS-mode installation.
This commit is contained in:
parent
1de41dbd95
commit
b09de5aa14
5 changed files with 14 additions and 12 deletions
|
@ -1,12 +1,13 @@
|
|||
|
||||
$FG,5$$WW,1$$TX+CX,"ZealOS Charter"$$FG$
|
||||
|
||||
* The vision is the same usage model and niche as the Commodore 64 -- a simple machine where programming was the goal, not just a means to an end. However, it is modern, 64-bit and $FG,2$multi-cored$FG$. It is special purpose, not general purpose, so some things it will not do. Also, it's a kayak, not a Titanic. The priority is $FG,2$user developers$FG$, not $FG,2$3rd party developers$FG$.
|
||||
|
||||
* $FG,4$We don't think twice about breaking compatibility. $FG$ We do not put any hooks for future changes. "Perfect" means we always act as though it is final, for all time. Microsoft allowed the $FG,2$$TX,"Windows BMP",HTML="http://en.wikipedia.org/wiki/BMP_file"$$FG$ file format to adapt to the future and it became grotesque.
|
||||
|
||||
* Low line count and code complexity is the highest good, so it is easy to learn the whole thing. Users should see the light at the end of the tunnel. One file system, for example, is better than many file systems.
|
||||
* Low line count and code complexity is the highest good, so it is easy to learn the whole thing. Users should see the light at the end of the tunnel.
|
||||
|
||||
* There is a limit of 100,000 lines of code for all time, not including applications and demos. Currently, there are $TX,"98,216",D="DD_ZEALOS_LOC"$ lines of code. $FG,4$3rd party libraries are banned$FG$ because they circumvent the intent of this limit. The vision is a Commodore 64 ROM -- a fixed core API that is the only dependency of applications. Dependency on components and libraries creates a hell that is no longer blissful.
|
||||
* There is a limit of 100,000 lines of code for all time, not including applications and demos. Currently, there are $TX,"98,640",D="DD_ZEALOS_LOC"$ lines of code. $FG,4$3rd party libraries are banned from being required$FG$ because they circumvent the intent of this limit. The vision is a Commodore 64 ROM -- a fixed core API that is the only dependency of applications. Dependency on components and libraries creates a hell that is no longer blissful.
|
||||
|
||||
* The primary metric for resolving all ZealOS code governance issues is how fast the compiler compiles itself and the kernel with $LK,"BootHDIns",A="MN:BootHDIns"$(). The secondary metric is how understandable the code is. The $LK,"ZealC",A="FI:::/Doc/ZealC.DD"$ language should be changed to optimize these metrics, as Terry Davis did when he changed type casting from prefix to $LK+PU,"postfix",A="FF:::/Doc/ZealC.DD,postfix"$.
|
||||
|
||||
|
@ -14,7 +15,7 @@ $FG,5$$WW,1$$TX+CX,"ZealOS Charter"$$FG$
|
|||
|
||||
* It is for one platform -- $FG,4$$TX,"x86_64",HTML="http://en.wikipedia.org/wiki/Amd64#AMD64"$$FG$ desktop PC compatibles, more like super-computers than battery efficient wimpy mobiles.
|
||||
|
||||
* One driver for each class of device. Limited exceptions are allowed. With divergent device capabilities, it is a nightmare for user applications and what is gained?
|
||||
* One driver for each class of device. The only exception is networking. With divergent device capabilities, it is a nightmare for user applications and what is gained?
|
||||
|
||||
* $FG,2$Ring-0-only$FG$. Everything runs in kernel mode, including user applications.
|
||||
|
||||
|
@ -26,9 +27,9 @@ $FG,5$$WW,1$$TX+CX,"ZealOS Charter"$$FG$
|
|||
|
||||
* $FG,2$Single-address-map$FG$ as though paging is not used. Long mode requires paging, however, so the nearest thing is keeping all memory $FG,2$identity-mapped$FG$.
|
||||
|
||||
* $FG,2$Free$FG$ and $FG,2$public domain$FG$.
|
||||
* $FG,2$Free$FG$ and $FG,2$public domain$FG$ operating system code. Bootloaders of other open-source licenses (Grub, Limine, etc) are permitted as long as the Public Domain ZealOS HDD/DVD Bootloaders written in ZealC are always kept functional, always offered as a bootloader option during BIOS-mode install, and always included in Distro ISOs.
|
||||
|
||||
* $FG,2$100% open source$FG$ with all source included.
|
||||
* $FG,2$100% open source$FG$ operating system code with all source included. Bootloaders are excluded from this requirement.
|
||||
|
||||
* Documents are not for printing. They're dynamic, intended for the screen.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
$WW,1$$FG,5$$TX+CX,"Credits"$$FG$
|
||||
|
||||
$FG,2$Terry A. Davis$FG$ wrote all of TempleOS over a span of $FG,2$$TX,"15.0",D="DD_TEMPLEOS_AGE"$$FG$ years (full-time). ZealOS, written over a span of $FG,2$$TX,"2.6",D="DD_ZEALOS_AGE"$$FG$ years, is a fork of TempleOS. It can run on some bare metal 64-bit PC's from about 2007-2019 with no layering, libraries, tools, modules or anything from other sources. Otherwise, you run it in a virtual machine, like $FG,2$VMware$FG$, $FG,2$QEMU$FG$ or $FG,2$VirtualBox$FG$. It is independent and stands alone. 100% of the src code is including on all distro's, from the kernel to the compiler to the boot loaders! It is public domain, not GPL.
|
||||
$FG,2$Terry A. Davis$FG$ wrote all of TempleOS over a span of $FG,2$$TX,"15.0",D="DD_TEMPLEOS_AGE"$$FG$ years (full-time). ZealOS, written over a span of $FG,2$$TX,"3.1",D="DD_ZEALOS_AGE"$$FG$ years (part-time), is a fork of TempleOS. It can run on bare metal 64-bit PC's from about 2007-2019 with no layering, libraries, tools, modules or anything from other sources. Otherwise, you run it in a virtual machine, like $FG,2$VMware$FG$, $FG,2$QEMU$FG$ or $FG,2$VirtualBox$FG$. It is independent and can stand alone. 100% of the operating system source code is included on all distros, from the kernel to the compiler to the applications, including public-domain BIOS-mode boot loaders! It is public domain, not GPL.
|
||||
|
||||
*) $LK,"ATA Reg and Cmd Definitions",A="MN:ATA_NOP"$ are originally from Linux. Later, Terry got the spec.
|
||||
|
||||
|
@ -38,6 +38,7 @@ $FG,2$Terry A. Davis$FG$ wrote all of TempleOS over a span of $FG,2$$TX,"15.0",D
|
|||
|
||||
*) The random number generator is from Donald Knuth in the wikipedia entry for $TX,"Linear_congruential_generator",HTML="http://en.wikipedia.org/wiki/Linear_congruential_generator"$.
|
||||
|
||||
*) The $FG,4$optional$FG$ UEFI-compatible Limine bootloader is copyrighted by GitHub user 'mintsuki' and project contributors, under the BSD-2 License. $FG,4$This bootloader is NOT included by default$FG$, and is only available on ZealOS distro ISO builds marked "BSD2-UEFI" in the ISO filename.
|
||||
$FG,8$
|
||||
* "MSDOS", "Windows", and "FAT32" are trademarks owned by MicroSoft Corp.
|
||||
* "MATLAB" is a trademark owned by The Math Works, Inc.
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
$WW,1$$FG,5$$TX+CX,"Frequently Asked Questions"$$FG$
|
||||
|
||||
$TR,"How come it is public domain, not GPL?"$
|
||||
$ID,2$$FG,2$Terry A. Davis$FG$, wrote all of TempleOS over a span of $FG,2$$TX,"15.0",D="DD_TEMPLEOS_AGE"$$FG$ years (full-time). ZealOS, written over a span of $FG,2$$TX,"2.6",D="DD_ZEALOS_AGE"$$FG$ years, is a fork of TempleOS. It can run on some bare metal 64-bit PC's from about 2007-2019 with no layering, libraries, tools, modules or anything from other sources. Otherwise, you run it in a virtual machine, like $FG,2$VMware$FG$, $FG,2$QEMU$FG$ or $FG,2$VirtualBox$FG$. It is independent and stands alone. 100% of the src code is including on all distro's, from the kernel to the compiler to the boot loaders! See $LK,"::/Doc/Credits.DD"$.
|
||||
$ID,2$$FG,2$Terry A. Davis$FG$, wrote all of TempleOS over a span of $FG,2$$TX,"15.0",D="DD_TEMPLEOS_AGE"$$FG$ years (full-time). ZealOS, written over a span of $FG,2$$TX,"3.1",D="DD_ZEALOS_AGE"$$FG$ years (part-time), is a fork of TempleOS. It can run on bare metal 64-bit PC's from about 2007-2019 with no layering, libraries, tools, modules or anything from other sources. Otherwise, you run it in a virtual machine, like $FG,2$VMware$FG$, $FG,2$QEMU$FG$ or $FG,2$VirtualBox$FG$. It is independent and can stand alone. 100% of the public-domain operating system source code is included on all distros, from the kernel to the compiler to the applications, including public-domain BIOS-mode boot loaders! See $LK,"::/Doc/Credits.DD"$.
|
||||
$ID,-2$$TR,"Shouldn't it be GNU/ZealOS?"$
|
||||
$ID,2$ZealOS executes 100% public-domain code. Boot-loaders were even written, so we do not need Grub. See $LK,"::/Doc/Credits.DD"$.
|
||||
$ID,2$ZealOS executes 100% public-domain operating system code. Public-domain boot-loaders were even written, so we do not require Grub. Optional UEFI-compatible ZealOS distro builds can be made using Limine, a BSD-2 licensed bootloader, but this is not required for BIOS-mode. See $LK,"::/Doc/Credits.DD"$.
|
||||
$ID,-2$$TR,"Don't you use GNU's gcc?"$
|
||||
$ID,2$ZealOS was written from scratch, starting with $FG,2$TASM$FG$ long ago, launching from real-mode DOS. Now, there is no $FG,2$Linux$FG$ or $FG,2$GNU$FG$ or any other code in ZealOS. Yes, the compiler was written from scratch. See $LK,"::/Doc/Credits.DD"$.
|
||||
$ID,-2$$TR,"Why do you dual boot?"$
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
* Master/Slave MultiCore
|
||||
|
||||
* Free, $FG,2$public domain$FG$, $FG,2$100% open source$FG$.
|
||||
* Free, $FG,2$public domain$FG$, $FG,2$100% open source$FG$ operating system code.
|
||||
|
||||
* 64-bit $FG,2$compiler/assembler$FG$ for $LK,"ZealC",A="FI:::/Doc/ZealC.DD"$. Truly compiles, doesn't interpret. $FG,2$Just-in-Time$FG$ and $FG,2$Ahead-of-Time$FG$ compilation. With $FG,2$JIT$FG$, no need for object or exe files.
|
||||
|
||||
|
@ -50,4 +50,4 @@
|
|||
|
||||
* Many games, $LK,"demos",A="FI:::/Doc/DemoIndex.DD"$ and $LK,"documentation",A="FI:::/Doc/HelpIndex.DD"$.
|
||||
|
||||
* $FG,2$All source code$FG$ included. Only compiles with the included ZealOS compiler and assembler.
|
||||
* $FG,2$All operating system source code$FG$ included. Only compiles with the included ZealOS compiler and assembler.
|
||||
|
|
|
@ -15,8 +15,8 @@ U0 LoadDocDefines()
|
|||
//$LK,"DD_BOOT_HIGH_LOC_DVD",A="FF:::/System/Boot/BootDVD.ZC,DD_BOOT_HIGH_LOC_DVD"$
|
||||
|
||||
$TR,"LineRep"$
|
||||
$ID,2$DefinePrint("DD_ZEALOS_LOC","98,417");
|
||||
$ID,-2$
|
||||
$ID,2$DefinePrint("DD_ZEALOS_LOC","98,640");
|
||||
$ID,-2$
|
||||
DefinePrint("DD_MP_VECT", "%08X", MP_VECT_ADDR);
|
||||
DefinePrint("DD_MP_VECT_END", "%08X", MP_VECT_ADDR + COREAP_16BIT_INIT_END - COREAP_16BIT_INIT - 1);
|
||||
|
||||
|
|
Loading…
Reference in a new issue