Is it Unix Philosophy to create a domain-specific environment mimicking Unix but living inside a single Unix program?
IOW, if I make a tool that allows you to define various pipelines composed of various filters within the tool, is it still The Unix Way?
There are a few tools like that already, eg. jq, ffmpeg, gstreamer.
@Wolf480pl there's no such thing as unix philosophy
It's different to everyone, it's not a rationalised, agreed upon phrase, and just about every definition is massively ignored in any way that you slice the userbase of unix-like systems.
I think there is, and at the very least it includes the Do One Thing And Do It Well rule.
@kline @Wolf480pl the "get shit done" as a summary of the "do one thing well" together with "write stuff that works together" idea.
To explian: As Bell labs, who could control the design of the whole system, it's way easier to reuse tools already produced. The consequence of targeting (fast) working software where in turn using the existing interface, namely bytestreams and pipes.
Long-dead authority can claim that "unix philosophy" is some definition but no one practices that or even agrees when invoking it. You can appeal to authority all you want, but if that authority is the ghost of an old man sitting in the corner who can't be heard over the debate the actual movers and shakers are having and implementing on, that's not authority - it's just nostalgia
Just like you'd give freud the authority about interpreting his psychoanalysis work, even tho he was mosty proven wrong later.
The fact that an idea is not implemented in society doesn't make it's definition invalid is what I'm saying.
The thing still has a clear definition. In freuds case it turned out that his idea is mostly wrong, and unix philosphy wasn't adopted, but they still exist as ideas.
If we had 100 different tribes each touting radically varied and contradicting definitions of "The" Freudian system, then I would say that "The" Freudian system no longer exists, it's just a label to describe many people riding on the coat tails of fame and authority. You might argue that one is more important than another, or that it is the true One Way of Freud, but even within bell labs there appears to be several conflicting definitions.
They also claim that by self-inconsistent rules, other tribes do not. Even within cohesive groups, there is no agreement on what "The Unix Philosophy" is. If it ever did exist, what is actually was appears to be gone, and we practice a collection of varied other systems instead.
There is no Unix Philosophies. Just philosophies about Unix.
@kline @Wolf480pl and we don't agree. It actually does matter how you implement your software, *iff* you want to implement the Unix philosophy. It's just that most systems don't want to do that anymore.
It's also not about what is *better*. I think what you appeal to is not using systemd because it is "bloated". This makes software using a simpler init system than systemd better, if you assume bloat is bad. which man do.
The argument that they think less bloat is good *because* of the unix philosophy is plain wrong.
@kline no. I'm saying that there are *some* groups of people who *try* to stay close to the unix philosphy. They agree about what that is, and they don't claim to implement everything 100%
@rnxpyke they forked an OS specifically to use an init system that is no closer to the purported philosophy.
Either they have a different definition to many other people, or the big bang event that caused their formation is completely unrelated to the philosophy they claim is their founding platform.
Ultimately though, I think that our disagreement comes from nothing to do with Unix - you believe that a group of diverse and conflicting ideas can still be a single philosophy. I believe that this is just a way of highjacking the phrase as an appeal to authority.
@kline they forked an OS to not use systemd. An init system that (in their eyes) is even worse at beeing close to the UP than the alternative they choose.
The alternative is (arguably) less bloated and therefore conforms more to the mantra "do ONE thing, and do one thing well".
Your assumption is therefore wrong, as is the stuff you try to follow from it.
Our disagreement lies in the fact that you think the diffrent implemtations claiming to be *trying* to be close to the UP are actually different interpretations of the UP. They are not.
These groups actually are quite in agreement about what the UP is.
But you are not.
@kline @Wolf480pl Devuan will do its best to stay minimal and abide to the UNIX philosophy of
"doing one thing and doing it well".
They say that they "try" to adhere to *the* unix philosphy, using exactly the definition that one would expect. They don't make up another one, and they even explain further down in the paragraph in which way they differ.
Seems like this source supports my point
@rnxpyke they say that, but they do not practice it according to the definition that many hold. They practice *A* Unix Philosophy.
@kline Do you see how implementing the Unix Philosophy as is and trying to stay close to the unix philosophy while maintaining a system that is familiar to the people of 2019 are diffrent things, referencing the *same* base idea?
@kline to clarify.
Yes, you could argue that they practice some derivation of the unix philosophy. But they don't really claim otherwise. And they especially *don't* claim that the way that they are doing it is *the real* unix philosophy.
@rnxpyke I think you'd need to do some more research into their mailing lists to see that's not really true. I don't much care for init arguments because they have become incredibly vitriolic, but there is a non-negligible group of people, core to devuan, who believe that a number of deliberate decisions have been made that are The unix philosophy when not all would agree.
They might say that the whole system is not perfect, but they have made specific, containable decisions that they say really are, but are open to a degree of questioning.
@kline I won't really go into a case by case discussion. And I don't really know a lot about devuan. But that's besides the point. If they really want a modern hardcore UP implementation, then good for them.
That doesn't mean that they can't be wrong about stuff. There just are some things were we don't know how they would be implemented in a unix way, because they are new.
But trying things out and claiming that they conform to the UP, while beeing up to discussion is the way to find out how a modern UP system would look like.
I still don't really see how devuan contributes to a fragmentation of UP interpretations. I'd think they build and expand upon the UP. That is, as long as they are true to their statement about beeing close to UP to begin with.
The page linked is just one such group of ideas touted as "The" (a) unix philosophy.
There is no "The Unix Philosophy", just some of many different philosophies that people label so in order to add cultural sugar to their arguments. It's insubstantive.
@Wolf480pl none of these things are Unix style, no. ffmpeg is not really a Unix tool, it's a tool that runs on Unix.
Even jq? IMO it's pretty much lime awk, but for json. Or is awk also a non-unix tool running on unix?
@Wolf480pl I would say that about both awk and jq, yes. But I would also point out that C isn't very Unix, aside from the fact that it was made there. There are useful programs that exist outside of the "Unix way"
Yeah I don't doubt there are good programs that don't adhere to the Unix Way.
But would those programs be better if they did? Or are there cases where Unix Way is not applicable?
Also, does the Unix Way include a "make a DSL for it" rule?
AFAIU, you claim it doesn't.
@Wolf480pl yeah I don't think DSLs are unix. The plan 9 approach is to make the organization of data consistent throughout the system, so that one universal tool can be used to query it in a reasonably straightforward way.
@Wolf480pl they are tools that do one thing - media filtering.
It could be argued that having a separate tool for each conversion or filter is "more unixy", but that's a degenerate case in my opinion.
@Wolf480pl to address the issue:
the real unix way would be to rework the kernel to support typed streams instead of only the bytestreams (files) we currently have.
Welcome to your niu world ! We are a cute and loving international community Ｏ(≧▽≦)Ｏ !