<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>rootco.de</title>
    <description>Ramblings of a Geek, mostly about Linux, openSUSE, SUSE, and openQA.</description>
    <link>https://rootco.de</link>
    <atom:link href="https://rootco.de/feed.xml" rel="self" type="application/rss+xml" />
    
      <item>
        <title>Building a openSUSE MicroOS RPi Network Monitor</title>
        <description>
          How to use combustion to reproducibly configure MicroOS - 
          &lt;p&gt;&lt;a href=&quot;https://microos.opensuse.org&quot;&gt;openSUSE MicroOS&lt;/a&gt; is one of openSUSE’s most exciting projects, and for me has &lt;a href=&quot;https://rootco.de/2020-02-10-regular-releases-are-wrong/&quot;&gt;replaced openSUSE Leap&lt;/a&gt; as my go-to server operating system of choice. I currently have 3 MicroOS installations, all running as &lt;a href=&quot;https://podman.io&quot;&gt;podman&lt;/a&gt; with &lt;a href=&quot;https://registry.opensuse.org&quot;&gt;openSUSE containers&lt;/a&gt;. The machines are as follows:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;A nice fanless Zotac x86-64 NUC running at home as my &lt;a href=&quot;https://nextcloud.com&quot;&gt;Nextcloud&lt;/a&gt; and ssh-based backup server/NAS&lt;/li&gt;
  &lt;li&gt;A VM on &lt;a href=&quot;https://www.hetzner.com/cloud&quot;&gt;Hetzner Cloud&lt;/a&gt; running this blog, my &lt;a href=&quot;https://saltstack.com&quot;&gt;saltstack master&lt;/a&gt; and a few other public facing services. &lt;em&gt;(Kudos to Hetzner for adding the openSUSE MicroOS ISO to the list of Cloud ISOs so I could do a custom installation)&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;A VM on &lt;a href=&quot;https://www.linode.com&quot;&gt;Linode&lt;/a&gt; for running a US-based proxy for some of my friends who otherwise might have too-high latency accessing services on the Hetzner host. &lt;em&gt;(Kudos to Linode for consistantly supporting openSUSE Leap releases on the day of release and providing ways of doing custom installs of any OS)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And so, with all these MicroOS boxes in my life, as reliable as they may be, I wanted to have a simple way of keeping an eye on whether or not the machines are up or not, possibly evolving to more interesting checks in the future. I wanted this to be able to monitor my machines even when my main laptop at home is off, and I wanted to not have to worry about updating the monitoring system at all. So an idea formed, &lt;strong&gt;why not use MicroOS to monitor MicroOS?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/pics/pimondark.jpg&quot; alt=&quot;RPi3 B+ running openSUSE MicroOS - dark&quot; /&gt;&lt;/p&gt;

&lt;h1 id=&quot;hardware-used&quot;&gt;Hardware Used&lt;/h1&gt;

&lt;p&gt;I cobbled this little project together out of random bits of hardware I had lying around, namely:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Raspberry Pi 3B+ with the official RPi case&lt;/li&gt;
  &lt;li&gt;Joy IT 3.2” TFT display with 3 GPIO buttons&lt;/li&gt;
  &lt;li&gt;32GB micro SDCard&lt;/li&gt;
  &lt;li&gt;8GB random old USB stick&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;software-used&quot;&gt;Software Used&lt;/h1&gt;

&lt;p&gt;I found a very nice command-line visualisation tool called &lt;a href=&quot;https://sampler.dev&quot;&gt;sampler&lt;/a&gt; that perfectly fit my needs for this project. It’s nice and small, lets you draw graphs based on numbers it gets from whatever shell commands you run at whatever frequency you tell it to poll. It can also produce alerts if the results do not match expected values. So given the basic monitoring I want is basically just a &lt;code class=&quot;highlighter-rouge&quot;&gt;ping&lt;/code&gt; and be alerted if they stopped responding, &lt;code class=&quot;highlighter-rouge&quot;&gt;sampler&lt;/code&gt; is absolutely perfect. I packaged it for openSUSE as part of this project so it’s now available for regular Tumbleweed as well as MicroOS.&lt;/p&gt;

&lt;h1 id=&quot;installing-microos-on-the-sdcard&quot;&gt;Installing MicroOS on the SDCard&lt;/h1&gt;

&lt;p&gt;First I needed to download the latest &lt;code class=&quot;highlighter-rouge&quot;&gt;official openSUSE MicroOS aarch64&lt;/code&gt; image for Rasbperry Pi from &lt;a href=&quot;https://en.opensuse.org/Portal:MicroOS/Downloads&quot;&gt;the official download page&lt;/a&gt;. For this project we’re using a plain old MicroOS image without any pre-installed services, not the &lt;code class=&quot;highlighter-rouge&quot;&gt;Container Host&lt;/code&gt; images which come with &lt;code class=&quot;highlighter-rouge&quot;&gt;podman&lt;/code&gt;.&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;wget https://download.opensuse.org/ports/aarch64/tumbleweed/appliances/openSUSE-MicroOS.aarch64-RaspberryPi.raw.xz
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Putting in the SDCard into the reader, I simultaniously extracted the image and wrote it direct to the image with the following command. &lt;em&gt;(Substitue sdX with the correct name for your SDCard device)&lt;/em&gt;&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;xzcat openSUSE-MicroOS.aarch64-RaspberryPi.raw.xz | &lt;span class=&quot;nb&quot;&gt;dd &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;bs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;4M &lt;span class=&quot;nv&quot;&gt;of&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/dev/sdX &lt;span class=&quot;nv&quot;&gt;iflag&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;fullblock &lt;span class=&quot;nv&quot;&gt;oflag&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;direct &lt;span class=&quot;nv&quot;&gt;status&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;progress&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;sync&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And that’s it, the SDCard is ready to go…or is it?&lt;/p&gt;

&lt;h1 id=&quot;but-wait&quot;&gt;But Wait!&lt;/h1&gt;

&lt;p&gt;By default, MicroOS images have no root password, no user accounts, and no services installed. I needed to have some way to setup the Pi when it first boots from the SDCard. MicroOS has two tools available for such first boot configuration:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://en.opensuse.org/Portal:MicroOS/Ignition&quot;&gt;Ignition&lt;/a&gt;, originally from &lt;a href=&quot;https://coreos.com/ignition/docs/latest/&quot;&gt;CoreOS&lt;/a&gt; which has a lovely structured JSON config but a limited scope of what it can setup.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://en.opensuse.org/Portal:MicroOS/Combustion&quot;&gt;Combustion&lt;/a&gt;, written specifically for MicroOS and capable of doing anything you can write in a shell script.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As I already had a feeling I’d need to do some quirky things, especially to get the TFT display running, I opted to use &lt;code class=&quot;highlighter-rouge&quot;&gt;combustion&lt;/code&gt;. I could have used &lt;code class=&quot;highlighter-rouge&quot;&gt;ignition&lt;/code&gt; for the easy stuff and left &lt;code class=&quot;highlighter-rouge&quot;&gt;combustion&lt;/code&gt; in combination for the trickier parts but it seemed silly to me to have to learn how to write a new JSON config file when I could just as easily write everything in a shell script.&lt;/p&gt;

&lt;h1 id=&quot;preparing-a-combustion-usb-stick&quot;&gt;Preparing a combustion USB stick&lt;/h1&gt;

&lt;p&gt;On first boot combustion looks for a device with a volume named &lt;code class=&quot;highlighter-rouge&quot;&gt;combustion&lt;/code&gt; containing a directory called &lt;code class=&quot;highlighter-rouge&quot;&gt;combustion&lt;/code&gt; and a script called &lt;code class=&quot;highlighter-rouge&quot;&gt;script&lt;/code&gt; so that’s precisely what I did to my USB stick&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;mkfs.ext4 /dev/sdY
e2label /dev/sdY combustion
mount /dev/sdY /mnt
&lt;span class=&quot;nb&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; /mnt/combustion/
&lt;span class=&quot;nb&quot;&gt;touch&lt;/span&gt; /mnt/combustion/script
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;After a few trial runs and a bit of hacking around the final script now looks like this:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;#!/bin/bash&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# combustion: network&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;## Copy config and device tree overlays for Pi TFT &amp;amp; GPIO buttons to /boot/efi&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;extraconfig.txt /boot/efi/
&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;joy-IT-Display-Driver-32b-overlay.dtbo /boot/efi/overlays/
&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;tft_keys.dtbo /boot/efi/overlays/

&lt;span class=&quot;c&quot;&gt;## Change boot params so framebuffer console goes to TFT display&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;sed&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-i&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;/^GRUB_CMDLINE_LINUX_DEFAULT=/ s/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$/&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; fbcon=map:10&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&quot;&lt;/span&gt; /etc/default/grub
grub2-mkconfig &lt;span class=&quot;nt&quot;&gt;-o&lt;/span&gt; /boot/grub2/grub.cfg

&lt;span class=&quot;c&quot;&gt;## Mount /var and /home so user can be created smoothly&lt;/span&gt;
mount /var
mount /home

&lt;span class=&quot;c&quot;&gt;## Make user&lt;/span&gt;
useradd &lt;span class=&quot;nt&quot;&gt;-m&lt;/span&gt; ilmehtar

&lt;span class=&quot;c&quot;&gt;## Add user to sudoers&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;ilmehtar ALL=(ALL) NOPASSWD: ALL&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; /etc/sudoers.d/ilmehtar

&lt;span class=&quot;c&quot;&gt;## Create ssh folder and populate authorized_keys for remote sshd&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-pm700&lt;/span&gt; /home/ilmehtar/.ssh
&lt;span class=&quot;nb&quot;&gt;chown &lt;/span&gt;ilmehtar:users &lt;span class=&quot;nt&quot;&gt;-R&lt;/span&gt; /home/ilmehtar/.ssh
&lt;span class=&quot;nb&quot;&gt;cat &lt;/span&gt;authorized_keys &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; /home/ilmehtar/.ssh/authorized_keys

&lt;span class=&quot;c&quot;&gt;## Setup vconsole so framebuffer console has right font/keyboard layout (Optional)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;vconsole.conf /etc/vconsole.conf

&lt;span class=&quot;c&quot;&gt;## Setup Wifi&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf
systemctl &lt;span class=&quot;nb&quot;&gt;enable &lt;/span&gt;wpa_supplicant@wlan0.service
&lt;span class=&quot;nb&quot;&gt;cp&lt;/span&gt; /etc/sysconfig/network/ifcfg-eth0 /etc/sysconfig/network/ifcfg-wlan0

&lt;span class=&quot;c&quot;&gt;## Disable IPv6 (Optional)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;90-disableipv6.conf /etc/sysctl.d/

&lt;span class=&quot;c&quot;&gt;## Install sampler&lt;/span&gt;
zypper &lt;span class=&quot;nt&quot;&gt;--non-interactive&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;sampler
&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;sampler.yaml /home/ilmehtar/sampler.yaml

&lt;span class=&quot;c&quot;&gt;## Make user login by default&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; /etc/systemd/system/getty@tty1.service.d
&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;autologin.conf /etc/systemd/system/getty@tty1.service.d

&lt;span class=&quot;c&quot;&gt;## Make sampler run by default&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;[ &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\$&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;TERM = 'linux' ] &amp;amp;&amp;amp; sleep 30 &amp;amp;&amp;amp; sampler -c ~/sampler.yaml&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; /home/ilmehtar/.bashrc

&lt;span class=&quot;c&quot;&gt;## Reboot after setup&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;firstbootreboot.service /etc/systemd/system/
systemctl &lt;span class=&quot;nb&quot;&gt;enable &lt;/span&gt;firstbootreboot.service

&lt;span class=&quot;c&quot;&gt;## Clear up mounts&lt;/span&gt;
umount /var
umount /home
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The script references a number of additional files, all of which are placed alongside &lt;code class=&quot;highlighter-rouge&quot;&gt;script&lt;/code&gt; in the &lt;code class=&quot;highlighter-rouge&quot;&gt;combustion&lt;/code&gt; directory on the USB stick:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;File Listing of the combustion directory&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;90-disableipv6.conf
authorized_keys
autologin.conf
extraconfig.txt
firstbootreboot.service
joy-IT-Display-Driver-32b-overlay.dtbo
sampler.yaml
script
tft_keys.dtbo
tft_keys.dts
vconsole.conf
wpa_supplicant.conf
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;Joy-IT-Display-Driver-32b-overlay.dtbo&lt;/code&gt; is a Device Tree overlay provided by the manufactorer of the TFT hat. &lt;code class=&quot;highlighter-rouge&quot;&gt;tft_keys.dtbo&lt;/code&gt; is my own Device Tree overlay compiled from &lt;code class=&quot;highlighter-rouge&quot;&gt;tft_keys.dts&lt;/code&gt;. All the other files are text files used to configure various aspects of the system to my liking and are documented at the bottom of this post for anyone wanting to use this idea as a basis for their own projects.&lt;/p&gt;

&lt;h1 id=&quot;first-boot&quot;&gt;First Boot&lt;/h1&gt;

&lt;p&gt;And with all that prep work done, the first boot is now surprisingly easy. I inserted the SDCard, added the USB stick and connected the Pi to ethernet &lt;em&gt;(The wifi won’t work until it’s configured by combustion)&lt;/em&gt;. Powering on the Pi the whole device can be left alone for a few minutes. It boots itself, does all of the configuration, and the end result is a nice working desktop network monitor:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/pics/pimonlight.jpg&quot; alt=&quot;RPi3 B+ running openSUSE MicroOS - light&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The GPIO switches on the top even work as the &lt;code class=&quot;highlighter-rouge&quot;&gt;P&lt;/code&gt; and &lt;code class=&quot;highlighter-rouge&quot;&gt;ESC&lt;/code&gt; keys for sampler, allowing me to pause the polling or dismiss any alerts. A little bit of hardware hacking (read: hot glue and acryrlic) finished of the project with a little stand so the whole thing sits on my desk at an angle easy for me to read.&lt;/p&gt;

&lt;p&gt;The system doesn’t have any passwords, so can’t be logged in remotely with the exception of &lt;code class=&quot;highlighter-rouge&quot;&gt;ssh&lt;/code&gt; using the non-root user using my existing public key. Simple and secure enough.&lt;/p&gt;

&lt;p&gt;All this might seem like a little overkill, I realise it probably is, but one great benefit of having everything in this one &lt;code class=&quot;highlighter-rouge&quot;&gt;combustion&lt;/code&gt; script is now I know I can wipe that SDCard or use a new Pi and get it back up and running to exactly how I like it directly from the first boot, without any manual intervention at all. Which I guess means I could reuse this Pi for other projects..anyone got any ideas?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thanks and Have a Lot of Fun&lt;/strong&gt;&lt;/p&gt;

&lt;h2 id=&quot;additional-config-files-used-for-reference&quot;&gt;Additional Config Files Used (For Reference)&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;90-disableipv6.conf&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;autologin.conf&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;[Service]
ExecStart=
ExecStart=-/sbin/agetty -a ilmehtar %I $TERM
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;extraconfig.txt&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;dtoverlay=joy-IT-Display-Driver-32b-overlay:rotate=0,swapxy=1
dtoverlay=tft_keys
gpio=18,23,24=pu
dtparam=audio=on
max_usb_current=1
hdmi_force_hotplug=1
config_hdmi_boost=7
hdmi_drive=1
hdmi_ignore_edid=0xa5000080
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;firstbootreboot.service&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;[Unit]
Description=First Boot Reboot

[Service]
Type=oneshot
ExecStart=rm /etc/systemd/system/firstbootreboot.service
ExecStart=rm /etc/systemd/system/default.target.wants/firstbootreboot.service
ExecStart=systemctl reboot

[Install]
WantedBy=default.target
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;sampler.yaml&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;runcharts&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;Status&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;position&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;80&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;40&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;]]&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;rate-ms&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;1000&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;triggers&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;Node Down&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;condition&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;$cur&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;DOWN&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;echo&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;||&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;echo&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;0'&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;actions&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;na&quot;&gt;visual&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;true&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;legend&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;enabled&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;true&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;details&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;false&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;scale&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;items&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;node1&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;sample&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;ping -qc5 192.168.1.1 2&amp;gt;&amp;amp;1 | awk -F'/' 'END{ print (/^rtt/? $5:&quot;DOWN&quot;)&lt;/span&gt;
            &lt;span class=&quot;s&quot;&gt;}'&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;node2&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;sample&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;ping -qc5 192.168.1.2 2&amp;gt;&amp;amp;1 | awk -F'/' 'END{ print (/^rtt/? $5:&quot;DOWN&quot;)&lt;/span&gt;
            &lt;span class=&quot;s&quot;&gt;}'&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;node3&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;sample&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;ping -qc5 192.168.1.3 2&amp;gt;&amp;amp;1 | awk -F'/' 'END{ print (/^rtt/? $5:&quot;DOWN&quot;)&lt;/span&gt;
            &lt;span class=&quot;s&quot;&gt;}'&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;node4&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;sample&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;ping -qc5 192.168.1.4 2&amp;gt;&amp;amp;1 | awk -F'/' 'END{ print (/^rtt/? $5:&quot;DOWN&quot;)&lt;/span&gt;
            &lt;span class=&quot;s&quot;&gt;}'&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;node5&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;sample&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;ping -qc5 192.168.1.5 2&amp;gt;&amp;amp;1 | awk -F'/' 'END{ print (/^rtt/? $5:&quot;DOWN&quot;)&lt;/span&gt;
            &lt;span class=&quot;s&quot;&gt;}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;tft_keys.dts&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;/dts-v1/;
