====== HyperbolaBSD Roadmap ====== 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 ===== **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. ===== Generic for Hyperbola GNU/Linux-libre ===== We do what we can about fixing packages. Nevertheless we have to approve stability and security first for everything. Please be aware that you can do package-builds also on your own and share them with the community for supporting also the further development of Hyperbola as project and system. We like to work together on this. Also we do not add new packages on demand, especially not when they are only for GNU/Linux-systems. In that case please provide your own sources and ports. Thank you! ===== Hyperbola GNU/Linux-libre Milky Way v0.4.1 ===== === Further work on GNU/Linux-libre for transitional release into HyperbolaBSD === * Add further packages within context of missing protocols, additions for free and libre gaming and applications for digital book-publication //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) ===== Hyperbola GNU/Linux-libre Milky Way v0.4.2 ===== === Full integration of runit === * Add further packages within context of backup-software and supporting libraries, additions for free and libre video and audio-production //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Testing and fixing runit-integration //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) ===== Hyperbola GNU/Linux-libre Milky Way v0.4.3 ===== === Updates and fixes for UXP-applications, going for a stable desktop-experience === * Fix and update packages reported being malfunctional or missing features //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Fix generic reports for major applications like UXP-based for example //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Optimize desktop-experience for Hyperbola //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Migrate build server to new VPS instance //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Create [[https://laminar.ohwg.net/|CI infrastructure with Laminar]] to build, sign and release packages to repos //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Create VPN and SSH infrastructure in build server with hardened security //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Create job scripts in Laminar to build and release packages to repos //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Test new build server //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Add bsdmainutils (lorder) to build the HyperbolaBSD userspace //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Add HyperbolaBSD partition support (MBR and GPT) in gptfdisk //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Add HyperbolaBSD partition support (MBR and GPT) in util-linux (fdisk) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Add HyperbolaBSD partition support (MBR and GPT) in parted //**-> CANCELLED**// (Reason: no needed) * Package modified gptfdisk //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Package modified util-linux (fdisk) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Package modified parted //**-> CANCELLED**// (Reason: no needed) * Build modified gptfdisk //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Build modified util-linux (fdisk) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Build modified parted //**-> CANCELLED**// (Reason: no needed) ===== Hyperbola GNU/Linux-libre Milky Way v0.4.4 ===== === Enhancements for productivity and Hyperbola's infrastructure === * Fix and update packages reported being malfunctional or missing features //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Further preparations for HyperbolaBSD by removing non-compliant packages and features //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Audit for fixing not fully freedom-compliant packages //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Possible setup for own keyserver-solution //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) ===== Hyperbola GNU/Linux-libre Milky Way v0.4.5 ===== === Enhancements for installation === * Fix and update packages reported being malfunctional or missing features //**-> IN PROGRESS**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Reduce ISO-image and rebuild essential packages //**-> IN PROGRESS**// (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Documentation for offline-installation (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Ways forward to reach offline-installation (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Remove pacman for finally supporting hyperman as drop-in replacement (Responsible: [[https://www.hyperbola.info/members/developers/#Emulatorman|Emulatorman]], [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Remove remnants of Arch GNU/Linux tools and replace with own implementations (Responsible: [[https://www.hyperbola.info/members/developers/#throgh|throgh]]) * Remove further packages being GNU/Linux-only focussed //**-> 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]]) ===== HyperbolaBSD Canis Major v0.99-pre-alpha ===== === Develop the HyperbolaBSD system - part 1 === * Check all files with licenses issues ((Non-free licenses, unlicensed)) (kernel) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#Emulatorman|Emulatorman]] and [[https://www.hyperbola.info/members/developers/#bUst4gr0|bUst4gr0]]) * See if some of those unlicensed files are copyrightable in kernel (kernel) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#Emulatorman|Emulatorman]] and [[https://www.hyperbola.info/members/developers/#bUst4gr0|bUst4gr0]]) * Check all files with licenses issues ((Non-free licenses, unlicensed)) (libc) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#bUst4gr0|bUst4gr0]]) * See if some of those unlicensed files are copyrightable (libc) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#bUst4gr0|bUst4gr0]]) * Check all files with licenses issues ((Non-free licenses, unlicensed)) (libc-extra) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#bUst4gr0|bUst4gr0]]) * See if some of those unlicensed files are copyrightable (libc-extra) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#bUst4gr0|bUst4gr0]]) * Check all files with licenses issues ((Non-free licenses, unlicensed)) (libc-headers) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#bUst4gr0|bUst4gr0]]) * See if some of those unlicensed files are copyrightable (libc-headers) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/developers/#bUst4gr0|bUst4gr0]]) * Rebrand kernel //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#Emulatorman|Emulatorman]]) * Rebrand userspace //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#Emulatorman|Emulatorman]]) * Rebrand Xenocara //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#Emulatorman|Emulatorman]]) * Remove nonfree firmware blobs //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#Emulatorman|Emulatorman]]) * Port kernel from binutils 2.17 to 2.34 (with HyperbolaBSD patches) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Port kernel from GCC 4.2.1 to 8.4.0 (with HyperbolaBSD patches) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Port kernel from GNU C99 to GNU C17 standard //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Port userspace from binutils 2.17 to 2.34 (with HyperbolaBSD patches) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Port userspace from GCC 4.2.1 to 8.4.0 (with HyperbolaBSD patches) //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Port userspace from GNU C99 to GNU C17 standard //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Build the ported kernel under FreeBSD bmake //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Prepare cleaned LLVM libraries without GCC dependencies //**-> 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 * Announce officially the release of HyperbolaBSD pre-alpha ===== HyperbolaBSD Canis Major v0.99-alpha ===== === Develop the HyperbolaBSD system - part 2 === * 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)) //**-> CANCELLED**// (Reason: Decided to replace all of them with new compatible code) * Contact original authors to remove [[https://www.gnu.org/licenses/bsd.html|the obnoxious BSD advertising clause]] //**-> CANCELLED**// (Reason: Planned for the "HyperbolaBSD Sagittarius Roadmap") * Modularise kernel //**-> DONE**// (Responsible: [[https://www.hyperbola.info/members/founders/#coadde|coadde]]) * Modularise userspace * Adapt userspace under [[en:project:fhs|FHS]] for i386 version (eg. binaries and libraries) * Develop kernel for i386 architecture * Develop userspace for i386 architecture * Develop hyperman ((The HyperbolaBSD package manager)) * Develop hypertools ((Programs for HyperbolaBSD development)) * Replace nonfree tools/applications with fully free third-party ones in userspace * Test HyperbolaBSD alpha version running on QEMU * Announce officially the release of HyperbolaBSD alpha ===== HyperbolaBSD Canis Major v0.99-beta ===== === Package the HyperbolaBSD system === * Port and test runit ((a UNIX init scheme with service supervision)) * Develop runit init scripts to run HyperbolaBSD * Package the entire modularised HyperbolaBSD system with hyperman ((The HyperbolaBSD package manager)) * Develop the HyperbolaBSD live image * Test HyperbolaBSD live image * Port and test Xenocara * Test HyperbolaBSD beta version running on QEMU * Announce officially the release of HyperbolaBSD beta * Contact [[supervision@list.skarnet.org|Gerrit Pape]]((The runit author)) to let him know that runit runs on HyperbolaBSD ===== HyperbolaBSD Canis Major v1-rc ===== === Port possible extra packages from Hyperbola GNU/Linux-libre to HyperbolaBSD === * Index incompatible packages and remove them from the git repositories * Port and package all the remaining extra packages with hyperman ((The HyperbolaBSD package manager)) * Test HyperbolaBSD final version running on QEMU * Announce officially the release of HyperbolaBSD release candidate * Contact [[contact+badwolf@hacktivis.me|Haelwenn Monnier]] to let him know that BadWolf runs on HyperbolaBSD ===== HyperbolaBSD Canis Major v1 ===== === Release 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)) * Contact the [[licensing@fsf.org|Free Software Fundation]] to endorse HyperbolaBSD in their list of [[https://www.gnu.org/distros/free-non-gnu-distros.html|Non-GNU Distributions]] * Contact the [[licensing@fsf.org|Free Software Fundation]] to move Hyperbola GNU/Linux-libre in their list of [[https://www.gnu.org/distros/free-distros.html#Historical|Historical GNU/Linux Distributions]] * Restructuring of entire Hyperbola Project with HyperbolaBSD