ESR Shares A Forgotten 'Roots Of Open Source' Moment From 1984 (ibiblio.org) 79
Eric S. Raymond recently documented one of the first public calls for free software, which happened immediately after AT&T's fateful decision commercialize Unix:
[I]n October 1984 I was in a crowd of people watching a presentation by a woman from Bell Labs describing the then-new getopt(3) library, written by AT&T as a way to regularize the processing of command-line arguments in C programs... Everybody thought this was a fine idea, and several people asked questions probing whether AT&T was going to let anyone else use the getopt code they had written. These questions related to the general anxiety about Unix source code distributions drying up. Frustration mounted as the woman gave evasive answers which seemed to add up to "No, we refuse to commit to allowing general access to this code." Which seemed to confirm everyone's worst fears about what was going to happen to Unix source code access in general. At which point Henry Spencer stands up and says (not in these exact words) "I will write and share a conforming implementation." -- and got a cheer from the assembled.
If you're thinking "That's not a big deal, we do this sort of thing all the time," my actual point is that in October 1984 this was indeed a big deal. It took an actual imaginative leap for Henry Spencer to, in effect, say "Screw AT&T and its legalisms and evasions, if they're going to cut off source access we hackers are gonna do it for ourselves"... [H]e got an actual cheer exactly because he was pushing forward, exposing the possibility of doing not just small projects and demos and quirky little tools but at competing with the likes of AT&T itself at software production.
Raymond also remembers this as an important moment for him. "I was a young, unknown programmer then -- just 27, still figuring out what I wanted. I watched Henry make that promise. I heard the cheer, and felt the change in the air as culturally, we realized what the solution to AT&T fscking us over had to be. And I thought 'I want to be like that guy.'"
If you're thinking "That's not a big deal, we do this sort of thing all the time," my actual point is that in October 1984 this was indeed a big deal. It took an actual imaginative leap for Henry Spencer to, in effect, say "Screw AT&T and its legalisms and evasions, if they're going to cut off source access we hackers are gonna do it for ourselves"... [H]e got an actual cheer exactly because he was pushing forward, exposing the possibility of doing not just small projects and demos and quirky little tools but at competing with the likes of AT&T itself at software production.
Raymond also remembers this as an important moment for him. "I was a young, unknown programmer then -- just 27, still figuring out what I wanted. I watched Henry make that promise. I heard the cheer, and felt the change in the air as culturally, we realized what the solution to AT&T fscking us over had to be. And I thought 'I want to be like that guy.'"
Henry is right (Score:5, Insightful)
Its quicker to code something simple like getopt than to argue about it.
Re:Henry is right (Score:5, Funny)
I'll just leave this here [imgflip.com] and be on my merry way. Thanks.
Re: (Score:1)
Well memed sir, and prompt.
Re: (Score:2)
Unfortunately the decision to no longer be open was also the decision that caused Unix to be overrun by Microsoft.
Re: (Score:2)
Microsoft isn't open. I think it was more a question of accessibility. More people understood windows than unix, so server side windows had a head start.
Re: (Score:2, Interesting)
I never stated that Microsoft was open, but at the time they only provided the cheap and simple MS-DOS, nothing more. Windows came later and wasn't something to care about until late 80's, before that it was just a toy.
The problem for Unix was that by going closed they also charged a lot for the use of it without realizing that they then gave Microsoft basically an open goal to play towards.
Re: (Score:2)
at the time they only provided the cheap and simple MS-DOS, nothing more.
Microsoft also produced Xenix, the most popular Unix variant of the 80s.
Re: (Score:2)
Don't confuse people with facts. They (generally) don't want to know anyway.
No, lets confuse people with facts. (Score:5, Informative)
Facts like people were writing and widely sharing open source code well before any of this nix-specific event came along in 1984. Go look at early issues of Byte, Kilobaud, Dr. Dobbs and so forth and so on.
I had source code of my own published and shared nationally in November 1977, and I wasn't anywhere near the first.
This kind of hype reminds me of Apple/IBM/Radioshack/Commodore and fans variously claiming they were the "roots" of the PC market. Look into the history of Altair, Imsai and SWTPC, for instance. Not saying who was first, I'm not sure by any means -- but I am sure who wasn't.
Re: (Score:2)
This kind of hype reminds me of Apple/IBM/Radioshack/Commodore and fans variously claiming they were the "roots" of the PC market. Look into the history of Altair, Imsai and SWTPC, for instance. Not saying who was first, I'm not sure by any means -- but I am sure who wasn't.
Maybe the right question is not who was first, but who was first in the mainstream market. In this sense, it is only proper to credit the "1977 trinity".
Re: (Score:3)
Re: (Score:1)
[..] people hadn't yet learned the lesson that you get even less than what you pay for, and keep paying for it decades after you realize you got in bed with the devil.
They still don't, as I witness on a daily basis.
Re: (Score:3)
Re: (Score:3)
Re: (Score:3)
Re: (Score:1)
I think you need to look up the Reverend Spooner!
In the UK we have terms like:
Betty Swollocks (Americans don't understand this one) :)
Cupid Stunt!
Centle Mase
Jut nob
etc etc.
Funny Fact: (Score:5, Informative)
In the business world more people understood Unix than Microsoft by far at the time. The problem was that Unix was much, much more expensive than Windows Server, and people hadn't yet learned the lesson that you get even less than what you pay for, and keep paying for it decades after you realize you got in bed with the devil.
Funny fact: Hotmail ran/runs on both FreeBSD and Solaris.
Hotmail originally ran on a mixture of FreeBSD and Solaris operating systems.[21] A project was started to move Hotmail to Windows 2000. In June 2001, Microsoft claimed this had been completed; a few days later they retracted and admitted that the DNS functions of the Hotmail system were still reliant on FreeBSD. In 2002 Hotmail still ran its infrastructure on UNIX servers, with only the front-end converted to Windows 2000
from https://en.wikipedia.org/wiki/... [wikipedia.org]
In Microsoft's most recent EEE plans... they are now trying to get their fingers into both the Linux and FreeBSD foundations.
Re: (Score:3)
The bastards! At least Lennart's leaving BSD alone (for the moment).
Re: (Score:1)
Re: (Score:2)
I had some loser who claimed to be subcontracting to Microsoft threaten a software audit on me a couple of years ago on the basis of an NT4 server licence and something like five CALS not being renewed since 1998 or 1999. The place went to Samba some time around then.
Re: (Score:2)
It was 1984, FFS!!! Windows didn't even exist. The AT had barely come out. PC-based servers were Netware.
Overrun (Score:4, Funny)
Unfortunately the decision to no longer be open was also the decision that caused Unix to be overrun by systemd.
ftfy
Re: (Score:2)
If you were not at a college though, Unix was already a $40000 item and so inaccessible. Remember the
conferences where you had to show your ATT license to even get into talks about unix?
This led to much more interest in other OSs. For example, if you worked with RSX11M, it was
sysgenned from source, so everyone who had the OS had the source code. Many add-ins and tools
got contributed to public domain by folks who had no access at all to unix.
Some will remember too the legal machinations that tried to decree
Re: (Score:2)
getopt is a critical function now used by nearly all C or C++ programs that handle command line arguments. The "quicker to code" version you may write to get or care about the few arguments you use in a particular function may, indeed, work well on your limited environment. Unless you're quite good and quite thorough, they are unlikely to perform well on multiple architectures or to be really small and fast for hardware from the 1980's. If you look at the code at https://en.wikipedia.org/wiki/... [wikipedia.org], it is qu
Re: (Score:2)
Re:Who needs getopt (or getopt_long etc) (Score:4, Insightful)
Except when you need to account for arguments appearing out of order. Or multiple arguments. Or the same argument that can override or revert itself. Or a mixture of short and long arguments, where all long arguments have a short alias, but not necessarily the other way round. Or if you want parsing to stop (or pass-through) at the first unexpected argument. Or if you want environment variables to influence the method of argument parsing. Or if you want to allow long arguments to start with a single '-' rather than the usual '--'.
Re: (Score:3)
Re: (Score:2)
Re: (Score:2)
Because burning even a few hundred bytes of memory with a more general parser would have been an unacceptable burden for single programs on hardware that had only a few megabytes of memory, total.
Re: (Score:2)
Re:Who needs getopt (or getopt_long etc) (Score:5, Informative)
Well, yes, but for most coders older than the dawn the "custom code" starts with a template C application in a build-ready template directory with a pre-built makefile and perhaps a bit of structured shell, so that they are basically cloning fragments to parse this or that kind of data. At one point I had templates for using getopt but, as you say, you end up cloning lines either way and adding one level of indirection doesn't really save you much, even if you don't really have to remember all of the getopt stuff because IT is templated instead of simple CL parsing. Ditto parsing in bash -- I don't even try to remember it, I just copy my superlong bash script template (which also has useful fragments that illustrate loops, conditionals, sed-isms, awkeries, some regex stuff), delete what I don't need, and modify what I do.
This is the way "reusable code" really works a lot of the time. Once you've solved a particular problem, especially the second or third time, the trick goes into your code "library" and from then on you just copy them and hack them to fit, you don't rewrite them from scratch. And thus we spare reliance on memory at the level of detail and instead use our brains efficiently, as lookup engines and problem solving engines.
rgb
Re: (Score:1)
he also has a nasty habit of appropriating bits of Unix culture.
Uhm. If you created it, you aren't appropriating it.
I don't like to see him being given a platform here.
Oh, so you're an SJW who believes in no-platforming. Right. Drop dead. Hacker culture doesn't need you.
Re: (Score:1)
Re: (Score:1)
I really just think that ESR has no value as a commentator. He's never been known for his technical skills, and it's been a long time since he was relevant in the Open Source community. Generally people stopped paying attention to him once he started going full-on wingnut. I'm of course far from alone in my opinion of him, but most people seem to be posting their negativism as ACs.
I don't really get this idea of lumping people into a category and pretending they all share the same vaguely-defined set of bad
Re: (Score:3)
Re: (Score:2)
Re: (Score:1)
Uhm. If you created it, you aren't appropriating it.
ESR did not create the Unix culture.
Oh, so you're an SJW who believes in no-platforming.
Ad hominem, and I have no idea what you might mean by that. Probably nothing interesting. I'll assume that by defending ESR you're endorsing his views -- sound fair?
Re: (Score:1)
No assumption needed. I consider Eric a good friend, and generally do endorse his views.
And if you think that makes me a racist deserving of no-platforming, then that's your problem, not mine.
Re: (Score:2)
Why don't you explain that term. In particular, explain why there is some default assumption that all viewpoints deserve an audience.
Re: (Score:3)
Because no-platforming amounts to shutting down speech you disagree with. All that does is make the speech more desirable to those who oppose the orthodox view, and give it currency.
The only answer to speech you disagree with is not shutting it down, but rather more speech opposing it.
Re: (Score:2)
Because no-platforming amounts to shutting down speech you disagree with. All that does is make the speech more desirable to those who oppose the orthodox view, and give it currency.
Citation needed. And also explain why any third party commercial service has to give you a platform, because the opposite of that has been a point of jurisprudence for centuries in this country.
Not quite how I remember Henry Spencer. (Score:5, Interesting)
Not quite how I remember Henry Spencer.
On the other hand, he did do the getopt thing. His regex thing was far, far, far more important. Also: Perl, anyone?
Henry was an important, important person around that time. So was UToronto. Too bad UToronto kinda bailed on us all at the time of the BSD lawsuits.
Hi Henry; still alive. Yourself? ;^)
Re: (Score:3)
Ok, outside of one of the coolest open source gurus...
Henry promoted the concept of a one way trip to mars.
His regex work is still in use in MySQL (Score:2, Informative)
https://github.com/mysql/mysql-server/blob/5.7/regex/
Damn it, that's GNU Henry Spencer (Score:3)
Eh? (Score:2)
I think missed a word here.
Re: (Score:2)
Back in the good ol' days Bell was just a bunch of long-haired hippies playing folk songs in the woods and writing code. Then all of the sudden they turned into a multibillion dollar multinational corporation and started selling UNIX. It was terrible.
I remember (Score:4, Interesting)
I was working for Western Electric when Unix first appeared. I had the opportunity to camp out on a PDP10 based system in the Labs, which is where I taught myself C (along with K&R first edition) and learned Unix. Source was on the machine. Looked at the Bourne shell code, which I described as seagull (G-gol). He bastardized the preprocessor to allow writing C code that looked like Algol. I was really sad when I heard AT&T wanted to close the source and "monetize" Unix. I felt that they didn't know what they had in Unix and C, and what could be done with them had they allowed the community to work and expand what was there. Then came Linux, and the rest is history.