/plugin/;
/ {
	compatible = &quot;brcm,bcm2835&quot;;
	
	fragment@0 {
		target-path = &quot;/soc&quot;;
		__overlay__ {
			tft_keys{
				compatible = &quot;gpio-keys&quot;;
				autorepeat;
				key1 {
					label = &quot;Key 1&quot;;
					linux,code = &amp;lt;1&amp;gt;;
					gpios = &amp;lt;&amp;amp;gpio 18 1&amp;gt;;
				};
                                key2 {
                                        label = &quot;Key 2&quot;;
                                        linux,code = &amp;lt;25&amp;gt;;
                                        gpios = &amp;lt;&amp;amp;gpio 23 1&amp;gt;;
                                };
                                key3 {
                                        label = &quot;Key 3&quot;;
                                        linux,code = &amp;lt;1&amp;gt;;
                                        gpios = &amp;lt;&amp;amp;gpio 24 1&amp;gt;;
                                };
			};
		};
	};
};
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;vconsole.conf&lt;/strong&gt; &lt;em&gt;(Because uk layout is best keyboard layout)&lt;/em&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;KEYMAP=uk
FONT=eurlatgr.psfu
FONT_MAP=
FONT_UNIMAP=
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;wpa_supplicant.conf&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;network={
   ssid=&quot;My-SSID&quot;
   psk=&quot;MyPassword&quot;
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

        </description>
        <pubDate>Wed, 09 Dec 2020 12:42:55 +0100</pubDate>
        <link>https://rootco.de/2020-12-09-microos-pi-network-monitor/</link>
        <guid isPermaLink="true">https://rootco.de/2020-12-09-microos-pi-network-monitor/</guid>
      </item>
    
      <item>
        <title>Regular Release Distributions Are Wrong</title>
        <description>
          Why I No Longer Use openSUSE Leap - 
          &lt;p&gt;For those who don’t already know, &lt;a href=&quot;https://www.opensuse.org&quot;&gt;openSUSE&lt;/a&gt; is a Linux Distribution Project with two Linux distributions, Tumbleweed and Leap.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;Tumbleweed&lt;/em&gt; is what is known as a &lt;strong&gt;Rolling Release&lt;/strong&gt;, in that the distribution is constantly updating. Unlike Operating Systems with specific versions (e.g.. Windows 7, Windows 10, iOS 13, etc..) there is just ‘openSUSE Tumbleweed’ and anyone downloading it fresh or updating it today gets all the latest software.&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Leap&lt;/em&gt; is what is known as a a &lt;strong&gt;Regular Release&lt;/strong&gt;, in that it does have specific versions (e.g.. 15.0, 15.1, 15.2) released in a regular cadence. In Leap’s case, this is annually. Leap is a variation of the Regular Release known as an &lt;strong&gt;LTS Release&lt;/strong&gt; because each of those ‘minor versions’ (X.1, .2, .3) are intended to include only minor changes, with a major new version (e.g.. 16.0) expected only every few years.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s a &lt;a href=&quot;https://rootco.de/2016-03-28-why-use-tumbleweed/&quot;&gt;long documented fact&lt;/a&gt; that I am a big proponent of Rolling Releases and use them as my main operating system for Work &amp;amp; Play on my Desktops/Laptops.&lt;br /&gt;
However in the 4 years since writing that last blog post I always had a number of Leap machines in my life, mostly running as servers.&lt;/p&gt;

&lt;p&gt;As of today, my last Leap machine is no more, and I do not foresee ever going back to Leap or any Linux distribution like it.&lt;/p&gt;

&lt;p&gt;This post seeks to answer why I have fallen out of love with the Regular Release approach to developing &amp;amp; using Operating Systems and provide an introduction to how you too could rely on Rolling Releases (specifically Tumbleweed &amp;amp; MicroOS) for everything.&lt;/p&gt;

&lt;h1 id=&quot;disclaimer&quot;&gt;Disclaimer&lt;/h1&gt;

&lt;p&gt;First, a few disclaimers apply to this post. I fully realise that I am expressing a somewhat controversial point and am utterly expecting some people to disagree and be dismissive of my point of view. That’s fine, we’re all entitled to our opinions, this post is mine.&lt;/p&gt;

&lt;p&gt;I am also distinctly aware that, my views expressed run counter to the business decisions of the customers of my employer, who do a very good job of selling a very commercially successful Enterprise Regular Release distribution.&lt;br /&gt;
&lt;strong&gt;The views expressed here are my own and not those of my employer.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And I have no problem that my employer is doing a very good job making a lot of money from customers who are currently making decisions I feel are ‘wrong’.&lt;br /&gt;
If my opinion is correct then I hope I can help my employer make even more money when customers start making decisions I feel are more ‘right’.&lt;/p&gt;

&lt;h1 id=&quot;regular--lts-releases-mean-well&quot;&gt;Regular &amp;amp; LTS Releases Mean Well&lt;/h1&gt;

&lt;p&gt;Regular &amp;amp; LTS Releases (hereafter referred to as just Regular Releases) have all of the best intentions. The Open Source world is made up of thousands if not millions of discreet Free Software &amp;amp; Open Source Projects, and Linux distributions exist to take all of that often chaotic, ever-evolving software and condensing it into a consumable format that is then put to very real work by its users. This might be something as ‘simple’ as a single Desktop or Server Computer, or something far larger and complex such as a SystemZ Mainframe or 100+ node Kubernetes Cluster.&lt;/p&gt;

&lt;p&gt;The traditional mindset for distribution builders is that the regular release gives a nice, predictable, plan-able schedule in which the team can carefully select appropriate software from the various upstream projects.&lt;br /&gt;
This software can then be carefully curated, integrated, and maintained for several, sometimes many, years.&lt;br /&gt;
This maintenance often comes in the form of making minimal changes, seeking only to address specific security issues or customer requests, taking great care not to break systems currently in use.&lt;/p&gt;

&lt;p&gt;This mindset is often appreciated by users, who also want from their computing a nice, predictable, reliable experience.. but they also want new stuff to keep up with their peers, either in communities or commercially.. and here begins the first problem.&lt;/p&gt;

&lt;h1 id=&quot;all-change-is-dangerous-but-small-changes-can-be-worse&quot;&gt;All Change Is Dangerous, but Small Changes Can Be Worse&lt;/h1&gt;

&lt;p&gt;Firstly, whether the change is a security update or a new feature, that change is going to be made by humans. Humans are flawed, and no matter how great we all get with fancy &lt;a href=&quot;https://openbuildservice.org&quot;&gt;release processes&lt;/a&gt; and &lt;a href=&quot;https://open.qa&quot;&gt;automated testing&lt;/a&gt;, we will never avoid the fact that humans make mistakes.&lt;/p&gt;

&lt;p&gt;Therefore, the nature of the change has to be looked at. &lt;em&gt;“Is this change too risky?”&lt;/em&gt; is a common question, and quite often highly desired features take years to deliver in regular releases because the answer is &lt;em&gt;“yes”&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;When changes are made, they are made with the intention of minimising the risks introduced by changing the existing software. That often means avoiding updating software to an entirely new &lt;strong&gt;version&lt;/strong&gt; but instead opting to &lt;strong&gt;backport&lt;/strong&gt; the smallest necessary amounts of code and merging them with (often much) older versions already in the Regular Release. 
We call these patches, or updates, or maintenance updates, but we avoid referring them to what they really are … &lt;strong&gt;franken-software&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/pics/frankensoftware.png&quot; alt=&quot;franken-software&quot; /&gt;&lt;/p&gt;

&lt;p&gt;No matter how skilled the engineers are doing it, no matter how great the processes &amp;amp; testing are around their backporting, fundamentally the result is a hybrid mixed together combination of &lt;strong&gt;old&lt;/strong&gt; and &lt;strong&gt;new&lt;/strong&gt; software which was never originally intended to work together.&lt;br /&gt;
In the process of trying to avoid risk, backports instead introduce entirely new vectors for bugs to appear.&lt;/p&gt;

&lt;h1 id=&quot;regular-releases-neglect-the-strengths-of-open-source&quot;&gt;Regular Releases Neglect The Strengths Of Open Source&lt;/h1&gt;

&lt;p&gt;Linus’s Law states &lt;em&gt;“given enough eyeballs, all bugs are shallow.”&lt;/em&gt;&lt;br /&gt;
I believe this to be a fundamental truth and one of the strongest benefits of the Open Source development model. The more people involved in working on something, the more eyeballs looking at the code, the better that code is, not just in a ‘lack of bugs’ sense but also often in a ‘number of working features’ sense.&lt;/p&gt;

&lt;p&gt;And yet the process of building Regular Releases actively avoids this benefit. The large swath of contributors in various upstream projects are familiar with codebases often months, if not years, ahead of the versions used in Regular Releases.&lt;br /&gt;
Even inside Community Distribution Projects, it is my experience that the vast majority of volunteer distribution developers are more enthused in targetting ‘the next release’ rather than backporting complex features into an old codebase months or years old.&lt;br /&gt;
This leaves a small handful of committed volunteers, and those employees of companies selling commercial regular releases. These limited resources are often siloed, with only time and resources to work on their specific distribution, with their backports and patches often hard to reuse by other communities.&lt;/p&gt;

&lt;p&gt;With Regular Releases, there are not many eyes. Does that mean all bugs are deep?&lt;/p&gt;

&lt;p&gt;I am not suggesting the people building these Releases do not do a good job, they most certainly do. But when you consider the best possible job all Regular Release maintainers possibly could do and compare it to the much broader masses of the entire open source ecosystem, how did we ever think this problem was light enough for such narrow shoulders?&lt;/p&gt;

&lt;h1 id=&quot;a-different-perspective&quot;&gt;A Different Perspective&lt;/h1&gt;

&lt;p&gt;I’ve increasingly come to the realisation that not only is change unavoidable in software, it’s desired. It not only happens in Rolling Releases, but it still happens in Regular Releases.&lt;br /&gt;
Instead of trying to avoid it why don’t we embrace it and deal with any problems that brings?&lt;/p&gt;

&lt;p&gt;Increasingly I hear more and more users demanding “we want everything stable forever, and secure, but we want all the new features too”.&lt;/p&gt;

&lt;p&gt;Security and Stability cannot be achieved by standing still.&lt;br /&gt;
New Features cannot be easily added if good engineering practice is discouraged in the name of &lt;em&gt;appearing&lt;/em&gt; to be stable.&lt;br /&gt;
In software as complicated as a Linux distribution, quite often, the right way to make a change requires a significant amount of changes across the entire codebase.&lt;br /&gt;
Or in other words &lt;strong&gt;“in order to be able to change any ONE thing, you must be able to change EVERYTHING”&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Rolling Releases can already do that, and you can &lt;a href=&quot;https://rootco.de/2016-03-28-why-use-tumbleweed/&quot;&gt;read my earlier blog post if you haven’t already&lt;/a&gt; for some reasons why Tumbleweed is the best at that.&lt;br /&gt;
But it’s not enough, otherwise I would have been running Tumbleweed on my servers 4 years ago.&lt;/p&gt;

&lt;h1 id=&quot;i-am-a-lazy-sysadmin&quot;&gt;I Am A Lazy Sysadmin&lt;/h1&gt;

&lt;p&gt;Before my life as a distribution developer I was a sysadmin, and like all sysadmins I am lazy. I want my servers to be as &lt;em&gt;‘zero-effort’&lt;/em&gt; as possible.&lt;br /&gt;
Once they’re working I don’t want to have to patch them, reboot them, touch them, look at them, or ideally even think about them ever again. And this is a hard proposition if I am running my server on a regular Rolling Release like Tumbleweed.&lt;/p&gt;

&lt;p&gt;Tumbleweed is made up of over 15,000 packages, all moving at the rate of contribution. Worse, Tumbleweed is designed as a &lt;em&gt;multi-purpose&lt;/em&gt; operating system.&lt;br /&gt;
You can quite happily set it up to be a &lt;em&gt;mail server, web server, proxy server, virtualisation host, and heck, why not even a desktop&lt;/em&gt; &lt;strong&gt;all at the same time&lt;/strong&gt;.&lt;br /&gt;
This is one of Tumbleweed’s greatest strengths, but in this case it is also a weakness.&lt;br /&gt;
openSUSE has to make sure all these things could possibly work together. That often means installing more ‘recommended packages’ on a system than absolutely necessary, ‘just-in-case’ the user wants to use all the possible features their combination of packages could possibly allow.&lt;br /&gt;
And with this complexity comes an increase of risk, and an increase of updates, which themselves bring yet more risk. Perfectly fine for my desktop (for now), but that’s far too much work for a Server, especially when I typically need a Server to &lt;strong&gt;just do one job&lt;/strong&gt;.&lt;/p&gt;

&lt;h1 id=&quot;minimal-risk-maximum-benefits-with-opensuse-microos&quot;&gt;Minimal Risk, Maximum Benefits with openSUSE MicroOS&lt;/h1&gt;

&lt;p&gt;openSUSE MicroOS is the newest member of the openSUSE Family. From a code perspective, it is a &lt;strong&gt;derivative of openSUSE Tumbleweed&lt;/strong&gt;, using exactly the same packages and integrated into its release process, but from a philosophical perspective, MicroOS is a totally different beast.&lt;/p&gt;

&lt;p&gt;Whereas Tumbleweed &amp;amp; other traditional distributions are &lt;em&gt;multi-purpose&lt;/em&gt;, MicroOS is designed from the ground up to be &lt;strong&gt;single-purpose&lt;/strong&gt;. It’s a Linux distribution you deploy on a bit of hardware, a VM, a Cloud instance, and once it is there it is intended &lt;strong&gt;to do just one job.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The package selection is &lt;em&gt;lean&lt;/em&gt;, with all you need to run on bare metal if you install from the &lt;a href=&quot;http://download.opensuse.org/tumbleweed/iso/openSUSE-MicroOS-DVD-x86_64-Current.iso&quot;&gt;ISO&lt;/a&gt;, or even smaller if you choose a &lt;a href=&quot;http://download.opensuse.org/tumbleweed/appliances/&quot;&gt;VM Image&lt;/a&gt; for a platform where hardware support isn’t necessary. Fewer packages mean fewer reasons to update, helping lower the risks of change traditionally introduced by a rolling release. Recommended packages are disabled by default.&lt;/li&gt;
  &lt;li&gt;Being a &lt;a href=&quot;https://kubic.opensuse.org/blog/2018-04-04-transactionalupdates/&quot;&gt;transactional system&lt;/a&gt;, it has a read-only root filesystem, further cutting down the risk of changes to the system, ensuring that any unwanted change that does happen can be rolled back. Not only that, but such roll-backs can be automated with &lt;a href=&quot;https://github.com/kubic-project/health-checker&quot;&gt;health-checker&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;With &lt;a href=&quot;https://github.com/SUSE/rebootmgr&quot;&gt;rebootmgr&lt;/a&gt;, I can even schedule maintenance windows to ensure my updates only take effect during times I’m happy with.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Auto updating, auto rebooting, auto rolling back? &lt;strong&gt;I can be a lazy sysadmin&lt;/strong&gt; even with a rolling release!&lt;/p&gt;

&lt;h1 id=&quot;just-one-job-per-machine&quot;&gt;Just One Job Per Machine?&lt;/h1&gt;

&lt;p&gt;MicroOS is designed to do just one job, and this is fine for machines or VMs where all you would want to do is something like a self-maintaining webserver. That is as a simple as running&lt;code class=&quot;highlighter-rouge&quot;&gt;transactional-update pkg in nginx&lt;/code&gt;.&lt;br /&gt;
But that can be rather limiting. Wouldn’t it be nice if there was some way of running services that minimised the introduction of risk to the base operating system, and could be updated independently of that base operating system?&lt;/p&gt;

&lt;p&gt;Oh, right, that already exists, and they’re called containers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MicroOS makes a perfect container host&lt;/strong&gt;, so much so we deliver VM Images and a System Role on the ISO which already comes configured with &lt;strong&gt;podman&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Especially now openSUSE has a &lt;a href=&quot;https://registry.opensuse.org/cgi-bin/cooverview&quot;&gt;growing collection of official containers&lt;/a&gt;, a good number of services are a simple &lt;code class=&quot;highlighter-rouge&quot;&gt;podman run podman pull registry.opensuse.org/opensuse/foo&lt;/code&gt; away.&lt;/p&gt;

&lt;p&gt;In my case, I have moved all of my old Leap servers to now use MicroOS with Containers, this includes&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;NextCloud, using upstream containers &lt;a href=&quot;https://github.com/sysrich/salt-states/blob/master/rootco/containerhost/r2d2/nextcloud.service&quot;&gt;[1]&lt;/a&gt;&lt;a href=&quot;https://github.com/sysrich/salt-states/blob/master/rootco/containerhost/r2d2/ncserver.service&quot;&gt;[2]&lt;/a&gt;&lt;a href=&quot;https://github.com/sysrich/salt-states/blob/master/rootco/containerhost/r2d2/ncnginx.service&quot;&gt;[3]&lt;/a&gt;&lt;a href=&quot;https://github.com/sysrich/salt-states/blob/master/rootco/containerhost/r2d2/ncdb.service&quot;&gt;[4]&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Jekyll, using an upstream container &lt;a href=&quot;https://github.com/sysrich/salt-states/blob/master/rootco/containerhost/d0/rootco-jekyll.service&quot;&gt;[5]&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Nginx, using the official openSUSE container &lt;a href=&quot;https://github.com/sysrich/salt-states/blob/master/rootco/containerhost/d0/rootco-web.service&quot;&gt;[6]&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;A custom salt-master container &lt;a href=&quot;https://build.opensuse.org/package/show/home:RBrownSUSE:containers/salt-master-image&quot;&gt;[7]&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;A custom SSH container acting as both a jump-host and backup target for all my other machines &lt;a href=&quot;https://build.opensuse.org/package/show/home:RBrownSUSE:containers/backer-srv-image&quot;&gt;[8]&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://build.opensuse.org/project/show/home:RBrownSUSE:containers&quot;&gt;and some other containers which I hope to make official openSUSE Containers once I’m happy they’ll work for everyone&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of the custom containers are built on openSUSE’s tiny &lt;code class=&quot;highlighter-rouge&quot;&gt;busybox&lt;/code&gt; container which is just small and tiny and magical and I have no idea why anyone would use &lt;em&gt;alpine&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;All of my servers are now running MicroOS.&lt;/strong&gt; The software is newer with all the latest features, but through a combination of containerisation and transactional-updates I find myself spending significantly less time maintaining my servers compared to Leap.&lt;/p&gt;

&lt;p&gt;I can update the containers when I want, using container tags to pin the services to use specific versions until &lt;em&gt;I&lt;/em&gt; decide when I want to update them.&lt;br /&gt;
I can easily add new containers to the to the MicroOS hosts just by adding another systemd service file running &lt;code class=&quot;highlighter-rouge&quot;&gt;podman&lt;/code&gt; to &lt;code class=&quot;highlighter-rouge&quot;&gt;/etc/systemd/system&lt;/code&gt;.&lt;br /&gt;
And I never need to worry about my base operating system which just takes care of itself, rebooting in the maintenance window I defined in &lt;code class=&quot;highlighter-rouge&quot;&gt;rebootmgr&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I’m going to be writing further blog posts about my life with &lt;strong&gt;MicroOS&lt;/strong&gt; and &lt;strong&gt;podman&lt;/strong&gt; , but meanwhile I couldn’t be happier, and sincerely hope more people take this approach to running infrastructure.&lt;br /&gt;
&lt;strong&gt;Why?&lt;/strong&gt; Well, we’re still only human, but when things do go wrong it’ll be even easier with more people looking at any problems :)&lt;/p&gt;

&lt;p&gt;Now all I need to do is see if any of these benefits make sense for a &lt;a href=&quot;https://hackweek.suse.com/projects/microos-desktop&quot;&gt;desktop….&lt;/a&gt;&lt;/p&gt;


        </description>
        <pubDate>Mon, 10 Feb 2020 23:58:12 +0100</pubDate>
        <link>https://rootco.de/2020-02-10-regular-releases-are-wrong/</link>
        <guid isPermaLink="true">https://rootco.de/2020-02-10-regular-releases-are-wrong/</guid>
      </item>
    
      <item>
        <title>Changing of the Guard</title>
        <description>
          
          &lt;p&gt;Dear Community,&lt;/p&gt;

&lt;p&gt;After six years on the openSUSE Board and five as its Chairperson, I have decided to step down as Chair of the openSUSE Board effective today, August 19.&lt;/p&gt;

&lt;p&gt;This has been a very difficult decision for me to make, with reasons that are diverse, interlinked, and personal.
Some of the key factors that led me to make this step include the time required to do the job properly, and the length of time I’ve served.
Five years is more than twice as long as any of my predecessors.
The time required to do the role properly has increased and I now find it impossible to balance the demands of the role with the requirements of my primary role as a developer in SUSE, and with what I wish to achieve outside of work and community.
As difficult as it is to step back from something I’ve enjoyed doing for so long, I am looking forward to achieving a better balance between work, community, and life in general.&lt;/p&gt;

&lt;p&gt;Serving as member and chair of the openSUSE Board has been an absolute pleasure and highly rewarding. Meeting and communicating with members of the project as well as championing the cause of openSUSE has been a joyous part of my life that I know I will miss going forward.&lt;/p&gt;

&lt;p&gt;openSUSE won’t get rid of me entirely. While I do intend to step back from any governance topics, I will still be working at SUSE in the Future Technology Team. Following SUSE’s Open Source policy, we do a lot in openSUSE. I am especially looking forward to being able to focus on Kubic &amp;amp; MicroOS much more than I have been lately.&lt;/p&gt;

&lt;p&gt;As I’m sure it’s likely to be a question, I wish to make it crystal clear that my decision has nothing to do with the Board’s ongoing efforts to form an independent openSUSE Foundation.&lt;/p&gt;

&lt;p&gt;The Board’s decision to form a Foundation had my complete backing as Chairperson, and will continue to have as a regular openSUSE contributor.
I have absolute confidence in the openSUSE Board; Indeed, I don’t think I would be able to make this decision at this time if I wasn’t certain that I was leaving openSUSE in good hands.&lt;/p&gt;

&lt;p&gt;On that note, SUSE has appointed Gerald Pfeifer as my replacement as Chair. Gerald is SUSE’s EMEA-based CTO, with a long history as a Tumbleweed user, an active openSUSE Member, and upstream contributor/maintainer in projects like GCC  and Wine.&lt;/p&gt;

&lt;p&gt;Gerald has been a regular source of advice &amp;amp; support during my tenure as Chairperson. In particular, I will always remember my first visit to FOSDEM as openSUSE Chair.
Turning up more smartly dressed than usual, I was surprised to find Gerald, a senior Director at SUSE, diving in to help at the incredibly busy openSUSE booth, and doing so dressed in quite possibly the oldest and most well-loved openSUSE T-shirt I’ve ever seen.
When booth visitors came with questions about SUSE-specific stuff, I think he took some glee in being able to point them in my direction while teasingly saying “Richard is the corporate guy here, I’m just representing the community..”&lt;/p&gt;

&lt;p&gt;Knowing full well he will continue being so community minded, while finally giving me the opportunity to tease him in return, it is with a similar glee I now hand over the reigns to Gerald.&lt;/p&gt;

&lt;p&gt;As much as I’m going to miss things about being chairperson of this awesome community, I’m confident and excited to see how openSUSE evolves from here.&lt;/p&gt;

&lt;p&gt;Keep having a lot of fun,&lt;/p&gt;

&lt;p&gt;Richard&lt;/p&gt;

&lt;p&gt;Note: This announcement has been cross-posted in several places, but please send any replies and discussion to the opensuse-project@opensuse.org Mailinglist. Thanks!&lt;/p&gt;

        </description>
        <pubDate>Mon, 19 Aug 2019 10:00:00 +0200</pubDate>
        <link>https://rootco.de/2019-08-19-leaving-the-char/</link>
        <guid isPermaLink="true">https://rootco.de/2019-08-19-leaving-the-char/</guid>
      </item>
    
      <item>
        <title>Creating openSUSE-style btrfs root partition &amp; subvolumes</title>
        <description>
          
          &lt;p&gt;openSUSE’s &lt;a href=&quot;https://yast.github.io&quot;&gt;YaST&lt;/a&gt; installer creates a detailed btrfs root filesystem configuration that has been designed to be flexible and secure while still efficient when used with tools like &lt;a href=&quot;https://snapper.io&quot;&gt;Snapper&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;One of the overriding requirements is to provide a clearly defined ‘root filesystem’ containing everything we care about for ‘full system rollback’ (facilitated by snapper), while using subvolumes to exclude everything we &lt;em&gt;do not&lt;/em&gt; want in the ‘root filesystem’ so snapper does not accidentally destroy user data when rolling back the system and its’ applications. Details of our default subvolume layout can be found &lt;a href=&quot;https://en.opensuse.org/SDB:BTRFS&quot;&gt;on the openSUSE wiki&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;However this does lead to complications for some advanced users who wish to recreate this manually, such as when doing complex system recovery, custom automated provisioning or other tinkering. (NOTE: for Full System Recovery it is often better to use a tool like &lt;a href=&quot;https://en.opensuse.org/SDB:Disaster_Recovery&quot;&gt;ReaR&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The below steps are the steps to manually create an openSUSE-style btrfs partition believed to be correct at time of writing (19 Jan 2018).&lt;/p&gt;

&lt;p&gt;This guide should be valid for &lt;strong&gt;openSUSE Tumbleweed 20180117&lt;/strong&gt;, &lt;strong&gt;openSUSE Leap 15&lt;/strong&gt;, and &lt;strong&gt;SUSE Linux Enterprise 15&lt;/strong&gt; or later. However care should be taken to double check for new or removed subvolumes in *SUSE distributions as this document gets older.&lt;/p&gt;

&lt;p&gt;Older versions of SUSE distributions will need to adjust these instructions to handle the &lt;a href=&quot;https://en.opensuse.org/SDB:BTRFS#Old_.2Fvar.2F.2A_subvolume_layout_.28pre_Jan_2018.29&quot;&gt;old /var/* subvolume layout&lt;/a&gt; previously used.&lt;/p&gt;

&lt;p&gt;It should go without saying that this guide should only be followed by people who feel that they know what they are doing. It’s normally a lot easier to use openSUSE’s default tools like YaST and ReaR.&lt;/p&gt;

&lt;h2 id=&quot;step-by-step&quot;&gt;Step-by-Step&lt;/h2&gt;

