GNU - A clarification of my viewpoints
#1
GNU - A clarification of my viewpoints
Since it was recently brought up a 2+ year old post of mine on GNU on a now defunct blog, I thought I'd take the opportunity now that I'm on an actual physical work vacation in NC to talk a bit more about my philosophy and opinions and better articulate where I stand, especially as my views have evolved to some degree since I made that post. 

GNU as a project/ideology

Let's not mince words. I do not consider GNU a moderate approach to software development. It is openly radical, hostile to proprietary software, and I consider its principles hypocritical.

The idea of enforcing the "freedom" of a project by using law to take away freedom from individuals I consider to be hypocritical and an attempt to write out individual copy protections. They should be honest: they are not free as in freedom. They are socialized products trying to destroy proprietary software.

This is because what the GNU General Public License does de jure is try to get you as a contributor to sign away your code so it cannot be reused in a proprietary or permissive project. Whether or not that would stand up in court is one thing, but the fact many corporate contributors to projects like LLVM are prohibited from viewing and often contributing to GNU GPL projects is kind of telling.

GNU CC

GCC has long been a major issue I have with software produced by GNU, because once it became a thing, projects like the original CC and BSD PCC were forgotten by the wayside. Until LLVM, there was no competition. To this day, there is still no competition on many platforms that GCC or proprietary compilers have a monopoly on. 

This long-term monoculture of GCC has led to GNU89/99+ and many compilerisms of GCC becoming standard. I am aware this is not unique to GCC, MSVC, MIPSPRO, XLC etc. all have similar extensions, problems and more. The issue is that these have become a standard requiring LLVM to work overtime to support those extensions, and hampering efforts like PCC and such. 

Screen

Screen and its nearly 5 year pause in development highlights a major issue I have with GNU tools: code quality. When maintainers drop, code familiarity becomes important. But continuously, I notice GNU tools are far bigger than they need to be despite other portable tools existing that accomplish similar things in smaller lines of code. Yes, this doesn't include macros or external functions or anything. But a raw basic lines of code size thing is a legitimate grievance. Software is a process, you can't leave it rotting without major issues resulting. 

The importance of diversity

The main reason I've expressed frustration with GNU is it reminds me of communism, and no further is this exemplified than from my cousins in Cuba sending me photos of their grocery stores. You have one, usually nationalized brand, for many things. You either buy that brand or you get nothing and like it.

That's a situation we are now seeing evolving on many platforms, even IRIX. We are being forced to either rewrite our code to conform to MIPSPRO, which I like, but has some clear limitations, or we use GCC, with the caveat that post 4.7.x builds don't seem to offer much performance wise, only they ease problems arising from C11+ code or C++11/14 code.

This is why I pushed hard for LLVM and expressed frustration when Erno and HAL decided to try reimplementing support into modern GCC. It has distracted many people who would otherwise see a need. Even the amiga guys want support from LLVM and started a bounty which has raised more than 2 grand! 

https://www.bountysource.com/issues/9082...d-upstream

Even our resident Chris Hanson contributed to it. (No not the dateline dude, it's  Eschaton) 

I'm aware that my advocacy for this and aversion to GCC has caused problems and people automatically assume that I don't know what I'm talking about because I'm not a compiler developer. They're right I'm not a developer of that calibre, but I'm not stupid. Anyone with eyes can see that I'm not stupid. It doesn't take a compiler developer to understand that there's an issue with the way in which things have been approached and we have left ourselves in a bad situation by not working together towards alternatives. This complacency is a bad thing, in my opinion. Saying "well, we have GCC" kinda reminds me of people who dont see a need for a website for their business: 

"Well we have a Facebook" is the equivalent. Or don't see the need for a forum: "Well we have a discord, Facebook, subreddit, that's enough" 

No.  It's not enough. I like to see us moving forward, not stagnating.

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
(This post was last modified: 07-08-2020, 01:56 AM by Raion.)
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
07-07-2020, 03:13 AM
#2
RE: GNU - A clarification of my viewpoints
Somehow the thread got locked, sorry! I have unlocked it. If anyone has any questions or concerns over past statements or they just wanna discuss why I feel this way, feel free.

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
07-13-2020, 03:34 AM
#3
RE: GNU - A clarification of my viewpoints
And here's something for thought on critics of the BSD/MIT licenses:

https://lkml.org/lkml/2007/9/1/102

They give a LOT more protections than people consider Smile

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
04-27-2021, 04:23 AM
#4
RE: GNU - A clarification of my viewpoints
The key issue, for me, is how quality of software has been dropping.
We fix everything by "throwing more hardware at the problem".

Big corps contribute to open source based on their requirements and, once things run and don't crash, they submit their code upstream and that's it.

The way things are drafts more and more away from the old UNIX philosophies and KISS principles. Everything is so bloated, inefficient and slow (communism as you said) that I find myself more and more using older computers and older software that help me get the job done faster.

GNU is fruit of the core problem - the race to the bottom in terms of costs, the general unwillingness to pay for things - and our salaries basically stagnated, which means paying for things we should be paying for becomes a problem.

Moreover, commercial software has telemetry (aka spyware) everywhere, so access to the sources is a strong motivator for many folks. The rent model is also crap. I'm stuck with Photoshop CS3 because it does what I need it to do and I'm not in the mood for paying a monthly fee. Let me get a perpetual license and I will upgrade when I need.
Shiunbird
Administrator

Trade Count: (1)
Posts: 553
Threads: 45
Joined: Mar 2021
Location: Czech Republic
Find Reply
04-28-2021, 12:26 PM
#5
RE: GNU - A clarification of my viewpoints
Agreed, but what also comes to mind is one thing people don't want to openly talk about, the painfully slow death of desktop software. As someone trying to break into the desktop software market, I'm beyond shocked how rotted everything is for desktop-only software (cross-platform), desktops software basically stopped progressing around 2004.

Why...because SaaS became the new norm of monthly income, but also...you get a free FULLSTACK software heap for free with SaaS. See there is a hole in the GPL. it's free to you, not free to sell, so as long as you don't sell the the actual software...it's free for ANY use. Sounds great, until you realize this is how Amazon and Google keep their costs way down...they use OSS in-house but sell an online service with very little actually downloaded applications (yeah, mobile has a few, but that's minor compared to the entire company software pile).

