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.