HackerTrans
TopNewTrendsCommentsPastAskShowJobs

andomizeazzz662

no profile record

comments

andomizeazzz662
·hace 3 años·discuss
[dead]
andomizeazzz662
·hace 3 años·discuss
[dead]
andomizeazzz662
·hace 3 años·discuss
[dead]
andomizeazzz662
·hace 3 años·discuss
No
andomizeazzz662
·hace 3 años·discuss
I wouldn't go as far as to say there is something wrong with GNU. For those of us that got our start on more traditional UNIX's, GNU can feel a bit over engineered at times. A couple of pet-peeves:

1. Bloated codebase for common utilities (I recognize this is very subjective). This doesn't apply to all GNU programs, but it certainly applies more than it does for the BSDs or commercial Unix's. Bash is a nasty shell implementation in my opinion, and there are an enormous number of non-standard options included in various basic utility programs. A traditional Unix shell distributed in an OS base ought to look much more like the ash you find in busybox or dash than GNU bash. Don't take this to mean I think everything should be a single binary.

2. Due to the bloated codebase, it's much more difficult to customize. It used to be very common for people to write their own customizations of utilities when they needed additional functionality. If everything expects GNU features, that becomes very challenging because those are not codebases that are very easy to hop into and understand over a weekend. This is how I got my start doing systems programming, and I worry that the next generation won't have the same opportunity as these things are hidden underneath a sea of complexities.

3. The C compiler and libc implementations suffer from similar problems and are similarly opinionated and larger than they had been traditionally on other Unix implementations.

4. There has been no attempt similar to POSIX of the SUS to write down a standard that others can follow. You are forced to follow a "GNU standard", but there has been no serious attempt to put any of this new defacto standard in writing. So a lot of systems programmers still prefer to stick to bare bones POSIX because it provides guidelines that the GNU project does not provide. I feel that they have at least some level of moral responsibility to put standards in writing and adhere to them given the amount of software that relies on these interfaces. There have been numerous instances of changes in GNU programs that have been handled haphazardly and without sufficient documentation or notice. For a project as dominant and mature as GNU, this ought to be considered unacceptable.

5. I don't necessarily disagree with the principles of the FSF or GNU project. I'm not a hardliner on using BSD style licenses or anything like that. However, there is certainly a political vibe you get from the GNU project and it's software that maybe isn't entirely appropriate for how important a project it has grown to be. The Linux Foundation and the kernel team has generally figured this out and done a fantastic job over the years, but the GNU project has not really matured in the same way.

These have all been negatives relating to GNU software so far, but there is also an equally long list that could be written of positives about the LLVM suite and various non GNU userlands. For some people that are maybe less irked by the GNU issues than I am, they still could benefit from having LLVM rather than gcc in a lot of cases. It's a much more impressive set of technologies in general and is now mature enough that we ought to evaluate their use as a systems compiler suite.

I'd like to conclude by saying I really appreciate the work that the GNU project has done over the years. They deserve all of our support for all the good work they've done and continue to do, and their programs will certainly continue to be around for a long time and used heavily. However, I think it's time that we try to provide at least a minimal set of viable alternatives.