[HN Gopher] What the GNU?
___________________________________________________________________
What the GNU?
Author : nathell
Score : 90 points
Date : 2021-09-28 09:27 UTC (2 days ago)
(HTM) web link (ariadnavigo.xyz)
(TXT) w3m dump (ariadnavigo.xyz)
| hdjjhhvvhga wrote:
| These things were debated ad nauseam in the 90s, I started to
| feel nostalgic. To me it seems like a semantic issue and,
| fortunately, we are free people and can use either name.
|
| As for the "horrible implementation" part... People nowadays
| don't realize how it worked in practice. Many extensions, like in
| GCC, appeared because people needed them (and at least in the
| case of compilers they're clearly marked as such). Also, at the
| time the GNU utilities were superior to native tools. Many
| Solaris admins started by installing GNU tools to make the system
| more usable, for example. If GNU was really so terrible, why
| would they do that? It's very easy to criticize it now, but it
| was a huge effort by thousands of people and I'm vert grateful to
| all of them.
| DonHopkins wrote:
| "I'm a gnother gnu!"
|
| https://www.youtube.com/watch?v=OPgo6s1lBbw
| marcodiego wrote:
| The article is unfairly bashing GNU. For example:
|
| > OK, now have a look at the 120 lines long source of GNU yes.
| And compare now that behemoth against the implementation in
| OpenBSD, the one from sbase, or the one from busybox. Like... why
| does GNU yes does so many memory operations for a task that is
| implemented so easily by everyone else?
|
| The answer can be seen here:
| https://news.ycombinator.com/item?id=14542938
| https://www.reddit.com/r/unix/comments/6gxduc/how_is_gnu_yes...
|
| But from the style of the author, it is clear that it is the case
| of a knowledgeable well informed educated person. GNU clearly has
| its problems, but badmouthing it like that is hard to differ from
| malice.
| akkartik wrote:
| Does GNU yes _need_ such great performance, though? I 'm
| curious to hear where it matters. Why would we need 10 billion
| yeses a second, and why would 10 million yeses a second not be
| good enough?
| dfox wrote:
| The selling point of various GNU userland tools and libraries
| in the 80's was better performance, removal of obscure bugs
| and limitations and then maybe some useful extensions.
|
| Case in point is that most people have no idea of how POSIX
| defines "text file" (ie. ends with \n, no line is longer than
| LINE_MAX), and what happens when you inout something that
| technically is not text file into POSIX utility that expects
| text file is undefined. GNU tools do something sensible or at
| least produce an meaningful error message, traditional Unix
| userspace usually does not (lines get truncated, last line
| sillently ignored, some buffer somewhere overflows and in
| better case you get SIGSEGV...).
| marcodiego wrote:
| I don't know. And actually I don't care. A program that fits
| in a single file with 120 lines of readable code is a price
| I'm willing to pay for close to best possible performance.
|
| But that is not why I commented. I commented because I wanted
| to illustrate that the author questioned something that can
| be easily answered with a simple google search. I'm sure the
| author is qualified enough to answer the question, but
| instead left in the post giving most readers a impression
| that the complexity is there out of incompetence of GNU
| developers.
|
| EDIT: I should not assume you asked in bad faith, but as the
| sibling commented. The answer to your question can be easily
| found in the link I posted. Making your behavior strangely
| similar to the author of the post: making questions that can
| be easily answered while giving a bad impression of others.
| Please, avoid that. It may work in many places but will fire
| back at you sometimes.
| akkartik wrote:
| I don't find it so questionable to ask questions that the
| right google search (out of an infinite number; we're not
| all equally deeply immmersed in this stuff) can answer. But
| if we disagree about that I guess I'll stop talking to you.
| The actual question we're debating will have to wait. I've
| had to deal with enough ornery people in my life who had
| the answer like, right in their head but would still insist
| on putting others through pain for it. These days I try to
| foster a workplace where anybody struggling with a question
| the person next to them knows the answer to is wasting the
| team's time.
|
| (Skills are not the same as factual knowledge here.)
| marcodiego wrote:
| Sorry for giving the wrong impression. My problem with
| the question is not that it is easy to answer. The
| problem is that it is easy to answer WHILE giving a bad
| impression of others.
| akkartik wrote:
| I don't understand what you mean. Why can't we just
| debate the question without speculating about motivations
| of the people raising/answering the question?
| marcodiego wrote:
| I think I misread and misjudged you. I'm sincerely sorry
| for that.
|
| Maybe it is a sensible subject for me or I've been living
| with people asking rhetorical redundant questions as a
| passive agressive form for disqualifying others.
|
| I read your question as: "I can't see any reason this
| performance is needed, maybe it is really incompetence or
| pedantism from GNU developers." But I think it is
| prejudice on my part.
|
| Sorry.
|
| EDIT: grammar.
| akkartik wrote:
| Thank you! And yes, I admit you were partly right.
| Questions often have some component of rhetorical
| quality. It's not always yes/no on whether it's a
| rhetorical question or not. But either way, I find (based
| on experience teaching) that the best way to answer a
| question is just by treating it as genuine. Past a point
| if I decide someone's acting in bad faith I just
| disengage.
|
| Anyways, back to the original question, I do believe that
| a lot of programmers (I don't buy OP's separation between
| GNU and non-GNU) over-engineer things without regard to
| the costs created by over-engineered code. My default
| assumption is that that's happening in yes. If it's
| happening in such a small program where it's so obvious,
| the same tendencies are likely to be at work in more
| complex programs like cat and awk and cc. Happy to debate
| that :)
| marcodiego wrote:
| Debating that... I think
| https://news.ycombinator.com/item?id=14543640 is more
| plausible.
| akkartik wrote:
| Thanks! Glad you didn't think I was in bad faith after
| the semi-rhetorical question and disengage.
|
| That whole thread makes me sad. Another, more subtle way
| IP is ruining the world. But that's neither here nor
| there on this debate.
|
| Just to flesh out my current thinking a bit more:
|
| * I'd really like a study to understand how much
| complexity old GNU tools have gained in the past 2
| decades. Because that would not be due to copyright
| concerns. But I'm not sure I have the necessary skills.
| (I'd like this study for non-GNU as well, but I assume
| copyright is not a concern there so the study doesn't
| have to set crisp time bounds.)
|
| * I share some of Drew DeVault's frustration in
| https://drewdevault.com/2020/09/25/A-story-of-two-
| libcs.html. I've viscerally felt the immediate sense of
| disempowerment he describes when cracking open an open
| source package. _However_ I vehemently oppose his
| cavalier lack of concern for locales.
| Internationalization is important. ASCII is just as
| effective at disempowering others.
| marcodiego wrote:
| > Thanks! Glad you didn't think I was in bad faith after
| the semi-rhetorical question and disengage.
|
| You are welcome! Considering the karma I got from that
| answer, I don't think I'm the only one who misread you.
| If you want a piece of advice: starting a question like
| that with "Genuinely curious: ..." is my strategy to
| prevent this kind of misunderstanding.
|
| > * I share some of Drew DeVault's frustration in
| https://drewdevault.com/2020/09/25/A-story-of-two-
| libcs.html. I've viscerally felt the immediate sense of
| disempowerment he describes when cracking open an open
| source package. _However_ I vehemently oppose his
| cavalier lack of concern for locales.
| Internationalization is important. ASCII is just as
| effective at disempowering others.
|
| As Drew DeVault's says, it was his code which was broken.
| I know glic code is complex, but it is battle tested,
| mature and highly robust. I'd bet there are good reasons
| for that complexity. If I was really curious as to why,
| I'd try asking devs directly to avoid making them look
| bad by making public statements about it.
|
| Now, I looked in scdoc code. The solution was to cast the
| parameters to "unsigned char". Considering the code
| uint32_t ch; isalnum(ch);
|
| compiles without warning (even with -Wall -Wextra) on my
| machine, I'd consider this a potential vulnerability for
| programs using this function. I can't see why glibc
| developers don't turn isalnum into a macro that
| automatically casts its parameter (when its address is
| not taken). I'll consider asking them this weekend.
|
| EDIT: possible nice finding:
| https://news.ycombinator.com/item?id=24597461
|
| EDIT2: part of the reason: "unsigned char" can't hold
| EOF.
| akkartik wrote:
| Regarding "genuinely curious": I've seen some real
| passive-aggressive comments that say that :)
|
| Regarding "asking devs directly": I often find it
| challenging even to figure out where to ask. Going from a
| program to its package, dealing with interactions between
| packages, etc. All of which goes back to simplicity as a
| core goal. "Good reasons for complexity" isn't
| sufficient, IMO. Complexity requires having a place to
| explain the reasons, and making it easy for people to
| find the place. Considering that we're all volunteers
| when it comes to open source and this sort of
| documentation is difficult, I'd often rather err on the
| side of not having a feature rather than having a more
| complex feature.
|
| On the other hand, there _are_ fields like
| internationalization or power management on laptops that
| are irreducibly complex. Not sure where I 'm going with
| all this. Open source today serves businesses more than
| people, IMO. But it also serves people indirectly through
| businesses. This is a difficult topic. Your comment made
| it seem like there's an easy thing Drew or I could do.
| I'm not sure that's the case.
| marcodiego wrote:
| Agree.
| akkartik wrote:
| I couldn't stop thinking about this link. Here's a
| stronger statement of the problems I see with the GNU
| guidelines:
| https://merveilles.town/@akkartik/107022123346940723
| ivanbakel wrote:
| GNU yes is elaborate and fast because Unix's yes is
| conceptually simple[0]: the HN link the GP shared cover how
| GNU programs were made to deliberately differ from Unix
| versions to avoid copyright issues.
|
| [0]:
| https://www.gnu.org/prep/standards/standards.html#Reading-
| No...
| [deleted]
| m463 wrote:
| The root of all evil is premature optimization. Until yes
| performance is the bottleneck for some problem, leave it
| alone.
| [deleted]
| pwdisswordfish0 wrote:
| I'm curious as well. On the other hand, does it _need_...
| whatever it is that GNU yes 's decriers are after? The choice
| to focus on /usr/bin/yes as a case study is at least as bad
| as the GNU advocates' retort ("GNU yes is 10GiB/s fast").
| XorNot wrote:
| When I ask for a very simple command to do something, I
| expect it to be the best possible implementation of that
| command. `grep` is pretty close to absolutely optimum
| (ripgrep can beat it, sometimes, maybe).
|
| I don't see why the standard for composable utilities
| should allow for inefficiency.
| [deleted]
| pwdisswordfish0 wrote:
| Wrong thread? How is this a response to the previous
| comment? Arguing that you want /usr/bin/yes to "be the
| best possible implementation" in terms of efficiency is a
| weird way of being in "violent agreement" (more like
| "aggressive agreement", but whatever). If writing a
| defensive response, you should actually defend the thing
| on the other side. Namely, the response here should
| defend the position that it's more important for yes to
| be simple than it needs to be efficient. That's what the
| previous comment challenges potential respondents to come
| up with.
| XorNot wrote:
| You don't take a position. That's my point. What is wrong
| with yes being capable of doing 10Gib/S? Nothing. It's
| optimum for a utility which has that sole function.
|
| It's not a bad retort, it's the end of the story: there
| is a superior utility, it's implemented.
| pwdisswordfish0 wrote:
| You're either still misreading and believing that you're
| arguing against a position that is at odds with yours, or
| you know it's not at odds but have weird ideas about how
| argument works.
|
| My position is: either articulate an argument for why
| it's bad for /usr/bin/yes to be implemented the way GNU
| yes is implemented or drop the argument entirely.
|
| Your comments manage to be in disagreement with those on
| the other side of this, and yet still adopt an
| argumentative/defensive tone with respect to what I've
| written. I consider this to be an even bigger waste of
| time than the people (like OP) who are upset about GNU
| yes's implementation.
| r283492 wrote:
| The fact that the post does not link to
| https://www.gnu.org/gnu/gnu-linux-faq.en.html, makes it
| immediately suspect. That is a necessary resource to consult when
| talking about the GNU/Linux name.
| jcelerier wrote:
| > I want cultish followings to end within the FOSS community. I
| swear I'll always work against that.
|
| > And we like things following the standards already put in
| place. Because we don't give a damn about helping the FSF do
| their thing: We care about tech. We care about and love the
| legacy of UNIX, its philosophy, and we want to adhere to it as
| strictly as possible.
|
| Sorry for breaking it up to you, but this kind of "standards must
| be respected 11!!!!1&!1" mindset _is_ the actual cult-like
| behaviour, commonly found in communities such as cat-v.org, and
| with people clinging to plan 9 like it 's anything beyond a
| failed experiment.
|
| GNU and shells like bash (I use zsh which is I guess even "worse"
| in terms of feature bloat) are dominant because they provides a
| ton of super useful features to make work faster. Likewise you
| bash against glibc's bloat, but most software perform faster when
| using glibc than other "less bloated" libc implementations like
| musl ; the bloat is here for a reason and that reason is
| performance (which matters infinitely more than whatever
| ideological purity BS someone can find). Who cares if it's not
| strictly POSIX compliant: it makes computing a better experience
| and that's all that matters, and if tomorrow someone manages to
| create an entirely different non-posix platform that manages to
| improve on that, I'll happily jump there and I hope you do too.
| hoseja wrote:
| Like with the `yes` example, those looked like optimizations to
| me, maybe misguided but surely coreutils should be as optimized
| as possible.
| klodolph wrote:
| I think the difference is with bash & zsh is down to whether
| you choose to use them as your interactive shell or whether you
| choose to write shell scripts in them.
|
| I had assumed that this was about shell script portability.
| Bash and zsh have a ton of super useful features to make work
| faster, but the features for shell programming (writing shell
| scripts that other people will use) are not so useful. Yes, I'm
| aware of stuff like [[, I don't think that [[ is very useful. I
| have dash as /bin/sh and #!/bin/sh in all my scripts, and
| seriously, _it 's not a problem._
| forgotpwd16 wrote:
| There're many features that are useful for programming:
| variable expansion, pattern replacement, substing expansion,
| and others. Not only that but some bash built-ins essentially
| replace external processes leading to your script being
| faster and more portable (ironically).
| klodolph wrote:
| Bash is not alone in having built-ins that make it faster.
| Generally speaking, Bash is measurably slower than other
| shells. If you convert make your shell scripts portable and
| change #!/bin/bash to #!/bin/sh, in my experience, this
| usually makes them faster, too (on systems where sh is not
| bash). This is the driving factor for Debian's switch from
| Bash to Dash, which resulted in noticeable startup speed
| improvements:
|
| https://wiki.ubuntu.com/DashAsBinSh
|
| (Note that Systemd has since obviated most of that work.)
|
| You may be writing very different shell scripts than the
| ones which I encounter. I'm not sure what you mean by
| "variable expansion", because variable expansion is
| portable. Something like 98%+ of all pattern replacement I
| see is something simple like replacing a suffix or prefix
| of a string. For example,
| infile=input.png outfile="${infile%.png}.jpg"
|
| You can typically use sed for the complicated stuff.
|
| Above a certain level of complexity, I'd likely rewrite the
| script in Perl or Python, anyway. Or possibly Go.
| forgotpwd16 wrote:
| For your example, in bash you can do
| infile=input.png outfile="${infile/.png/.jpg}"
|
| Yes, supposing it exists and you've permissions for it,
| you can use sed. Do that a dozen times and the calls to
| an external process add up to a significant time. But the
| real advantage is being easier to write and work with.
| aidenn0 wrote:
| Bash arrays are the only thing I really wish dash had. Some
| other things are "nice to have" but can be implemented on top
| of sh. Arrays really can't.
| Cederfjard wrote:
| What level of portability do you deem necessary for what you
| do? I rarely encounter a box that has sh but not bash, but
| maybe that's just me.
| klodolph wrote:
| I could equally ask, "What level of Bash features do you
| deem necessary for what you do? I rarely encounter a shell
| script that cannot be trivially modified to work on POSIX
| /bin/sh."
|
| At least historically speaking, Bash was noticeably slower
| than Dash. It's the slowest shell. If you are doing things
| like, say, build scripts in a CI environment where you need
| to execute shell scripts thousands of times or more, the 4x
| difference can make a real impact on user experience. Same
| thing during startup, back before the transition to
| Systemd, when Debian changed the /bin/sh alias to point to
| Dash instead of Bash to speed up system startup.
|
| https://unix.stackexchange.com/questions/148035/is-dash-
| or-s...
|
| https://wiki.ubuntu.com/DashAsBinSh
|
| At some point, shell scripts reach a level of complexity
| where most people choose to rewrite them in a higher-level
| language, often Python or Perl, or maybe even Go. My
| personal experience is that the Bash-isms, although kind of
| nice, don't really shift that threshold... like, although
| Bash has arrays, but if I need to manipulate arrays, I
| switch to Perl or Python. If I just need to pull elements
| out of one array, I can do that portably.
| belorn wrote:
| It seems like if one want to be a bit more focused on
| compatibility, just using python with compatibility added for
| v2 vs v3 is easier than using shell scripts for the multiple
| different operating system, platforms, shells and versions
| that exist today. Shells seems much more coupled with the
| operating system and decision that people have made on that
| level.
| klodolph wrote:
| Yes, above a certain complexity, you'd probably want to
| write your script in Perl or Python.
|
| Python has an enormous overhead compared to shell scripts,
| though. If you're writing some simple wrapper in a build
| system that's going to be invoked thousands of times for a
| single build, Python could easily end up being a choke
| point.
|
| If you're really concerned about portability, I would
| probably write it in Perl :-)
|
| Perl is basically a souped up shell language, with built-in
| Awk & Sed, faster start-up time than Bash, and it's
| installed nearly everywhere.
| belorn wrote:
| Perl vs Python on the script side has always seemed to me
| to be a bit up to taste, through I have noticed on the
| sysadmin side that in general things has moved away from
| Perl towards Python. I also notice that in terms of job
| listing, there seems to be a lack of new perl programmers
| in order to support older systems.
|
| In terms of build systems, what I have most experience
| with would be with Debian and their build system, which
| pulls in the required dependencies. Compatibility in this
| space is less about zsh vs bash and more in line with
| architecture difference like RISC vs AMD64.
| BuildTheRobots wrote:
| > Who cares if it's not strictly POSIX compliant: it makes
| computing a better experience and that's all that matters
|
| Whilst I broadly agree with your point, I'd suggest that
| "better experience" can be extremely "eye of the beholder" -
| especially if it interrupts a long established workflow /
| toolkit.
| not2b wrote:
| For many, "long established workflow" now means "Linux with
| GNU userland". But if deviations from POSIX behavior by the
| GNU tools cause problems for a flow, that's what the
| POSIXLY_CORRECT environment variable is for.
| eadmund wrote:
| > Sorry for breaking it up to you, but this kind of "standards
| must be respected 11!!!!1&!1" mindset is the actual cult-like
| behaviour, commonly found in communities such as cat-v.org, and
| with people clinging to plan 9 like it's anything beyond a
| failed experiment.
|
| That's a bit of a _non sequitur_ : Plan 9 is very much not a
| standard, and indeed it derives a great deal of its power from
| _not_ implementing the POSIX standard.
| matheusmoreira wrote:
| Completely agree.
|
| Nothing's worse than the cult of POSIX. Half a century ago some
| people gathered and figured out the lowest common denominator
| of all the unixes of the time. Now it's 2021 and we're _still_
| supposed to restrict ourselves to this "standard" system in
| the name of portability. POSIX has so few features that
| restricting yourself to it is masochism. Every unix adds their
| own extensions, they would be almost unusable if they didn't.
| So why is GNU criticized for doing the same?
|
| The author says GNU is just some optional userland. I find that
| amusing since in every traditional unix the POSIX userland is
| deeply integrated with the system. He talks about glibc but the
| BSDs and even Windows ship with their own libc that I can't
| ever get rid of because they're the only supported way to
| interface with the kernel.
|
| Linux is the only operating system that actually frees us from
| this cult. Unlike other systems, the kernel/userspace interface
| is stable and defined at the lowest possible level: processor
| instruction set architecture.
|
| https://man7.org/linux/man-pages/man2/syscalls.2.html
|
| https://man7.org/linux/man-pages/man2/syscall.2.html
|
| https://github.com/torvalds/linux/blob/master/Documentation/...
|
| Only on Linux is GNU truly just some optional userland. You can
| throw it in the trash if you want. You can make your own. Who
| says you gotta have little commands like cp, mv, grep, sed,
| whatever? Who says people have to use some "standard" shell
| from the 80s? You can make a graphical userland if you want. A
| 100% Rust or Lisp userland. Even no userland at all.
|
| People complain about systemd but I actually have a lot of
| respect for it. The developers had the balls to trash all this
| sacred POSIX stuff and make something new that actually uses
| Linux kernel features. The resulting system is better for it.
| marcodiego wrote:
| > Why are we vendor locked into GNU? Why are we still pretending
| that's good or not as evil as the vendor lock-in measures taken
| by Google, MS, or Apple? Landmining your userland and C Standard
| Library with extensions is exactly what MS does. When MS does it
| is bad, so why is it acceptable or tolerated when GNU does it?
|
| Although you can pay the FSF for copies is (I think) possible
| calling GNU a vendor similar to "MS or Apple" is too much of a
| stretch. When "MS or Apple" contributes back agreeing to the
| license, out of goodwill or because it helps the development, it
| is a nice behavior in their part; otherwise they are just being
| themselves.
|
| As for why GNU is a different case with regards to extensions...
| I can think of a few reasons: - The extensions
| are useful for a reasonable part of the users. - GNU
| is free software, so you can easily use and benefit from the
| extensions. - GNU is portable and its license allows
| even proprietary systems to include it without any problem.
| - Some of these extensions can be disabled. - Some of
| these extensions do not break portability if not used.
| - Some of these extensions helped to shape and evolve what people
| expect from a UNIX-like system. A few GCC extensions influenced
| the ISO-C standard.
|
| Ok, portability may suffer, but that is the price some groups
| choose to pay. Considering the gained benefits, I'd say it is a
| fair price.
| GoblinSlayer wrote:
| head -c 20 /dev/urandom | base64
|
| This command generates a strong password. How do you do it with
| only posix?
| marcan_42 wrote:
| tr -cd a-zA-Z0-9 </dev/urandom | dd bs=1 count=32 2>/dev/null;
| echo
|
| Works on Android (Toybox userland) and macOS (BSD userland, but
| you might need to prefix LC_ALL=C to get `tr` to not hate the
| binary input) at least. And it's more flexible, as you can
| customize the charset and password length arbitrarily, which
| you can't with base64.
| ReleaseCandidat wrote:
| /dev/urandom is not part of POSIX. POSIX only
| defined/dev/null, /dev/tty and /dev/console https://pubs.open
| group.org/onlinepubs/9699919799/basedefs/V1...
|
| But uuencode exists in the POSIX standard. https://pubs.openg
| roup.org/onlinepubs/9699919799.2018edition...
| marcan_42 wrote:
| True, but it's also not GNU anything. Most modern UNIX-like
| kernels implement some form of /dev/urandom or /dev/random.
| The actual shell tools used are POSIX.
|
| I don't think POSIX even defines any functions/system calls
| for getting cryptographically secure random numbers, so if
| you're literally restricting yourself to POSIX constructs,
| then indeed what OP asks for is impossible :)
| DonHopkins wrote:
| I always wanted the /dev/zero driver to use the device minor
| number to define the number that got used instead of zero, so
| you could mknod /dev/seven to make an infinite source of
| beeps.
| enriquto wrote:
| Why don't you submit a patch to the kernel so that this
| beautiful idea becomes reality? It is free software: here
| you can easily _be_ the change you want to see in the
| world.
|
| You may need to be careful because the major number is
| shared with /dev/null, but I doubt these numbers are
| hardcoded in many places.
| phkahler wrote:
| >> OK, I know. I use GNU software. I use Arch, so I'm kinda
| forced to use it. That's part of what makes me angry, though. Why
| are we vendor locked into GNU? Why are we still pretending that's
| good or not as evil as the vendor lock-in measures taken by
| Google, MS, or Apple? Landmining your userland and C Standard
| Library with extensions is exactly what MS does. When MS does it
| is bad, so why is it acceptable or tolerated when GNU does it?
|
| The difference is the license, stupid. You have the source code.
| It's portable. You can compile/change/run these tools anywhere.
| It's not vendor lock-in when it's GPL licensed. If you become
| locked-in because you've really embraced a GNU extension of a
| "standard" tool, that's probably OK since you can use that same
| version of tool anywhere.
|
| The GNU tools are effectively standard. But hey, just keep
| railing against them because you don't like RMS or the GPL or
| whatever axe it is you have to grind. They really are just tools.
| DeathArrow wrote:
| If I would ever criticize GNU it would be over too much politics
| and too much phylosophy.
|
| Criticizing GNU for providing features is absurd.
|
| Users need features, not phylosophycal purity.
|
| Software needs less politics, not more.
| formerly_proven wrote:
| I don't want an only-POSIX-compliant OS or userland, because
| POSIX is not a good standard. POSIX is "let's standardize the
| lowest common denominator across popular commercial Unices".
| Almost everything in the GNU coreutils is there for a decent
| reason - in many instances because of severe problems with the
| POSIX spec (just think about all the POSIX tools handling record-
| shaped data, but not supporting NUL separated records) or because
| it's just handy to have.
| enriquto wrote:
| This kind of emotional articles are the best motivation to renew
| my FSF membership.
| throwawayy293 wrote:
| increasing my donation to FSF. we need more education on why
| free software and the GPL matters. Everyday is an attack on the
| computing freedoms that people take for granted.
| enriquto wrote:
| > Everyday is an attack on the computing freedoms that people
| take for granted.
|
| Just to be clear, Ariadna Vigo is not attacking computing
| freedoms; pretty much the opposite. I agree with her position
| on nearly everything except for her stance about the GNU
| operating system. This is a technical detail in the grand
| scheme of things. Just like tabs vs. spaces, for which it is
| fun to disagree in an over the top way.
|
| We must support the FSF for pragmatic reasons, but we can
| still acknowledge that the "pure unix" philosophy is a great
| and beautiful idea. Also, cat-v and suckless are fun websites
| full of interesting stuff.
| patwolf wrote:
| As a Linux user I often get annoyed when I try to use MacOS and
| some of the commands differ. For example, the find command on
| Linux, er GNU, doesn't require a path, but MacOS does.
|
| I always blamed MacOS/BSD for just being different, but now I
| know that it's GNU that is different. I'm not sure what to think
| about it though--I do like the idea of compatibility with a
| standard, but I also don't like standards to hold back
| innovation.
| jhbadger wrote:
| Some of it is GNU being different, but you also have to
| understand the difference between BSD and AT&T System V UNIX.
| Many GNU tools are closer to the standard AT&T behavior than
| BSD. BSD was the original nonstandard userland.
| spijdar wrote:
| Old UNIX was never really that beholden to standards. In
| practice, the de facto and sometimes "de jure" standards were
| just based on whatever was the most common variant of UNIX,
| which for a while was Solaris (it's oversimplifying, but
| POSIX is kind of like "standardized Solaris"), but is
| becoming GNU/Linux.
|
| Commercial unixes "based on" SysVR2/3/4 had plenty of "non-
| standard" behavior and extensions, it was how you
| differentiated your product. You support POSIX compatibility
| to enable portability if you need it, but you differentiate
| with your extensions or "weird behavior". GNU was no
| different. The BSDs just have their own tradition, one that's
| older than POSIX.
| dwheeler wrote:
| POSIX allows implementations to have extensions, and almost all
| implementations have extensions.
|
| There are good reasons for many of those extensions. Many options
| implement capabilities that probably should be in the standard,
| but currently aren't. For example, POSIX doesn't have easy-to-use
| secure options for handling file names; attackers can insert
| newlines in filenames, yet POSIX lacks options like find -print0
| and xargs -0, so you either spend a great deal of additional time
| writing complicated code that's likely to be insecure, or you
| simply use extensions as almost everyone actually does. Even the
| BSDs and busybox include those examples, by the way. Also, long
| option names are excellent for making scripts easier to
| understand, and really should be in the POSIX standard for
| systems that are not highly memory constrained.
|
| I try to make my shell scripts portable when that is reasonable,
| but sometimes that is simply far too difficult. The minimalism of
| POSIX is an advantage on small systems, or in other constrained
| environments, but most of us today are not trying trying to write
| software for a PDP-7.
|
| In most cases the scarcest resource is developer time. In that
| case having rich functionality and extensions that improve
| readability is more important. I think the market is being
| perfectly reasonable, minimalism is less important than developer
| efficiency in most cases. Your mileage may vary.
| easton wrote:
| Only tangentially related, but POSIX certification doesn't
| require that you don't have extensions, at least I don't think
| so. I could've sworn macOS supported long options on its BSD
| coreutils.
| r283492 wrote:
| > Torvalds chose method 1;
|
| Huh? Torvalds never intended to create an operating system, just
| a kernel, and that is true to this day.
| JasonFruit wrote:
| How about, "Torvalds' decisions led to choice #1"?
| ab3rC1te wrote:
| Bravo, finally another person see's the bullshit that Linux/GNU
| has become. The kernel itself has really become just like the GNU
| userspace, compared to the 2.6 line or earlier. Love hate
| relationship that I have with Linux/GNU but overall I am a
| Slackware fan of old. I enjoy programming and compiling stuff
| from source, but everything breaks. Probably because there are to
| many options to pass to a tool chain. Version numbers on software
| is one major issue with why shit just breaks.
|
| Like the other day building latest bash with old glibc and
| couldn't even chroot into a new environment, because the ld
| linked it with offset magic numbers. It's a shame. Today's code
| base is garbage in my opinion and still can't read code and
| follow what people are thinking they are trying to achieve. And I
| still don't get damn pointers. Can we still write functional
| programs without using pointers? Oh and without linked lists?
|
| I know C programming and others, but will I ever be a master at
| it. Hell no! Why! Because I don't think like K&R, and I didn't
| invent it. The only way I would fully understand a language is
| for me to design my own that worked how I think.
|
| I always like popping in a live Ubuntu disc with v7.04 and
| watching it load lightening fast. And yet here we are with higher
| CPU output but a current Linux/GNU is lagging in response time
| and becoming like Windows 10 that is so overly bloated with
| unnecessary code that is probably like Windows 10 that is tracks
| all your activities.
|
| I like Alpine so far from what I have tried, light-weight, fast
| and easy to use. If I could develop my own OS I would, and wrap
| all the programming languages together into one powerful language
| that fits all the needs from scripting, programming, databases,
| servers, and fit it all into a 1.5 GB space like Windows Xp did.
|
| But here we are...
| ThinkBeat wrote:
| RMS has:
|
| written, and been part of writing a suite of tools that have
| enabled the creation of an emormous catalog of software.
|
| A lot would not have been possible without having access to a
| free compiler and all the other tools needed to write the
| software you dreamed of?
|
| Most of it with no connection to GNU or RMS.
|
| What tools did you think an ethsutiastic student in Finland hasd
| access to to start writing a kernel?
|
| If you want to purge RMS and GNU from your life, go for it. Just
| make sure you also purge all the code created due to it.
|
| Hurd failed? Sort of. Who cares?
|
| He has done more good, helped more people, enabled far more
| people to use computers, and enabled enormous fortunes to be
| made.
|
| Do you think something you write will be used by bilions of
| people for decades?
|
| You do not like him, you do not like his ideology, who cares?
| Dont trivialize his accomplishments.
|
| At least not until you have done the same and much more.
| RNCTX wrote:
| If you pull current image of Alpine in a Docker/Podman container
| build file, the first think you'll notice is that its DNS
| resolution implementation is broken and it can't find the repos
| it's supposed to pull the rest of the image components from.
|
| With that in mind, I would say the number of people who use such
| a thing to run their business on (rather than deleting any
| reference to it in the first 10 seconds of trying to use it) says
| a lot more about the cultish behavior of tech enterprises than
| the linked blog post does.
| zajio1am wrote:
| > Why are we vendor locked into GNU? Why are we still pretending
| that's good or not as evil as the vendor lock-in measures taken
| by Google, MS, or Apple? Landmining your userland and C Standard
| Library with extensions is exactly what MS does. When MS does it
| is bad, so why is it acceptable or tolerated when GNU does it?
|
| Because POSIX (and partiall also ISO C) is just ex-post
| stadardization of features that appeared first as vendor
| extensions, and also does not cover many areas entirely. Useful
| extensions became part of standard, and also many programs just
| need to use non-standardized parts of API (e.g. some Linux-
| specific parts).
| retrac wrote:
| In some ways FLOSS almost encourages a mentality akin to the old
| Microsoft "embrace, extend, extinguish" minus the actual
| extinguishment. The best way to get people to use a free Unix,
| besides making it free, is to make it /better/ than the
| competition while also compatible.
|
| Besides the lack of portability to other Unix systems isn't a
| real problem. The operating system itself is portable! /s
| marcan_42 wrote:
| The whole "GNU/Linux" story always struck me as incredibly
| arrogant and ridiculous. A typical modern Linux system has more
| lines of web browser code than lines of GNU code. Should we start
| calling them "Chromium/Linux"?
|
| If you follow the FSF's actions closely, you will find they're
| incredibly insecure about people switching away from their
| software to alternatives. Typically the alternatives are not
| GPLed but rather under a permissive BSD-like license, and they
| latch onto this to deride any new competitors [1]. But those
| competitors don't typically exist because people hate the GPL;
| they exist because -surprise- GNU software isn't the be-all end-
| all, and it's a fairly common pattern for GNU maintainers to be
| reluctant to change at best, or actively hostile to third parties
| at worst (anyone remember glibc's Ulrich Drepper?).
|
| Then there's how Stallman vetoed GCC having a useful AST output
| mode (a requirement to build smart IDEs and other development
| tools - yes, including such features in emacs) because he was
| scared of third party proprietary extensions. That's one reason
| why clang took off - its extensibility and flexibility, which the
| FSF was always _against_ GCC having. The FSF (and particularly
| Stallman) _hates_ clang, again reaching for licensing and moral
| arguments, because they just can 't accept that some people may
| have written technically superior software to theirs, and done so
| with a more permissive license. [2]
|
| In the end, it's hard to see the FSF's response to these things
| are anything but controlling and attempting to stifle
| competition. And we absolutely need competition for a healthy
| free software ecosystem. There is no value in trying to represent
| GNU as some kind of indispensable component of a Linux-based OS -
| they aren't, and pretending they are hurts us.
|
| [1] https://github.com/uutils/coreutils/issues/1781
|
| [2] https://gcc.gnu.org/legacy-ml/gcc/2014-01/msg00247.html
| traverseda wrote:
| >Should we start calling them "Chromium/Linux"?
|
| Well, if chrome is the primary set of userspace tools,
| "chromebook" might be a reasonable name.
|
| I'm not sure how to differentiate android/linux (or even
| Chrome/linux) from UNIX-philosophy/linux, whether UNIX-
| philosophy ends up being busybox or GNU or something else.
| marcan_42 wrote:
| Honestly, where do you even draw the line? Android has a
| shell, it has userland tools (toybox), it has a service
| manager (not unlike systemd), it has a compositor (not unlike
| Wayland) and an audio server (not unlike PulseAudio). Sure,
| we can look at it and say "this somehow doesn't look like a
| Linux desktop", but that's mostly based on lineage. It's the
| ship of Theseus story - if Linux desktops today are so
| different from those of old that we've basically replaced all
| the pieces, how are they different from an OS that made more
| of a clean break?
| selfhoster11 wrote:
| Your comment makes a very good point. Android really does
| seem like a Linux system when described in this way. I may
| need to re-evaluate my attitudes here.
| pjmlp wrote:
| Except most of that stuff is only visible via Java APIs,
| NDK userspace is hands-off to such tools
|
| A fact that termux people refuse to accept, hence why it
| doesn't run on the latest versions, unless they now finally
| accepted that POSIX isn't part of the official NDK stable
| APIs and have started calling into JNI.
|
| Plenty of Linux software won't be compilable just with
| these APIs, unless they are game based,
|
| https://developer.android.com/ndk/guides/stable_apis
| marcan_42 wrote:
| That's an upper level platform policy question, which is
| rather difficult to compare to because... Linux doesn't
| really have anything like that. Try running a dynamically
| linked executable with more than the basic dependencies
| on a Linux distro 2 years newer and see how many missing
| dependency libraries you run into due to ABI changes and
| soname bumps...
|
| FWIW, Termux works perfectly fine on the latest version
| of Android - what they can't do is push updates through
| the Play Store, because the minimum required API level
| now imposes security restrictions (no running executables
| from your data directory) that break it. But that doesn't
| make Android not a Linux system; you can still adb shell
| into it and run commands and shell scripts and copy new
| binaries in and run them.
|
| This is not unlike Linux container systems, which also
| break various apps. It comes with the territory of
| containerizing applications that you have to break
| insecure legacy APIs; this is not unique to Android.
| pjmlp wrote:
| Fork() is not part of the API, that is one of their
| issues.
|
| Regular users don't have any idea what adb is, and it
| requires developer mode to be enabled.
| teddyh wrote:
| > _incredibly arrogant and ridiculous_
|
| > _The FSF (and particularly Stallman) hates_
|
| > _FSF 's response to these things are_ [...] _controlling and
| attempting to stifle competition_
|
| The "hate" seem to be all on your part.
| hyproxia wrote:
| Most of the people that dislike GNU base their dislike on
| political reasons (because they hate the GPL or Stallman or
| whatever) and then try to embarrassingly justify their hate
| by shoehorning technical jargon.
| marcan_42 wrote:
| Most of the people that support the FSF base their support
| on vague poorly-grounded ideological reasons (because they
| drank the Stallman kool-aid or whatever) and then try to
| embarrassingly justify the missteps of their idols by
| deferring to said vague ideology to deflect from the
| elephant in the room.
|
| I have a whole Twitter thread on how the modern FSF's
| policies actually _hurt_ user freedom while being
| completely inconsistent with their own ideals, if you 'd
| perhaps consider opening up your mind to criticism of them:
| https://twitter.com/marcan42/status/1377899929209774081
| bregma wrote:
| The FSF is a political organization. Supporting it for
| political reasons is wholly appropriate. Disparaging the
| people who do so with put-downs and insults instead of
| engaging in reasoned debate is not.
| marcan_42 wrote:
| The FSF has long been shifting from being a political
| organization to being a religious organization. Its
| policies are no longer consistent with their own views of
| user freedom. Read the thread for more info. They are
| literally promoting things that hurt user freedoms -
| things like promoting ignorance of security flaws,
| promoting hiding proprietary firmware (because it's only
| a problem if it _looks_ like a blob), promoting actively
| crippling hardware (thus reducing its usefulness with
| present and future free software), and more. Those who
| blindly support them without taking a deep look into
| whether their actual policies are consistent and rational
| and further their goals are no different from religious
| fanatics who stand by ancient scripture while ignoring
| thousands of years of progress.
|
| I support user freedom. I support users having control
| over their own devices, knowledge of what software runs
| on them, and knowledge of what choices are available so
| they can make an informed decision. I spend most of my
| time working on reverse engineering and porting Linux to
| proprietary hardware (Apple M1) so users have the freedom
| to run whatever OS they want. I cannot support the FSF,
| an organization which supports censoring security
| vulnerability warnings when fixing them involves updating
| proprietary firmware (that already exists anyway); that
| supports burying proprietary firmware in non-
| introspectable read-only memory because then they can
| "pretend it's hardware", then selling the result as
| "fully libre" (even though the same device with the same
| firmware _visible_ and _accessible_ to the user would be
| much more free and transparent, allowing introspection,
| auditing, and replacement with a free alternative); that
| supports physically destroying hardware components that
| presently require a proprietary driver to function,
| ignoring the possibility that free software drivers might
| appear in the future. These are real FSF policies and
| actions. This is what you are supporting when you support
| the FSF. It 's not user freedom any more. It's religious
| nonsense like "blobs in /lib/firmware are bad, we can't
| have any blobs be out in the clear".
| type0 wrote:
| > that supports burying proprietary firmware in non-
| introspectable read-only memory because then they can
| "pretend it's hardware", then selling the result as
| "fully libre" (even though the same device with the same
| firmware visible and accessible to the user would be much
| more free and transparent, allowing introspection,
| auditing, and replacement with a free alternative);
|
| Totally agree, they have been completely swallowed by
| their own ideology. This shows that their actions are
| contradicting the same things FSF says publicly: that
| reverse-engineering is important.
| marcan_42 wrote:
| "The most notable thing about this project is it allows
| proprietarization while GNU coreutils doesnt"
|
| That's a GitHub issue title filed by an FSF director on a
| project whose goal is to rewrite the basic POSIX core
| utilities in Rust, for security and maintainability. Because
| they MIT licensed them. They are literally telling a new
| competing project that they are worthless and an attack on
| the FSF due to their license choice.
| teddyh wrote:
| > _"The most notable thing about this project is it allows
| proprietarization while GNU coreutils doesnt"_
|
| > _They are literally telling a new competing project that
| they are worthless and an attack on the FSF due to their
| license choice._
|
| If that's your interpretation of that quote, I'm not sure I
| can help you.
| Mc91 wrote:
| > I could've talked about Android and embedded Linux. I didn't
| want to, though. But me not talking about them doesn't mean they
| also show that the FSF telling half truths when it comes to what
| GNU is.
|
| > If you thought I was going to go the "Android route" of
| argumentation... You know... saying that Android shows that Linux
| can be used without GNU... Sorry! I'm way more sophisticated than
| that!
|
| Sophisticated in what sense? That when you search the Android
| source tree you find FSF code?
|
| https://cs.android.com/android/platform/superproject/+/maste...
| marcan_42 wrote:
| Finding a few files containing (BSD-licensed!) code that
| originated in the FSF doesn't sound like a particularly
| compelling argument that people _have_ to use their code. Of
| course people _will_ use their code when it does the job and
| the license fits, it 'd be silly not to.
|
| FWIW, here's a search for FSF-copyright code that excludes
| build generator output (autotools/automake/libtool/etc) and
| gcc/bison/etc related stuff (which many other projects which
| are not themselves FSF-authored use), as well as licenses
| themselves:
|
| https://cs.android.com/search?q=copyright.*free%5C%20softwar...
|
| 193 hits, and a lot of that is ffi and libbacktrace stuff.
| Exclude those two projects, and you're down to 47 hits, most of
| which are random things like headers, test shell scripts, and
| some translations. I think it's fair to say that Android does
| not include any significant amount of GNU/FSF code.
|
| (Keep in mind that the Android codebase is _massive_ and
| vendors a huge amount of third-party projects, so it 's
| actually quite remarkable that there is so little FSF code in
| here - part of that speaks to how little FSF people contribute
| to other projects!)
| ho_schi wrote:
| The GNU implementation of 'yes' looks like a meme, true. And FSF
| behaves sluggish, true. The rants about the bash and glibc lack
| actual foundation. Same for the comparsion with C++. And there is
| nothing wrong with long options or adding more useful options.
|
| 1956
|
| Thanks the the consent decree from 1956 AT&T wasn't allowed to
| enter new markets and license patents royalty free, what we got
| was UNIX and C and open code. They regulated AT&T positively!
| Probably the best thing the United States Department of Justice
| did. They ditched capitalism and everything got better by
| magnitudes!
|
| 1983
|
| The US Department of Justic setteled a consent degree with AT&T.
| Probably the worst thing the Department of Justice did. They
| allowed them to split up and do whatever they would. Full
| capitalism! Since then the US have seen no market regulation.
| What followed wear UNIX-Wars, lawsuits and finally companies like
| Microsoft, Google, Amazon, Facebook and Apple.
|
| You want blame someone? Blame the government. But I see two
| lessons. The regulation has worked. Single fines (punishment) or
| splitting about doesn't. AT&T is again the largest
| telecommunication company and UNIX was busted.
|
| I'm thankfully for what we learned from UNIX, that POSIX gave us
| some guidelines in the past, the C Language and finally all the
| descendants - Linux, GNU, C++, GCC, BSD Network Stack and
| GCC...and finally LSP (works wonderfull with NEOVIM and CLANG).
| forgotpwd16 wrote:
| The author didn't really bother researching much the historical
| points. Someone can read the initial GNU bulletins to see that
| Stallman was planning a kernel before those tools. It isn't that
| he chose (as said) to write the userland first but did while
| waiting for TRIX to be released as free, something that never
| happened.
|
| Of course when Linux became a viable they decided to abandon
| their plan and concentrate resources on userland. Kinda opposite
| to the usual of similar projects being co-developed leading to
| fragmentation. If there's an already capable kernel, why write
| another?
|
| Another problematic point is the "look how much lines it takes,
| such a bloat" for `yes`. And then proceed to call it convoluted
| for pointless reasons. I guess being[1] about 100x (you read that
| correctly) faster is a pointless reason if a binary program you
| use rather develop can be written in fewer lines of code. Those
| GNU devs really should be more lazy.
|
| Also there's "portability". If you write a program that is
| utilizing Linux' specific calls then your program isn't portable
| to other Unix-like systems. Same way that if you write
| `/usr/bin/env bash` at your script it won't be portable to other
| shells. You can of course install some POSIX utils implementation
| and use those, and you'll limiting yourself, but at least you'll
| have portability to systems you aren't using.
|
| [1]:
| https://www.reddit.com/r/unix/comments/6gxduc/how_is_gnu_yes...
| pwdisswordfish0 wrote:
| > waiting for TRIX to be released as free, something that never
| happened
|
| Needs correction.
| the_af wrote:
| I suppose this is part of the new generation of people getting
| into software (not saying Ariadna is one of them, but it wouldn't
| surprise me). She is right that in the Spanish world (and in
| Latin America in particular) RMS and the FSF are well-respected,
| with little of the controversy that sparked in the English-
| speaking world -- thankfully!
|
| The article raises interesting points, but the whole rant against
| GNU and FSF is weird. GNU (yes, _and_ Linux) and FSF is why many
| of us are in this business. They played a huge role in the career
| and passions of many of us -- I feel entitled to say "us" just
| like the author of TFA carelessly speaks about "we" -- and
| misunderstanding the history of how we got there doesn't help.
|
| To me it feels as if a new generation of tech minded people have
| started taking things for granted, "why do we even need all those
| movements fighting for users' freedom, if I am free _now_? ".
| It's a bit depressing.
|
| The different approaches and goals of Linus Torvalds and RMS are
| both valid, and only in hindsight can we say one triumphed and
| the other didn't, but the article makes it look as if one of the
| two was obviously wrongheaded.
|
| So some interesting points, but it could do without the whole
| rant against GNU and the FSF, and without the accusations of
| cultishness.
| matheusmoreira wrote:
| > To me it feels as if a new generation of tech minded people
| have started taking things for granted
|
| Indeed. Most fundamentally, they take their computing freedom
| for granted. There are powerful forces who want to take it away
| from us. There are powerful and rich people out there who think
| it's too dangerous for mere citizens to have access to
| unrestricted computers.
|
| People focus on Stallman's software licenses as if that's what
| he's all about. They barely matter. People ignore the big
| picture: computing freedom. It's not just important, it's
| fundamental. Without this freedom, there is no hacking as we
| know it. There is no way to write and run our own software.
| What good is free software if a corporation or government
| signature is required to run it?
|
| Stallman saw this coming before most if not all of us.
| jabl wrote:
| > Most fundamentally, they take their computing freedom for
| granted. There are powerful forces who want to take it away
| from us. There are powerful and rich people out there who
| think it's too dangerous for mere citizens to have access to
| unrestricted computers.
|
| To an extent, I agree. I wonder whether the general move in
| the open source community will turn out to be a Faustian
| bargain. Are open source developers just a bunch of suckers
| being taken advantage of to provide building blocks for
| various proprietary business models? OTOH I'm thinking that
| more open source code out there is a public good, and we
| should rejoice in that regardless of 'proprietary free
| riders'.
|
| > People ignore the big picture: computing freedom. It's not
| just important, it's fundamental.
|
| No. What's fundamental is freedom for people. Computing
| freedom matters only as a means to that end.
| the_af wrote:
| > What's fundamental is freedom for people. Computing
| freedom matters only as a means to that end.
|
| I agree, and I'm going to guess the person you're replying
| to also agrees. In fact, RMS would also agree. It's just
| that we are narrowly focusing on a single aspect of freedom
| in this conversation, but yes: freedom to live, to work, to
| education, to health, are all more important :)
| matheusmoreira wrote:
| > Are open source developers just a bunch of suckers being
| taken advantage of to provide building blocks for various
| proprietary business models?
|
| Perhaps. The whole point of the GPL is to give free
| software developers advantages and create leverage we can
| use against those who would exploit our labor. Permissive
| licenses allow that exploitation.
|
| In the end, it's irrelevant. All this software, all this
| positioning for advantages and leverage, none of it will
| matter if the machine itself is taken away from us.
|
| We'll never be truly free until computer manufacturing is
| as democratized as software development. Ideally we should
| be able to make computers at home.
|
| > No. What's fundamental is freedom for people.
|
| Absolutely. Computing freedom is a subset of personal
| freedom.
| type0 wrote:
| > We'll never be truly free until computer manufacturing
| is as democratized as software development. Ideally we
| should be able to make computers at home.
|
| If we had a few NGOs that were committed to freedom, were
| transparent and produced good hardware it would be a more
| reasonable option. Sure I can dream about the future
| where I can 3D print all electronics at home, but that
| computer wouldn't run very good and we all know this.
| zekrioca wrote:
| The well regards for GNU and RMS in the Latin world is due to
| the strong philosophy against closed software, specially from
| MS. During most of the 90's and beginnings of 2000's, M$ would
| force their expensive licenses in governmental systems and
| would make everything to avoid interoperability, even within
| versions of their own systems.
|
| End result was that countries would spend millions just to be
| able to share documents across agencies. Things started
| changing when KDE/Slackware, Ubuntu, Firefox, OpenOffice and
| other software systems started to become user-friendly, with
| nicer and intuitive interfaces. From this point on, governments
| started teaching GNU/Linux in schools and universities,
| explaining the benefits, the rights, etc, and then switching to
| open-sourced and free-software systems.
| the_af wrote:
| Agreed that we in Latin America saw these upsides of
| switching to FOSS and are therefore friendlier to its
| philosophy.
| paxcoder wrote:
| Only - we're not free. You have a point about young people not
| being to appreciate not having freedoms perhaps. But our
| generation has already dropped the ball. We're non-free when it
| comes to most hardware, web services, mobile software. This is
| because people don't really care about their freedoms. They
| settle for "pragmatic" benefits of open source software. People
| enjoy freedoms themselves, mind you, but they the problem is
| that they think that anything beyond that there be conspiracy
| theorists or something. Along with Stallman's social
| awkwardness, the culprit is Linus' siding with TiVoization and
| against GPLv3 in my opinion.
|
| Anyway, It's not over, and knowing how markets tend to
| monopolies, we'll be fighting forever. Which won't be a problem
| once numbers are on our side. Right now we're in a stale mate
| with much of the front being taken by proprietary software.
| That is not likely to change until the free software community
| gets a better face, but agenda-pushing codes of conduct won't
| do that. We need a serious discussion about software freedoms
| djur wrote:
| I'm in the English-speaking world and I wasn't aware of any
| particular controversy with the FSF other than issues regarding
| RMS himself and his personal conduct. Is that what you're
| referring to?
| jabl wrote:
| There is certainly controversy around RMS, as you say.
|
| But I think more generally, wrt FSF there's not so much
| controversy [1] as disappointment in the FSF failing to stay
| relevant. Copyleft was a solution to the 80/90'ies software
| world. The FSF tried with the AGPL to answer the 'threat' of
| SaaS, but largely the world has shunned it except as a poison
| pill license to upsell a proprietary version. Similarly with
| the GPLv3 the FSF tried to answer to the threat of
| Tivoization, but again, largely failed to gain adherents in
| the low level components, like the Linux kernel, where this
| would have mattered.
|
| [1] Well, the FSF taking RMS back on its board did produce a
| tsunami of corporate (financial) contributors leaving ship.
| the_af wrote:
| The "failure to stay relevant" is an odd comment that I
| have indeed read many times (mostly from English-speakers;
| as I said, in Latin America the FSF is admired).
|
| It's odd because it's worded in a way that sounds as if the
| FSF wasn't necessary now (or maybe even never), instead of
| thinking that the FSF is needed more than ever, now that
| there's a war against general purpose computing and against
| privacy and users' rights, and that if the GPL3 and AGPL
| didn't work -- which is possible! -- then _how do we fix
| that?_
|
| Instead it's either apathy and even scorn against the FSF,
| which is alarming to me.
| type0 wrote:
| > Instead it's either apathy and even scorn against the
| FSF, which is alarming to me.
|
| It's not just FSF, there's also ethical software types
| trying to destroy OSI from within. We are seeing so many
| attempts to dismantle important organizations now it
| leaves me baffled.
| the_af wrote:
| Mostly yes. But also the feeling that FSF is "out of touch"
| or that RMS is a weirdo is much less prevalent in Latin
| America, where (in general, the people/organizations I know
| of at least) view them with more admiration than in the
| English-speaking world.
| jmmv wrote:
| Good article.
|
| Just wanted to point out https://jmmv.dev/2021/08/useless-use-of-
| gnu.html, which also covers the portability problems that GNU has
| widely introduced and describes alternatives to the common
| issues.
| thayne wrote:
| Interesting that the section on make gives an alternative to
| `$(shell ...)` that actually relies on a bashism. `$( )`
| command substitution isn't POSIX compatible. you would need to
| use backticks.
| forgotpwd16 wrote:
| Opposite to common belief `$()` is the way to do it by the
| standard[0]. POSIX sh differs from Bourne shell.
|
| [0]: https://pubs.opengroup.org/onlinepubs/9699919799/utiliti
| es/V...
| [deleted]
| r283492 wrote:
| > the BS the FSF spits out
|
| The whole article didn't mention even one concrete thing the FSF
| has said wrong, it just slanders them several times. No wonder it
| says to the FSF "don't bother to contact me."
| bitwize wrote:
| GNU is more than a shitty POSIX userland. Most of the interesting
| stuff is happening outside coreutils: Emacs, gcc, Guile, Guix,
| GIMP. The next phase of the project is to bootstrap a trustworthy
| free software OS from as small a binary kernel as possible, which
| is what GNU Mes is all about.
| nix23 wrote:
| >small a binary kernel as possible, which is what GNU Mes is
| all about
|
| Hurd or seL4...but obviously no one is interested in such an
| Kernel for servers, mobile or the desktop.
|
| From MY perspective, the OSS OS community was in a much
| healthier state in the ~05's then it is now (Linux, BSD,
| Solaris, Minix etc) where all maintained and gave plenty of
| selection of ~OSS operating-systems, now it's just that Linux.
| tut-urut-utut wrote:
| Well, that kinda proves that FSF was right. Linus, the only
| GPL licensed OS of the ones you mentioned, is the only one
| that survived the test of time.
| nix23 wrote:
| Yes, i think the same about the Kernel/FSF. However i don't
| care about the license (since i use BSD)
| pjmlp wrote:
| That is why the Linux Foundation is now pushing Zephyr for
| IoT, right?
| formerly_proven wrote:
| Zephyr seems to mostly target Cortex-M-based devices,
| which can't run Linux in the first place.
| pjmlp wrote:
| Zephyr is just one among many MIT/BSD/Apache POSIX
| alternatives to Linux on IoT space, which CPUs it runs on
| is secondary.
| nix23 wrote:
| No one here talks about IoT, i talk about a real OS...you
| as a Windows person should know the difference ;)
|
| Edit: Linux is not a OS but a Kernel...got it? Your
| should know the difference as a Windows/UNIX person ;)
| pjmlp wrote:
| So when Linux runs on IoT devices it stops being a real
| OS? Got it.
|
| By the way I am a Windows/UNIX person, note the UNIX
| part.
| nix23 wrote:
| >That is why the Linux Foundation
|
| The FSF is not the Linux Foundation
| pjmlp wrote:
| The IoT space is full of POSIX alternatives, all
| BSD/MIT/Apache licensed, and this is what will eventually
| drive Linux away from that market.
|
| Fucshia is already shipping on the Nest, lets see what
| happens next.
| nix23 wrote:
| Where did i mentioned IoT? I wrote especially
| Server/Desktop/Mobile...NOT IoT.
| pjmlp wrote:
| Mobile phones are basically IoT on steroids.
| nix23 wrote:
| Then Servers (or appliances) are IoT's on steroid
| too...with your logic.
| forgotpwd16 wrote:
| >no one is interested in such an Kernel for servers, mobile
| or the desktop
|
| Excluding Google (Fuschia) and Huawei (HarmonyOS).
| nix23 wrote:
| Both are not made for Server or Desktop Systems, one is for
| IoT possibly Mobile, the other is...well i don't
| know..freedom from Android..politics?
| bitwize wrote:
| Not even Hurd or seL4, but like... some binary runtime
| environment small enough to be audited at the machine code
| level, that could bootstrap something bigger, that could
| bootstrap a tiny simple C compiler, that could bootstrap GCC,
| that could _then_ be used to bootstrap the most successful
| GNU kernel, Linux-libre.
| froh wrote:
| How do you see fuchsia in that list of micro kennels?
| nix23 wrote:
| Not as a Server/Desktop OS. Both are not intended as a
| generic OS, but rather specialized solutions..just like for
| example QNX. Don't get me wrong, i would love being wrong
| about that.
| don-code wrote:
| While I generally agree with the author that the userland
| monoculture isn't helpful for portability, that argument belies
| the fact that most people I've worked with _want_ those extra
| features that GNU gives them. I started using Linux and IRIX
| around the same time - but I actually didn't really "understand"
| the difference, because someone had gone out of their way to
| install the GNU userland.
|
| That's something the article leaves out: while GNU and Linux are
| many times seen as a unit, there's a rich history of installing
| the GNU tools on other Unixes, because of the extra functionality
| they offer.
|
| There is, of course, the argument against portability. At my last
| job, as the only Linux user on my team, I more than once wrote
| shell scripts that only worked for me - as soon as someone on
| macOS ran them, they'd run into a missing feature on `sed`, or a
| different calling convention on `date`. Which is why, at my
| current job, I'm very begrudgingly a macOS user - it makes me a
| better coworker.
| mplanchard wrote:
| This has always been a problem for me as well, but we've pretty
| much solved the issue at my current job by using nix to manage
| the development environment. With nix-shell and direnv, we can
| know that anyone working on the project is using the same
| versions of coreutils, sed, grep, make, etc. The learning curve
| on nix is a little steep at first, but it's been worth it:
| we've got devs running five distributions of Linux, plus a
| couple on MacOS.
| spinax wrote:
| One of the first things we did on Solaris installs was install
| the GNU userland (it's been so many decades, I forget the
| specifics - packaged somehow, not ./configure; make) so we
| could get GNU sed and awk (and bash and vim) amongst all the
| other things. My anecdotal experience matches yours, we
| _wanted_ those GNU features on our Solaris experience, they
| were /are useful extensions.
| simion314 wrote:
| The author uses "we" a lot but who are this "We"? For sure there
| is a large number of Linux users that are not part of his "we". I
| consider myself someone that is into the technical stuff but at
| the same time I care about the philosophy and meaning of "Free
| Software".
| the_af wrote:
| Agreed. There is no "we". I, and many others, do not agree with
| the author in that she values the technical more than the
| philosophical goals.
| djur wrote:
| The accusation of vendor lock-in against GNU doesn't land for me.
| It's hard to look at GNU Autotools and see that as coming from a
| project desiring world domination. Yes, it helped them get GNU
| software onto more systems, but they went out of their way to
| make Autotools usable for non-GNU software as well. If there's
| any history of GNU attempting hostile measures against their main
| free "competitors", the BSDs, I haven't heard it.
| greyw wrote:
| > And we like things following the standards already put in
| place. Because we don't give a damn about helping the FSF do
| their thing: We care about tech. We care about and love the
| legacy of UNIX, its philosophy, and we want to adhere to it as
| strictly as possible.
|
| Who is this 'we'? I don't care about the UNIX philosophy (I'm an
| emacs user). First thing I do on bsd systems is install the GNU
| userland. BSD tools follow the POSIX spec like a cult refusing to
| add useful extensions. Look how hopelessly broken posix sh is. I
| work quite often with busybox on small embedded systems and the
| limitedness of its vi implementation makes me irrationally angry.
| [deleted]
| the_af wrote:
| Totally agreed.
|
| Be wary of posts and articles which talk about an universal
| "we" as if everyone thought the same.
|
| I, for example, care more about the philosophical aims of the
| FSF and RMS than about the finer technical points. That Linux
| is a very useful OS for me is a bonus. So "we" do not just care
| about tech; "we" also care about users rights and freedom.
| blacktriangle wrote:
| She makes me want to brush up my Spanish so I can join their
| community that apparently still believes in the goals of GNU and
| the FSF.
___________________________________________________________________
(page generated 2021-09-30 23:02 UTC)