summaryrefslogtreecommitdiff
path: root/ROADMAP
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-01-22 22:51:06 +0100
committerLudovic Courtès <ludo@gnu.org>2015-01-22 22:52:11 +0100
commit5bf6b86f1b5b12a55305b0dc8030a6f8f2005f01 (patch)
treeb1aa2efce03e08004ff28d7eb588478bce70d19d /ROADMAP
parent70e629f5483bd3a5bf9c27e9f401d7d933dc222d (diff)
doc: Update 'ROADMAP'.
Suggested by Omar Radwan <toxemicsquire4@gmail.com>. * ROADMAP: Rewrite.
Diffstat (limited to 'ROADMAP')
-rw-r--r--ROADMAP118
1 files changed, 64 insertions, 54 deletions
diff --git a/ROADMAP b/ROADMAP
index 18437439162..45fce459123 100644
--- a/ROADMAP
+++ b/ROADMAP
@@ -2,7 +2,7 @@
2 2
3#+TITLE: Tentative GNU Guix Road Map 3#+TITLE: Tentative GNU Guix Road Map
4 4
5Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> 5Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
6 6
7 Copying and distribution of this file, with or without modification, 7 Copying and distribution of this file, with or without modification,
8 are permitted in any medium without royalty provided the copyright 8 are permitted in any medium without royalty provided the copyright
@@ -17,56 +17,66 @@ The goals of the GNU Guix project are two-fold:
17 GNU/Linux and possibly other GNU variants, with a focus on the 17 GNU/Linux and possibly other GNU variants, with a focus on the
18 promotion and tight integration of GNU components–the GNU system. 18 promotion and tight integration of GNU components–the GNU system.
19 19
20This document lists milestones toward these goals. 20Since its inception, the project has gone a long way towards that goal. Below
21 21is a list of items we want for version "1.0" of the Guix System Distribution.
22The timeline below was written at the end of Dec. 2012. An updated and more 22There will be a few 0.x releases by then to give the new features more
23detailed list of the remaining milestones was posted at 23exposure and testing.
24https://lists.gnu.org/archive/html/guix-devel/2013-12/msg00120.html . 24
25 25You're welcome to discuss this road map on guix-devel@gnu.org or #guix on
26The actual timeline was of course slightly different than initially 26Freenode!
27envisioned, and so was the feature set–things like cross-compilation support 27
28and the MIPS64 port were not planned back then. See the news section at 28* Features scheduled for 1.0
29http://www.gnu.org/software/guix/ and ‘NEWS’ for the release history. 29
30 30 - larger & more robust build farm
31* GNU Guix 0.1: Jan. 2013 (was: Dec. 2012) 31 + we need a powerful, dedicated front-end
32 32 + armhf-linux build machine
33** basic package management facilities 33 + leave Hydra in favor of 'guix publish' + custom code?
34 34 - more OS features
35Including install, upgrade, remove, roll-back, and search. 35 + LVM support
36 36 + encrypted root
37** self-contained user-land distribution 37 + configurable name service switch
38 38 + whole-system unit tests, using VMs
39 - GNU/Linux-only, i686 and x86_64; optionally mipsel64 39 - more service definitions
40 - ~100 non-X11 packages 40 + mcron, postfix(?), wicd(?), etc.
41 41 - better 'guix system'
42** maybe integrated Nix code 42 + 'reconfigure' should be able to restart non-essential services
43 43 + support for '--list-generations' and '--delete-generations'
44* GNU Guix 0.2: Feb./Mar. 2013 44 - better 'guix pull'
45 45 + using Git to fetch the source instead of re-downloading everything
46** improved package management features 46 + build more quickly
47 47 + install new .mo files and new manual
48 - user-environment hooks 48 + authentication of the Guix source: use signed commits?
49 - sophisticated handling of collisions when building a union (package 49 - simplified, purely declarative service list in 'operating-system'
50 priorities, etc.) 50 + it should be possible to inspect the service instance declarations and
51 51 settings
52** [[file:TODO::*add%20guix-pull][guix-pull tool]] to quickly update Guix and GNU for normal users 52 - GUIs
53** support for fetching pre-built binaries 53 + integrate guix-web?
54 54 + guile-ncurses installer?
55 - this is known as the "binary-cache substituter" in Nix parlance 55 - 'guix publish'?
56 56
57** auto-update facility available for GNU packages 57* Features for later
58 58
59** more packages 59 - complete GNU/Hurd port
60 60 - use content-based addressing when downloading substitutes to reduce
61 - Xorg 61 bandwidth requirements
62 - Emacs 62 + design nar v2 format where file contents are replaced by their hashes
63 63 + leverage /gnu/store/.links
64* GNU Guix 0.9: June 2013 64 - binary origin tracking
65 65 + keep signatures in sqlite.db
66** bootable GNU/Linux-Libre distro 66 + preserve signatures upon import/export
67** high-level OS configuration descriptive EDSL, à la NixOS 67 - peer-to-peer distribution of updates (GNUnet?)
68 68 - more deterministic builds
69* GNU Guix 1.0: September 2013 (GNU anniversary release) 69 + identify & fix sources of non-determinism in builds
70 70 + strengthen guix-daemon containers to further increase reproducibility
71** bootable GNU/Linux-Libre distro with non-GUI installer 71 + trusting-trust: bootstrap with different tool chains
72** usable for a range of hacker-style uses 72 + fixed-point: re-bootstrap until fixed point is reached
73 + distributed validation: compare contents of store items with others
74 * resist a hydra.gnu.org compromise
75 - reproducible containers: mix of 'guix environment' and 'guix system vm'
76 - execute code with least privilege
77 + build containers like guix-daemon does
78 + provide a Plash-like interface in Bash
79 - daemon rewritten in Guile
80 - more dmd integration
81 + monitor network interfaces and start/stop events based on that
82 + include a DHCP client written in Scheme