New Unix Implementation Turns 30
To begin with, GNU will be a kernel plus all the utilities needed to write and run C programs: editor, shell, C compiler, linker, assembler, and a few other things. After this we will add a text formatter, a YACC, an Empire game, a spreadsheet, and hundreds of other things. We hope to supply, eventually, everything useful that normally comes with a Unix system, and anything else useful, including on-line and hardcopy documentation.
GNU will be able to run Unix programs, but will not be identical to Unix. We will make all improvements that are convenient, based on our experience with other operating systems. In particular, we plan to have longer filenames, file version numbers, a crashproof file system, filename completion perhaps, terminal-independent display support, and eventually a Lisp-based window system through which several Lisp programs and ordinary Unix programs can share a screen. Both C and Lisp will be available as system programming languages. We will have network software based on MIT's chaosnet protocol, far superior to UUCP. We may also have something compatible with UUCP.
Who Am I?
I am Richard Stallman, inventor of the original much-imitated EMACS editor, now at the Artificial Intelligence Lab at MIT. I have worked extensively on compilers, editors, debuggers, command interpreters, the Incompatible Timesharing System and the Lisp Machine operating system. I pioneered terminal-independent display support in ITS. In addition I have implemented one crashproof file system and two window systems for Lisp machines.
Why I Must Write GNU
I consider that the golden rule requires that if I like a program I must share it with other people who like it. I cannot in good conscience sign a nondisclosure agreement or a software license agreement.
So that I can continue to use computers without violating my principles, I have decided to put together a sufficient body of free software so that I will be able to get along without any software that is not free.
How You Can Contribute
I am asking computer manufacturers for donations of machines and money. I'm asking individuals for donations of programs and work.
One computer manufacturer has already offered to provide a machine. But we could use more. One consequence you can expect if you donate machines is that GNU will run on them at an early date. The machine had better be able to operate in a residential area, and not require sophisticated cooling or power.
Individual programmers can contribute by writing a compatible duplicate of some Unix utility and giving it to me. For most projects, such part-time distributed work would be very hard to coordinate; the independently-written parts would not work together. But for the particular task of replacing Unix, this problem is absent. Most interface specifications are fixed by Unix compatibility. If each contribution works with the rest of Unix, it will probably work with the rest of GNU.
If I get donations of money, I may be able to hire a few people full or part time. The salary won't be high, but I'm looking for people for whom knowing they are helping humanity is as important as money. I view this as a way of enabling dedicated people to devote their full energies to working on GNU by sparing them the need to make a living in another way.
For more information, contact me.
Arpanet mail:
- RMS@MIT-MC.ARPA
Usenet:
- ...!mit-eddie!RMS@OZ
- ...!mit-vax!RMS@OZ
"Ima gonna write a new unix". That's One Huge Task. Weird thing is - he pulled it off. Hats off to RMS. And thanks.
I was actually planning on installing Debian tonight on a spare box, completely unaware of this anniversary. Now I pretty much have to do it.
I am officially gone from
"One consequence you can expect if you donate machines is that GNU will run on them at an early date." So, exactly how many PDP-11's have *you* donated?...
None. GCC already supported compiling for the PDP-11. It has since March, 2002 according to the patch notes for GCC. Which, let's be honest -- getting hardware support into the compiler a mere 5 years after the line was discontinued is remarkably fast for the GNU project.
I'm still waiting for the day they include a warning when you derp a sizeof(x) into your code, when you really wanted a sizeof(*x) , something Visual Studio will happily warn me about when compiling something. Of course, gcc does what the code tells it to and reports the bytelength of a pointer variable (how useful!) without complaint, whereas Visual Studio will happily explode my system, then run screaming out of the hole with toilet paper stuck to its foot yelling "Why did you use that win32 call when, although we didn't bother putting it in the documentation, it was depreciated 8 years ago and replaced with seven other similar-sounding functions, equally badly documented and not backwards-compatable!" ...
So credit where credit is due: GCC will let you shoot your own foot without complaint, but it's a bit slow on the feature list. Whereas the big-time Windows compiler... it's got all the latest features, warnings, etc., but when you merely go for shooting your own foot, it instead blows your whole leg off, then drops a bomb on your head while muttering something about upgrading to the latest .NET and dll versions...
#fuckbeta #iamslashdot #dicemustdie