&lt;p&gt;For this example we will use &lt;code class=&quot;highlighter-rouge&quot;&gt;/dev/sda&lt;/code&gt; as our example disk and &lt;code class=&quot;highlighter-rouge&quot;&gt;/dev/sda1&lt;/code&gt; as our example partition for a btrfs root filesystem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1:&lt;/strong&gt; Create a partition table and the partition to be used as our root filesystem using your favourite tool (eg. &lt;code class=&quot;highlighter-rouge&quot;&gt;yast&lt;/code&gt;, &lt;code class=&quot;highlighter-rouge&quot;&gt;parted&lt;/code&gt;, &lt;code class=&quot;highlighter-rouge&quot;&gt;fdisk&lt;/code&gt;)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2:&lt;/strong&gt; Format &lt;code class=&quot;highlighter-rouge&quot;&gt;/dev/sda1&lt;/code&gt; with a btrfs filesystem&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;mkfs.btrfs /dev/sda1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;3:&lt;/strong&gt; Mount the new partition somewhere so we can work on it. We’ll use &lt;code class=&quot;highlighter-rouge&quot;&gt;/mnt&lt;/code&gt; in this example.&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;mount /dev/sda1 /mnt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;4:&lt;/strong&gt; Create the default subvolume layout (this assumes an intel architecture, the /boot/grub2/* paths are different for different architectures)&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@/.snapshots
mkdir /mnt/@/.snapshots/1
btrfs subvolume create /mnt/@/.snapshots/1/snapshot
mkdir -p /mnt/@/boot/grub2/
btrfs subvolume create /mnt/@/boot/grub2/i386-pc
btrfs subvolume create /mnt/@/boot/grub2/x86_64-efi
btrfs subvolume create /mnt/@/home
btrfs subvolume create /mnt/@/opt
btrfs subvoulme create /mnt/@/root
btrfs subvolume create /mnt/@/srv
btrfs subvolume create /mnt/@/tmp
mkdir /mnt/@/usr/
btrfs subvolume create /mnt/@/usr/local
btrfs subvolume create /mnt/@/var
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;5:&lt;/strong&gt; Disable copy-on-write for var to improve performance of any databases and VM images within&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;chattr +C /mnt/@/var
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;6:&lt;/strong&gt; Create &lt;code class=&quot;highlighter-rouge&quot;&gt;/mnt/@/.snapshots/1/info.xml&lt;/code&gt; file for snapper’s configuration. Include the following content, replacing &lt;code class=&quot;highlighter-rouge&quot;&gt;$DATE&lt;/code&gt; with the current system date/time.&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot;?&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;snapshot&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;type&amp;gt;&lt;/span&gt;single&lt;span class=&quot;nt&quot;&gt;&amp;lt;/type&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;num&amp;gt;&lt;/span&gt;1&lt;span class=&quot;nt&quot;&gt;&amp;lt;/num&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;date&amp;gt;&lt;/span&gt;$DATE&lt;span class=&quot;nt&quot;&gt;&amp;lt;/date&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;description&amp;gt;&lt;/span&gt;first root filesystem&lt;span class=&quot;nt&quot;&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/snapshot&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;7:&lt;/strong&gt; Set snapshot 1 as the default snapshot for your root file system, unmount it, and remount it.&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;btrfs subvolume set-default $(btrfs subvolume list /mnt | grep &quot;@/.snapshots/1/snapshot&quot; | grep -oP '(?&amp;lt;=ID )[0-9]+') /mnt
unmount /mnt
mount /dev/sda1 /mnt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;8:&lt;/strong&gt; You should be able to confirm the above worked by doing &lt;code class=&quot;highlighter-rouge&quot;&gt;ls /mnt&lt;/code&gt; which should repond with an empty result.&lt;/p&gt;

&lt;p&gt;Congratulations, at this point the filesystem is ‘created’ with the correct structure. But you need to know how to mount it properly to make use of it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9:&lt;/strong&gt; You now need to create a skeleton of the filesystem to mount all of our subvolumes&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;mkdir /mnt/.snapshots
mkdir -p /mnt/boot/grub2/i386-pc
mkdir -p /mnt/boot/grub2/x86_64-efi
mkdir /mnt/home
mkdir /mnt/opt
mkdir /mnt/root
mkdir /mnt/srv
mkdir /mnt/tmp
mkdir -p /mnt/usr/local
mkdir /mnt/var
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;10:&lt;/strong&gt; Mount all of the subvolumes&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;mount /dev/sda1 /mnt/.snapshots -o subvol=@/.snapshots
mount /dev/sda1 /mnt/boot/grub2/i386-pc -o subvol=@/boot/grub2/i386-pc
mount /dev/sda1 /mnt/boot/grub2/x86_64-efi -o subvol=@/boot/grub2/x86_64-efi
mount /dev/sda1 /mnt/home -o subvol=@/home
mount /dev/sda1 /mnt/opt -o subvol=@/opt
mount /dev/sda1 /mnt/root -o subvol=@/root
mount /dev/sda1 /mnt/srv -o subvol=@/srv
mount /dev/sda1 /mnt/tmp -o subvol=@/tmp
mount /dev/sda1 /mnt/usr/local -o subvol=@/usr/local
mount /dev/sda1 /mnt/var -o subvol=@/var
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;11:&lt;/strong&gt; You’re done, you’ve now successfully created an openSUSE-style btrfs root filesystem structure and mounted it for use. You can now use it for whatever you’d like, such as the manual injection of files from an existing openSUSE installation.&lt;/p&gt;

&lt;p&gt;Once populated, care should be made to ensure the &lt;code class=&quot;highlighter-rouge&quot;&gt;/mnt/etc/fstab&lt;/code&gt; also includes the appropriate entries for each of the subvolumes except &lt;code class=&quot;highlighter-rouge&quot;&gt;@/.snapshots/1/snapshot&lt;/code&gt; which should not be mounted as it provides your initial installed system.&lt;/p&gt;

&lt;p&gt;Have a lot of fun&lt;/p&gt;

        </description>
        <pubDate>Fri, 19 Jan 2018 09:54:10 +0100</pubDate>
        <link>https://rootco.de/2018-01-19-opensuse-btrfs-subvolumes/</link>
        <guid isPermaLink="true">https://rootco.de/2018-01-19-opensuse-btrfs-subvolumes/</guid>
      </item>
    
      <item>
        <title>Hackweek 0x10  Conclusion</title>
        <description>
          The Birth of the Kubic Desktop - 
          &lt;p&gt;Well it’s over, SUSE’s 16th &lt;a href=&quot;https://hackweek.suse.com&quot;&gt;hackweek&lt;/a&gt;. Here’s a quick post to sum up how my Hackweek went compared to &lt;a href=&quot;https://rootco.de/2017-11-10-hackweek-2017-day-0/&quot;&gt;my plans&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&quot;small-bits-and-pieces&quot;&gt;Small Bits and Pieces&lt;/h1&gt;

&lt;p&gt;I had a few small things on my list to look at. I didn’t get around to look at &lt;a href=&quot;https://wekan.github.io/&quot;&gt;WeKan&lt;/a&gt;, but I understand other colleagues did and got it working on &lt;a href=&quot;https://www.opensuse.org&quot;&gt;openSUSE&lt;/a&gt;. I plan to learn from them about whether or not the tool has much potential for my user cases.&lt;/p&gt;

&lt;p&gt;I did get around to having fun with the large interactive whiteboard in SUSE’s Nürnberg office. Working with a bunch of colleagues we had a lot of fun, first booting it with &lt;a href=&quot;https://www.suse.com/betaprogram/sle-beta/&quot;&gt;SLE 15 Beta 2&lt;/a&gt; but deciding that running an Enterprise operating system wasn’t really the best idea and replacing that with openSUSE Tumbleweed.&lt;/p&gt;

&lt;p&gt;We found both Linux distributions booted a lot faster than Windows and had exceptionally good support for all of the involved hardware (including the touchscreen). However, just like Windows, it seems with this specific embedded system in the touch screen, we couldn’t get the embedded HDMI interface to set the resolution to 4K, despite the screen supporting 4K.
Given this wouldn’t work in either Windows or *SUSE Linux after a day of hacking around we gave up and the screen is likely to be sent back to the manufacturer.&lt;/p&gt;

&lt;h1 id=&quot;what-about-kubic-desktop&quot;&gt;What about Kubic Desktop?&lt;/h1&gt;

&lt;p&gt;So my big idea was taking the container focused &lt;a href=&quot;https://github.com/kubic-project/community&quot;&gt;openSUSE Kubic&lt;/a&gt; and seeing if I could turn it into a &lt;a href=&quot;https://www.gnome.org&quot;&gt;GNOME&lt;/a&gt; powered Chromebook-like operating system, with user applications coming from &lt;a href=&quot;http://flatpak.org&quot;&gt;Flatpak&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The short version is &lt;strong&gt;IT WORKS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://rootco.de/pics/kubicdesktop.jpeg&quot; alt=&quot;it works!&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It was an interesting journey. On the Kubic side of things I quickly abandoned the idea of building everything ‘clean’ in OBS first and instead just took the existing &lt;a href=&quot;https://software.opensuse.org/distributions/tumbleweed&quot;&gt;Tumbleweed Kubic&lt;/a&gt; Media and manually hacking the resulting installation into something that I wanted.&lt;/p&gt;

&lt;p&gt;Our support for &lt;a href=&quot;https://www.youtube.com/watch?v=oUREPvOObTw&quot;&gt;transactional updates&lt;/a&gt; got a very good workout, being used and abused to install well over 1606 packages from Tumbleweed onto the Kubic host to provide a fully fledged desktop install.&lt;/p&gt;

&lt;p&gt;It surprised me how little I had to modify, with minor tweaks to the btrfs subvolume configuration required to get gdm working. I learned alot about PackageKit and gnome-software getting it configured just the way I wanted.&lt;/p&gt;

&lt;p&gt;By the end, my resulting prototype VM was so promising I repeated the process on my &lt;a href=&quot;http://www.gpd.hk/pocket.asp&quot;&gt;GPD Pocket&lt;/a&gt;. I’m now running a Kubic Desktop installation, with automated operating system updates, and if an update ever did go wrong would have seamless rollback to the &lt;em&gt;exact&lt;/em&gt; state of the system root filesystem.&lt;/p&gt;

&lt;p&gt;It was really nice to prove that, even though the project as a whole is still in a very early stage, &lt;a href=&quot;https://software.opensuse.org/distributions/tumbleweed&quot;&gt;Tumbleweed Kubic&lt;/a&gt; is a powerful flexible platform for hacking on and getting used to this new, transactional way of looking at an operating system and it’s software management.&lt;/p&gt;

&lt;p&gt;With a little more time and polish, I’m supremely confident we could build this into a ‘grandmother-friendly’ openSUSE desktop operating system, where the user wouldn’t even need to know that such a thing as a ‘root account’ existed, but they would still benefit from the &lt;a href=&quot;https://rootco.de/2016-03-28-why-use-tumbleweed/&quot;&gt;fully tested rolling nature of openSUSE Tumbleweed&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&quot;a-journey-into-flatpaks&quot;&gt;A journey into Flatpaks&lt;/h1&gt;

&lt;p&gt;A fancy desktop operating system is nothing without apps. And as this idea aimed to have a system where it’s users shouldn’t need to worry about doing something as root, I needed a solution that provided apps that could be installed and run reliably in userspace.&lt;/p&gt;

&lt;p&gt;As openSUSE does not (yet) have support for isolated snaps (due to Canonicals AppArmor patches still not fully available in the upstream Kernel), that left AppImage and Flatpak for consideration as a source of these applications.&lt;/p&gt;

&lt;p&gt;As AppImage has a pretty terrible user experience story, without any kind of standard ‘AppStore’ interface, requiring users download executables from random websites, then to &lt;code class=&quot;highlighter-rouge&quot;&gt;chmod a+x&lt;/code&gt; a file in the commandline before executing said file, that ruled them out as an option for this project; Though it was nice to see an AppImage running first time on the first Kubic Desktop prototypes.&lt;/p&gt;

&lt;p&gt;But as originally planned, &lt;a href=&quot;http://flatpak.org&quot;&gt;Flatpak&lt;/a&gt; seemed to have the answers to everything I needed. With solid gnome-software integration I knew I could build something that would offer users all of the applications in &lt;a href=&quot;http://flathub.org&quot;&gt;Flathub&lt;/a&gt;. Despite my previous concerns of &lt;a href=&quot;https://www.youtube.com/watch?v=SPr--u4n8Xo&quot;&gt;these technologies&lt;/a&gt; I had high hopes.&lt;/p&gt;

&lt;h1 id=&quot;everything-is-possible-if-you-think-in-opportunities&quot;&gt;“Everything is possible if you think in Opportunities”&lt;/h1&gt;

&lt;p&gt;The slogan attributed to the international purveyor of furniture in flat-packed form, &lt;a href=&quot;http://ikea.com&quot;&gt;Ikea&lt;/a&gt;, is really appropriate for Flatpak.&lt;/p&gt;

&lt;p&gt;After a few days of playing with Flatpaks, I’m starting to see the opportunities and possibilities. It was really nice to be able to easily install &lt;a href=&quot;https://atom.io&quot;&gt;Atom&lt;/a&gt;, &lt;a href=&quot;https://signal.org&quot;&gt;Signal&lt;/a&gt;, and more with ease, when due to issues like licenses &amp;amp; crazy build environment requirements we haven’t (yet) been able to offer that software as part of openSUSE Tumbleweed.&lt;/p&gt;

&lt;p&gt;But the ecosystem as a whole is flawed, possibly broken, and is in no way a software delivery system I can put any faith in at the moment. Flatpaks like Audacity would totally fail to start, claiming not to be able to read configuration files that were clearly present on the system. Other Flatpaks like Gydl complained about a lack of network, which was clearly a fault of that specific application when others were streaming YouTube just fine. And applications like libreoffice are clearly advertised on Flathub, just to not appear in gnome-software due to missing metadata.&lt;/p&gt;

&lt;p&gt;With so many failures on a relatively small software selection, Flathub really, desperately, need to impose quality controls on their repository and stop shipping broken packages. And when they do, as they are right now, they need to have a way of actually reporting bugs against those packages. It’s nice their website has a guide on how to report Legal or Security issues, but that’s no good if users can’t get the apps to work in the first place.&lt;/p&gt;

&lt;p&gt;As I played around with apps I got the feeling more and more that applications needed much tinkering and tuning to be able to fully support the Flatpak-way of doing things, and I think that is going to hold the Flatpak ecosystem back, unless tools like gnome-builder somehow become the predominant tooling for application development on Linux.&lt;/p&gt;

&lt;p&gt;I was also dreadfully dissapointed with the performance, with applications taking significantly longer to load on my GPD Pocket compared to the same app provided by openSUSE Tumbleweeds rpms. On faster machines I didn’t notice, but it really put a dent in my idea of using Flatpaks for ‘netbook’ style usecases.&lt;/p&gt;

&lt;p&gt;So I see the potential there, but at the moment I’m left feeling it will be unrealised potential.&lt;/p&gt;

&lt;p&gt;With all that said, I’d like to extend a huge thank you to the folks in #flatpak IRC on Freenode. They were very friendly, a huge help, and I do believe they will work hard to address these problems I bumped into. Who knows, I may even help them out, they certainly are a nice enough bunch that I feel obligated to do so no matter what happens to the “Kubic Desktop”.&lt;/p&gt;

&lt;h1 id=&quot;next-steps&quot;&gt;Next Steps&lt;/h1&gt;

&lt;p&gt;As you will see from the instructions below, installing your own Kubic Desktop isn’t a trivial process at the moment. If I have time, or if others feel like moving this idea forward with me, we really need to look into the following:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Polishing the Product &amp;amp; Image definitions in OBS for Kubic to remove as many of the installation steps below as possible. This would either mean extending the existing images &amp;amp; installation routine to support a Kubic desktop, or producing new images for a Kubic desktop.&lt;/li&gt;
  &lt;li&gt;As part of the above, remove the conflicts that stop additional patterns being installed with the openSUSE-TW-Kubic product.&lt;/li&gt;
  &lt;li&gt;Make libzypp-plugin-appdata a recommended dependency so that a system can run with only flatpaks showing in gnome-software instead of always showing the distribution packages also.&lt;/li&gt;
  &lt;li&gt;To get a complete GNOME installation I chose to use openSUSE’s “gnome” pattern. Finding (or tuning) a GNOME pattern that just installs GNOME without any applications would be nicer, as right now they clutter the installation more than I envision for the idea.&lt;/li&gt;
  &lt;li&gt;Fix the transactional-update tool to support all of zyppers additional commandline switches (like –from when using ‘dup’).&lt;/li&gt;
  &lt;li&gt;Working with Flathub so they can setup &lt;a href=&quot;http://open.qa&quot;&gt;openQA&lt;/a&gt; and start testing their Flatpaks before distributing them.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;install-your-own-kubic-desktop&quot;&gt;Install your own Kubic Desktop&lt;/h1&gt;

&lt;p&gt;These instructions aren’t for the faint of heart, but if you’d like to setup your own prototype Kubic desktop to play with you can follow the guide below&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Download the latest snapshot of &lt;a href=&quot;https://software.opensuse.org/distributions/tumbleweed&quot;&gt;Tumbleweed Kubic&lt;/a&gt; and boot the media, choosing the ‘Installation’ option&lt;/li&gt;
  &lt;li&gt;Follow the installation wizard as normal, but customise the Partition configuration. You need a &lt;code class=&quot;highlighter-rouge&quot;&gt;btrfs&lt;/code&gt; root filesystem with two additional subvolumes &lt;code class=&quot;highlighter-rouge&quot;&gt;@/var/lib/gdm&lt;/code&gt; and &lt;code class=&quot;highlighter-rouge&quot;&gt;@/var/lib/flatpak&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Choose to install a &lt;code class=&quot;highlighter-rouge&quot;&gt;Plain System&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Once installed and rebooted, login as root and run the following command; &lt;code class=&quot;highlighter-rouge&quot;&gt;zypper ar http://download.opensuse.org/tumbleweed/repo/oss tw-repo&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Edit &lt;code class=&quot;highlighter-rouge&quot;&gt;/etc/zypp/zypp.conf&lt;/code&gt; and set &lt;code class=&quot;highlighter-rouge&quot;&gt;solver.onlyRequires = false&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Run &lt;code class=&quot;highlighter-rouge&quot;&gt;transactional-update pkg in patterns-gnome-gnome flatpak gsettings-backend-dconf&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Accept any dependency warnings but choosing option &lt;code class=&quot;highlighter-rouge&quot;&gt;1&lt;/code&gt; and deinstalling the problematic packages&lt;/li&gt;
  &lt;li&gt;Once installed then &lt;strong&gt;reboot&lt;/strong&gt; - transactional updates don’t apply until the next reboot.&lt;/li&gt;
  &lt;li&gt;Once rebooted, run the following commands
    &lt;ul&gt;
      &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;systemctl set-default graphical&lt;/code&gt; to set the system to boot into a graphical mode in the future&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;useradd -m $USERNAME&lt;/code&gt; with &lt;code class=&quot;highlighter-rouge&quot;&gt;$USERNAME&lt;/code&gt; being whatever you want your useraccount to be called to create a user account&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;passwd $USERNAME&lt;/code&gt; to set the password for that user account&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;rm -Rf /var/cache/app-info&lt;/code&gt; to remove any trace of AppData from the official Tumbleweed repos to force gnome-software to rely only on Flatpak&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;transactional-update shell&lt;/code&gt; to create an interactive shell that will let you modify the otherwise read-only root filesystem&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;rpm -e --nodeps libzypp-plugin-appdata&lt;/code&gt; to remove the libzypp plugin that creates the app-info AppData&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;zypper al libzypp-plugin-appdata&lt;/code&gt; to prevent anything installing that package again&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;exit&lt;/code&gt; to exit the interactive shell and create a snapshot which will effectively be a custom ‘transactional update’ next time you reboot&lt;/li&gt;
      &lt;li&gt;then reboot to activate the above changes&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;You should now be presented with standard gdm login screen with your &lt;code class=&quot;highlighter-rouge&quot;&gt;$USERNAME&lt;/code&gt; account being offered, login&lt;/li&gt;
  &lt;li&gt;Before doing anything else, run the following commands to setup access to flatpak and tune gnome-software to run how we want it
    &lt;ul&gt;
      &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;gsettings set org.gnome.software install-bundles-system-wide false&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;gsettings set org.gnome.software allow-updates false&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;gsettings set org.gnome.software download-updates false&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;gsettings set org.gnome.software enable-software-sources false&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;gsettings set org.gnome.software first-run true&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo&lt;/code&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Now load up “Software” in GNOME and enjoy your experimental Kubic Desktop experience&lt;/li&gt;
  &lt;li&gt;To update the system just run &lt;code class=&quot;highlighter-rouge&quot;&gt;transactional-update dup&lt;/code&gt; as root, or ideally put it in a cron job/systemd timer and forget about it and trust it to do everything automatically for you&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are interested in working on this idea and taking it beyond the fun little experiments I’ve started here, please feel free to get in touch using the links at the bottom of this blog.&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;


        </description>
        <pubDate>Thu, 16 Nov 2017 17:36:10 +0100</pubDate>
        <link>https://rootco.de/2017-11-16-hackweek-2017-conclusion/</link>
        <guid isPermaLink="true">https://rootco.de/2017-11-16-hackweek-2017-conclusion/</guid>
      </item>
    
      <item>
        <title>Hackweek 0x10  - Day 0</title>
        <description>
          All Good Plans... - 
          &lt;p&gt;It’s here again, SUSE’s 16th &lt;a href=&quot;https://hackweek.suse.com&quot;&gt;Hackweek&lt;/a&gt;. A week where all of &lt;a href=&quot;https://www.suse.com&quot;&gt;SUSE&lt;/a&gt; Engineering is given time away from their regular grind to work on whatever they want. And of course as this is SUSE we’re talking about, a lot of Hackweek involves the &lt;a href=&quot;https://www.opensuse.org&quot;&gt;openSUSE Community&lt;/a&gt; also.&lt;/p&gt;

&lt;h1 id=&quot;my-plans-for-hackweek-0x10&quot;&gt;My Plans for Hackweek 0x10&lt;/h1&gt;

&lt;p&gt;This Hackweek I have a few small things I hope to spend a little bit of time on, and one huge exciting project I intend to throw most of my efforts in&lt;/p&gt;

&lt;p&gt;In SUSE’s Nürnberg office there is a rather large, impressive interactive whiteboard/touchscreen for SUSE Engineering to use. However it’s currently running an inferior operating system, but seems to be reasonably hackable with easy access to the Intel-based embedded PC as part of the screen. So I’m keen to grab openSUSE Leap and &lt;a href=&quot;https://hackweek.suse.com/16/projects/make-the-flatscreen-great-again&quot;&gt;make the big screen great again&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I also hear a few people will be looking at &lt;a href=&quot;https://wekan.github.io/&quot;&gt;WeKan&lt;/a&gt; as a possible open alternative to Trello. As I’m not a huge fan of Trello, but interested in using Kanban Boards for organising a lot of what I’m doing, I plan on seeing how hard it is to get WeKan running on openSUSE if I have time; Which is unlikely, because..&lt;/p&gt;

&lt;h1 id=&quot;the-big-idea---kubic-desktop&quot;&gt;The Big Idea - Kubic Desktop&lt;/h1&gt;

&lt;p&gt;These days I’m working on &lt;a href=&quot;https://github.com/kubic-project/community&quot;&gt;openSUSE Kubic&lt;/a&gt;. While the Project is still in its early stages, we have an exciting platform designed to run containers, with a rolling OS, safely and smoothly updated with &lt;a href=&quot;https://www.youtube.com/watch?v=oUREPvOObTw&quot;&gt;atomic, transactional updates&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;But my hackweek idea is to take these basic attributes of Kubic and repurpose them as a desktop. An &lt;a href=&quot;https://hackweek.suse.com/16/projects/kubic-desktop-aka-sgt-peppers-read-only-hearts-club-band&quot;&gt;Kubic Desktop&lt;/a&gt; should be able to provide a nice reliable &lt;a href=&quot;https://www.gnome.org&quot;&gt;GNOME&lt;/a&gt; environment, which can be reliably and automatically updated.&lt;/p&gt;

&lt;p&gt;It could be a perfect way of leveraging all the existing technologies openSUSE has with &lt;a href=&quot;https://software.opensuse.org/distributions/tumbleweed&quot;&gt;Tumbleweed&lt;/a&gt;, &lt;a href=&quot;https://www.openbuildservice.org&quot;&gt;OBS&lt;/a&gt;, and &lt;a href=&quot;https://open.qa&quot;&gt;openQA&lt;/a&gt; to build a linux operating system which might be useful in “Chromebook”-like usecases.&lt;/p&gt;

&lt;p&gt;The openSUSE distributions are sometimes criticised as not being suitable for “your grandmothers desktop”, which is often a fair critism and one that openSUSE shouldn’t be ashamed of - it’s not our communities core areas of interest. But a Kubic desktop could be an answer to leverage what we’re best at for that very scenario.&lt;/p&gt;

&lt;p&gt;The only obvious problem is going to be “user space” applications. Installing packages is not a trivial task when the OS is locked down like an appliance. So for that, because I’ve already decided Kubic will have a GNOME desktop and it’s closely aligned with my favourite desktop, I’m going to try use Flatpak.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://rootco.de/pics/Youre-Going-To-Do-What.jpg&quot; alt=&quot;You're going to do WHAT?&quot; /&gt;&lt;/p&gt;

&lt;h1 id=&quot;why-not&quot;&gt;Why not?&lt;/h1&gt;

&lt;p&gt;Everybody should know that I am not a great fan of &lt;a href=&quot;https://www.youtube.com/watch?v=SPr--u4n8Xo&quot;&gt;Flatpak&lt;/a&gt; or similar approaches to &lt;a href=&quot;https://www.youtube.com/watch?v=mkXseJLxFkY&quot;&gt;containerised application packaging&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;But doing stuff that is weird, unusual, new, and sometimes counterinuative to everything you think is ‘right’ is exactly the sort of thing Hackweek is about.&lt;/p&gt;

&lt;p&gt;So I’m excited about learning what I’m going to learn over these next days. Whether I learn to love Flatpak or find a new bunch of concerns about such technologies remains to be seen.&lt;/p&gt;

&lt;p&gt;Will probably be a few days before I get around to the Flatpak part of the equation - first steps will be setting up a project in OBS and building basic OS images based on Tumbleweed’s GNOME LiveCD’s, but with Kubic’s read-only filesystem and transactional updates.&lt;/p&gt;

&lt;p&gt;Expect updates to this blog once I have something fun to share.&lt;/p&gt;

&lt;p&gt;Have a lot of fun!&lt;/p&gt;

        </description>
        <pubDate>Fri, 10 Nov 2017 10:47:12 +0100</pubDate>
        <link>https://rootco.de/2017-11-10-hackweek-2017-day-0/</link>
        <guid isPermaLink="true">https://rootco.de/2017-11-10-hackweek-2017-day-0/</guid>
      </item>
    
      <item>
        <title>LetsEncrypt on openSUSE Leap</title>
        <description>
          with a little help from SaltStack - 
          &lt;p&gt;I’ve been running my personal blog on &lt;a href=&quot;http://rootco.de&quot;&gt;rootco.de&lt;/a&gt; for a few months now. The server is a minimal install of &lt;a href=&quot;https://software.opensuse.org/421/en&quot;&gt;openSUSE Leap 42.1&lt;/a&gt; running on a nice physical machine hosted at the awesome &lt;a href=&quot;https://www.hetzner.de/en/&quot;&gt;Hetzner&lt;/a&gt;, who offer openSUSE Leap as an OS on all of their Physical and Virtual server hosting. I use the standard &lt;a href=&quot;https://httpd.apache.org/&quot;&gt;Apache&lt;/a&gt; available in Leap, with &lt;a href=&quot;https://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt; to generate this blog. You can actually see the source to this &lt;a href=&quot;https://github.com/sysrich/rootco.de-web&quot;&gt;Jekyll blog on GitHub&lt;/a&gt;. And to manage it all I use the awesome &lt;a href=&quot;https://saltstack.com/&quot;&gt;SaltStack&lt;/a&gt; and keep all of my &lt;a href=&quot;https://github.com/sysrich/salt-states&quot;&gt;Salt configuration in GitHub also&lt;/a&gt; so you can see exactly how my system is setup.&lt;/p&gt;

&lt;p&gt;Why am I sharing all of this? Well this weekend there was something I needed to fix.&lt;br /&gt;
http://rootco.de was running without &lt;strong&gt;HTTPS&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id=&quot;so-what&quot;&gt;So What?&lt;/h2&gt;
&lt;p&gt;This site is a blog about Free Software &amp;amp; Open Source stuff, why on earth does it need to be running HTTPS?.&lt;/p&gt;

&lt;p&gt;Because every single web service that can be HTTPS, should be HTTPS. There are &lt;a href=&quot;http://arstechnica.com/business/2011/03/https-is-more-secure-so-why-isnt-the-web-using-it/&quot;&gt;lots&lt;/a&gt; &lt;a href=&quot;http://mashable.com/2011/05/31/https-web-security/#.djdB6AMOsq4&quot;&gt;of&lt;/a&gt; &lt;a href=&quot;https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https?hl=en&quot;&gt;good articles&lt;/a&gt; going back years as to why, but the simplest reasons is that it helps ensure the content you visit when you go to my blog is the content &lt;strong&gt;I&lt;/strong&gt; intended for my blog. It’s very hard for someone to tamper with the content delivered from a HTTPS website. While I’m not (yet) currently hosting any interactive services on my server, if I do I want to ensure they’re secured by HTTPS so the data I’m sending to my server is done so as securely as possible.&lt;/p&gt;

&lt;p&gt;And in this day and age, there is rarely an excuse to not use HTTPS for everything. Certificates used to be expensive and complicated to setup, but thanks to the wonderful project &lt;a href=&quot;https://letsencrypt.org&quot;&gt;LetsEncrypt&lt;/a&gt; anyone can now get certificates for their domains for &lt;strong&gt;FREE&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id=&quot;getting-stated-with-letsencrypt&quot;&gt;Getting Stated with LetsEncrypt&lt;/h2&gt;
&lt;p&gt;I started as anyone should, by reading &lt;a href=&quot;https://letsencrypt.org/getting-started/&quot;&gt;the Getting Started Guide&lt;/a&gt;.&lt;br /&gt;
As there is not (yet) a &lt;code class=&quot;highlighter-rouge&quot;&gt;certbot&lt;/code&gt; package for openSUSE Leap, I had to use the &lt;code class=&quot;highlighter-rouge&quot;&gt;certbot-auto&lt;/code&gt; wrapper script.&lt;br /&gt;
The documentation recommends you install it using the following commands:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;git clone https://github.com/certbot/certbot
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;certbot
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;./certbot-auto &lt;span class=&quot;nt&quot;&gt;--help&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;As I’m actually using SaltStack to manage my system, all I did instead was add the following to my Salt State for the rootco.de Web Server.&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;certbot&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;s&quot;&gt;git.latest&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;https://github.com/certbot/certbot&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;/opt/certbot&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;user&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;root&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;You can see the &lt;a href=&quot;https://github.com/sysrich/salt-states/commit/2b3b9ea2bf988d6210119ee6d40648174319f49e&quot;&gt;git commit HERE&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I then ran the following on my salt master to tell SaltStack to pull down the changes and apply them to the rootco.de Web Server.&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;git &lt;span class=&quot;nt&quot;&gt;-C&lt;/span&gt; /srv/salt pull 
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;salt &lt;span class=&quot;s1&quot;&gt;'luke.rootco.de'&lt;/span&gt; state.highstate &lt;span class=&quot;nt&quot;&gt;--state-output&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;changes
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;NOTE: I could have just waited, I actually have the above running as a cronjob every 30 minutes to make sure my server configuration stays as I have defined it in SaltStack&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I then sanity checked the contents of &lt;code class=&quot;highlighter-rouge&quot;&gt;/opt/certbot&lt;/code&gt; before proceeding. I really hate randomly downloading code from GitHub, so I spent a bit of time making sure what I downloaded made sense and matched what I expected, while wishing someone would take the time to package this up on the &lt;a href=&quot;https://build.opensuse.org&quot;&gt;openSUSE Build Service&lt;/a&gt; so I could trust them and stop worrying. Once I was happy, I ran the following command to request a certificate for &lt;code class=&quot;highlighter-rouge&quot;&gt;rootco.de&lt;/code&gt; and &lt;code class=&quot;highlighter-rouge&quot;&gt;www.rootco.de&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;/opt/certbot/certbot-auto certonly &lt;span class=&quot;nt&quot;&gt;--webroot&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-w&lt;/span&gt; /srv/www/htdocs &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; rootco.de &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; www.rootco.de
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The wizard automatically detected I was running openSUSE, installed a few packages it needed, then asked me for an email address, and that was it! I had my certificate created and on my server at &lt;code class=&quot;highlighter-rouge&quot;&gt;/etc/letsencrypt/live/rootco.de/fullchain.pem&lt;/code&gt;. I followed the advice to backup &lt;code class=&quot;highlighter-rouge&quot;&gt;/etc/letsencrypt&lt;/code&gt; as it contains lots of important configuration and the certificates/keys for my system. Now I had to get Apache to actually use the certificate.&lt;/p&gt;

&lt;h2 id=&quot;configuring-apache-on-leap-for-letsencrypt&quot;&gt;Configuring Apache on Leap for LetsEncrypt&lt;/h2&gt;

&lt;p&gt;Because I was a little rusty, I reminded myself of the &lt;a href=&quot;https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html#sec.apache2.ssl.configuration&quot;&gt;openSUSE Leap Apache Documentation&lt;/a&gt;. Good thing too, because I can completely forgotten that to tell Apache to use SSL you needed to run the following command:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;a2enflag SSL
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;With that set, I went about setting up an Apache vhost configuration for SSL on rootco.de:&lt;/p&gt;

&lt;div class=&quot;language-apache highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;VirtualHost&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt; _default_:443&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;
&lt;/span&gt;	&lt;span class=&quot;nc&quot;&gt;DocumentRoot&lt;/span&gt; &quot;/srv/www/htdocs&quot;
	&lt;span class=&quot;nc&quot;&gt;ErrorLog&lt;/span&gt; /var/log/apache2/error_log
	&lt;span class=&quot;nc&quot;&gt;TransferLog&lt;/span&gt; /var/log/apache2/access_log
	&lt;span class=&quot;nc&quot;&gt;SSLEngine&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;on&lt;/span&gt;
	&lt;span class=&quot;c&quot;&gt;# Path to the LetsEncrypt created certificate fullchain.pem&lt;/span&gt;
	&lt;span class=&quot;nc&quot;&gt;SSLCertificateFile&lt;/span&gt; /etc/letsencrypt/live/rootco.de/fullchain.pem 
	&lt;span class=&quot;c&quot;&gt;# Path to the LetsEncrypt created private key privkey.pem&lt;/span&gt;
	&lt;span class=&quot;nc&quot;&gt;SSLCertificateKeyFile&lt;/span&gt; /etc/letsencrypt/live/rootco.de/privkey.pem
	&lt;span class=&quot;nc&quot;&gt;CustomLog&lt;/span&gt; /var/log/apache2/ssl_request_log   ssl_combined
&lt;span class=&quot;p&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;VirtualHost&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now, because I absolutely hate making any change to the rootco.de Server directly and want everything managed by SaltStack, I actually put this in my Salt States folder, and modified the rootco.de Web Server state to automatically deploy the file to the appropriate place on the server. You can see &lt;a href=&quot;https://github.com/sysrich/salt-states/commit/ab3b8fcc6aeae57c02f2ad40cb423a0e6a65a579&quot;&gt;the git commit for that HERE&lt;/a&gt;. As I am impaitent and didn’t want to wait for my automatic deployment, I again manually refreshed the Salt States on my master and used salt to deploy this new configuration:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;git &lt;span class=&quot;nt&quot;&gt;-C&lt;/span&gt; /srv/salt pull 
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;salt &lt;span class=&quot;s1&quot;&gt;'luke.rootco.de.'&lt;/span&gt; state.highstate &lt;span class=&quot;nt&quot;&gt;--state-output&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;changes
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;A quick &lt;code class=&quot;highlighter-rouge&quot;&gt;systemctl restart apache2&lt;/code&gt; on the server later and I was in business - https://rootco.de was live!&lt;/p&gt;

&lt;h2 id=&quot;thats-great-but&quot;&gt;That’s great but…&lt;/h2&gt;
&lt;p&gt;LetsEncrypt certificates have a duration of 90 days. I want https://rootco.de to be running for a lot longer than that, so I needed to find a solution.&lt;/p&gt;

&lt;p&gt;The LetsEncrypt Documentation talked about a &lt;code class=&quot;highlighter-rouge&quot;&gt;renew&lt;/code&gt; function so I gave it a quick try:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;/opt/certbot/certbot-auto renew &lt;span class=&quot;nt&quot;&gt;--dry-run&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This seemed to work fine so I added a simple cron job to run the following every 60 days:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;/opt/certbot/certbot-auto renew &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;/dev/null 2&amp;gt;&amp;amp;1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I picked 60 days as LetsEncrypt certificates only let you renew 30 days before expiration, and I want to hit their servers as little as possible while still ensuring the certificate always gets updated before it expires. &lt;code class=&quot;highlighter-rouge&quot;&gt;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;/code&gt; is there because I really don’t care about the logs - if it works, I will never need to look at it, and if it’s broken I’m going to have to be running the command manually anyway to figure out what went wrong.&lt;/p&gt;

&lt;p&gt;Doing a cronjob in SaltStack is so easy, I used it &lt;a href=&quot;https://github.com/sysrich/salt-states/commit/eac0c5c9fe56281a922ca8a486c1b3ed30bb7a25&quot;&gt;rather than editing the crontab for root myself&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So now my server is running with HTTPS, with a nice shiny LetsEncrypt certificate for both https://rootco.de and https://www.rootco.de, and the whole thing will auto renew ever 60 days. And if something goes horribly wrong and my server gets messed up, all of this is easily redeployable using SaltStack, which is a nice extra bonus for me.&lt;/p&gt;

&lt;h2 id=&quot;one-last-thing&quot;&gt;One last thing&lt;/h2&gt;

&lt;p&gt;LetsEncrypt is awesome. This service is really revolutionary and is the sort of thing which shouldn’t be taken for granted, so please help them out by &lt;a href=&quot;https://letsencrypt.org/donate&quot;&gt;Donating to LetsEncrypt&lt;/a&gt;.&lt;/p&gt;


        </description>
        <pubDate>Mon, 16 May 2016 14:19:00 +0200</pubDate>
        <link>https://rootco.de/2016-05-16-letsencrypt-on-leap/</link>
        <guid isPermaLink="true">https://rootco.de/2016-05-16-letsencrypt-on-leap/</guid>
      </item>
    
      <item>
        <title>openSUSE &amp; You</title>
        <description>
          Contributing to our Project - 
          &lt;p&gt;The &lt;a href=&quot;http://www.opensuse.org&quot;&gt;openSUSE Project&lt;/a&gt; is awesome. We’re doing facinating stuff that is treading new ground in the world of Free and Open Source Software.&lt;br /&gt;
If you’re interested in how and why we’re doing this stuff, if you’d like to get involved, then &lt;strong&gt;this blog post is for you&lt;/strong&gt;.&lt;br /&gt;
After reading you should have an idea of how we work and how to get started working with us.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;#How&quot;&gt;“How does the openSUSE Project work?”&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#Who&quot;&gt;“Who decides what happens?”&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#What&quot;&gt;“What do you need me to do?”&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#Starting&quot;&gt;“How do I get started?”&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;how-does-the-project-work-&quot;&gt;How does the Project work? &lt;a name=&quot;How&quot;&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The Project is a self-organised, self-governed, community working on the openSUSE Distributions (&lt;a href=&quot;https://en.opensuse.org/Portal:Tumbleweed&quot;&gt;Tumbleweed&lt;/a&gt; &amp;amp; &lt;a href=&quot;https://en.opensuse.org/Portal:42.1&quot;&gt;Leap&lt;/a&gt;) as well as various other Free and Open Source Software, including &lt;a href=&quot;http://openbuildservice.org&quot;&gt;OBS&lt;/a&gt;, &lt;a href=&quot;https://openqa.opensuse.org&quot;&gt;openQA&lt;/a&gt;, &lt;a href=&quot;http://osem.io/&quot;&gt;OSEM&lt;/a&gt;, &lt;a href=&quot;http://port.us.org/&quot;&gt;Portus&lt;/a&gt;, &lt;a href=&quot;http://machinery-project.org/&quot;&gt;Machinery&lt;/a&gt;, and more.&lt;/p&gt;

&lt;p&gt;We have no Product Managers, Project Managers, or Community Managers.&lt;br /&gt;
We have no Technical Committees or Steering Groups.&lt;br /&gt;
For those who have read “The Cathedral and the Bazaar”, openSUSE is very much a “Bazaar” and hardly anything like a “Cathedral”. Whatever Teams we do have are self-organised by the members of those teams, with different ways of working together to accomplish whatever particular goals within the project they are working on.&lt;/p&gt;

&lt;p&gt;The Project does have the &lt;a href=&quot;https://en.opensuse.org/openSUSE:Board&quot;&gt;openSUSE Board&lt;/a&gt;, who’s role is to &lt;em&gt;‘lead’&lt;/em&gt; the Project by acting as a central point of contact and conflict resolution.
In other words, they help keep everyone in the loop with what everyone else is doing, help resolve any conflicts that arise, and act as the ‘decision makers of &lt;em&gt;last resort&lt;/em&gt;’ in situations where decisions need to be made and there is no one else available or willing to do so.&lt;br /&gt;
The Board is a little like the &lt;a href=&quot;https://www.youtube.com/watch?v=N1HMCArgqWM&quot;&gt;‘A-Team’&lt;/a&gt; -  If you have a problem, if no one else can help, then the Board is there for you, either to help out, or help you find better help elsewhere.
The Board is elected by the &lt;a href=&quot;https://en.opensuse.org/openSUSE:Members&quot;&gt;openSUSE Members&lt;/a&gt;, those contributors who have demonstrated sustained and substantial contributions to the Project.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.suse.com&quot;&gt;SUSE&lt;/a&gt; are the primary sponsor of the openSUSE Project. All SUSE employees are encouraged to contribute to the openSUSE Project. These contributions are carried out as ‘peers’;&lt;br /&gt;
No special treatment is granted to SUSE employees, in fact the employer of a contributor should be irrelevant within the openSUSE Project.&lt;br /&gt;
In areas of particular interest or importance to SUSE, they may hire folk to work in particular roles within the openSUSE Project. With one exception (the role of Chairman of the Board), &lt;strong&gt;none of these roles should be considered exclusive&lt;/strong&gt; to SUSE. There is scope for &lt;strong&gt;&lt;em&gt;anyone&lt;/em&gt;&lt;/strong&gt; to contribute to the openSUSE project at any level, assuming they are willing and capable to do the work.&lt;/p&gt;

&lt;h1 id=&quot;who-decides-what-happens-&quot;&gt;Who decides what happens? &lt;a name=&quot;Who&quot;&gt;&lt;/a&gt;&lt;/h1&gt;

&lt;h2 id=&quot;you-do&quot;&gt;You Do.&lt;/h2&gt;

&lt;p&gt;We are driven by our contributions. If something is not being done, it’s because no one has decided to do it. We do our best to make openSUSE very accessible in order to make us the natural choice to be the Project through which you give your time &amp;amp; effort.&lt;/p&gt;

&lt;p&gt;The openSUSE Project is structured the way it is to empower our contributors to really shape the direction of the Project. Also a significant amount of the tools we have as a Project exist in order to make those contributions easier. OBS and OSEM are obvious examples, but this is true in all aspects of the project, from the technical parts to the diverse range of other activities, marketing, advocacy, outreach, community, wiki, documentation, and more.&lt;/p&gt;

&lt;p&gt;You don’t need to ask permission to get started, you just need to know what you want to do.&lt;/p&gt;

&lt;h1 id=&quot;what-do-you-need-me-to-do-&quot;&gt;What do you need me to do? &lt;a name=&quot;What&quot;&gt;&lt;/a&gt;&lt;/h1&gt;

&lt;h2 id=&quot;you-decide&quot;&gt;You Decide.&lt;/h2&gt;
&lt;p&gt;Please don’t be terrified by this! To quote The Cathedral and the Bazaar:&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;“Every good work […] starts by scratching a […] personal itch.”&lt;br /&gt;
– &lt;a href=&quot;http://www.catb.org/esr/writings/cathedral-bazaar/&quot;&gt;“The Cathedral and the Bazaar”, Eric S. Raymond&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Find things inside openSUSE, our Project, our distributions, our tools, our wiki, that you do not like, that affect you, that get in your way, and decide to change them.&lt;/p&gt;

&lt;p&gt;While it may sound selfish, there is no better motivation than solving the issues which affect you first and foremost, the benefit of doing that as part of a community means your work ends up helping others, and others will in turn help you when they share that same itch that needs scratching.&lt;/p&gt;

&lt;p&gt;Don’t expect someone else to do it. Don’t think it is someone else’s job to fix. It is your responsibility to help make openSUSE succeed in the areas that matter to you.&lt;/p&gt;

&lt;p&gt;And don’t expect anyone else to tell you what to do or what needs doing - volunteers are rarely motivated when given orders from others, so that just isn’t typically the openSUSE way.&lt;br /&gt;
That said, I do believe we could do with having some indications of particular areas where we need help; The new &lt;a href=&quot;https://opensuse.github.io/mentoring/&quot;&gt;openSUSE Mentoring website&lt;/a&gt; is a perfect example of something the Project now has to solve that problem.&lt;/p&gt;

&lt;p&gt;In the highly unlikely event that you think everything is wonderful and there is nothing that annoys you, but you still want to give something back to the openSUSE project, then dig a little deeper, try something new, either technically in our products, or get involved in a new aspect of the Project that interests you.&lt;br /&gt;
I guarantee you’ll find something somewhere which could do with your help.&lt;/p&gt;

&lt;h1 id=&quot;how-to-get-started-&quot;&gt;How to get started? &lt;a name=&quot;Starting&quot;&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;So, you’ve picked something to work on, how to get started. Here is my advice.&lt;/p&gt;

&lt;h3 id=&quot;do-your-homework&quot;&gt;Do your homework&lt;/h3&gt;
&lt;p&gt;Make sure you understand the topic you are tackling. Dig through the problem to make sure you haven’t missed something.&lt;br /&gt;
Read our wiki pages on the topic. Use Google. Look at how other FOSS Projects deal with the problem. Is their solution better or worse than what you are thinking?&lt;br /&gt;
Talk to people who might know stuff about the topic, and bounce your ideas off them. Our IRC channels are a good place for such discussions, as are events like our &lt;a href=&quot;http://events.opensuse.org&quot;&gt;openSUSE Conferences&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;plan-your-solution&quot;&gt;Plan your solution&lt;/h3&gt;
&lt;p&gt;You’ve decided what you want to do, now you need to decide how you intend to do it.&lt;br /&gt;
You don’t need to have all the details worked out, but you should have a clear understanding of the direction you want to go in, and how things should look when you are done&lt;/p&gt;

&lt;h3 id=&quot;do-you-need-help&quot;&gt;Do you need help?&lt;/h3&gt;
&lt;p&gt;Is this going to impact other people in a noticeable way? Do you want a second opinion?&lt;br /&gt;
If the answers to any of these questions are yes, continue to “Share with the Project”.&lt;br /&gt;
If no, skip to &lt;a href=&quot;#DoIt&quot;&gt;“Do It”&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;share-with-the-project&quot;&gt;Share with the Project&lt;/h3&gt;
&lt;p&gt;Take everything you have learned, and what you plan, and put it all together in a clear, succinct email for the &lt;a href=&quot;http://lists.opensuse.org&quot;&gt;mailinglists&lt;/a&gt;.&lt;br /&gt;
&lt;em&gt;Avoid writing open ended questions&lt;/em&gt;. Despite everyone’s best intentions, coming to the Project with a question like “What do you think we should do about X?” will lead to either silence, or an almost infinite number of responses, many of which will disagree with you, often without proposing alternatives.&lt;br /&gt;
Write the email from the perspective of “This is what I think we need to do, and this is what I intend to do about it”.&lt;br /&gt;
Describe your findings from “Do your homework”, explain your plan. Include proof of concepts if you have them.&lt;br /&gt;
Post this mail to an &lt;a href=&quot;https://lists.opensuse.org/&quot;&gt;appropriate mailinglist&lt;/a&gt;.&lt;br /&gt;
If you cannot identify an appropriate list, or you think the topic is deserving of a project-wide audience, then use either opensuse-factory@opensuse.org for technical changes, and opensuse-project@opensuse.org for everything else.&lt;br /&gt;
Once you are happy the email makes it possible for everyone else to understand the problem, and that this is your problem and you are going to solve it, &lt;strong&gt;fire away!&lt;/strong&gt;.&lt;br /&gt;
Now it is the responsibility of everyone else in the Project to convince you that you need to do things differently.&lt;/p&gt;

&lt;h3 id=&quot;listen&quot;&gt;Listen&lt;/h3&gt;
&lt;p&gt;The openSUSE Project is full of very clever people. Listen to their feedback, consider it.&lt;br /&gt;
As your proposal included your reasoning, their feedback should be equally reasoned and informative, and so even a ‘failure’ of a proposal at this point is a learning experience.&lt;br /&gt;
And that is a good thing, sometimes better than accomplishing the thing you set out to do in the first place.&lt;/p&gt;

&lt;h3 id=&quot;respond&quot;&gt;Respond&lt;/h3&gt;
&lt;p&gt;Fast feedback drives innovation.&lt;br /&gt;
If people are giving you feedback, discuss back with them, tell them when you agree with what they’re saying, tell them when you disagree and why.&lt;br /&gt;
This is how you will find other people to work with you on this thing.&lt;/p&gt;

&lt;h3 id=&quot;decide&quot;&gt;Decide&lt;/h3&gt;
&lt;p&gt;You do not need to accept all, or any, of the feedback.&lt;br /&gt;
If nothing comes up that convinces you to deviate from your plan, then &lt;em&gt;carry on as you planned&lt;/em&gt;.&lt;br /&gt;
If something gets in the way, then work together to find a solution, either one that includes a compromise that everyone is equally unhappy with, or one where ‘both’ options are possible.&lt;br /&gt;
This is an aspect of the openSUSE community that we often overlook - when we have two sets of contributors wanting to pull in two different directions, our collective natural instinct is to often find a way of accomplishing &lt;strong&gt;both&lt;/strong&gt;.&lt;br /&gt;
&lt;em&gt;How else do you think we ended up with KDE, GNOME, XFCE, LXDE, Enlightenment, etc?&lt;/em&gt;&lt;br /&gt;
This is a good thing, makes our project reflect everything which our contributions want to work on, and something which really sets us apart from many other Projects out there.&lt;/p&gt;

&lt;h3 id=&quot;do-it-&quot;&gt;Do it &lt;a name=&quot;DoIt&quot;&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;You’re all set! Get to work. Start your engines! Time to inconvinience some electrons with your code! and don’t forget, &lt;strong&gt;Have Fun!&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;talk-about-it&quot;&gt;Talk about it!&lt;/h3&gt;
&lt;p&gt;Our statistics show that the openSUSE Project is on the up and up, and we are in many ways ahead of a great many similar projects who are often perceived as being more successful than us.&lt;br /&gt;
A big part of that is because we excel at doing stuff, and are lousy about talking about it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So this is a call to action to ask that everyone reading this post keeps in mind the cool stuff that they’re working on as part of openSUSE, and talk about it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Social media, conferences, meetups, whenever you get a chance, tell the world about what you’re doing.
It is not just a case of being ‘Green and Proud’, but talking about recent successes often leads to conversations that reveal what the next challenge is, and so the cycle continues, but at least it’s a lot of fun ;)&lt;/p&gt;

&lt;p&gt;You can start with this post. Please share it on &lt;a href=&quot;http://www.facebook.com&quot;&gt;Facebook&lt;/a&gt;, &lt;a href=&quot;http://www.twitter.com&quot;&gt;Twitter&lt;/a&gt;, &lt;a href=&quot;http://plus.google.com&quot;&gt;Google+&lt;/a&gt;, &lt;a href=&quot;http://www.reddit.com&quot;&gt;Reddit&lt;/a&gt;, &lt;a href=&quot;https://news.ycombinator.com/&quot;&gt;Hacker News&lt;/a&gt; and anywhere and everywhere else people might be interested in contributing to openSUSE.&lt;/p&gt;

&lt;p&gt;openSUSE is amazing, it can be even more incredible, and we want &lt;strong&gt;YOU&lt;/strong&gt; to help us shape it and make it into something even more special.&lt;/p&gt;


        </description>
        <pubDate>Sun, 03 Apr 2016 02:00:00 +0200</pubDate>
        <link>https://rootco.de/2016-04-03-opensuse-and-you/</link>
        <guid isPermaLink="true">https://rootco.de/2016-04-03-opensuse-and-you/</guid>
      </item>
    
      <item>
        <title>Why You Should Use Tumbleweed</title>
        <description>
          
          &lt;p&gt;People often ask me why they should use &lt;a href=&quot;http://www.opensuse.org&quot;&gt;openSUSE Tumbleweed&lt;/a&gt; and how it compares to other distributions like Fedora or Ubuntu. The fact is Tumbleweed is actually rather hard, if not impossible to compare to Linux distributions like Fedora or Ubuntu.&lt;/p&gt;

&lt;p&gt;Both are ‘traditional’, released-based distributions. They build it carefully over a few months, they ship it, and they then cautiously patch things (often keeping those changes as small as possible, backports, etc) to keep it secure/usable for their users over their chosen lifespan.&lt;/p&gt;

&lt;p&gt;If you’re interested in an openSUSE like that, we have &lt;a href=&quot;http://www.opensuse.org&quot;&gt;Leap&lt;/a&gt;, and I believe Leap to be better than Fedora and Ubuntu for a whole bunch of reasons, starting with the fact that Leap has an Enterprise codebase (SUSE Linux Enterprise to be exact) at its heart with the openSUSE Project building a fully-fledged community distribution ontop of it.&lt;/p&gt;

&lt;p&gt;But today I want to talk about Tumbleweed.&lt;br /&gt;
While Leap aims to be rock-solid, Tumbleweed rolls.&lt;/p&gt;

&lt;p&gt;It’s more like Arch and Gentoo in that regard. Tumbleweed today contains the latest packages of every software stack that has been packaged by the openSUSE Project. Latest kernel, libraries, desktop environments, everything in Tumbleweed can and does change regularly.&lt;/p&gt;

&lt;p&gt;But, unlike other rolling distributions, Tumbleweed does it smarter.&lt;/p&gt;

&lt;h1 id=&quot;built-correctly&quot;&gt;Built Correctly&lt;/h1&gt;
&lt;p&gt;Tumbleweed is built like a ‘traditional’ distribution. All packages in Tumbleweed are built together as a cohesive distribution, and shipped together as a cohesive distribution. If a new package is checked in that potentially can invalidate another package (eg. new glibc, new libraries, new kernel, etc) then the dependant packages are rebuilt, just like traditional distributions.&lt;/p&gt;

&lt;p&gt;But where as traditional distributions take days, sometimes weeks to do such, we do it in hours, because we have the Open Build Service.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;You can learn more about &lt;a href=&quot;http://openbuildservice.org/&quot;&gt;Open Build Service HERE.&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;You can see, and use the &lt;a href=&quot;http://build.opensuse.org&quot;&gt;openSUSE Build Service&lt;/a&gt; for free, today.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This produces a ‘snapshot’. At this point a traditional distribution would probably call this a ‘release candidate’, an ISO and a set of repositories with all the software built and ready for testing.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Most distributions take weeks to produce coherently built and tested disk images &amp;amp; repositories. Tumbleweed does it about 5 times a week.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1 id=&quot;tested-well&quot;&gt;Tested Well&lt;/h1&gt;
&lt;p&gt;But building is only half the story. A good distribution needs to be tested. A good rolling distribution needs to be tested quickly. Arch and Gentoo rely on manual testers and purposefully delaying the inclusion of packages in their main repos in order to give people time to test stuff. openSUSE has openQA.&lt;/p&gt;

&lt;p&gt;Before any human being is allowed anywhere near a snapshot, openQA tests that snapshot over 100 times across four different hardware architectures (i586, x86_64, ppc64, and aarch64).&lt;/p&gt;

&lt;p&gt;These are not artificial ‘some developer writing some code to poke around some APIs’ kind of tests.&lt;/p&gt;

&lt;p&gt;openQA actually does proper &lt;em&gt;real-world&lt;/em&gt; scenarios. Installations, upgrades, dual booting, encrypted LVM, kde, gnome, xfce, live CD’s, network installs.&lt;br /&gt;
You name it, we test it. And if we don’t test it well enough, we most certainly want to, and you can help contribute tests as everything in &lt;a href=&quot;http://os-autoinst.github.io/openQA&quot;&gt;openQA is 100% open source&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/pics/openqaresults.png&quot; alt=&quot;There are far many results to show in this blog post&quot; /&gt;&lt;br /&gt;
&lt;a href=&quot;https://openqa.opensuse.org/tests/overview?distri=opensuse&amp;amp;version=Tumbleweed&amp;amp;build=20160321&amp;amp;groupid=1&quot;&gt;Just take a look at the openQA results for a recent Tumbleweed snapshot for example, just to give you an idea&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Again, these aren’t some kind of artificial ‘some fancy coder wrote a robot that can mash buttons in the right order’ tests. openQA can actually &lt;strong&gt;see&lt;/strong&gt; the screens it is testing.&lt;/p&gt;

&lt;p&gt;It uses openCV and a library of reference screenshots (with areas of interest selected to allow openQA to ignore things we don’t care about) which we call ‘needles’.&lt;/p&gt;

&lt;p&gt;So every test checks that every screen looks the way we want it to look for users. Every function that is tested presses the same keys and clicks on the same mouse buttons that a user would, and then openQA confirms that piece of software behaves in the way it has been taught to expect.&lt;/p&gt;

&lt;p&gt;openQA does this for every step in installations &amp;amp; upgrades.&lt;br /&gt;
openQA checks all the core console commands, systemd, zypper, YaST in ncurses mode, curl, vim, firewall, ssh, etc, etc.&lt;br /&gt;
openQA then logs into the desktop environment of choice (GNOME, KDE, lxde, xfce, etc) and checks graphical applications. Is gedit working? firefox? thunderbird? libreoffice? inkscape? gimp? etc, etc.&lt;/p&gt;

&lt;p&gt;And it does this all in dozens of different scenarios, over and over again, in parallel across many VMs and machines.&lt;/p&gt;

&lt;p&gt;We even do extra testing on incoming package submissions, so many cases we catch things before they get anywhere near a snapshot, and our developers get nice fast feedback about their otherwise potentially destructive change. Yes, we have implimented Continuous Integration for distributions, and if you were using &lt;a href=&quot;http://openbuildservice.org&quot;&gt;OBS&lt;/a&gt; and &lt;a href=&quot;http://os-autoinst.github.io/openQA&quot;&gt;openQA&lt;/a&gt; you could be doing it too.&lt;/p&gt;

&lt;h1 id=&quot;delivered-quickly&quot;&gt;Delivered Quickly&lt;/h1&gt;
&lt;p&gt;1000’s of tests, over 100 scenarios…and with our current hardware (thanks &lt;a href=&quot;http://www.suse.com&quot;&gt;SUSE&lt;/a&gt;!) a full snapshot gets tested in about 3 hours.&lt;/p&gt;

&lt;p&gt;And if it passes, it ships, &lt;strong&gt;automatically&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Most distributions take weeks to produce coherently built and tested disk images &amp;amp; repositories.&lt;br /&gt;
Tumbleweed does it about 5 times a week.&lt;/p&gt;

&lt;p&gt;And a ‘quiet’ week can consist of approx new/updated 150 packages and a new kernel.&lt;br /&gt;
A normal week is double, if not triple that, and it’s moving faster and faster..&lt;/p&gt;

&lt;p&gt;All that extra work doesn’t get in the way. We often beat other rolling distributions into delivering tested versions of KDE Plasma and GNOME, because we can test them quicker and ship them with a certainty that nothing breaks.&lt;/p&gt;

&lt;p&gt;That’s not universally true though, good testing finds bugs, those bugs need to be fixed, so if you ever notice something taking longer than you’d like, it’s often a sign that we could do with more contributors helping Package that particular software. &lt;a href=&quot;https://en.opensuse.org/openSUSE:Factory_development_model&quot;&gt;You can learn how to contribute to Tumbleweed HERE&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&quot;trusted-by-more-and-more&quot;&gt;Trusted by More and More&lt;/h1&gt;
&lt;p&gt;Most of what I describe above was implimented after July 2014 and culminated in the &lt;a href=&quot;https://news.opensuse.org/2014/10/24/tumbleweed-factory-rolling-releases-to-merge/&quot;&gt;‘merger’ of Old Tumbleweed and Factory in November 2014&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Since then, the adoption rate of Tumbleweed has been nothing short of astronomical.. &lt;img src=&quot;/pics/Tumbleweedstats.png&quot; alt=&quot;Look at those numbers&quot; /&gt;&lt;/p&gt;

&lt;p&gt;If &lt;a href=&quot;https://www.archlinux.de/?page=UserStatistics&quot;&gt;public numbers are to be believed&lt;/a&gt; Tumbleweed might already be larger than ‘more famous’ rolling distributions. Whether or not that’s true doesn’t change one fact - &lt;strong&gt;We want YOU to try Tumbleweed&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And you’ll be in good company. Not only amongst those users, but companies like &lt;a href=&quot;http://softiron.co.uk/&quot;&gt;SoftIron&lt;/a&gt; who ship Tumbleweed on their Overdrive 3000 64-bit ARM servers, and &lt;a href=&quot;http://ts.fujitsu.com&quot;&gt;Fujitsu&lt;/a&gt; who offer Tumbleweed as their chosen community Linux to customers with Skylake hardware. &lt;a href=&quot;http://www.gnome.org&quot;&gt;GNOME&lt;/a&gt; advertise Tumbleweed-based GNOME:Next LiveCD’s so &lt;a href=&quot;https://mail.gnome.org/archives/gnome-announce-list/2016-March/msg00059.html&quot;&gt;their users can play with their latest releases as soon as they are shipped&lt;/a&gt;, even before the tested packages appear in Tumbleweed properly.&lt;/p&gt;

&lt;p&gt;I may be biased, but Tumbleweed is the only rolling distribution I’d recommend to &lt;em&gt;any&lt;/em&gt; Linux enthusiast as their daily driver.&lt;/p&gt;

&lt;p&gt;If you care about Linux, you want the latest packages, but you only want them when they actually work, Tumbleweed is the best choice, bar none.&lt;/p&gt;

&lt;p&gt;And anyone who disagrees with me is welcome to join the &lt;a href=&quot;http://www.opensuse.org&quot;&gt;openSUSE Project&lt;/a&gt;, find us on &lt;a href=&quot;https://lists.opensuse.org/&quot;&gt;opensuse-factory@opensuse.org Mailing List&lt;/a&gt; and help make it even better ;).&lt;/p&gt;

&lt;p&gt;&lt;em&gt;NOTE: This blog post started as a response to a &lt;a href=&quot;https://www.reddit.com/r/linux/comments/4bytfz/thoughts_please_on_opensuse_tumbleweed/&quot;&gt;Reddit Post&lt;/a&gt;. Thanks to the OP for the inspiration!&lt;/em&gt;&lt;/p&gt;

        </description>
        <pubDate>Mon, 28 Mar 2016 19:05:02 +0200</pubDate>
        <link>https://rootco.de/2016-03-28-why-use-tumbleweed/</link>
        <guid isPermaLink="true">https://rootco.de/2016-03-28-why-use-tumbleweed/</guid>
      </item>
    
      <item>
        <title>openSUSE Face-to-Face Board Meeting 2016 Minutes - Part 3/3</title>
        <description>
          
          &lt;p&gt;18th-20th March&lt;/p&gt;

&lt;p&gt;Present:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Richard Brown - Chair&lt;/li&gt;
  &lt;li&gt;Michal Hrušecký&lt;/li&gt;
  &lt;li&gt;Kostas Koudaras&lt;/li&gt;
  &lt;li&gt;Tomas Chvatal&lt;/li&gt;
  &lt;li&gt;Gertjan Lettink&lt;/li&gt;
  &lt;li&gt;Bryan Lunduke - Extra special thanks goes to Bryan for attending
via video conference at ridiculous hours in his local timezone after
urgent personal matters kept him from attending the meeting in person.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As this years Board Meeting Minutes are so long, they are split into 3 sections&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Meetings - Covering the meetings the Board had with various SUSE
executives, managers, and engineers.&lt;/li&gt;
  &lt;li&gt;General - Covering the general agenda items/day-to-day issues&lt;/li&gt;
  &lt;li&gt;Strategy - Covering the ‘big picture’ issues the Board discussed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This email is Part 3, containing ‘big picture’ strategy issues discussed&lt;/p&gt;

&lt;p&gt;Part 1 is available &lt;a href=&quot;/2016-03-20-board-meeting-f2f-2016-p1/&quot;&gt;HERE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Part 2 is available &lt;a href=&quot;/2016-03-20-board-meeting-f2f-2016-p2/&quot;&gt;HERE&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;strategy&quot;&gt;Strategy&lt;/h2&gt;

&lt;h3 id=&quot;improve-visibility&quot;&gt;Improve Visibility&lt;/h3&gt;
&lt;p&gt;Obviously, we want to improve the visibility of the openSUSE Project.&lt;/p&gt;

&lt;p&gt;We have great distributions, great tools, and great technologies, and
we want them to be adopted by as many people and other projects as
possible.&lt;/p&gt;

&lt;p&gt;We also want to be a natural choice for new contributors and new
projects to come to openSUSE, work with us, and host their projects
with us.&lt;/p&gt;

&lt;h4 id=&quot;suse&quot;&gt;SUSE&lt;/h4&gt;
&lt;p&gt;SUSE is our closest, largest, partner. We have strong practical ties
with them, but that does not mean we can forget about things such as
regular clear communication and ‘internal marketing’.&lt;/p&gt;

&lt;p&gt;SUSE are working on a number of exciting new things, and it’s
important that internally openSUSE is seen as a natural home for
SUSE’s open source contributions.&lt;/p&gt;

&lt;p&gt;Working closely together also should enable SUSE’s corporate marketing
experts to help spread the good word about all the awesome stuff the
openSUSE Project is doing&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt;Bryan to investigate the possibility of Doug being invited to
Weekly team meetings for SUSE Corporate Communications&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt;Bryan to drive ensuring openSUSE is well integrated with SUSE’s
ongoing marketing.&lt;/p&gt;

&lt;h4 id=&quot;outreach&quot;&gt;Outreach&lt;/h4&gt;
&lt;p&gt;There’s no point only targeting our existing contributors and partners
like SUSE. Any open source project needs new people and with new
people comes new ideas, new solutions, and new exciting projects for
people to hack on.&lt;/p&gt;

&lt;p&gt;A huge challenge for new contributors and projects is understanding
what is available&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Who is the openSUSE Project?&lt;/li&gt;
  &lt;li&gt;What services do we provide?&lt;/li&gt;
  &lt;li&gt;Where do I go to get involved?&lt;/li&gt;
  &lt;li&gt;How do I get started?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are questions which are &lt;em&gt;key&lt;/em&gt; to have simple, clear, easy to
find answers to&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CALL FOR HELP:&lt;/strong&gt; The Board wants to see  getting started guides for&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;New Users&lt;/li&gt;
  &lt;li&gt;New Contributors&lt;/li&gt;
  &lt;li&gt;New Projects- to encourage other projects to come use openSUSE as
their home&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;to answer the above questions. These should be simple, clear, and
relatively short. The produced guides should be easily usable on a
wiki, the website, on flyers at conferences, short blog posts..we want
to be able to spread them &lt;em&gt;everywhere&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The guides for new Contributors and new Projects are considered a
Priority by the board- to use a football related quote “There is no
point having fans, if you don’t have your 11 on the pitch to play for
them”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt;Board intends to create a skeleton of the above guides to help
bootstrap this idea, and will drive this, but the Board is keen to see
if anyone from the community dives in and gets to work on this
immediately.&lt;/p&gt;

&lt;h4 id=&quot;other-projects&quot;&gt;Other Projects&lt;/h4&gt;
&lt;p&gt;While openSUSE is keen to see other projects call the openSUSE Project
it’s home, we recognise that it’s not viable for many, especially
those larger ones with their own established communities&lt;/p&gt;

&lt;p&gt;In cases like this the Board wants to encourage strong relationships
with such Projects, and seek out partnerships and other arrangements
with such Projects for the benefit of all involved&lt;/p&gt;

&lt;p&gt;Examples include ownCloud and Kolab, where we believe openSUSE is in a
perfect position to offer tools, community, and a solid environment
for these projects to use as a default or recommended platform for
their users&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt;Bryan to arrange information exploratory discussions&lt;/p&gt;

&lt;h4 id=&quot;hardware-vendors&quot;&gt;Hardware vendors&lt;/h4&gt;
&lt;p&gt;Having hardware sponsors and partners is nice but is hard. Solid
hardware support requires the hardware to be available and in the
hands of the right contributors to make it happen.&lt;/p&gt;

&lt;p&gt;Otherwise there is no way how to support special hardware without the
things available for testing.&lt;/p&gt;

&lt;p&gt;However, we do have some relationships which are happening, and we
want to highlight those who do stuff with us, such as&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Soft Iron are shipping 64-bit ARM servers with openSUSE Tumbleweed as standard&lt;/li&gt;
  &lt;li&gt;Fujitsu offer openSUSE Tumbleweed to thier customers who want a
Linux option on their Desktop &amp;amp; Server Hardware&lt;/li&gt;
  &lt;li&gt;Epson have some printers using openSUSE and YaST&lt;/li&gt;
  &lt;li&gt;Open Mainframe are investigating the possibility of building an
openSUSE distribution for s390x&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;reform-and-remove-mess&quot;&gt;Reform and Remove Mess&lt;/h2&gt;
&lt;p&gt;Improving viability and reaching out to new areas is all well and
good, but we need to make sure the project internals are tidy, clear,
and easy to use&lt;/p&gt;

&lt;p&gt;The Board discussed the state of many infrastructure and project policies
and processes.&lt;/p&gt;

&lt;p&gt;We agreed a principle of, when something is imperfect, we Reform (aka
improve) or Remove it.&lt;/p&gt;

&lt;p&gt;Services identified to be removed or reformed:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Software.o.o:
    &lt;ul&gt;
      &lt;li&gt;Media download needs to be easier, prefferable static page&lt;/li&gt;
      &lt;li&gt;package search adds too much mess to the installed systems.
Invalid repos should not be distributed by 1-click installs&lt;/li&gt;
      &lt;li&gt;somehow redesign and reduce confusion to ensure that users
do not end up with 80+ additional repos.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Wiki:
    &lt;ul&gt;
      &lt;li&gt;In order to fix the wiki quickly ,the board approved the
idea of deploying the latest version of mediawiki on a new server
without branding&lt;/li&gt;
      &lt;li&gt;branding can always be redone later&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Blogs/Planet:
    &lt;ul&gt;
      &lt;li&gt;Only a handful of people use lizards, but it takes a lot of
resources to keep it running. We want to shut it down, and encourage
it’s users move to their own blogs, which will then be aggregated on
planet.opensuse.org&lt;/li&gt;
      &lt;li&gt;Improve planet.opensuse.org. Find a maintainer, use a clean
upstream OSS soltion if possible&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt;Kostas to contact the few Lizards bloggers to discuss
their migration options&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;News.o.o:
    &lt;ul&gt;
      &lt;li&gt;Wordpress consumes too many resources and poses too many
security risks&lt;/li&gt;
      &lt;li&gt;Replace with something lightweight&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt;Richard talk with Douglas about this&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;i18n.o.o: Translations site is being migrated to l10n.o.o as we speak
and i18n will be killed including the svn prior Leap 42.2 release.&lt;/li&gt;
  &lt;li&gt;Legal layout of Board/membership:
 The current layout of the Board Election Rules, Membership
Rules, and such are sometimes confusing and missing some details
 The documents will be updated and restructured to be more clear
 This should set the framework for discussing any reforms of
the Membership process once the Membership tidy-up is complete&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt;board- get Infra team to provide list of services we have, soon
to help with this endevour&lt;/p&gt;

        </description>
        <pubDate>Sun, 20 Mar 2016 16:20:02 +0100</pubDate>
        <link>https://rootco.de/2016-03-20-board-meeting-f2f-2016-p3/</link>
        <guid isPermaLink="true">https://rootco.de/2016-03-20-board-meeting-f2f-2016-p3/</guid>
      </item>
    
      <item>
        <title>openSUSE Face-to-Face Board Meeting 2016 Minutes - Part 2/3</title>
        <description>
          
          &lt;p&gt;18th-20th March&lt;/p&gt;

&lt;p&gt;Present:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Richard Brown - Chair&lt;/li&gt;
  &lt;li&gt;Michal Hrušecký&lt;/li&gt;
  &lt;li&gt;Kostas Koudaras&lt;/li&gt;
  &lt;li&gt;Tomas Chvatal&lt;/li&gt;
  &lt;li&gt;Gertjan Lettink&lt;/li&gt;
  &lt;li&gt;Bryan Lunduke - Extra special thanks goes to Bryan for attending
via video conference at ridiculous hours in his local timezone after
urgent personal matters kept him from attending the meeting in person.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As this years Board Meeting Minutes are so long, they are split into 3 sections&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Meetings - Covering the meetings the Board had with various SUSE
executives, managers, and engineers.&lt;/li&gt;
  &lt;li&gt;General - Covering the general agenda items/day-to-day issues&lt;/li&gt;
  &lt;li&gt;Strategy - Covering the ‘big picture’ issues the Board discussed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This email is Part 2, containing general agenda items&lt;/p&gt;

&lt;p&gt;Part 1 is available &lt;a href=&quot;/2016-03-20-board-meeting-f2f-2016-p1/&quot;&gt;HERE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Part 3 is available &lt;a href=&quot;/2016-03-20-board-meeting-f2f-2016-p3/&quot;&gt;HERE&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;general&quot;&gt;General&lt;/h2&gt;

&lt;h3 id=&quot;desktops&quot;&gt;Desktops&lt;/h3&gt;
&lt;p&gt;Board discussed the state of the various desktops in openSUSE.
Improving the selection screen to better reflect the actual nature of
our distributions is something we certainly want to see.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Board to discuss some ideas with our various Desktop Teams&lt;/p&gt;

&lt;h3 id=&quot;membership-tidy&quot;&gt;Membership Tidy&lt;/h3&gt;
&lt;p&gt;Board discussed it’s ongoing efforts to tidy up the membership list.
We have plenty of members that might not be around anymore. From
previous discussions we have a draft of what we want to do and it was
heavilly discussed over and over. So we will move to the
implementation. Current plan is to do just a small changes that were
already discussed (announcement pending), there might be a room for
bigger changes and cleaning up the rules, but that would need mebers
agreement. We should also remove inactive members of membership
comittee. Together with retiring connect.openuse.org we probably can
have some space to make membership management easier and faster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Tomas should investigate Helios voting system for openSUSE&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Michal to draft email about inactive members&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Michal to start with tooling and kickstart the process of retiring
inactive members according to the proposal sent&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Michal is retiring connect.opensuse.org and doing the Membership tooling&lt;/p&gt;

&lt;h3 id=&quot;mailinglist-moderation&quot;&gt;Mailinglist Moderation&lt;/h3&gt;
&lt;p&gt;Board discussed concerns regarding some behaviour of a few individuals
on the mailinglists.&lt;/p&gt;

&lt;p&gt;We recognise that some misbehaviour requires fast action. Agreed that
any one Board member can act on behalf of the Board.&lt;/p&gt;

&lt;p&gt;When behaviour is not inline with the Guiding Principles the Board
agreed a principle of 1 private warning followed by a Ban&lt;/p&gt;

&lt;h3 id=&quot;sponsorships&quot;&gt;Sponsorships&lt;/h3&gt;
&lt;p&gt;Conference in Albania asked for support, but as no person is going
there from openSUSE, we are not providing money.&lt;/p&gt;

&lt;p&gt;openSUSE only sponsors events where openSUSE can attend.
We decided to become Platinum Sponsors to Greek FOSSCOMM- Greekos will
be attending&lt;/p&gt;

&lt;p&gt;We discussed updating the sponshorship document for people interested
in sponsoring our Project in order to better guide what to do and what
optons are available to become openSUSE sponsor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Kostas will take care of the Negotiation regarding FOSSCOMM&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Board to put together a Sponsorship policy document&lt;/p&gt;

&lt;h3 id=&quot;trademark&quot;&gt;Trademark&lt;/h3&gt;
&lt;p&gt;Trademark requests often get lost of spam, hoping the proposed new
@opensuse mail system will be better with spam.&lt;/p&gt;

&lt;p&gt;T-systems requested permission to use openSUSE on their new Open
Telekon Cloud - &lt;strong&gt;Approved&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Richard to review/tune up filtering in current system so trademark
requests don’t get lost.&lt;/p&gt;

&lt;h3 id=&quot;maintainer-tidy-up&quot;&gt;Maintainer tidy up&lt;/h3&gt;
&lt;p&gt;Board discussed OBS state of inactive maintainers.
With the members cleanup prepared we want to clean this up too.&lt;/p&gt;

&lt;p&gt;It’s very important to new and existing contributors alike that it’s
easy to identify who is responsible for which package, or which
packages are low on active maintainers.&lt;/p&gt;

&lt;p&gt;Technically we want maintainer tidy-up like the home: repositories cleanup&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Tomas will talk with Craig about OBS team preparing the code for this&lt;/p&gt;

&lt;h3 id=&quot;treasurer&quot;&gt;Treasurer&lt;/h3&gt;
&lt;p&gt;Board wants to reduce it’s time spent worrying about money,
sponsorship, and TSP related matters. The Board’s role is meant to be
more focused on the actual immediate and long term issues impacting
the Project as a whole, and the details of money matters is quite
often a distraction from these.&lt;/p&gt;

&lt;p&gt;The board agreed to create a openSUSE position called Treasurer.
They will be a non-voting board member appointed by the Board.
Responsibilities of the Treasurer:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Money&lt;/li&gt;
  &lt;li&gt;Sponsorships&lt;/li&gt;
  &lt;li&gt;Event&lt;/li&gt;
  &lt;li&gt;Merchandising materials&lt;/li&gt;
  &lt;li&gt;TSP&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Treasurer must provide regular reports to the Board and thus is
expected to attend all Board meetings where the above responsibilities
are discussed&lt;/p&gt;

&lt;p&gt;As a Board appointee, any future Board is expected to confirm their
choice of Treasurer in their first meeting after being elected&lt;/p&gt;

&lt;p&gt;This Board has appointed Andrew Waffaa to be the current Treasurer,
effective immediately&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; board should add treasurer to board ML and create
treasurer@opensuse.org mail alias&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Board to announce it to Project&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Board to put stuff on wiki regarding rules/scope&lt;/p&gt;

&lt;h3 id=&quot;kickstarter&quot;&gt;Kickstarter&lt;/h3&gt;
&lt;p&gt;With the sponsorship document updated we could provide kickstarter
option for community to sponsor hadware.&lt;/p&gt;

&lt;p&gt;This should aim to please most people requesting separate foundation,
because even small donations will be allowed to flow in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Tomas will talk with Andrew and Marketing teams on how to do this&lt;/p&gt;

        </description>
        <pubDate>Sun, 20 Mar 2016 16:20:01 +0100</pubDate>
        <link>https://rootco.de/2016-03-20-board-meeting-f2f-2016-p2/</link>
        <guid isPermaLink="true">https://rootco.de/2016-03-20-board-meeting-f2f-2016-p2/</guid>
      </item>
    
      <item>
        <title>openSUSE Face-to-Face Board Meeting 2016 Minutes - Part 1/3</title>
        <description>
          
          &lt;p&gt;18th-20th March&lt;/p&gt;

&lt;p&gt;Present:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Richard Brown - Chair&lt;/li&gt;
  &lt;li&gt;Michal Hrušecký&lt;/li&gt;
  &lt;li&gt;Kostas Koudaras&lt;/li&gt;
  &lt;li&gt;Tomas Chvatal&lt;/li&gt;
  &lt;li&gt;Gertjan Lettink&lt;/li&gt;
  &lt;li&gt;Bryan Lunduke - Extra special thanks goes to Bryan for attending
via video conference at ridiculous hours in his local timezone after
urgent personal matters kept him from attending the meeting in person.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As this years Board Meeting Minutes are so long, they are split into 3 sections&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Meetings - Covering the meetings the Board had with various SUSE
executives, managers, and engineers.&lt;/li&gt;
  &lt;li&gt;General - Covering the general agenda items/day-to-day issues&lt;/li&gt;
  &lt;li&gt;Strategy - Covering the ‘big picture’ issues the Board discussed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This email is Part 1, containing meeting minutes of meetings with SUSE&lt;/p&gt;

&lt;p&gt;Part 2 is available &lt;a href=&quot;/2016-03-20-board-meeting-f2f-2016-p2/&quot;&gt;HERE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Part 3 is available &lt;a href=&quot;/2016-03-20-board-meeting-f2f-2016-p3/&quot;&gt;HERE&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;meetings&quot;&gt;Meetings&lt;/h2&gt;

&lt;h3 id=&quot;meeting-with-opensuse-release-manager---ludwig-nussel&quot;&gt;Meeting with openSUSE Release Manager - Ludwig Nussel&lt;/h3&gt;
&lt;p&gt;The Board met the new openSUSE Release Manager - Ludwig Nussel&lt;/p&gt;

&lt;p&gt;He shared the following tentative information about the planned
release for Leap 42.2:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Leap 42.2 will be based on SLE 12 SP2 and their release scheduled are
‘aligned’ (ie. They will be developed together, but not necessarily
release together)&lt;/li&gt;
  &lt;li&gt;Target release date for Leap 42.2 is 1st week of Nov 2016.
Expected to have an updated systemd, GNOME, Qt, kernel all inherited
from SLE 12 SP2&lt;/li&gt;
  &lt;li&gt;KDE of course will want to upgrade from 5.5, expected 5.6, discussions
underway about what upgrade policy will make sense for the lifespan of
Leap 42.2&lt;/li&gt;
  &lt;li&gt;We don’t expect X will be updated, which will mean 42.2 will have the
same version as 42.1, which is newer than the version in SLE 12 SP1 or
expected in SP2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Leap 42.2 will start with a base of Leap 42.1, with packages updated
from that point. The process for contributing to Leap 42.2 needs
explanation&lt;/p&gt;

&lt;p&gt;We discussed the shape of how we’d like to see the wiki. 
We all agreed want to see a big tidy up. Many of the Portals have
little benefit and serve little purpose. We want to see the namespaces
removed/flattened to help the search&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Tumbleweed deserves a Portal. Questions the page must answer include
“What is Tumbleweed?” “Why use Tumbleweed?” and “Why might Leap be
better for you?”&lt;/li&gt;
  &lt;li&gt;Leap is similarly important, needing to answer the questions “What is
Leap?” “Why use Leap?” and “Why might Tumbleweed be better for you?”&lt;/li&gt;
  &lt;li&gt;Packaging Polices and the Factory process are other ‘key’ pages which
must be preserved, polished, and refreshed during any wiki cleanup&lt;/li&gt;
  &lt;li&gt;Team pages would be ‘nice to have’ but many Team pages are currently
woefully out of date. We would like to see a solution investigated
where the wiki team page is inherited from a devel project&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We discussed the idea of forming a “Release Team” with specific roles
that are responsible for ensuring that key parts of the Release
process are carried out&lt;/p&gt;

&lt;p&gt;Obvious roles include “Website coordinator” to ensure the website is updated.
 “Wiki Coordinator”,  “Marketing Coordinator”,  “Test Coordinator”,
“Translation Coordinator” are other obvious roles&lt;/p&gt;

&lt;p&gt;These people would not necessarily be responsible for doing the work,
but for coordinating with Ludwig and ensuring that the work gets done
by someone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Ludwig to mail the Board with any other “Roles” which are
expected to be needed&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Board + Ludwig to send a ‘Call for Volunteers’ for the roles, and
to put together the team&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Board to request release-team@opensuse.org list for this team&lt;/p&gt;

&lt;p&gt;Discussed some of our local teams. We share concerns that those teams
with their own forums, own wikis, and own websites ultimately ‘split’
the community and make it harder for everyone to benefit from the
shared knowledge, experience, and feeling of ‘collective ownership’ of
the project.
We’d like to see such sub-communities bought closer together and go
forward more ‘aligned’ with the rest of the openSUSE Project&lt;/p&gt;

&lt;p&gt;We discussed some concerns regarding the current openSUSE Infrastructure
software.opensuse.org serves two very important roles, both as the
main download portal for our distributions, and as a software search
for OBS&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PROPOSAL:&lt;/strong&gt; Split http://software.opensuse.org to have the download portal and
search separate.&lt;/p&gt;

&lt;p&gt;The download portal could be a simple, clean, fast, static site that
would offer the Leap and Tumbleweed ISOs.&lt;/p&gt;

&lt;p&gt;Software search would continue as it is…but we considered some
problems with that&lt;/p&gt;

&lt;p&gt;The current implementation of One-Click installs is often dangerous.
Because they add all the repos setup in the OBS repo you often end up
with crazy things like Factory:ARM repos being added on systems where
they are not relevant&lt;/p&gt;

&lt;p&gt;Furthermore, making it very easy to install packages from
‘non-official’ repos dramatically reduces the motivation and impetus
for developers to put their packages in the Distribution&lt;/p&gt;

&lt;p&gt;Having packages in the Distribution though is the best way to ensure
your package works, is tested, and is integrated&lt;/p&gt;

&lt;p&gt;So we would like to see One Click only pulling from the official repos.
  If Packages are not in the official repos, we would like the
software search to put users in touch with devel project maintainers
to encourage the packages be added to the distributions&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CALL FOR HELP:&lt;/strong&gt; We would like a maintainer for software.opensuse.org to
help implement the above changes to the search and download functions
of software.opensuse.org&lt;/p&gt;

&lt;h3 id=&quot;meeting-with-the-suse-infrastructure-team&quot;&gt;Meeting with the SUSE Infrastructure Team&lt;/h3&gt;
&lt;p&gt;The Board received an update from Gerhard Schlotter, Marcus ‘darix’
Rueckert, and Lars Vogdt from the Infrastructure Team at SUSE&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;SUSE host 12 physical servers for openSUSE services. This is in
addition to the 127 OBS &amp;amp; openQA physical servers&lt;/li&gt;
  &lt;li&gt;Those 12 macines host a total of 60 VMs&lt;/li&gt;
  &lt;li&gt;The OBS and openQA hardware host a total of 820 VMs&lt;/li&gt;
  &lt;li&gt;www.opensuse.org has 2.3 million visitors per month - how can we make
that bigger?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Discussed the immediate problems with some part of the infrastructure,
especially the wiki.
Some is hosted in SUSE’s datacenter in Provo, some is hosted in Nuremberg.
Nuremberg datacentre has room and admins, but limited bandwidth (not
enough for how busy stuff gets on releases).
Provo datacenter has room and bandwidth, but limited admins. SUSE have
an engineer moving from Nuremberg to Provo to help illivate that
problem.
Having sponsored hosting elsewhere is an option we want to actively
pursue. We have hardware available if we can find a host.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CALL FOR HELP:&lt;/strong&gt; Please help us find sponsors willing to help find
openSUSE infrastructure&lt;/p&gt;

&lt;p&gt;Infrastructure guys would like the Sponsorship leaflet to be updated
in order to better court possible hardware and hosting sponsors&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Douglas to update sponsorship guide&lt;/p&gt;

&lt;p&gt;Improvements to the @opensuse.org email system are being investigated&lt;/p&gt;

&lt;p&gt;Infra team would like connect.opensuse.org to be shutdown&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Board to investigate alternatives for voting &amp;amp; membership management&lt;/p&gt;

&lt;h3 id=&quot;lunch&quot;&gt;Lunch&lt;/h3&gt;
&lt;p&gt;The Board had lunch with dozens of SUSE Engineers. Lots of different
conversations but the key topics that stuck with the board include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Discussions about how to improve translation/l10n tools and workflows&lt;/li&gt;
  &lt;li&gt;Communication with the KDE Project&lt;/li&gt;
  &lt;li&gt;How to get started with openSUSE, as a contributor and as a Project
that wants to be part of the openSUSE Project.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;meeting-with-ralf-flaxa---president-product-engineering-at-suse&quot;&gt;Meeting with Ralf Flaxa - President, Product Engineering at SUSE&lt;/h3&gt;
&lt;p&gt;Ralf thanked the Board for coming and their ongoing work for the
openSUSE Project, and expressed SUSE’s pleasure with the success of
Leap and the general direction of the openSUSE Project&lt;/p&gt;

&lt;p&gt;Ralf shared some ideas regarding oSC and his departments Hackweek&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Board to discuss the ideas with the oSC organisers&lt;/p&gt;

&lt;h3 id=&quot;meeting-with-roland-haidl---director-operations--communities-at-suse&quot;&gt;Meeting with Roland Haidl - Director, Operations &amp;amp; Communities at SUSE&lt;/h3&gt;
&lt;p&gt;Roland reaffirmed SUSE’s intention to continue funding the openSUSE
Project at similar levels.&lt;/p&gt;

&lt;p&gt;Roland shared Douglas DeMaio’s plan to refill our merchandise before
openSUSE Conference 2016.&lt;/p&gt;

&lt;p&gt;Board requested budget for openSUSE Asia at the same levels as last
year - &lt;strong&gt;Approved&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Discussed the possibility of the Board appointing a Treasurer to be
the primary contact with SUSE on financial matters (Sponsorships, TSP,
etc) - &lt;strong&gt;Approved&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Discussed the possibility of a hackathon for the Release Team, once
it’s formed - &lt;strong&gt;Approved&lt;/strong&gt; in principle (Needs the team first)&lt;/p&gt;

&lt;p&gt;Discused the possibility of more ‘minisummits’ consisting of openSUSE
presentation tracks and related events colocated at other events
around the world - &lt;strong&gt;Approved&lt;/strong&gt; in principle (Needs events and volunteers)&lt;/p&gt;

&lt;p&gt;Discussed the current wiki problems. Roland volunteered to help drive a solution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; Richard - Infrastructure to be a standing topic in regular
Chairman meetings with Roland&lt;/p&gt;

&lt;h3 id=&quot;tour&quot;&gt;Tour&lt;/h3&gt;
&lt;p&gt;The Board was given a tour of the SUSE HQ, including the recently
expanded office space and server rooms.&lt;/p&gt;

        </description>
        <pubDate>Sun, 20 Mar 2016 16:20:00 +0100</pubDate>
        <link>https://rootco.de/2016-03-20-board-meeting-f2f-2016-p1/</link>
        <guid isPermaLink="true">https://rootco.de/2016-03-20-board-meeting-f2f-2016-p1/</guid>
      </item>
    
      <item>
        <title>Hello New World!</title>
        <description>
          
          &lt;p&gt;I’ve had to move my old blog from &lt;a href=&quot;http://sysrich.co.uk&quot;&gt;http://sysrich.co.uk&lt;/a&gt; to this new server on &lt;a href=&quot;http://rootco.de&quot;&gt;http://rootco.de&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most of my favourite blog posts have made the transition and have migrated from the ‘old fashioned’ Wordpress to the new and shiny Jekyll&lt;/p&gt;

&lt;p&gt;It’s an excuse for me to learn a bit of Ruby, practice my markdown, and keep exercising my git skills&lt;/p&gt;

&lt;p&gt;I plan to get back to blogging more often about the goings on in my world, especially about openSUSE and openQA&lt;/p&gt;

&lt;p&gt;And just to give Jekyll a bit of a stretch on my first real post, here’s an openQA code snippit from Frederic Crozat’s recent submission to
&lt;a href=&quot;https://github.com/os-autoinst/os-autoinst-distri-opensuse&quot;&gt;openQA&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;language-perl highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    &lt;span class=&quot;nv&quot;&gt;select_console&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;root-console&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;';&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;save_screenshot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    
    &lt;span class=&quot;nv&quot;&gt;script_run&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;cat /home/*/.xsession-errors* &amp;gt; /tmp/XSE.log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;upload_logs&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/tmp/XSE.log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;save_screenshot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;nv&quot;&gt;script_run&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;journalctl -b &amp;gt; /tmp/journal.log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;upload_logs&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/tmp/journal.log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;save_screenshot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;nv&quot;&gt;script_run&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;cat /var/log/X* &amp;gt; /tmp/Xlogs.log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;upload_logs&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/tmp/Xlogs.log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;save_screenshot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;nv&quot;&gt;script_run&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;ps axf &amp;gt; /tmp/psaxf.log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;


        </description>
        <pubDate>Tue, 15 Mar 2016 01:13:55 +0100</pubDate>
        <link>https://rootco.de/2016-03-15-hello-new-world/</link>
        <guid isPermaLink="true">https://rootco.de/2016-03-15-hello-new-world/</guid>
      </item>
    
      <item>
        <title>openSUSE Regular Release - The Future is Unwritten, let's write it</title>
        <description>
          
          &lt;p&gt;The recording of my presentation from openSUSE conference 2015 is live.&lt;/p&gt;
&lt;p&gt;During the session I talk about the success of Tumbleweed and how its the best choice for anyone who wants their Linux with the latest and greatest software&lt;/p&gt;
&lt;p&gt;I then go on to talk about our openSUSE Regular Release, where I propose using the recently released SUSE Linux Enterprise sources as an opportunity to build a Stable Linux release that covers the needs of more conservative users as successfully as Tumbleweed covers the needs of those who want new versions of everything, regularly&lt;/p&gt;
&lt;p&gt;Please enjoy the video and join the discussion on the &lt;a href=&quot;mailto:opensuse-project@opensuse.org&quot;&gt;opensuse-project@opensuse.org&lt;/a&gt; mailinglist&lt;/p&gt;
&lt;p&gt;&lt;iframe width=&quot;420&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/BH99TSrfvq0&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

        </description>
        <pubDate>Sat, 02 May 2015 01:46:21 +0200</pubDate>
        <link>https://rootco.de/2015-05-02-opensuse-release-future/</link>
        <guid isPermaLink="true">https://rootco.de/2015-05-02-opensuse-release-future/</guid>
      </item>
    
      <item>
        <title>Hackweek 12 &amp; openQA</title>
        <description>
          
          &lt;p&gt;Last week was SUSE's &lt;a href=&quot;https://hackweek.suse.com/&quot;&gt;Hackweek&lt;/a&gt; 12.&lt;br /&gt;
&lt;a href=&quot;https://hackweek.suse.com/&quot;&gt;Hackweeks&lt;/a&gt; are special weeks at SUSE where all of SUSE Engineering get to work on whatever they'd like, to try cool things and learn new stuff.&lt;/p&gt;
&lt;p&gt;This Hackweek was my first at SUSE's Nuremberg office, and it was quite an experience. The whole place had a 'buzz' about it all week. Every day the company sponsored Lunch or Breakfast, which got everyone together and triggered many interesting conversations. Some times we were serenaded by the '&lt;a href=&quot;https://hackweek.suse.com/12/projects/252&quot;&gt;SUSE Band&lt;/a&gt;' who were working on their &lt;a href=&quot;https://hackweek.suse.com/12/projects/252&quot;&gt;musical abilities and technology for hackweek&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I had lots of conversations about the upcoming &lt;a href=&quot;https://events.opensuse.org/conference/oSC15&quot;&gt;openSUSE conference&lt;/a&gt;, some of SUSE's planned projects around openSUSE, and of course openQA, which was a big part of lots of peoples Hackweek.&lt;/p&gt;
&lt;p&gt;Bernhard Wiedemann worked on &lt;a href=&quot;https://hackweek.suse.com/12/projects/812&quot;&gt;adding subtitles to openQA's video recordings&lt;/a&gt; so users can see what openQA is doing when it produces the recorded screen output.&lt;/p&gt;
&lt;p&gt;Max Lin worked on a &lt;a href=&quot;https://hackweek.suse.com/12/projects/820&quot;&gt;chrome extension to provide live status monitoring of an openQA instance and its workers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Bernhard, Stephan Kulow, and Klaus Kämpf looked at getting openQA to test bare metal hardware.&lt;br /&gt;
While openQA already has support for IPMI for bare metal testing of servers, pushing the already established limits is exactly the spirit of Hackweek :)&lt;br /&gt;
Bernhard started experimenting with the idea of using ARM development boards to emulate a keyboard and relay openQAs keyboard commands. Next Hackweek he hopes to have a HDMI grabber so it will be able to see the video output also.&lt;br /&gt;
Klaus and Coolo were successful in getting openQA to control hardware with Intel vPro/AMT (as found in Thinkpads and other common laptop/desktop hardware). This &lt;a href=&quot;http://stephan.kulow.org/amt.ogv&quot;&gt;demonstration video shows it working on my very own X220 Thinkpad&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;And Xudong Zhang from Beijing and myself worked on testing openQA by using openQA&lt;/p&gt;
&lt;h4&gt;Testing openQA on openQA, are you crazy?&lt;/h4&gt;
&lt;p&gt;Actually, only a little crazy.&lt;br /&gt;
We made life easy for ourselves by creating two disk images (one for SLES 12 and another for openSUSE 13.2) to represent the same production environments we have for &lt;a title=&quot;http://openqa.opensuse.org&quot; href=&quot;http://openqa.opensuse.org&quot;&gt;http://openqa.opensuse.org&lt;/a&gt; and the internal SUSE openQA instance.&lt;/p&gt;
&lt;p&gt;These images were created following the regular &lt;a href=&quot;http://os-autoinst.github.io/openQA/documentation/&quot;&gt;openQA Documentation&lt;/a&gt; and setup to test a 'known good' Distribution with a static set of tests (openSUSE 13.2 with the tests and needles from &lt;a href=&quot;https://github.com/os-autoinst&quot;&gt;our GitHub project&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;We then configured openQA to treat this disk image as a different 'distribution', and we wrote new tests for testing openQA (See the source code &lt;a href=&quot;https://github.com/os-autoinst/os-autoinst-distri-openQA&quot;&gt;HERE&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;A little bit of 'needling' later (Capturing the reference screenshots and defining the areas of interest to openQA, which can be found &lt;a href=&quot;https://github.com/os-autoinst/os-autoinst-needles-openQA&quot;&gt;HERE&lt;/a&gt;) we had a working test run which was able to test openQA running on openSUSE 13.2&lt;/p&gt;
&lt;p&gt;&lt;iframe width=&quot;420&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/xdgaItRe9Kg&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;and also for testing openQA on SLES 12&lt;/p&gt;
&lt;p&gt;&lt;iframe width=&quot;420&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/MPScqm3iMSk&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;These tests successfully test all the core functionality of openQA, including Upgrading from the official OBS repository, Confirming the Worker is running, Scheduling an openQA job from the shell, Confirming a Job is running from the shell, and checking the functionality of each of the UI Screens by loading up Firefox and clicking on all of the links just like a user would.&lt;/p&gt;
&lt;p&gt;With this development, we now have a way of confirming that new builds of openQA are safe for deployment in production, which should help us be a little more fearless and rapid updating the openQA versions in use for testing openSUSE and SUSE Linux Enterprise, even when during heavy testing periods.&lt;/p&gt;
&lt;p&gt;Expect to see these tests running on the public &lt;a href=&quot;http://openqa.opensuse.org&quot;&gt;http://openqa.opensuse.org &lt;/a&gt;soon.. I just need to figure out an elegant way of triggering them automatically as soon as OBS has new RPMs for testing.&lt;/p&gt;
&lt;p&gt;Thanks to all who made this Hackweek awesome!&lt;/p&gt;

        </description>
        <pubDate>Sun, 19 Apr 2015 21:09:52 +0200</pubDate>
        <link>https://rootco.de/2015-04-19-hackweek-12-openqa/</link>
        <guid isPermaLink="true">https://rootco.de/2015-04-19-hackweek-12-openqa/</guid>
      </item>
    
      <item>
        <title>Why openSUSE?</title>
        <description>
          
          &lt;blockquote&gt;As this is hosted on my personal blog, this should probably go without saying, but given the topics covered in this post I wish to state for absolute clarity that the content of this post does not necessarily reflect the official opinion of the openSUSE Project or my employer, SUSE Linux GmbH. This is my personal opinion and should be treated as such&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;One thing I get asked, time and time again, is &quot;Why openSUSE?&quot;. The context isn't always the same &quot;Why should I use it?&quot;, &quot;Why should I contribute to openSUSE?&quot;, &quot;Why do you use it?&quot;, &quot;Why not use [some other distribution]?&quot; but the question always boils down to &quot;What's special about the openSUSE Project?&quot;&lt;/p&gt;
