[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: website: Add draft of the 1.0 announcement.
From: |
Ludovic Courtčs |
Subject: |
01/01: website: Add draft of the 1.0 announcement. |
Date: |
Wed, 1 May 2019 10:19:39 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix-artwork.
commit 68eb43ff7265dd77cb885f132a3605685453d87c
Author: Ludovic Courtès <address@hidden>
Date: Wed May 1 12:23:00 2019 +0200
website: Add draft of the 1.0 announcement.
* website/drafts/gnu-guix-1.0.0-released.md,
website/static/blog/img/guix-hexagons.png: New files.
---
website/drafts/gnu-guix-1.0.0-released.md | 267 ++++++++++++++++++++++++++++++
website/static/blog/img/guix-hexagons.png | Bin 0 -> 52599 bytes
2 files changed, 267 insertions(+)
diff --git a/website/drafts/gnu-guix-1.0.0-released.md
b/website/drafts/gnu-guix-1.0.0-released.md
new file mode 100644
index 0000000..cc0d973
--- /dev/null
+++ b/website/drafts/gnu-guix-1.0.0-released.md
@@ -0,0 +1,267 @@
+title: GNU Guix 1.0.0 released
+date: 2019-05-02 16:00
+author: Ludovic Courtès
+slug: gnu-guix-1.0.0-released
+tags: Releases
+---
+We are excited to announce the release of GNUÂ Guix version 1.0.0!
+
+The release comes with [ISO-9660 installation
+images](https://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html),
+a [virtual machine
+image](https://www.gnu.org/software/guix/manual/en/html_node/Running-Guix-in-a-VM.html),
+and with tarballs to install the package manager on top of your
+GNU/Linux distro, either [from
+source](https://www.gnu.org/software/guix/manual/en/html_node/Requirements.html)
+or [from
+binaries](https://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html).
+Guix users can update by running `guix pull`.
+
+One-point-oh always means a lot for free software releases. For Guix,
+1.0 is the result of seven years of development, with code, packaging,
+and documentation contributions made by 260 people, translation work
+carried out by a dozen of people, and artwork and web site development
+by a couple of individuals, to name some of the activities that have
+been happening. During those years we published no less than [19 “0.x”
+releases](https://www.gnu.org/software/guix/blog/tags/releases/).
+
+# The journey to 1.0
+
+We took our time to get there, which is quite unusual in an era where
+free software moves so fast. Why did we take this much time? First, it
+takes time to build a community around a GNU/Linux distribution, and a
+distribution wouldn’t really exist without it. Second, we feel like
+we’re contributing an important piece to [the GNU operating
+system](https://www.gnu.org/gnu/about-gnu.html), and that is surely
+intimidating and humbling.
+
+Last, we’ve been building something new. Of course we stand on the
+shoulders of giants, and in particular [Nix](https://nixos.org/nix/),
+which brought the functional software deployment paradigm that Guix
+implements. But developing Guix has been—and still is!—a challenge in
+many ways: it’s a [programming](https://arxiv.org/abs/1305.4584)
+[language](https://www.gnu.org/software/guix/blog/2017/back-from-gpce/)
+design challenge, an
+[operating](https://www.gnu.org/software/guix/blog/2015/service-composition-in-guixsd/)
+[system](https://www.gnu.org/software/guix/blog/2017/running-system-services-in-containers/)
+design challenge, a challenge for
+[security](https://www.gnu.org/software/guix/blog/2016/timely-delivery-of-security-updates/),
+[reproducibility](https://www.gnu.org/software/guix/blog/tags/reproducibility/),
+[bootstrapping](https://www.gnu.org/software/guix/blog/tags/bootstrapping/),
+usability, and more. In other words, it’s been a long but insightful
+journey! :-)
+
+# What GNUÂ Guix can do for you
+
+Presumably some of readers are discovering Guix today, so let’s recap
+what Guix can do for you as a user. Guix is a complete toolbox for
+software deployment in general, which makes it different from most of
+the tools you may be familiar with.
+
+![Guix manages packages, environments, containers, and
systems.](https://www.gnu.org/software/guix/static/blog/img/guix-hexagons.png)
+
+This may sound a little abstract so let’s look at concrete use cases:
+
+ - *As a user*, Guix allows you to [install applications and to keep
+ them
+
up-to-date](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-package.html):
+ search for software with `guix search`, install it with `guix
+ install`, and maintain it up-to-date by regularly running `guix
+ pull` and `guix upgrade`. Guix follows a so-called “rolling
+ release” model, so you can run `guix pull` at any time to get the
+ latest and greatest bits of free software.
+
+ This certainly sounds familiar, but a distinguishing property here
+ is _dependability_: Guix is transactional, meaning that you can at
+ any time roll back to a previous “generation” of your package set
+ with `guix package --roll-back`, inspect differences with `guix
+ package -l`, and so on.
+
+ Another useful property is _reproducibility_: Guix allows you to
+ deploy the _exact same software environment_ on different machines
+ or at different points in time thanks to [`guix
+
describe`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-describe.html)
+ and [`guix
+
pull`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-pull.html).
+
+ This, coupled with the fact that package management operations do
+ not require root access, is invaluable notably in the context of
+ high-performance computing (HPC) and reproducible science, which the
+ [Guix-HPC effort](https://guix-hpc.bordeaux.inria.fr/) has been
+ focusing on.
+
+ - *As a developer*, we hope you’ll enjoy [`guix
+
environment`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-environment.html),
+ which allows you to spawn one-off software environments. Suppose
+ you’re a GIMP developer: running `guix environment gimp` spawns a
+ shell with everything you need to hack on GIMP—much quicker than
+ manually installing its many dependencies.
+
+ Developers often struggle to push their work to users so they get
+ quick feedback. The [`guix
+
pack`](https://www.gnu.org/software/guix/blog/2017/creating-bundles-with-guix-pack/)
+ provides an easy way to create _container images_ for use by Docker
+ & co., or even [standalone relocatable
+
tarballs](https://www.gnu.org/software/guix/blog/2018/tarballs-the-ultimate-container-image-format/)
+ that anyone can run, regardless of the GNU/Linux distribution they
+ use.
+
+ Oh, and you may also like [package transformation
+
options](https://www.gnu.org/software/guix/manual/en/html_node/Package-Transformation-Options.html),
+ which allow you define package variants from the command line.
+
+ - *As a system administrator*—and actually, we’re all system
+ administrators of sorts on our laptops!—, Guix’s declarative and
+ unified approach to configuration management should be handy. It
+ surely is a departure from what most people are used to, but it is
+ so reassuring: one configuration file is enough to specify [all the
+ aspects of the system
+
config](https://www.gnu.org/software/guix/manual/en/html_node/Using-the-Configuration-System.html)—services,
+ file systems, locale, accounts—all in the same language.
+
+ That makes it surprisingly easy to deploy otherwise complex services
+ such as applications that depend on Web services. For instance,
+ setting up
+
[CGit](https://www.gnu.org/software/guix/manual/en/html_node/Version-Control-Services.html#Cgit-Service)
+ or
+
[Zabbix](https://www.gnu.org/software/guix/manual/en/html_node/Monitoring-Services.html#Zabbix-front_002dend)
+ is a one-liner, even though behind the scenes that involves setting
+ up nginx, fcgiwrap, etc. We’d love to see to what extent this helps
+ people self-host services—sort of similar to what
+ [FreedomBox](https://freedombox.org/) and
+ [YunoHost](https://yunohost.org/) have been focusing on.
+
+ With [`guix
+
system`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-system.html)
+ you can instantiate a configuration on your machine, or in a virtual
+ machine (VM) where you can test it, or in a container. You can also
+ provision ISO images, VM images, or container images with a complete
+ OS, from the same config, all with `guix system`.
+
+The [quick reference
+card](https://www.gnu.org/software/guix/guix-refcard.pdf) shows the
+important commands. As you start diving deeper into Guix, you’ll
+discover that many aspects of the system are exposed using consistent
+[Guile](https://www.gnu.org/software/guile/) programming interfaces:
+[package
+definitions](https://www.gnu.org/software/guix/manual/en/html_node/Defining-Packages.html),
+[system
+services](https://www.gnu.org/software/guix/manual/en/html_node/Services.html),
+the [“init” system](https://www.gnu.org/software/shepherd/), and a whole
+bunch of system-level libraries. We believe that makes the system very
+_hackable_, and we hope you’ll find it as much fun to play with as we do.
+
+So much for the overview!
+
+# What’s new since 0.16.0
+
+For those who’ve been following along, a great many things have changed
+over the last 5 months since the [0.16.0
+release](https://www.gnu.org/software/guix/blog/2018/gnu-guix-and-guixsd-0.16.0-released/)—99
+people contributed over 5,700 commits during that time! Here are the
+highlights:
+
+ - The ISO installation image now runs a cute [text-mode graphical
+
installer](https://www.gnu.org/software/guix/manual/en/html_node/Guided-Graphical-Installation.html)—big
+ thanks to Mathieu Othacehe for writing it and to everyone who
+ tested it and improved it! It is similar in spirit to the Debian
+ installer. Whether you’re a die-hard GNU/Linux hacker or a novice
+ user, you’ll certainly find that this makes system installation
+ much less tedious than it was! The installer is fully translated
+ to French, German, and Spanish.
+ - The new [VM
+
image](https://www.gnu.org/software/guix/manual/en/html_node/Running-GuixSD-in-a-VM.html)
+ better matches user expectations: whether you want to tinker with
+ Guix System and see what it’s like, or whether you want to use it
+ as a development environment, this VM image should be more directly
+ useful.
+ - The user interface was improved: diagnostics are now colorized,
+ more operations show a progress bar, there’s a new `--verbosity`
+ option recognized by all commands, and most commands are now
+ “quiet” by default.
+ - There’s a new `--with-git-url` [package transformation
+
options](https://www.gnu.org/software/guix/manual/en/html_node/Package-Transformation-Options.html),
+ that goes with `--with-branch` and `--with-commit`.
+ - Guix now has a first-class, uniform mechanism to configure
+ [keyboard
+
layout](https://www.gnu.org/software/guix/manual/en/html_node/Keyboard-Layout.html)—a
+ long overdue addition. Related to that, [Xorg
+
configuration](https://www.gnu.org/software/guix/manual/en/html_node/X-Window.html)
+ has been streamlined with the new `xorg-configuration` record.
+ - We introduced `guix pack -R` [a while
+
back](https://www.gnu.org/software/guix/blog/2018/tarballs-the-ultimate-container-image-format/):
+ it creates tarballs containing _relocatable_ application bundles
+ that rely on user namespaces. Starting from 1.0, `guix pack -RR`
+ (like “reliably relocatable”?) generates relocatable binaries that
+ fall back to [PRoot](https://proot-me.github.io/) on systems where
+ [user
+ namespaces](http://man7.org/linux/man-pages/man7/user_namespaces.7.html)
+ are not supported.
+ - More than 1,100 packages were added, leading to [close to 10,000
+ packages](https://www.gnu.org/software/guix/packages), 2,104
+ packages were updated, and several system services were
+ contributed.
+ - The manual has been fully translated to
+ [French](https://www.gnu.org/software/guix/manual/fr/html_node/),
+ the
+ [German](https://www.gnu.org/software/guix/manual/de/html_node/)
+ and [Spanish](https://www.gnu.org/software/guix/manual/es/html_node/)
+ translations are nearing completion, and work has begun on a
+ [Simplified
+ Chinese](https://www.gnu.org/software/guix/manual/zh_CN/html_node/)
+ translation. You can help [translate the manual into your
+ language](https://translationproject.org/domain/guix-manual.html)
+ by [joining the Translation
+ Project](https://translationproject.org/html/translators.html).
+
+That’s a long list already, but you can find more details in the
+[`NEWS`](https://git.savannah.gnu.org/cgit/guix.git/tree/NEWS?h=version-1.0.0)
+file.
+
+# What’s next?
+
+One-point-oh is a major milestone, especially for those of us who’ve
+been on board for several years. But with the wealth of ideas we’ve
+been collecting, it’s definitely not the end of the road!
+
+If you’re interested in “devops” and distributed deployment, you will
+certainly be happy to help in that area, those interested in OS
+development might want to make [the
+Shepherd](https://www.gnu.org/software/shepherd/) more flexible and
+snappy, furthering integration with [Software
+Heritage](https://www.gnu.org/software/guix/blog/2019/connecting-reproducible-deployment-to-a-long-term-source-code-archive/)
+will probably be #1 on the to-do list of scientists concerned with
+long-term reproducibility, programming language tinkerers may want to
+push
+[G-expressions](https://www.gnu.org/software/guix/manual/en/html_node/G_002dExpressions.html#G_002dExpressions)
+further, etc. Guix 1.0 is a tool that’s both serviceable for one’s
+day-to-day computer usage and a great playground for the tinkerers among
+us.
+
+Whether you want to help on design, coding, maintenance, system
+administration, translation, testing, artwork, web services, funding…
+[your contributions are
+welcome](https://www.gnu.org/software/guix/contribute/)!
+
+We’re humans—don’t hesitate to [get in touch with
+us](https://www.gnu.org/software/guix/contact/), and enjoy Guix 1.0!
+
+
+#### About GNU Guix
+
+[GNUÂ Guix](https://www.gnu.org/software/guix) is a transactional package
+manager and an advanced distribution of the GNU system that [respects
+user
+freedom](https://www.gnu.org/distros/free-system-distribution-guidelines.html).
+Guix can be used on top of any system running the kernel Linux, or it
+can be used as a standalone operating system distribution for i686,
+x86_64, ARMv7, and AArch64 machines.
+
+In addition to standard package management features, Guix supports
+transactional upgrades and roll-backs, unprivileged package management,
+per-user profiles, and garbage collection. When used as a standalone
+GNU/Linux distribution, Guix offers a declarative, stateless approach to
+operating system configuration management. Guix is highly customizable
+and hackable through [Guile](https://www.gnu.org/software/guile)
+programming interfaces and extensions to the
+[Scheme](http://schemers.org) language.
diff --git a/website/static/blog/img/guix-hexagons.png
b/website/static/blog/img/guix-hexagons.png
new file mode 100644
index 0000000..6b0b772
Binary files /dev/null and b/website/static/blog/img/guix-hexagons.png differ