
Morpheus Linux - vezzy-fnord
http://morpheus.2f30.org/
======
exelius
I've often wondered if the Linux world will eventually split into two camps:
desktop/mobile/embedded, and servers.

With desktop/mobile/embedded applications, you often have to do a lot of
hardware-level integration to provide the best customer experience. This
requires lots of features to support different use cases like hibernation,
cellular radio on/off, power control, realtime device support, drivers that
support many different drivers on different platforms, etc.

With servers, you actually want the OS to be hardware agnostic. Tight hardware
integration is a drawback - not a feature - since it makes it harder to
migrate / clone a system. Performance is pretty much the primary driver on a
server, so having fewer abstraction layers should improve speed. Simple is
better, because there's usually enough complexity in the applications
themselves.

I don't think these use cases can be served by the same system. The whole
systemd schism was a symptom of this core problem - systemd is great for the
laptop/mobile/embedded case because it adds a whole lot of control over
various system states. The server guys hate it because it adds a lot of
complexity and doesn't give them much functionality that makes their lives
easier. But the problem isn't systemd, its that these two use cases are very
hard to solve with one system.

~~~
digi_owl
There is a certain overlap you may be overlooking, the "enthusiast amateur".
They overlap a bit with server and a bit with desktop/mobile/embedded.

But they are into computers for computers sake, so to speak, rather than into
computers as a tool for doing a different job.

Meaning they are looking for agnosticism, much like your server example, but
on desktop/mobile/embedded.

And those seem to be what gets the hardest squeeze in all this, and are the
least articulate in their complaints.

The irony is that many of those that are in that segment may know more about
the day to day inner workings of things than the actual devs writing the code.
This because they see the code in action with all the ragged edges exposed,
rather than in pristine code form.

~~~
exelius
I'd say they're a niche market; and often IMO are people who fall in the
"server" camp in their day jobs, and want to see something similar for their
personal devices. It's a small fraction of the overall desktop/mobile/embedded
market though, so it's not going to drive market preference.

------
chilicuil
For me the most important morpheus feature is the static recipes, most linux
distributions compile software dynamically against glibc and then the
generated binaries won't run in other distributions. Static builds will run in
many linux environments.

I used morpheus and other similar distributions recipes to create `static-
get`[0] a static linux binary repository.

[0] [https://github.com/minos-org/minos-static](https://github.com/minos-
org/minos-static)

~~~
fortytw2
This is awesome! I play around a lot/build on little, static linuxes, and this
looks like it'll be an invaluable tool in the future :D

------
jordigh
"Keep it simple" as their first bullet point.

I wonder who has ever had as a goal to make complicated software from the
outset.

~~~
swsieber
Your second sentence is a red herring that misses the point of that goal. Of
course nobody has that goal (hopefully). But when people don't have that goal,
complexity tends to creep in.

Simplicity rarely happens by chance in large software.

~~~
jordigh
Every time I've seen people have the simplicity goal from the outset, they
inevitably have to at some point abandon it or their simple software gets
replaced by software that has additional complexity. It often happens that the
complex replacement then again grows too complex, and someone comes along with
a simpler solution and the cycle repeats indefinitely. Firefox was supposed to
be a simpler Mozilla, and when it got too complex, Chrome came out. I wouldn't
be surprised that now that both of them are too complex, in a few more years
someone comes out with a browser that is simpler than both of them and is
intended to replace them both.

Software development, in a very essentialist sense, is nothing but complexity
management. Trying to never have any complexity is a naïve view of what
software is.

~~~
vezzy-fnord
End users don't want simplicity, they want ease of use. Simple beautiful
software is out there aplenty with diverse features, you just have to desire
to use it.

~~~
Nomentatus
They don't want simplicity until the app crashes. They don't want simplicity
until their supposedly compatible older programs don't run. They don't want
simplicity until a security breach takes out their business. They don't want
simplicity until their custom software "can't be made portable, realistically.
It'll all have to be rewritten." They don't want simplicity until the
program's behavior changes, and it's not at all clear why, or how to recover.
They don't want simplicity until they've lost or overwritten data for no
reason that can be discovered.

In other words, it's not the falling that kills ya, it's hitting the ground.

