Home

Papers

Blog

Pictures

About Me

Contact

GitHub

KISS Linux


Subject Where Do We Go From Here?
From    Dilyn Corner <dilyn.corner@tutanota.com>
Date    Tues, 23 Feb 2021 5:00:00 -0500

Where to begin!

First, I would like to thank all of who participated in the poll we recently
ran! We had over a hundred responses, which by itself I found quite amazing -
Dylan's little project turns out to be bigger than I had expected. I certainly
wasn't anticipating the outcome we had, but I appreciate that so many of you
thought of me. For those of you who didn't want a new BDFL, I do not blame you;
I myself have been happily maintaining all of my own packages for several months
now with few issues. The beauty of KISS is that you can be your own BDFL :)

I'm certain many of you are curious what I plan to do with these newfound powers
and responsibilities, so I thought I would take some time to explain my plans,
goals, and intentions. I have a tendency to be overly verbose, so I'll break
this up into sections; feel free to read as much or as little as you'd like. 

The Guidestones                                                            [1.0]
The Package Manager                                                        [2.0]
The Website                                                                [3.0]
The Repositories                                                           [4.0]
Reddit & IRC                                                               [5.0]
Structure                                                                  [6.0]


[1.0] THE GUIDESTONES
________________________________________________________________________________

I take Dylan quite seriously in his declaration that "[the Guidestones] are a
set of notes which make KISS... KISS". They're explicit, simple, and focused. I
think these principles are what have given us the kind of community we have,
with projects like $/eudaldgr/kiss-live $/wyvertux/wyverkiss $/gkisslinux/grepo
$/Himmalerin/kiss-wayland springing up to fill the gaps and needs of users, by
users. And I think the 'by users' part is the most important thing. That users
want to contribute and explore ideas, concepts, and features make KISS what it
is - a maleable yet sturdy base on which you can create whatever you want. 

Specifically, I see no reason to change the goals that define the main
repositories. Dylan had previously spoken about switching to Wayland, only when
it finally became apparant that using Xorg would be essentially impossible. See
his discussion in IRC here: 
https://freenode.logbot.info/kisslinux/20200912#c5073615
Drew Devault will yet have his day, it seems.

KISS will continue to target X86_64 primarily, and will be English only. There
should be few if any new packages added to the core repo. The most complicated
thing a majority of people want is a graphical environment that runs a
webbrowser, and that is what they will get. By default, officially supported :)

As such, I see no good reason to change much of the Guidestones. They are in
place for good reason, and altering them should be a last resort. While my own
personal repository is quite different from the core repository - strictly using
Wayland and pursuing software under nonGPL licenses - I have no interest in
imposing these restrictions on KISS as a whole. If that is something a user
wants, they can do it themselves, like I did. 

The point on the existence of a 'below governance structure' is an important
one; I do not wish to change this rule, and I will describe at the end what I
intend to do so that the KISS project can avoid going through these last few
months again. 


[2.0] THE PACKAGE MANAGER
________________________________________________________________________________

Dylan was previously working on K, a version of kiss written in C. Recently,
$/illiliti/king has taken up a similar project. I commend the effort, and it
will be interesting to see how it turns out! Much like Dylan said when he
started working on it, however, I have no plans of changing the fundamentals of
the package manager much if at all - it is, in my opinion, feature complete, and
most of our focus on it should be on extensions like kiss-orphans and kiss-graph
than packing new lines of code into kiss itself. 

There have consistently been talks of adding a maintainer and license file to
packages, adding metadata to the repositories, and otherwise tweaking packages.
My opinion on the matter is that, without good technical reason for doing so,
the way packages are made and distributed is precisely the minimum required, and
maximally efficient. Adding a maintainer file defeats the purpose of using git,
for instance; while a one-line plaintext file may be easier to parse than git
log, kiss-maintainer seems to be more than adequate. A license file or a line in
the version file is interesting, but I don't think ultimately necessary - all
software in the main repositories is necessarily F(L)OSS; extended concerns
about which license is used by what package can be answered by simply
downloading the source and investigating one of the files inside (usually
COPYING or LICENSE). However, should users wish to install the license file WITH
the package, I have no issue with allowing a one-liner to the end of community 
build files:

