Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:manual:contrib:hyperbolabsd_roadmap [2024/04/14 14:47]
throgh
en:manual:contrib:hyperbolabsd_roadmap [2024/08/29 13:26] (current)
emulatorman
Line 2: Line 2:
  
 Todo lists are used by the developers when a software development is needed. This is common when there is a software development plan, such as the inclusion of new code or port code to the HyperbolaBSD kernel or userspace, new features, etc. The progress can be tracked here, and completed todo lists can be browsed as well. Todo lists are used by the developers when a software development is needed. This is common when there is a software development plan, such as the inclusion of new code or port code to the HyperbolaBSD kernel or userspace, new features, etc. The progress can be tracked here, and completed todo lists can be browsed as well.
 +
 +===== Important notes =====
 +
 +<note important>
 +**HyperbolaBSD** is under a **progressive** migration by replacing all non GPL-compatible code. It will be replaced with new compatible code under [[https://www.freebsd.org/copyright/freebsd-license/|Simplified BSD License]]((Known also as FreeBSD License or 2-clause BSD License)).  We do this in order to incorporate GPL code from other projects such as ReactOS, as well new code from scratch.
 +</note>
 +
  
 ===== Generic for Hyperbola GNU/Linux-libre ===== ===== Generic for Hyperbola GNU/Linux-libre =====
Line 57: Line 64:
   * Enhancements for fonts and spell-checking //**-> IN PROGRESS**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]])   * Enhancements for fonts and spell-checking //**-> IN PROGRESS**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]])
   * Enhancements for work without eudev / udev //**-> IN PROGRESS**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]])   * Enhancements for work without eudev / udev //**-> IN PROGRESS**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]])
 +
 +
 ===== HyperbolaBSD Canis Major v0.99-pre-alpha ===== ===== HyperbolaBSD Canis Major v0.99-pre-alpha =====
 ===  Develop the HyperbolaBSD system - part 1 === ===  Develop the HyperbolaBSD system - part 1 ===
 +
   * <del> Check all files with licenses issues ((Non-free licenses, unlicensed)) (kernel)</del> //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#Emulatorman|Emulatorman]] and [[https://www.hyperbola.info/members/developers/#bUst4gr0|bUst4gr0]])   * <del> Check all files with licenses issues ((Non-free licenses, unlicensed)) (kernel)</del> //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#Emulatorman|Emulatorman]] and [[https://www.hyperbola.info/members/developers/#bUst4gr0|bUst4gr0]])
   * <del>See if some of those unlicensed files are copyrightable in kernel (kernel)</del> //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#Emulatorman|Emulatorman]] and [[https://www.hyperbola.info/members/developers/#bUst4gr0|bUst4gr0]])   * <del>See if some of those unlicensed files are copyrightable in kernel (kernel)</del> //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#Emulatorman|Emulatorman]] and [[https://www.hyperbola.info/members/developers/#bUst4gr0|bUst4gr0]])
Line 77: Line 87:
   * <del>Port userspace from GCC 4.2.1 to 8.4.0 (with HyperbolaBSD patches)</del> //**-> DONE**//  (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]])   * <del>Port userspace from GCC 4.2.1 to 8.4.0 (with HyperbolaBSD patches)</del> //**-> DONE**//  (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]])
   * <del>Port userspace from GNU C99 to GNU C17 standard</del> //**-> DONE**//  (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]])   * <del>Port userspace from GNU C99 to GNU C17 standard</del> //**-> DONE**//  (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]])
-  * Build the ported kernel under FreeBSD bmake //**-> IN PROGRESS**//  (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) +  * <del>Build the ported kernel under FreeBSD bmake</del> //**-> DONE**//  (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) 
-  * Build the ported userspace under FreeBSD bmake+  * <del>Prepare cleaned LLVM libraries without GCC dependencies</del> //**-> DONE**//  (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) 
 +  * Repackage LLVM without GCC dependencies //**-> IN PROGRESS**//  (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) 
 +  * Package LLVM for cross-building 
 +  * Develop LLVM for HyperbolaBSD 
 +  * Build userspace under FreeBSD bmake and LLVM
   * Test HyperbolaBSD pre-alpha version running on QEMU   * Test HyperbolaBSD pre-alpha version running on QEMU
   * Announce officially the release of HyperbolaBSD pre-alpha   * Announce officially the release of HyperbolaBSD pre-alpha
Line 84: Line 98:
 ===== HyperbolaBSD Canis Major v0.99-alpha ===== ===== HyperbolaBSD Canis Major v0.99-alpha =====
 ===  Develop the HyperbolaBSD system - part 2 === ===  Develop the HyperbolaBSD system - part 2 ===
 +
   * <del>Contact original authors to release unlicensed code under [[https://creativecommons.org/publicdomain/zero/1.0/legalcode|CC0]] ((Known as Creative Commons 0 or Public Domain))</del> //**-> CANCELLED**//  (Reason: Decided to replace all of them with new compatible code)   * <del>Contact original authors to release unlicensed code under [[https://creativecommons.org/publicdomain/zero/1.0/legalcode|CC0]] ((Known as Creative Commons 0 or Public Domain))</del> //**-> CANCELLED**//  (Reason: Decided to replace all of them with new compatible code)
   * <del>Contact original authors to remove [[https://www.gnu.org/licenses/bsd.html|the obnoxious BSD advertising clause]]</del> //**-> CANCELLED**// (Reason: Planned for the "HyperbolaBSD Sagittarius Roadmap")   * <del>Contact original authors to remove [[https://www.gnu.org/licenses/bsd.html|the obnoxious BSD advertising clause]]</del> //**-> CANCELLED**// (Reason: Planned for the "HyperbolaBSD Sagittarius Roadmap")
   * <del>Modularise kernel</del> //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]])   * <del>Modularise kernel</del> //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]])
-  * Modularise userspace //**-> IN PROGRESS**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) +  * Modularise userspace 
-  * Remove all non-x86 specific source code in kernel +  Adapt userspace under [[en:project:fhs|FHS]] for i386 version (eg. binaries and libraries
-  * Remove all non-x86 specific source code in libc +  * Develop kernel for i386 architecture 
-  * Write compatible code under [[https://www.freebsd.org/copyright/freebsd-license/|Simplified BSD License]] ((Known also as FreeBSD License or 2-clause BSD License)) to replace the nonfree files in kernel +  * Develop userspace for i386 architecture 
-  * Write compatible code under [[https://www.freebsd.org/copyright/freebsd-license/|Simplified BSD License]] ((Known also as FreeBSD License or 2-clause BSD License)) to replace the nonfree files in libc+  * Develop hyperman ((The HyperbolaBSD package manager)) 
 +  * Develop hypertools ((Programs for HyperbolaBSD development))
   * Replace nonfree tools/applications with fully free third-party ones in userspace   * Replace nonfree tools/applications with fully free third-party ones in userspace
   * Test HyperbolaBSD alpha version running on QEMU   * Test HyperbolaBSD alpha version running on QEMU
Line 98: Line 114:
 ===== HyperbolaBSD Canis Major v0.99-beta ===== ===== HyperbolaBSD Canis Major v0.99-beta =====
 === Package the HyperbolaBSD system === === Package the HyperbolaBSD system ===
-  * Develop hyperman ((The HyperbolaBSD package manager)) +
-  * Develop hypertools ((Programs for HyperbolaBSD development))+
   * Port and test runit ((a UNIX init scheme with service supervision))   * Port and test runit ((a UNIX init scheme with service supervision))
   * Develop runit init scripts to run HyperbolaBSD    * Develop runit init scripts to run HyperbolaBSD 
Line 112: Line 127:
 ===== HyperbolaBSD Canis Major v1-rc ===== ===== HyperbolaBSD Canis Major v1-rc =====
 === Port possible extra packages from Hyperbola GNU/Linux-libre to HyperbolaBSD === === Port possible extra packages from Hyperbola GNU/Linux-libre to HyperbolaBSD ===
 +
   * Index incompatible packages and remove them from the git repositories   * Index incompatible packages and remove them from the git repositories
   * Port and package all the remaining extra packages with hyperman ((The HyperbolaBSD package manager))   * Port and package all the remaining extra packages with hyperman ((The HyperbolaBSD package manager))
Line 120: Line 136:
 ===== HyperbolaBSD Canis Major v1 ===== ===== HyperbolaBSD Canis Major v1 =====
 === Release HyperbolaBSD === === Release HyperbolaBSD ===
 +
   * Announce officially the release of HyperbolaBSD   * Announce officially the release of HyperbolaBSD
   * EOL of Hyperbola GNU/Linux-libre support ((Hyperbola GNU/Linux-libre frozen in old-stable for transition reasons))   * EOL of Hyperbola GNU/Linux-libre support ((Hyperbola GNU/Linux-libre frozen in old-stable for transition reasons))