------
miah_
See also: Alpine Linux;
[http://wiki.alpinelinux.org/wiki/Alpine_Linux:Overview](http://wiki.alpinelinux.org/wiki/Alpine_Linux:Overview)

------
80x25
Statically linking everything seems to complicate upgrades significantly. If
libc is rev'd does that mean every binary on the system needs to be rev'd as
well? Static linking is great for simplifying the deployment strategy but can
degrade the user/administrator experience.

~~~
hardcoreluddite
A recent interview with Anselm R Garbe, the founder of suckless.org, on the
FLOSS Weekly podcast. They discuss the suckless philosophy and stali linux.
[https://twit.tv/shows/floss-
weekly/episodes/355?autostart=fa...](https://twit.tv/shows/floss-
weekly/episodes/355?autostart=false)

------
mordocai
As usual, the project page doesn't actually explain what the project is nor
why I should care.

I have to infer a bunch.

Start writing a good synopsis on the first page of your projects people.

~~~
javert
If what is on that page does not make you care, you are not the intended
audience.

~~~
vezzy-fnord
Correct. The front page is pretty self-explanatory. Obviously it requires you
to actually be familiar with what it explains.

~~~
glibgil
Right, so where is the version that doesn't require familiarity? For example:
[http://midipix.org/#sec-implementation](http://midipix.org/#sec-
implementation)

~~~
vezzy-fnord
How is that any different? Right off the bat, it assumes I must know what
argv, argp, wide chars and junction points are. Which is to be expected given
it's a POSIX layer for Windows, and so you should expect a minimalistic Linux
distro blurb would need some prerequisite knowledge.

You're on a vendetta for no reason that I can discern. Nothing about Morpheus'
front page is hard to understand in the slightest.

~~~
glibgil
Vendetta? Ha, I post one comment with a better example of introducing a
project's motivations and I'm on a vendetta? That escalated (in your mind and
nowhere else) quickly.

------
icefox
What problem does it solve?

~~~
illicium
Having too many features in your operating system.

------
ilurk
Could anyone explain what the goal of this project is? Which audience it is
aimed at? Where would I want to use it?

Embedded systems? (Despite the small number of packages, the size of some make
me think not)

Reproducible builds?

Unikernels?

~~~
qznc
It is rooted in the Suckless Stali [0] stuff. It is a community trying to
build their personal dream Unix. So primarily desktop and server is the goal.

[0] [http://sta.li/](http://sta.li/)

------
gouggoug
My comment is not directly related to Morpheus Linux.

The first link on the page "Keep it simple" directs to
"[http://suckless.org/philosophy"](http://suckless.org/philosophy") whose
motto is "software that sucks less".

I've never contributed any software to the open-source community (I hope I
will one day), but I find it fairly unfair to all those devs that spent years
making open source tools that are used by every single sysadmin to say that
you want to write "software that sucks less".

You might want to write software that is "better" but not that "sucks less".
Saying a tool sucks in hindsight is way easier than writing a tool that
doesn't suck in the first place. After all, you probably learned how to write
a tool that "sucks less" thanks to all of those other developers that made
those mistakes for you.

So, although I do agree with some statements made in the "philosophy" part of
the website, like this one:

> Most hackers actually don’t care much about code quality. Thus, if they get
> something working which seems to solve a problem, they stick with it. If
> this kind of software development is applied to the same source code
> throughout its entire life-cycle, we’re left with large amounts of code, a
> totally screwed code structure, and a flawed system design. This is because
> of a lack of conceptual clarity and integrity in the development process.

I do think the domain name and mottos are poorly chosen.

~~~
farhaven
"sucks less" is a nod to the fact that all software sucks in some regard. Yes,
also the software written by the suckless people. (It's also the motto of the
mutt email client) Acknowledging that there is something wrong is the first
step to making better things. Also, IMHO "We aim to do stuff that sucks less"
is a bit more humble than saying "We aim to write better software", but in the
end, both probably mean the same thing.

~~~
Avshalom
Maybe, but I'm fairly sure abrasiveness was meant in the case of the suckless
community.

------
xer0x
I love this, but what differentiates it from the others like Alpine or Void?

------
anonbanker
that package manager looks pretty sexy.

I'm pretty much running a similar stack on a laptop in gentoo. took a lot of
work to unmask it all, though. would a howto be useful to anyone?

------
ticktocktick
<joke> Lennart Poettering </joke>

~~~
jordigh
In all seriousness, Poettering is at least _trying_ to replace complexities
with simplicities. He thinks unified config files are simpler than ad-hoc
shell scripts for init systems. He thinks a sound system that handles all
audio in a uniform way is simpler than having a bunch of different APIs that
implement a different and incompatible part of the audio stack.

Nobody is _trying_ to make things more complex, or if they are, it's usually a
joke like brainfuck.

~~~
vezzy-fnord
_He thinks unified config files are simpler than ad-hoc shell scripts for init
systems._

That's a gross misrepresentation of the problem. Shell-based rc does not have
to be "ad-hoc" if there is a sane process management framework in place. In
such cases, the scripts can be _extremely_ terse. [1] [2] In essence, the
scripts become mere "callbacks" and have their primary purpose to provide the
start command line, optionally with some form of chain loading to compose
execution state. One can go further and write a small, special-purpose LL(1)
command language for chain loading of programs, e.g. execline. The unit file
format, conversely, cannot be composed, the options must be treated as static
entries, and implicit state is carried, sometimes making service writers
resort to horrifically subverting the systemd model just to escape. [3]

[1]
[http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/ru...](http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/run-
scripts-and-service-units-side-by-side.html)

[2]
[http://www.openbsd.org/faq/faq10.html#rc](http://www.openbsd.org/faq/faq10.html#rc)

[3]
[http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/sy...](http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/systemd-
house-of-horror/)

~~~
jordigh
I'm not trying to represent the problem nor do I want to discuss the merits of
systemd. I am just talking about what Poettering is trying to do and why he
says systemd is better. Whether he's actually achieving it is of no relevance
to his stated intentions.

------
TurboHaskal
This is all too familiar. It will end up being yet another r/unixporn anime
wallpaper desktop screenshot generator.

~~~
adamrt
Yeah. Fuck projects that people do to learn something and give away for free.

------
jay-saint
The world needs another linux distro like it needs a plague.

~~~
ticktocktick
There are a lot of distros out there. That is what makes Linux so great. You
can roll your own formula of kernel and userland for YOUR needs[and then share
it]. You aren't forced to just take what Microsoft or Apple or XXXX gives you
nor do you have to completely write your own from scratch.

~~~
n0n
F'kin this! If you don't like it. do it in a differten way.