They don't really even HAVE to contribute back, but often for bugs it's easier to throw it back to the project devs and let them keep in the code then attempting up-keep a giant patchset as an OSS project moves forward.

To make my point very simple, if I build a car-washing robot out of open source parts and software, and I have it wash-cars for me...that's legal. I'm not selling a car washing robot, I'm selling car washes!

This one point as been the biggest influence on server and consumer computing in the last 15+ years. It's stripped away power of the individual's computer and given it to a shared system.

Now there are pluses, but for me some things are better to be licensed to my own PC so I can use them whenever (in time, decades) and wherever (without internet) I need. I think the vast majority of application these are days are either web-front ends or partially-backed web backends with local graphics.

Either Way, the days of the truly "local" application are dying slowly, and I harp back to my past when we were still on DOS/Windows 3.11, then Win9x/ME, then NT/2K/XP before things got taken, but the assumption back then was you were "helped" by the web but driven by your local setup...that's not really the case anymore and it's basically a stripping of our user rights because now you have to be online to use simple things. That may or may not be easy at the time you need it, but also puts to death you using the product when the company decides it's time (remote system turn-off).

But this is the primary way for companies to exploit this legal hole in GPL, sell the result...not the software.
weblacky
I play an SGI Doctor, on daytime TV.

Trade Count: (10)
Posts: 1,716
Threads: 88
Joined: Jan 2019
Location: Seattle, WA
Find Reply
04-29-2021, 12:31 AM
#6
RE: GNU - A clarification of my viewpoints
The legal hole is called the ASP loophole. I don't care about it as much but there's the AGPLv3 and CPAL (the latter of which I've used on a few things for compromise with users who see it as necessary) if you really want to protect your software.

My issue is that GPL decays software. As I said in my post, years went by before a new release of Screen. It also creates monocultures.

Really though, there's alternatives to most web-based, online always systems. You will have to sacrifice some convenience and perhaps pass up a few jobs, but that's your prerogative and tradeoff, opportunity cost. I turned down a job that would have required me to be a slave to GNU/Linux. Am I stupid for turning it down? Hell no. I would have been unhappy.

As the one most likely to redevelop IRIX, my goal is that IRIX will serve as a niche alternative to what I see as overly restrictive GPL licensed trash, the illumos community with it's pseudo-LGPL (CDDL is similar in some ways) code and generalist, unspecific but permissive BSD and MIT licensed software. A middle ground taking the best of the camps that we want, but keeping 100% BSD/MIT/CDDL when possible. IRIX on modern hardware or even redeveloped for old systems under GPL will probably just be trash.

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
04-29-2021, 02:16 AM
#7
RE: GNU - A clarification of my viewpoints
Well, the old is new again...
The Softpanorama folks have a brilliant essay explaining how SaaS/Cloud is just the new mainframe era, and people will come to hate it just as much as they hated IBM back then.

I'm responsible to migrating our on-prem (and brilliant) media streaming platform to a SaaS solution. The whole thing was a complete disgrace. The guy who was previously responsible threatened me to keep the deadlines over a security concern. He threatened to accuse me of being racist. The whole mess ended up with our CTO. We had to hire an external security consultancy and a whole year later, the solution still lacks user-level authentication for user access and the whole security model is based around an origin host header. It's bad. The entire world is now dependent on a few big companies.

It's incredible short-sighted to place your independence on the hands of a handful and quite shady corps (Amazon, cough). And, yes, I work with AWS, because I must. Technically speaking, the whole thing is a masterpiece. However... betting your whole business entirely on another one is a bizarre single-point-of-failure, but in this world of profits over everything, I don't expect this attitude to change.

So... I am with you. The only new computers that I own are provided by my employer. I'm starting to slowly get better at writing software. I even have one or two simple games in mind that I'd like to sell on mobile platforms - but no ads, no user tracking data. You pay, you have it, it runs entirely offline.

I just hate the bloat. Have you ever used Slack?
I think the interface is written in JavaScript, for easy portability, or something totally not suited for the task.
Outlook takes so long to load - it takes longer to load on my machine with 64GB of RAM than it did back when I had 8MB. =\

It's all just sad. Software development used to be a sort of art - people wanted to see something beautiful and elegant out.
Now with the global lobotomy that Agile is, it is just so maddening to see all the problems and inconsistencies all the time. Ugh.
Shiunbird
Administrator

Trade Count: (1)
Posts: 553
Threads: 45
Joined: Mar 2021
Location: Czech Republic
Find Reply
04-29-2021, 05:12 AM
#8
RE: GNU - A clarification of my viewpoints
I agree with history repeating itself, the real question is...is everyone really so ignorant of computing history that they don't see that exact same issues of vendor lock-in from back then? Also current cloud computing is very expensive for small players. it really makes sense when you're growing and need more capacity every day, most people don't need that.

I've always wanted to meet a real pro developer from like 30-40 years ago and ask them how they did it, how they modeled their business income, and how they wrote their software. Older software releases seemed more polished, changed less frequently, and had fewer patches. Granted, it was offline (so threat vectors were fewer), but I wonder how our predecessors did what they they did. They seemed to do more with less. It seems the knowledge was lost and never taught to young programmers. I sort of got in when Agile was the word of the day and I'm not a fan. Most of the issues I've seen are from a poorly documented and defined product (making it up as you go) before development. But I just wonder, was it the greater value of a dollar? Higher wages with lower cost of living (fewer product changes needed for new income), or were their applications just better targeted and core versus today?
weblacky
I play an SGI Doctor, on daytime TV.

Trade Count: (10)
Posts: 1,716
Threads: 88
Joined: Jan 2019
Location: Seattle, WA
Find Reply
04-29-2021, 07:55 AM
#9
RE: GNU - A clarification of my viewpoints
I may not be the greatest GNU/Linux fan ever, but it seems you people really confuse things.

Raion wrote:

[...] I do not consider GNU a moderate approach to software development. It is openly radical, hostile to proprietary software [...]
[...] They are socialized products [...]

exactly. That's the idea. In a true socialist fashion, GNU wanted to put the means of production (the code / software) into the hands of the people (the users / developers), because they considered software to be knowledge, which should be available to everyone. That was radical in the 1980s when the GNU project started, a time when you couldn't get UNIX® without paying major money. But no-one had to join. There was nothing forcing people to use this stuff. Developers were not forced to contribute, yet they did. There are ideological reasons to do so. One aspect is that people did not want to spend their free time to work for some company, which might then take their code and sell it as their own. There have been examples in the past, like when Apple took a chunk of FreeBSD to update the 4.3BSD parts of Nextstep to create MacOS X, or when Sun made Solaris open source and Oracle changed it back to being closed source.

All the rest of the issues you complain about was the free market. The free market for some reason chose GNU / Linux. The free market somehow likes cheap and free things. The free market likes to get software for free and likes to outsource jobs to the cheapest location. You know you can't blame the failure of the free market on socialism, right?

Also, complaining about a lack of diversity with regard to GNU software, where you can literally - at this very moment - copy some revision of some project and create your own fork, is pretty ridiculous. If you don't like the way a certain open source project is going, you can fork and start your own. You are essentially complaining that the free stuff you got isn't the free stuff you wanted. But if you like the free market as much as you say, maybe Microsoft, IBM, or Oracle will be happy to take your money. Your argument for GPL "decaying" software is screen? A project started in 1987 that essentially still does the thing is always did? A terminal multiplexer? I can't even name a feature added to screen in the past 15 to 20 years. Why should I when it does what it is supposed to do? How is this in any way related to the license?
Any open source project depends on participation. If people lose interest, the project slowly dies. The only major thing I ever contributed to was NetBSD. It's in horrible shape now, far away from its original "runs everywhere" idea. Too bad, but I can't tell people how they should spend their time. My point: all this has nothing to do with the license itself. Before you elevate discussions about crappy or buggy software to a "freedom vs. communism" level, just start fixing things.
lunatic
insane in the mainframe

Trade Count: (0)
Posts: 150
Threads: 1
Joined: Apr 2019
Find Reply
04-30-2021, 07:36 AM
#10
RE: GNU - A clarification of my viewpoints
(04-29-2021, 07:55 AM)weblacky Wrote:  I agree with history repeating itself, the real question is...is everyone really so ignorant of computing history that they don't see that exact same issues of vendor lock-in from back then?  Also current cloud computing is very expensive for small players.  it really makes sense when you're growing and need more capacity every day, most people don't need that.

Short-termism.
737 MAX and others...

In the 80s, a lawsuit ended up somewhere high, maybe even in the US Supreme Court, that concluded that software engineering should not be held to the same standards as engineering - building bridges, buildings, etc..
This alone could have changed the course of history.
Shiunbird
Administrator

Trade Count: (1)
Posts: 553
Threads: 45
Joined: Mar 2021
Location: Czech Republic
Find Reply
04-30-2021, 10:06 AM


Forum Jump:


Users browsing this thread: 1 Guest(s)