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.


I think there is, and at the very least it includes the Do One Thing And Do It Well rule.

@Wolf480pl well, someone needs to tell @rnxpyke that because they think it's "get shit done".

Also, if you want your system to be unix philosophy, you need to bin bash - it's a (bad) shell, a (bad) system automation tool, and a (bad) foundation for an init system.

@Wolf480pl @rnxpyke (so really I'm getting back to my point that "the unix philosophy" isn't a thing, it's just a buzzword people use to somehow imply what they believe is an ancient, holy practice)

@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.

@rnxpyke @Wolf480pl bell labs hasn't been influential in unix for many years, and the system you described has barely existed in this millennium

@kline @Wolf480pl that doesn't really matter, because they created unix and coined the term "unix philosophy".
My argument to why there exists a unix philosphy is basically an apeal to authority.
In this case, the creators of the damn thing

@rnxpyke @Wolf480pl i reject your appeal to authority on account of the fact it's not worked the way they designed it to work since basically I've been alive.

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

I disagree. From my POV, many devs in the Linux and BSD ecosystems take inspiration from the form done at Bell Labs.

And no, it doesn't have to be bash. Look at eh.

@kline @Wolf480pl
The authority isn't meant in the way that they can *enforce* the philosophy, just that they created it.

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.

@rnxpyke @Wolf480pl few people create new systems of thinking and practice and call it "Freudian".

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.

@kline @Wolf480pl I think this is a bad argument and you have the burden of proof here.
Which "tribes" claim to implement the "Unix Philosophy" on current Linux systems?

@rnxpyke @Wolf480pl devuan claim to do it, as do slackware.

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.

@rnxpyke @Wolf480pl But I mean, we agree: it's basically just an appeal to authority. How it's actually implemented doesn't matter, it's about making sure that your set of beliefs trump another by pretending that it's some ancient, inviolable rite.

@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.

@rnxpyke @Wolf480pl so what you're telling me is that there are many different groups of people all saying they implement the unix philosophy, but you do not believe that they do so correctly?

@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 and about devuan I couldn't even find a clear statement about any philosophy...

@rnxpyke @Wolf480pl

it was quite nicely packaged up in their primary announcement email and blog.

Slackware has mostly managed to say it without saying it, because they were around before people touted phrase as a talisman.

@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.

@rnxpyke "The Unix Philosophy" still doesn't exist. It's still a buzzword to appeal to authority. It still only means that "I'm trying to convince you my way is the right way because belief interpretation".

That's not to say that good sw hasn't been created in the name of the philosophy, I just wish people would say what they mean, and we can debate it on merit rather than historical purity.

Even elsewhere from the root of this thread people are in disagreement on what the philosophy is and what is and isn't in bounds.

@kline It exists. It's point of view about how software should be designed. I can messure how much a given software conforms to the UP by looking at
1. how many features it implements. (Do one thing).
2. how good it is at solving the problem at hand (Do one thing well).
3. How easy it composes with other software (Write programs that work together)
4. its input output mechanisms. (Handle text streams, bc thats an universal interface)

What I'm not saying, and what you are critiquing is the belief that software adhereing to the UP is somehow better. (In the context of the unix operating system, it probably was, but today maybe not so much)

You further seem to have a problem with the fact that it's hard to say that something is or is not a "UP software".
But the UP is not a boolean that software either has or has not. It's a mesurement on that software can score good or bad. Where you draw the line on what is UP software is somewhat arbitrary, which is why ppl could disagree about it.

Consider the unix way to solve a task using the software that adheres to the UP in respect to the task the most.
This would solve the issue, you'd just have to live with the fact that there could be programms that are unix-ier anytime.

@kline @Wolf480pl well, it's basically you that linked this:

Third link in the systemd criticism paragraph

@rnxpyke @Wolf480pl I can acknowledge that the phrase "unix philopshy" exists, but that doesn't make it a rationalised system of beliefs and practices.

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.

@kline @Wolf480pl See my other reply. An Idea doesnt have to be rationalised or be practitioned to make its definition well known and agreed upon.

@kline @Wolf480pl To add to that: An Idea/Concept *exists* as soon as it's defined.

@kline @Wolf480pl and no, you don't really need bash. Theoretically speaking, you just need something to compose diffrent programs. Bell Labs just choose the shell because that's what they already had

Sign in to participate in the conversation

Welcome to your niu world ! We are a cute and loving international community O(≧▽≦)O !