install -Dm644 COPYING "$1/usr/share/$1/$1.$licensename"

This wouldn't violate the package guidelines, it's easily greppable for curious
users, and everyone else can check the sources. 

There are a few small bugs in kiss; the infamous KISS_SU bug which caused a
flurry of Reddit posts for instance, along with a few other ones. I would hope
to fix these, and am more than happy to accept patches which add small, quality
of life changes that do not fundamentally alter the package manager - in my
eyes, kiss is essentially 'feature complete'. 


[3.0] THE WEBSITE
________________________________________________________________________________

With Dylan's disappearance, many things have slowly crumbled. The domain expired
earlier this month, SSL certificates have expired, and of course the main
repositories have been untouched. There has been a lot of discussion on IRC
since January about what to do should Dylan not return before the website
expires, and a loose plan emerged. 

Ideally, we (I, I guess) will be purchasing the domain when it goes up for
auction sometime in March. This is to ensure some level of continuuity between
Dylan's time as BDFL and the time we are in now.  

Conversations have been had on IRC (we talk a lot on IRC, you should look into
joining us) and many users showed interest in taking a self-hosted direction
with many features of KISS instead of relying so much on GitHub, which many
users take issue with. My primary concern with self-hosting is that we would be
at the mercy of the hoster. And while I would certainly choose someone
trustworthy, that doesn't change the fact that we would be relying on a system
in some closet somewhere in the world. The distributed nature of a host like
GitHub is useful, if not ultimately necessary.  Mirroring the site, on the other
hand, I have no real issue with. If people would like to mirror the website or
the repositories, a few links can be added to the main repositories and site
mentioning their existence. I will be looking into doing some sort of mirroring
as well.

Speaking of mirrors, $/mcpcpc has been working on converting the website away
from the bare-bones, minimalistic plaintext the website is currently utilizing
and turning it into something more rich. You can find it here https://mcpcpc.com/k1ss
While his efforts are appreciated, one of the beauties of the site as it stands
is how simple and lightweight it is - honestly, a feat one sees rarely in the
Modern Web(tm). I don't intend on making their work the official incarnation of
the site, but users are certainly more than welcome to use it instead if that is
what they would prefer. KISS is essentially self-documenting, and bundling the
website with the package manager is convenient and, I think, best done from the
simplest sources possible. 

People have been talking about switching to Gemini. While this is perhaps
arguably more inline with our goals and principles than the 'average Web', I
fear it is far too restrictive - but maybe this is just my 'old man yells at
clouds' moment. Again, I am not opposed to people mirroring the site to Gemini,
and I am fine with making reasonable and good changes to the site if that would
help. And, of course, linking to their work for the users who want that option.


[4.0] THE REPOSITORIES
________________________________________________________________________________

Much like the website, people are curious about where the repositories should be
- going even as far as to suggest we drop git entirely for fossil.  First and
foremost, I think switching to fossil is at best incredibly difficult. git is
so deeply ingrained in the functioning of KISS, a lot of work would have to be
done for such a transition. That being said, I see no good reason it couldn't
theoretically be supported - if we do not lock users into coreutils or init, why
should we lock them into VCS? I will be exploring this soon(tm) in my own
repository. As it stands, KISS will be sticking to git for a while, if not
forever. 

Gaining access to $/kisslinux is probably never going to happen, so
hopefully we will be able to telegraph to the world to look elsewhere. An
interim repository at $/kiss-community was setup by a few members, and I see no
good reason to change from it - no sense in making users switch to 
Yet Another Upstream ReposiTory. 