&lt;p&gt;It's a good question, and in the past, I think it's one which both the openSUSE Project as a whole and me as an individual contributor have struggled to satisfactorily answer. But I don't believe that difficulty in answering is due to a lack of good reasons, but an abundance of them, mixed in with a general tendency within our community to be very modest.&lt;/p&gt;
&lt;p&gt;This post is my effort to address that, and highlight a few reasons why you, the reader, should contribute to the openSUSE Project and use the software we're developing&lt;/p&gt;
&lt;p&gt;&lt;a id=&quot;more&quot;&gt;&lt;/a&gt;&lt;a id=&quot;more-347&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;Reason 1: We're not (just) a Linux Distribution&lt;/h3&gt;
&lt;p&gt;Normally, the first thing people think of when they hear openSUSE is our 'Regular Release Distribution', such as openSUSE 13.2 which we released last year (&lt;a href=&quot;http://software.opensuse.org/132/en&quot;&gt;Download it HERE&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;The openSUSE Project however produces a whole bunch more.&lt;/p&gt;
&lt;p&gt;For starters, we have not one, but technically TWO other Linux Distributions which we release and maintain&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://en.opensuse.org/Portal:Tumbleweed&quot;&gt;openSUSE Tumbleweed&lt;/a&gt;&lt;/strong&gt; - our amazing rolling release which manages to give it's users stable, usable, Linux operating system, with constantly updating software.&lt;br /&gt;
Perfect not only for Developers, but anyone who wants the latest and greatest software, leading Linux experts like Greg Kroah-Hartman have stated rolling releases like Tumbleweed represent the 'future' of Linux distributions. I agree, and I think openSUSE's is the best (for reasons that will be made clear later in this post).&lt;br /&gt;
In my case it's replaced all but one of my Linux installations, which previously included non-openSUSE distributions. The last (my openSUSE 13.1 server) is likely to end up running Tumbleweed as soon as I have a weekend to move it over. I started small with Tumbleweed, having it on just one machine, but after a year, I just don't see the need for the 'old fashioned' releases any more in any of my use cases.&lt;br /&gt;
If you want to see it for yourself, &lt;a href=&quot;https://en.opensuse.org/openSUSE:Tumbleweed_installation&quot;&gt;Download it HERE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://en.opensuse.org/Evergreen&quot;&gt;openSUSE Evergreen&lt;/a&gt;&lt;/strong&gt; - this is a great community driven project to extend the lifecycle of select versions of our Regular Release beyond its usual &quot;2 Releases + 2 Months&quot; lifespan.&lt;br /&gt;
While technically not a 'true' separate Distribution in the purest sense of the word, it takes a herculean effort from our community to keep on patching the distribution as it gets older and older, but it allows us to offer a 'Long Duration Support' for a significant period after the regular lifespan.&lt;br /&gt;
The current openSUSE Evergreen release is openSUSE 13.1, which will be supported until at least November 2016 and can be &lt;a href=&quot;http://software.opensuse.org/131/en&quot;&gt;Downloaded HERE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So, we're not just&lt;strong&gt; *a*&lt;/strong&gt; Linux distribution but several, but wait, there's more!&lt;/p&gt;
&lt;p&gt;The openSUSE Project hosts a whole pile of other software Projects, always Open Source, which we both use ourselves and encourage others to use and contribute to. These include:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://openbuildservice.org/&quot;&gt;Open Build Service&lt;/a&gt;&lt;/strong&gt; - our build tool, building all of our packages as well as ones for SUSE Linux Enterprise, Arch, Debian, Fedora, Scientific Linux, RHEL, CentOS, Ubuntu, and more.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://os-autoinst.github.io/openQA/&quot;&gt;openQA&lt;/a&gt;&lt;/strong&gt; - automated testing for &lt;strong&gt;*any*&lt;/strong&gt; operating system, that can read the screen and control the test host the same way a user does.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://yast.github.io/&quot;&gt;YaST&lt;/a&gt;&lt;/strong&gt; - The best/only comprehensive Linux system configuration &amp;amp; installation tool.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://en.opensuse.org/Portal:KIWI&quot;&gt;KIWI&lt;/a&gt;&lt;/strong&gt; - Create Linux images for deployment on real hardware, virtualisation, and now even container systems like &lt;a href=&quot;https://news.opensuse.org/2014/08/07/official-docker-containers/&quot;&gt;Docker&lt;/a&gt;. Kiwi is the engine that powers &lt;a href=&quot;https://susestudio.com/&quot;&gt;SUSE Studio&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://snapper.io/&quot;&gt;Snapper&lt;/a&gt;&lt;/strong&gt; - Create, manage, and revert system snapshots. Roll-back without hassle when your system gets messed up (p.s. It's probably your fault it messed up, so Snapper can show you what changed between snapshots too)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/openSUSE/osem&quot;&gt;OSEM&lt;/a&gt;&lt;/strong&gt; - Open Source Event Management. Lots of Open Source projects have their own conferences and other events. We have our own tool for managing proposals, organising schedules, taking registrations, etc.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/openSUSE/trollolo&quot;&gt;Trollolo&lt;/a&gt;&lt;/strong&gt; - Command line tool for Trello with a brilliant name ;)&lt;/p&gt;
&lt;p&gt;And many more, many of which can be found on our &lt;a href=&quot;https://github.com/opensuse&quot;&gt;GitHub project page&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;Reason 2: We build and use the best tools&lt;/h3&gt;
&lt;p&gt;You might have noticed a common theme among many of the software projects listed above. We're a Project that cares a lot about using the right tool for the job.&lt;br /&gt;
In many cases that means using many of the same tools that other projects use, &lt;a href=&quot;https://en.opensuse.org/openSUSE:IRC_list&quot;&gt;IRC&lt;/a&gt;, Git &amp;amp; GitHub, &lt;a href=&quot;https://forums.opensuse.org/forum.php&quot;&gt;Forums&lt;/a&gt;, &lt;a href=&quot;http://lists.opensuse.org&quot;&gt;Mailing Lists&lt;/a&gt;, etc. We're not the kind of project that wants to invent new types of wheels just because we didn't invent the first one, but when the tools that are out there don't do the job well enough, we roll up our sleeves and try to produce the &lt;strong&gt;*best*&lt;/strong&gt; tool for that job.&lt;/p&gt;
&lt;p&gt;Obviously, we do this motivated by the need to scratch our own itches, but we also work very hard to produce tools which can, and should, be adopted by a much wider audience than just 'users and contributors to the openSUSE Distributions'.&lt;br /&gt;
This is probably best highlighted by talking about two of our best tools, the Open Build Service, and openQA.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://openbuildservice.org/&quot;&gt;Open Build Service&lt;/a&gt;&lt;/strong&gt; - As already mentioned, our build tool builds all of the openSUSE Distributions packages, ISOs, Images, etc.&lt;br /&gt;
It also generates and hosts repositories for these packages.&lt;br /&gt;
It has always been built as a 'cross-distribution' tool, currently able to build packages for SUSE Linux Enterprise, Arch, Debian, Fedora, Scientific Linux, RHEL, CentOS, Ubuntu and more.&lt;br /&gt;
With both a web-based UI (you can see and use our installation &lt;a href=&quot;https://build.opensuse.org&quot;&gt;HERE&lt;/a&gt;) and the osc command-line tool (Documentation &lt;a href=&quot;https://en.opensuse.org/openSUSE:OSC&quot;&gt;HERE&lt;/a&gt;) the barrier to entry is pretty low. Even someone with no packaging experience can easily see the contents of any package in OBS, understand how it's put together, branch it (aka fork it to use the github equivalent term) into their own Project and get hacking away.&lt;br /&gt;
We also allow our openSUSE instance of OBS to be used by &lt;strong&gt;*anyone*&lt;/strong&gt; without charge, so they can build and host their packages on our infrastructure for free (though at the very least, we'd like it very much if they made sure their openSUSE packages work really nice in return ;) )&lt;br /&gt;
OBS is already used by other companies and projects like VideoLAN, Dell, HipChat and ownCloud, but if you're in the business of making software for Linux, you really need to ask yourself the question &quot;Why don't I use OBS to build my packages?&quot;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://os-autoinst.github.io/openQA/&quot;&gt;openQA&lt;/a&gt;&lt;/strong&gt; - Another jewel in our crown and somewhere I've been spending a lot of my time lately. openQA is a testing tool that lets you build tests for any operating system or application. Unlike practically every other testing tool I've looked at, openQA actually tests software the same way &lt;strong&gt;*users*&lt;/strong&gt; do. It looks at the screen, and makes sure the user will see what you expect them to see. Then press the same keyboard and mouse buttons that a user would to work through the application. You can see it in action &lt;a href=&quot;https://openqa.opensuse.org/tests/&quot;&gt;HERE&lt;/a&gt;&lt;br /&gt;
openSUSE use openQA extensively to build Tumbleweed. Proposed code for Tumbleweed is tested by openQA before it is accepted, and tested again AFTER it's accepted (to make sure it integrates well with everything else that has been recently merged).&lt;br /&gt;
This is how we're able to offer Tumbleweed as a 'stable' Rolling Release, because thanks to openQA we &lt;strong&gt;*know*&lt;/strong&gt; the Distribution works &lt;strong&gt;*before*&lt;/strong&gt; we put any updates in the hands of any users. If something does break, openQA stops the release, and users don't notice any problems, besides perhaps a slight delay in receiving new updates. On the (exceptionally rare) chance that something slips by openQA, that becomes a new test case, so we never make the same mistake twice.&lt;br /&gt;
openQA is also being used by SUSE for the testing of SUSE Linux Enterprise, and the Fedora Project have recently started using it. We'd love to see more distributions using it, and while playing around we've already managed to get openQA testing different operating systems like Android and even Windows :)&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;Reason 3: Engineering matters&lt;/h3&gt;
&lt;p&gt;Why all this focus on tools? Well for our community, engineering matters. Beyond the tools that we use to make this happen, we spend a lot of time, braincells, and discussions, getting under the hood and trying to find the best way to build our software.&lt;/p&gt;
&lt;p&gt;This has led to openSUSE leading the way with lots of innovations in areas like package management. zypper and libsolv mean that, unlike other RPM-based Linux distributions 'dependency-hell' is a thing of the past for us, and we manage to stand toe to toe with Debian and Ubuntu, look at their package managers and go 'yeah, we can do that, and more'&lt;/p&gt;
&lt;p&gt;We're also not interested in being another Open Source project taking everything from dozens of upstream projects and either stamping our logo on it and calling it our own, or changing a whole bunch of stuff and not giving stuff back.&lt;br /&gt;
We work hard with our upstream projects, be that the Kernel, GNOME, KDE, whatever, to give our feedback, get our patches merged, not just for their benefit, but our own - the more they accept, the less work we'll have to do maintain long winded openSUSE specific patch sets in the Future.&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;Reason 4: Community, Community, Community&lt;/h3&gt;
&lt;p&gt;The openSUSE Community is great, so great they deserve a blog post of this length on their own. But for the purposes of this post I want to summarise a few things.&lt;/p&gt;
&lt;p&gt;First, a little bit about SUSE. We're sponsored by SUSE, and they make up an important part of the community, employing a good number of openSUSE contributors, and regularly contributing to the openSUSE Project in terms of code, staff, money.&lt;br /&gt;
In many respects their the 'Patron' of the openSUSE Project, having our back when we need it, but not overarching overlords controlling the project. The openSUSE Project is independent, free to set it's own direction.&lt;br /&gt;
SUSE sees themselves as peers in the community, taking part in the same way as everyone else, encouraging its engineers to be involved in discussions, and help set the direction of the openSUSE Project via code submissions, just like everyone else.&lt;br /&gt;
Open Source works best when there is freedom to innovate, that's the business openSUSE is in, and SUSE is a company that understands at it's Core - as their current recruitment campaign says &lt;a href=&quot;https://www.youtube.com/watch?v=oEtM6V8aMeo&quot;&gt;&quot;Open Source is in their Genes&quot;&lt;/a&gt;  (P.S. They're Hiring)&lt;/p&gt;
&lt;p&gt;So if SUSE aren't 'in charge', who is? Well, the community is. Those who do, decide, and we want more people to help join us doing stuff! We're the kind of project that is very open to new contributors, and we try hard to maintain a very low barrier to entry.&lt;br /&gt;
We're not the sort of project with lots of hoops you need to jump through before you're allowed to do anything.&lt;br /&gt;
If you see something that needs fixing, talk to the people also working on it, fix it for/with them, and submit your contributions. This is true for code, the website, wiki, marketing stuff, anything, anywhere. We're not a project where you need permission before you can get involved.&lt;br /&gt;
&lt;span style=&quot;line-height: 1.6471;&quot;&gt;We try and keep our processes lean but the ones we do have are on our &lt;/span&gt;&lt;a style=&quot;line-height: 1.6471;&quot; href=&quot;https://en.opensuse.org&quot;&gt;Wiki&lt;/a&gt;&lt;span style=&quot;line-height: 1.6471;&quot;&gt;, and in terms of getting together with existing contributors, they can most easily be found in our &lt;/span&gt;&lt;a style=&quot;line-height: 1.6471;&quot; href=&quot;https://en.opensuse.org/openSUSE:IRC_list&quot;&gt;IRC Channels&lt;/a&gt;&lt;span style=&quot;line-height: 1.6471;&quot;&gt; and on our &lt;/span&gt;&lt;a style=&quot;line-height: 1.6471;&quot; href=&quot;http://lists.opensuse.org&quot;&gt;Mailing Lists&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you're a user and need help actually using openSUSE but aren't ready to get involved with contributing to the project yet, then we have a great community of contributors helping support people via &lt;a href=&quot;https://en.opensuse.org/openSUSE:IRC_list&quot;&gt;IRC&lt;/a&gt; and our &lt;a href=&quot;https://forums.opensuse.org/forum.php&quot;&gt;Forums&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But doesn't everyone doing everything everywhere lead to chaos? No, not really. The Open Source model works, with the few processes we have in place providing enough structure and safety that problems get caught and dealt with as part of a natural flow and learning process.&lt;br /&gt;
But, it's not utopia, from time to time of course stuff pops up, and that's why the openSUSE project has the &lt;a href=&quot;https://en.opensuse.org/openSUSE:Board&quot;&gt;Board&lt;/a&gt;.&lt;br /&gt;
Our job is to help keep this Project on the right track, keep people talking to each other, resolving conflicts, keeping everyone on the same page, and being the 'decision makers of last resort' if there is no one else able/suitable to make a decision that affects the Project.&lt;/p&gt;
&lt;p&gt;This basically boils down to being the 'Universal Escalation Point' - If you have a problem, if no one else can help, and if you can find them (and that should be easy), maybe you should contact &lt;a href=&quot;mailto:board@opensuse.org&quot;&gt;board@opensuse.org&lt;/a&gt; (&lt;a href=&quot;https://www.youtube.com/watch?v=_MVonyVSQoM&quot;&gt;LINK - ahh, nostalgia&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;The structure of the Board is also a nice reflection of how the rest of our community is structured - of the 5 elected Board seats, no more than 2 can be occupied by people employed/controlled by the same organisation. This means no company (not even SUSE) can have a majority of the seats on the Board, ensuring it's healthy and balanced just like the rest of our community.&lt;/p&gt;
&lt;p&gt;And finally, the openSUSE community is just a great bunch of people. I've been contributing to this project since it started, and it's dragged me in and is as much fun as ever. We have great, smart, funny, dedicated people, and it's a pleasure working with them both as part of my day job and hobby.&lt;/p&gt;
&lt;p&gt;A big part of that is our regular openSUSE Conferences. 2011 was my first, and the wonderful combination of meeting people, great talks, and (lots of) &lt;a href=&quot;https://en.opensuse.org/openSUSE:Beer&quot;&gt;openSUSE Beer&lt;/a&gt;, enabled me to jump from being a 'casual contributor' on the fringes to someone who really felt part of this great community.&lt;/p&gt;
&lt;p&gt;We have another&lt;a href=&quot;https://events.opensuse.org/conference/oSC15&quot;&gt; openSUSE Conference coming up in May, in Den Haag/Netherlands&lt;/a&gt;. There's still time to &lt;a href=&quot;https://events.opensuse.org/conference/oSC15#callforpapers&quot;&gt;Submit talks&lt;/a&gt; (we'd love to see more from other Projects) or &lt;a href=&quot;https://events.opensuse.org/conference/oSC15#registration&quot;&gt;Register&lt;/a&gt;. If this post has got you interested in openSUSE, come along, it's a great opportunity to meet us :)&lt;/p&gt;
&lt;p&gt;And remember our motto and default /etc/motd.. Have a Lot of Fun!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;/h3&gt;

        </description>
        <pubDate>Sun, 01 Mar 2015 00:12:44 +0100</pubDate>
        <link>https://rootco.de/2015-03-01-why-opensuse/</link>
        <guid isPermaLink="true">https://rootco.de/2015-03-01-why-opensuse/</guid>
      </item>
    
      <item>
        <title>Intel Power Management on openSUSE Tumbleweed</title>
        <description>
          
          &lt;p&gt;In the past I've posted &lt;a href=&quot;/2013-03-17-intel-power-management-on-opensuse-12-3/&quot;&gt;several&lt;/a&gt; &lt;a href=&quot;/2012-07-16-reducing-laptop-power-consumption-on-opensuse-12-2-sandybridge/&quot;&gt;articles&lt;/a&gt; on various tweaks to improve Power Management on Intel Sandy/Ivybridge hardware, based on my experiments with my Lenovo X220&lt;/p&gt;
&lt;p&gt;With more recent releases of openSUSE, I've been experimenting with my old tweaks, and found that they NO LONGER help with power management - In fact, they seem to increase it&lt;/p&gt;
&lt;p&gt;So, my advice at the moment - if you want a Linux OS that has good Power Management on a Lenovo X220 or similar laptop.. install openSUSE Tumbleweed, and don't change the default settings :)&lt;/p&gt;
&lt;p&gt;HTH&lt;/p&gt;

        </description>
        <pubDate>Fri, 20 Feb 2015 00:10:01 +0100</pubDate>
        <link>https://rootco.de/2015-02-20-intel-power-management-on-opensuse-tumbleweed/</link>
        <guid isPermaLink="true">https://rootco.de/2015-02-20-intel-power-management-on-opensuse-tumbleweed/</guid>
      </item>
    
      <item>
        <title>Testing Fedora with openQA</title>
        <description>
          
          &lt;p&gt;I've been working a lot with &lt;a title=&quot;openQA&quot; href=&quot;http://os-autoinst.github.io/openQA/&quot;&gt;openQA&lt;/a&gt; lately, &lt;a title=&quot;openSUSE&quot; href=&quot;http://www.opensuse.org&quot;&gt;openSUSE's&lt;/a&gt; great operating system testing tool, and I think some of what I've been getting up is kind of interesting.&lt;/p&gt;
&lt;p&gt;This is likely to be the first of a series of blog posts about my crazy adventures with this awesome tool.&lt;/p&gt;
&lt;h3&gt;What is openQA?&lt;/h3&gt;
&lt;p&gt;openQA is a fully featured &lt;strong&gt;operating system&lt;/strong&gt; testing tool.&lt;/p&gt;
&lt;p&gt;It takes an operating system ISO or Disk Image, and using its Domain Specific Language (DSL) conducts a series of tests consisting of keyboard and mouse inputs while analysing the screen output for specific matches (called 'needles') to ensure the operating system is behaving as intended.&lt;/p&gt;
&lt;p&gt;A typical, simple example of an openQA test for looks like this&lt;/p&gt;
&lt;pre&gt;
#Header, doesn't normally need to be changed
use base &quot;basetest&quot;;
use strict;
use testapi;

#run() subroutine, where the test code goes
sub run() {

#test functions
assert_screen &quot;inst-bootmenu&quot;, 6;
send_key 'ret';

}

1;
&lt;/pre&gt;
&lt;p&gt;This test is used to check a boot loader. The 'assert_screen' function in this case is looking for a matching 'needle' (screenshot) which has a tag named 'inst-bootmenu'. If it doesn't find a matching needle within the defined timeout (6 seconds) the test fails. If it finds a matching needle within 6 seconds, the test continues, and presses the return key with the 'send_key' function.&lt;/p&gt;
&lt;p&gt;The results of these tests are provided in the form of logs, screenshots, and video recordings delivered over the openQA web interface. You can have a look at openSUSE's production instance at &lt;a href=&quot;http://openqa.opensuse.org&quot;&gt;http://openqa.opensuse.org&lt;/a&gt; and an example of a single set of test results &lt;a href=&quot;https://openqa.opensuse.org/tests/40663&quot;&gt;HERE&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Screenshots? Isn't it a pain in the arse maintaining the Needles?&lt;/h3&gt;
&lt;p&gt;Not at all. The openQA webUI contains a needle editor (example &lt;a href=&quot;https://openqa.opensuse.org/tests/40663/modules/welcome/steps/1/edit&quot;&gt;HERE&lt;/a&gt;) which lets testers see both the reference screenshots and the accompanying JSON file, and edit both with a WYSIWYG editor.&lt;/p&gt;
&lt;p&gt;Select the areas of the UI you're interested in, click save, done. It takes seconds to update your needles to accept intended changes to a UI.&lt;/p&gt;
&lt;p&gt;As needles are only looking for specific UI elements on the screen, well crafted needles can often allow regular UI changes to pass unmolested. If you're not interested in confirming the version number drawn on the screen, don't include the version number in your needles, and you'll have a version neutral needle - like in the example &lt;a href=&quot;https://openqa.opensuse.org/tests/40663/modules/welcome/steps/1/edit&quot;&gt;HERE&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The openQA web interface can automatically commit and (if you want) push your needles to a git repository (openSUSE's are &lt;a href=&quot;https://github.com/os-autoinst/os-autoinst-needles-opensuse&quot;&gt;HERE&lt;/a&gt;) making it really easy for testers/test developers to work together on keeping your needle collection up to date.&lt;/p&gt;
&lt;h3&gt;Is openQA just for openSUSE?&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;NO!&lt;/strong&gt; While it's mainly used and contributed to by the openSUSE Project for testing Tumbleweed and the openSUSE Distribution, it's always been designed to be not only &lt;strong&gt;distribution-neutral&lt;/strong&gt; (ie. it can test any Linux Distribution) but technically &lt;strong&gt;operating system-neutral &lt;/strong&gt;- Linux, BSD, Windows, openQA doesn't care about what it's testing.&lt;/p&gt;
&lt;h3&gt;Yeah, right...prove it.&lt;/h3&gt;
&lt;p&gt;I haven't been working on openQA for a very long time. For a few weeks I've been working on new openQA tests for openSUSE and SUSE Linux Enterprise, but as we already have a huge collection of tests in &lt;a href=&quot;https://github.com/os-autoinst/os-autoinst-distri-opensuse&quot;&gt;our public git repository&lt;/a&gt;, a good number of my new tests are borrowing code and ideas from our existing test library.&lt;/p&gt;
&lt;p&gt;So I got wondering, how hard is it to test a totally differing operating system, with a totally different installation workflow?&lt;/p&gt;
&lt;p&gt;So, after reading the recent &lt;a href=&quot;http://www.theregister.co.uk/2014/12/18/fedora_21_review/&quot;&gt;Register review of Fedora 21&lt;/a&gt; that had a subtitle mentioning 'install woes', I decided to pick on our friends at the &lt;a href=&quot;http://getfedora.org&quot;&gt;Fedora Project&lt;/a&gt; and downloaded a copy of Fedora 21 Workstation.&lt;/p&gt;
&lt;p&gt;'Designing' tests for openQA is easy. I fired up the ISO in a VM and kept notes on which screens would make good needles and which keys to press. Each of the screens became an 'assert_screen' call in my tests, and each keypress became a 'send_key'.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;NOTE: I could have used openQA's 'assert_and_click' function to check the screen for a needled area and click in the middle of it - it's a great for pressing buttons, but I decided to take a very keyboard centric approach.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In a few hours I had thrown together a basic set of tests, which you can get on &lt;a href=&quot;https://github.com/sysrich/os-autoinst-distri-fedora&quot;&gt;GitHub&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;These tests successfully complete a full installation of Fedora 21 Workstation, as you can see from the openQA-produced Video I uploaded to YouTube&lt;/p&gt;
&lt;p&gt;&lt;iframe width=&quot;420&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/Rbjax-wLJcY&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;It wasn't perfect though, no QA tool is any good if it doesn't find bugs - luckily even these really simple tests were able to reliably reproduce a &lt;a href=&quot;https://bugzilla.redhat.com/show_bug.cgi?id=1147670&quot;&gt;known issue in anaconda&lt;/a&gt; which apparently had been causing problems since October and hasn't yet been fixed.&lt;/p&gt;
&lt;p&gt;Wanting to prove the tests and needles were generic enough that they could be reused for future testing, I've also run these against a recent Rawhide build.&lt;/p&gt;
&lt;p&gt;Everything looks really promising, but a bug in &lt;a href=&quot;https://bugzilla.redhat.com/show_bug.cgi?id=1176411&quot;&gt;Rawhide with Keyboard Shortcuts &lt;/a&gt;needs to be fixed before my tests can complete a full run.&lt;/p&gt;
&lt;p&gt;Not bad for a few hours work if I say so myself, and I'd really like it if other people want to pick up where I've left off and extend these tests to provide more comprehensive coverage.&lt;/p&gt;
&lt;h3&gt;I'm interested, where can I find out more?&lt;/h3&gt;
&lt;p&gt;The main openQA website on GitHub is at &lt;a title=&quot;openQA&quot; href=&quot;http://os-autoinst.github.io/openQA/&quot;&gt;http://os-autoinst.github.io/openQA/&lt;/a&gt; and contains all the Documentation and Downloads you need to get started.&lt;/p&gt;
&lt;p&gt;It takes about 1 hour to setup openQA on a basic openSUSE installation, and it doesn't have any crazy hardware requirements. If you can run KVM virtualisation, you can run openQA. All these Fedora tests have been run on a local instance of openQA on my X220 Laptop running openSUSE Tumbleweed.&lt;/p&gt;
&lt;p&gt;I'd especially recommend the &lt;a href=&quot;https://github.com/os-autoinst/openQA/blob/master/docs/GettingStarted.asciidoc&quot;&gt;Getting Started Guide&lt;/a&gt; which explains a lot more about the fundamentals of openQA&lt;/p&gt;
&lt;p&gt;For more help, the best place is the #opensuse-factory IRC channel on irc.freenode.org (where I can be found as ilmehtar and/or sysrich) or the &lt;a href=&quot;mailto:opensuse-factory@opensuse.org&quot;&gt;opensuse-factory@opensuse.org&lt;/a&gt; mailinglist&lt;/p&gt;
&lt;p&gt;Have a lot of fun!&lt;/p&gt;

        </description>
        <pubDate>Tue, 23 Dec 2014 14:43:00 +0100</pubDate>
        <link>https://rootco.de/2014-12-23-testing-fedora-with-openqa/</link>
        <guid isPermaLink="true">https://rootco.de/2014-12-23-testing-fedora-with-openqa/</guid>
      </item>
    
      <item>
        <title>Changing of the Guard</title>
        <description>
          
          &lt;p&gt;I recently received some bittersweet news, my good friend Vincent Untz is stepping down as Chairman of the openSUSE Board as a result of a happy personal event that I'm sure is going to keep him busy in the months and years ahead.&lt;/p&gt;
&lt;p&gt;In addition the formal thanks as part of the &lt;a href=&quot;https://news.opensuse.org/2014/07/17/opensuse-board-announcement&quot;&gt;official announcements&lt;/a&gt;, I'd like to add my own personal thanks to Vincent. I owe much to Vincent's help and support throughout the years, both technically as a maintainer of GNOME in openSUSE, and as an Board Member to the Project. I know this isn't goodbye, and look forward to still seeing Vincent around the Geeko world in the future.&lt;/p&gt;
&lt;p&gt;As a result of Vincent's decision, the openSUSE Board requires a new Chairman. I'm excited and humbled to be able to announce that I have been &lt;a href=&quot;https://www.suse.com/company/press/2014/7/richard-brown-to-chair-opensuse-project-board.html&quot;&gt;appointed by SUSE&lt;/a&gt; to serve as the new Chairman of the openSUSE Board, effective from today.&lt;/p&gt;
&lt;p&gt;When I started contributing to openSUSE in 2005, I never thought I could find myself in a position like this. I'm looking forward to doing the best I can to help keep openSUSE moving forward and become more recognised as the exceptional, wonderful, and successful open source project that it already is.&lt;/p&gt;
&lt;p&gt;For anyone who doesn't know the governance structure of openSUSE, the Board is a group of six members, five who are elected by the community and a Chairperson who is appointed by SUSE. It's the Board's job to 'lead' the openSUSE Project, by providing guidance, governance and support to the rest of the project. As I was one of those elected Board members, the Board are currently discussing our options regarding my now vacant Board member seat, and we hope to be able to announce something soon.&lt;/p&gt;
&lt;p&gt;I'm also very pleased to be able to be able to share that this October 18th-19th openSUSE will be having an openSUSE Summit Asia in Bejing!&lt;br /&gt;
Sunny and her team have put together a great website with all the information, please &lt;a href=&quot;http://summit.opensuse.org/&quot; title=&quot;Check It Out!&quot;&gt;Check It Out!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There's also lots of very interesting developments happening around openSUSE Factory, which is progressing towards becoming a fully rolling release. You can download the latest snapshots &lt;a href=&quot;http://download.opensuse.org/factory/iso/&quot;&gt;HERE&lt;/a&gt;. And to provide feedback or learn more, you can join the conversation in our &lt;a href=&quot;http://lists.opensuse.org/opensuse-factory/&quot;&gt;openSUSE Factory mailing list&lt;/a&gt; or in IRC at #opensuse-factory in irc.freenode.org&lt;/p&gt;
&lt;p&gt;Have a lot of fun!&lt;/p&gt;

        </description>
        <pubDate>Thu, 17 Jul 2014 16:05:12 +0200</pubDate>
        <link>https://rootco.de/2014-07-17-changing-of-the-guard/</link>
        <guid isPermaLink="true">https://rootco.de/2014-07-17-changing-of-the-guard/</guid>
      </item>
    
      <item>
        <title>openSUSE Election Platform</title>
        <description>
          
          &lt;p&gt;This is a copy of my openSUSE Election Platform, that I'm putting here with the shameless intention of doing my best to ensure as many people read my thoughts as possible. The original can be found on our &lt;a href=&quot;https://en.opensuse.org/index.php?title=openSUSE:Board_election_2013_platform_rbrownccb&quot;&gt;official wiki&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Introduction and Biography&lt;/h3&gt;
&lt;p&gt;Hi! I'm Richard Brown, 31 years old, and since last month living in Nürnberg in Germany.&lt;/p&gt;
&lt;p&gt;Originally from London, England, I used to joke that I had been steadily moving south and was on my way to becoming French, however it seems once I crossed the Channel I turned left, skipped right past France, and ended up in a land of good Beer and Bratwurst :)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Email: RBrownCCB at openSUSE.org&lt;/li&gt;
&lt;li&gt;IRC: ilmehtar on irc.freenode.org&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.twitter.com/sysrich&quot;&gt;I'm @sysrich on twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rootco.de&quot;&gt;My Blog is here&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I currently work as a QA Engineer for &lt;a href=&quot;http://www.suse.com&quot;&gt;SUSE&lt;/a&gt;, the wonderful Enterprise Linux company that also is the main sponsor of our openSUSE Project.&lt;/p&gt;
&lt;p&gt;Previously I worked as a Systems Manager for &lt;a href=&quot;http://www.ccb.ac.uk&quot;&gt;City College Brighton and Hove&lt;/a&gt;, a large UK further education college where we use a lot of openSUSE, SUSE, and other FOSS technologies. I was also the UK Representative on the Advisory Board of the &lt;a href=&quot;http://www.novell.com/ttp&quot;&gt;TTP Academic User Group&lt;/a&gt;, an usergroup for sysadmins working in Academia that deals with SUSE, Novell, and NetIQ products, with good links to the developers and management teams in these companies and their partners. The TTP is very supportive of both SUSE &amp;amp; the openSUSE Project, and was proud to have a track of sessions during our oSC 12 conference in Prague.&lt;/p&gt;
&lt;p&gt;I've used SUSE/openSUSE since 2003, and have found myself getting more involved as time has gone on.&lt;/p&gt;
&lt;p&gt;I'm part of the team which maintains GNOME in openSUSE, as well as lead maintainer for the 'Branding' packages in openSUSE, which leads me to work very closely with our great Artwork team. I also am heavily involved in Marketing, as well as the Advocates &amp;amp; Local Coordinators Programmes, where I was involved in implementing many of the changes transforming the former 'Ambassadors' programme into its new structure.&lt;/p&gt;
&lt;p&gt;I'm an active Advocate for our project, who regularly attends conferences where I do my best to to both evangelise about our work, but also gather ideas and feedback on how we could improve. My session at oSC 12 &quot;Using openSUSE for Real Work&quot; really helped gather feedback which shaped my efforts to improve our project over the last year. At oSC13 I gave talks about the transformation of the Ambassador programme into the Local Coordinator and Advocates groups, as well as a talk about the work involved in Branding openSUSE. I also led the organisation of openSUSE's presence at the last two FOSDEM conferences.&lt;/p&gt;
&lt;p&gt;I'm a keen tester who especially enjoys the crunch in the weeks leading up to releases, frantically testing and packaging patches to try and get bugs big and small squashed out so our releases are as polished as possible. I'm also very interested in Power Management, and &lt;a href=&quot;/2013-03-17-intel-power-management-on-opensuse-12-3/&quot;&gt;have done a lot of work finding ways to optimise Power consumption on Intel laptop chipsets&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I spend a lot time in our IRC channels, where I go by the handle ilmehtar &lt;em&gt;(a very obscure Lord of the Rings/JRR Tolkien reference, I'll owe a prize to anyone who figures it out)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I have very broad interests which finds me often getting involved in both the technical and more 'community' aspects of our project.&lt;br /&gt;
I'm always keen to help out, try and resolve issues, come up with ideas, and then get my hands dirty trying to implement them.&lt;br /&gt;
I'm very happy learning new things and trying to help out in areas outside of my 'comfort zone', such as this year where I was given the opportunity to join the openSUSE Board - and after a year of hard work and interesting challenges, I'm back again hoping for your votes so I can continue the work I started this year.&lt;/p&gt;
&lt;h3&gt;Issues&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Managing Change&lt;/strong&gt; - In the last few weeks the openSUSE team from SUSE have initiated a number of discussions &lt;a href=&quot;http://lists.opensuse.org/opensuse-project/2013-11/msg00094.html&quot;&gt;(1)&lt;/a&gt;, &lt;a href=&quot;http://lists.opensuse.org/opensuse-project/2013-11/msg00118.html&quot;&gt;(2)&lt;/a&gt;, &lt;a href=&quot;http://lists.opensuse.org/opensuse-factory/2013-11/msg00920.html&quot;&gt;(3)&lt;/a&gt; proposing changes to our projects goals and practical changes to our 'Factory' development distribution. Over these next few weeks and (if I am elected) into the early months of next year I intend to work hard to ensure that the discussions progress well and we, together as a cohesive project, find an exciting way forward.&lt;/p&gt;
&lt;p&gt;I do not expect this to be a painless process, and I expect there will be occasions where some people will want things to develop in one direction, while others pull for another. This is precisely the sort of issue the Board is there to deal with, and I'm prepared to put in the work to make sure everyone can contribute to shaping the future of our Project and its Distribution(s).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Improve Working Relationship with the openSUSE Team @ SUSE&lt;/strong&gt; - The Board have a responsibility to 'Facilitate communication with all areas of the community' - ie. We need to make sure all the Teams that make up our project have strong communication and therefore are able to work effectively with each other.&lt;/p&gt;
&lt;p&gt;This is important for every Team in our project, but especially so for the openSUSE Team at SUSE, because not only are they contributing to openSUSE to make it better for themselves as well as everyone else, but as paid employees of our primary sponsor (SUSE) they currently control some aspects of the project the 'wider community' have little or no involvement in. As has been mentioned on our mailing lists, over the last year, the working relationship between the openSUSE Team and the Board has become strained.&lt;/p&gt;
&lt;p&gt;I have already begun working on this issue, and if I am elected, I intend to continue to work hard to improve the situation. I think the Board can do a better job of keeping the members of the openSUSE Team informed about the current needs, wants, desires and 'pain points' of our wider openSUSE community, and inversely, I think with improved communication between us, the Board will be in a better position to help the openSUSE Team at SUSE in their communications with the wider openSUSE community. We need to squash the feeling of 'us &amp;amp; them' which has started to creep into that narrative, we're all one Project and one Community, and it's down to the Board to keep it that way.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;openSUSE Membership&lt;/strong&gt; - I think the Project needs to start thinking about changing the way 'openSUSE Membership' works. With our growing maturity as an independent project, it's very important that we have a healthy way of making big decisions which impact the entire Project. I do not think our current system is wholly broken (it's certainly healthy enough for these elections), but I'm concerned about a number of areas, especially the growing number of 'former Members' who maintain full voting rights. If I am elected, I intend to begin the discussions to reform the openSUSE membership, focusing first on a suitable way of 'retiring' openSUSE members who are no longer involved in the project, and after that looking at other issues such as improving the selection/approval process and the 'perks' of becoming an openSUSE member.&lt;/p&gt;
&lt;h3&gt;Role of the board&lt;/h3&gt;
&lt;p&gt;Last year, I said that I wanted the board to become more approachable and more prepared to 'step in' and help resolve issues.&lt;br /&gt;
While I think we have been broadly successful in achieving this, there is always room for improvement, and I'm hoping will a fully staffed Board we'll be able to build on the improvements we've seen in these last 12 months.&lt;/p&gt;
&lt;p&gt;I don't think leadership in a project like ours should be dictatorial. I feel the board should act as 'enablers', 'cheerleaders', 'champions', and troubleshooters. The board's job should be to help you (the community) by proactively identifying where the project is going wrong and help pull people together to steer it in the right direction.&lt;/p&gt;
&lt;p&gt;The board should be the primary point of contact for contributors and users to raise issues that cant be addressed elsewhere, which is why our board needs to be active, visible, and accessible. I do not think enough of our community know the Board is there to address their issues, so I think we need to make a big push to advertise our purpose and availability.&lt;/p&gt;
&lt;p&gt;The board should also be a source of new ideas and proposals for the community to consider, and should also encourage other contributors to field their own ideas and help keep the great green Geeko rolling forward&lt;/p&gt;
&lt;h3&gt;Why you should vote for me?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I've worked hard for you all as a Board member this year, and would like the opportunity to continue to do so.&lt;/li&gt;
&lt;li&gt;SuSE/openSUSE is my first distribution and I've been a loyal user and contributor since 2003. I care a great deal about seeing our project continue and improve.&lt;/li&gt;
&lt;li&gt;I've provided both technical and non-technical contributions to the project, and so have a strong working knowledge both the technical and community aspects of our project.&lt;/li&gt;
&lt;li&gt;While I have my own opinions and will often argue passionately for them, I always listen to and consider the opinion of others, especially when they disagree with me. If I am elected I will continue to champion the desires of the community, not just my own agenda.&lt;/li&gt;
&lt;li&gt;My experience outside of openSUSE, especially as a board member of the TTP, give me skills and knowledge I think will help me here&lt;/li&gt;
&lt;li&gt;I enjoy learning and getting involved in new things, and see working on the board as an opportunity to get help out in parts of the project that I'd probably otherwise not see.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Aims/Goals&lt;/h3&gt;
&lt;p&gt;If elected I will strive to&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Continue the work I've started over the last year as a Board Member&lt;/li&gt;
&lt;li&gt;Investigate ways to better advertise the work the Board is doing for the project&lt;/li&gt;
&lt;li&gt;Be involved in the recently started discussions about the Future of our project to find a viable plan for our Project going forward, especially one that addresses the needs of both our users desiring stability and a moderate pace of change, and for those whom using the latest and greatest stable versions is more important.&lt;/li&gt;
&lt;li&gt;Listen to the our users and contributors as much as possible, to figure out what you want the Board to be doing&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Endorsements&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Michal '-miska-' Hrusecky&lt;/strong&gt;&lt;br /&gt;
I know Richard for few years and he always cared a lot about openSUSE. He is active on our channels and whenever he sees some troubles, he steps up and do his best to help the project. Not only technically but also on ''boring'' organization tasks. I can imagine, that being part of the board is a hard work although not that appreciated and visible to the outside. But nevertheless it is important for the project and I believe that Richard will continue to represent us very well. What is also great about Richard as board candidate is that he is not a classical politician - he doesn't do long speeches without content and he prefers to cut to the chase.&lt;/p&gt;

        </description>
        <pubDate>Sun, 01 Dec 2013 14:17:02 +0100</pubDate>
        <link>https://rootco.de/2013-12-01-opensuse-election-platform-2013/</link>
        <guid isPermaLink="true">https://rootco.de/2013-12-01-opensuse-election-platform-2013/</guid>
      </item>
    
  </channel>
</rss>