As far as hosting the repositories on GitHub is concerned, my worries for
self-hosting the website carry over here. Relying on a black box in someone's
closet is worse, I think, than on multiple black boxes scattered across the
world. Our current single point of failure is the BDFL, not the hardware of some
poor soul. Mirroring the repositories, however, I am fine with.  Honestly, I
have never done such a thing - the most I've ever hosted is a media server off
of a screendead laptop in 2008. Hosting outside of GitHub will be explored and
proper announcements made should something change, but there will always at
least be a mirror of the repositories on GitHub. Here it was born, and here it
shall stay. 


[5.0] REDDIT & IRC
________________________________________________________________________________

I got notified literally while writing this that my request for Mod privileges
on the subreddit has been granted, so I suspect several of you will have gotten
here from there. Hello! While Dylan may not have been hands-off with the
subreddit by choice but rather by ignorance, I will take a similar track;
pinning things that are relevant, announcing changes as they come, etc. I'll
always be around in there, silently watching...

Somebody other than me has submitted a request for the IRC channel.  I'm not
terribly concerned with the IRC - it barely had moderation to begin with, some
might say...

Mostly, I'd just like to update the Song of the Day more than once every five
months :) The IRC channel will continue, under someone's (or noone's) control,
in perpetuity. No plans for Discord, Matrix, Telegram, Whatsapp, Slack, Teams,
or Newsgroups. Y'all are more than welcome to start your own, if you'd like. But
I won't be joining them.


[6.0] STRUCTURE
________________________________________________________________________________

This is, I think, the most important topic to tackle. Obviously we were left out
in the cold rather abruptly. I didn't terribly mind it - Dylan did after all say
that he wanted the distro to be easily maintainable my one person. Plus, I don't
rely on community very much at all for my packages. But most people don't want
to bother with checking for their own updates and making their own packages; who
can blame them? Eliminating duplication of effort is important. I don't know how
long I'll be around (I plan to live forever, so far so good), and I'd like to
see the repositories, wiki, website, etc. be more resilient and avoid having a
single point of failure. 

The point of having a BDFL is to ensure total control over the direction,
trajectory, and development of the project. My primary aim is to follow the
things Dylan specified as closely as possible. The point of a BDFL is NOT to
disrupt the experience of users, but to ensure consistency and focus for the
project. When it comes to a Linux distribution, updates in large part means
security updates and bug fixes. I want to ensure users aren't exposed due to my
own failure or disappearance. Dylan was resistant to letting other people
maintain even just community; I have a different take.

* The responsibility of checking packages for correctness and merging PRs in the
main repositories falls to me, with one extra user having access to the main
repo and (a potentially different) user having access to community. My intention
here is not that they have just as much responsibility or authority over the
repository, but instead to (1) merge PRs and respond to issues should they stay
open for 'too long', and (2) to ensure that, should something happen to me, the
repositories carry on. Think of them not as assistants, but failsafes.

* The responsibility of releasing updated tarballs of KISS falls to me. Nobody
else should feel compelled to do this, unless I'm just *poof* gone.

* The responsibility of keeping up with the website and wiki falls to me, with
one other, different than the previous persons, also having access. 

The point is not to have multiple people in charge. Changes to anything
regarding the package manager, inclusion in the repositories, adjustments to
documentation, etc.etc.etc. should all go through me. 
The point is instead to ensure that, should I disappear or be deposed because
I'm a jerk, users aren't left exposed. I don't want this to be Void. I don't aim
to hold anyone's hand, but at the same time there is no good reason users of a
distribution should not be allowed to opt into having their updates funneled
through a singular channel.  That is, after all, the point - if users don't want
that, they can choose otherwise. 

I have no announcements of who these people will be, but the changes won't
effect much of how you would expect things to function if Dylan were still here. 

I am of course willing to hear feedback on this stark shift from Dylan's
previous policy, and suggestions on any of this are welcome. You can always find
me in IRC #kisslinux (I always read the logs), you can talk to me at
$/dilyn-corner or on Reddit (u/dilyn), and email is always an option:
dilyn.corner@tutanota.com. If you find my address, you can even mail me a
letter if you want.


In conclusion, thanks for your faith. 

___


________________________________________________________________________________

Dilyn Corner (C) 2020-2022