# Understanding the grep license



## Phishfry (Sep 20, 2019)

With all the RMS controversy I immersed myself in all the RMS videos online.
One thing that confuses me is RMS acts like he wrote all the GNU programs.
When I take a deep look at `grep` I notice it was wrote by Ken Thompson in 1974.
So how does RMS and his GNU grep play into this narrative?
Was GNU grep a total rewrite of the original ATT licensed grep like BSD grep was rewrote?
Because RMS was the FSF founder I understand that he feels he is the father, but he didn't write most of the GNU utilities correct?

Why did BSD chose to keep the grep name for their re-written ATT version? I am aware of the ATT Unix legal challange.
The name was allowed to be used by a totally different code base?


----------



## obsigna (Sep 20, 2019)

Phishfry said:


> ... Why did BSD chose to keep the grep name for their re-written ATT version? ...



I don’t have answers to your other questions. Regarding the name, the explanation is easy. Every POSIX compliant OS shall come with a utility named grep, see:


			Utilities
		



			grep
		


IMHO, Richard Stallman is a disturbed person, and for „normal“ people it is better to keep him and his sights distant.


----------



## Crivens (Sep 20, 2019)

Stallman is kind of a figurehead for the FSF. He wrote some tools, started some others and mentored some more. In public conception he is something between said figurehead and the dear leader who authored every book you can buy. The same goes with his views and actions. As every human, he is fragmented in perception of others. 

As for grep et al, he said that in the rewrite to go for speed and not memory consumption. That would ensure that different algorithms would be used, sparing you lawsuits from AT&T. His goal was HURD, but that is to be released next year, yes?

His biggest move was the GPL and that the FSF would defend it, making him chief of all those who adapted it.


----------



## Deleted member 30996 (Sep 20, 2019)

Crivens said:


> Stallman is kind of a figurehead for the FSF.



Not anymore:



> On September 16, 2019, Richard M. Stallman, founder and president of the Free Software Foundation, resigned as president and from its board of directors.
> 
> The board will be conducting a search for a new president, beginning immediately. Further details of the search will be published on fsf.org.
> 
> ...



Here's why:









						Famed Computer Scientist Richard Stallman Described Epstein Victims As 'Entirely Willing'
					

Stallman, a pioneer of the free software movement, argued about the definition of "sexual assault" on an MIT email listserv about the university's connections to Jeffrey Epstein.




					www.vice.com


----------



## Phishfry (Sep 20, 2019)

I guess my question is- was the name `grep` from ATT UNIX not protected from the copyrights?
In my head I think of colas.
You can't call something Pepsi if it is a generic cola. Are we getting into trademarks too with that analogy?


----------



## Beastie (Sep 20, 2019)

Phishfry said:


> I guess my question is- was the name `grep` from ATT UNIX not protected from the copyrights?


AT&T doesn't _own_ the POSIX standards or the Open Group, Austin Group and IEEE CS that define and maintain them.


----------



## shkhln (Sep 20, 2019)

Phishfry said:


> I guess my question is- was the name `grep` from ATT UNIX not protected from the copyrights?
> In my head I think of colas.
> You can't call something Pepsi if it is a generic cola. Are we getting into trademarks too with that analogy?



Names are not the subject of copyright laws. Trademark laws would apply, but by now it's already too late to "protect" anything. As for question of all these tools using the same name, imagine how annoying would be to rewrite all the shell scripts.


----------



## Phishfry (Sep 20, 2019)

I thought I had it all figured out and now I have to read up on Posix.
That list of utilities from OpenGroup was nice. I had no idea we had a command line calendar.
I know I stripped it out when messing with src.conf and minimalist building.

So silly question but is FreeBSD Posix compliant? I don't see `admin` in our base.


----------



## Phishfry (Sep 20, 2019)

> RMS suggested the name _POSIX_ to the IEEE


So he was involved from the very beginning..

Regarding `admin`, I see it is one of the programs that we don't have.


			FreeBSD POSIX 2001 Utility Compliance
		



			FreeBSD_and_Standards - FreeBSD Wiki


----------



## aragats (Sep 20, 2019)

Phishfry said:


> Regarding  admin, I see it is one of the programs that we don't have.


That's in X/Open extension, many programs from it are not implemented.


----------



## yuripv (Sep 20, 2019)

Phishfry said:


> FreeBSD POSIX 2001 Utility Compliance


Ugh, "Last modification: October 7 2006", a lot changed since then!


----------



## ralphbsz (Sep 20, 2019)

Phishfry said:


> So he was involved from the very beginning..


Yes. But that doesn't mean that he is the father of POSIX, or the driving force behind it. He was one of the participants in the initial standards meetings, and a particularly "charismatic" one (that word can have many connotations, some quite negative).

The driving force behind POSIX was unease in the community of Unix vendors and customers. In the 1980s, lots of computers started running Unix, and it started having significant commercial success. There was the beginning of a technical workstation market (NeXT, Sun, DEC, Apollo, ...), and of business use of time-sharing Unix servers. But there were two competing camps in the OS landscape: System V (came commercially from AT&T, typically sold by systems integrators like HP, IBM), and Berkeley Unix (sold by DEC and Sun). The research community (universities) could get the source code to either version, and hobbyist and personal use was de-facto non-existing, for lack of affordable platforms: the minimum investment to get a working Unix computer was a low-end technical workstation, which in the late 80s still cost a 5-digit amount in US-$.

The problem was that System V and Berkeley were getting more and more incompatible: group permissions, termio, streams. This scared customers and software vendors. On the technical side, this was known as the "Unix wars", with both sides trying to prove that their interfaces were better, but on the customer side, this caused anxiety. The solution was to have a standardization committee, just like the computer industry had had for programming languages since the 1950s. And that was the genesis of what later became POSIX, Open Group, Austin, IEEE 1003, and all that stuff.


----------



## unitrunker (Sep 21, 2019)

I remember the Unix wars as more System V vs. SunOS / Solaris vs. AIX vs. HPUX vs. Irix vs. SCO (yeah, remember SCO?) and the like. BSD was just one in a growing family of Unix-like OSes.


----------



## ralphbsz (Sep 21, 2019)

unitrunker said:


> I remember the Unix wars as more ...


You are right. I think I described the first battle of the Unix wars above. You are describing the 10th or 100th battle. Through all of it ran a few undercurrents: Berkeley versus AT&T, workstation versus server, academic versus full commercial, the battles between various CPU families (of which there were many more in those days, Prime and NS 32x32 and Data General and ....).

If you want to see the Unix war between AT&T and BSD in a nutshell, look at the transition Sun did: SunOS was based on BSD, and then in the upgrade to the infamous SunOS version 5, users suddenly figured out that they had suddenly transitioned to SVR4, and everything stopped working. It was either a great victory or a disaster, depending on your viewpoint.

Funny anecdote: A friend worked at a research lab which had only a single VAX. They wanted to run both VMS and Berkeley Unix on it. But it had only one disk drive. So every day at noon the disk pack was replaced, the computer rebooted, and it has one OS in the morning, another in the afternoon. Since there were no other storage media, it was very hard to transfer data between the OSes. Another interesting example: I was working with a big commercial enterprise which was "true blue", using only IBMs for their data processing at a giant production plant and warehouse. But they had one of the first fully automated robotic warehouses, and the robots were controlled by a few PDP 11-70s. Initially, they ran RSX-11 on them, but after being unhappy with it, replaced it with Unix (and I don't know whether they got a research version from Bell labs or from Berkeley). Imagine doing industrial control in Unix in the early 80s! Then they had to upgrade it to a VAX, and didn't know whether to move to VMS or stay on Unix.

In the early 90s, I was working (not as a computer scientist, but still doing research), using big mainframes and VAXes for data processing, but also lots of Unix machines. It was a mix of IBM, HP, NeXT, Sun, and one SGI in my wife's office. Compatibility between OSes at the source code level (both in shells scripts and in C code) was AWFUL, and everything was full of #if statements. Makefiles look like they had come from the salad bar in the cafeteria. That's when I learned to be super systematic about isolating as much of machine dependencies in a single place as possible. And then, about 96 or 98 POSIX started being a real thing, with OSes actually being compliant enough. I stopped using OS-specific documentation, bought two POSIX books (one for 1003.1 and Bill Gallmeister's POSIX.4 book), and used them for programming references. This made life somewhat easier. A few years later I actually met Bill, he was also involved in high school band as a parent (our kids are about the same age). Very nice guy.


----------



## Crivens (Sep 21, 2019)

ralphbsz You sound like you know the story behind the scratch monkey...


----------



## ralphbsz (Sep 21, 2019)

I've read it. Having seen some of the Digital (and other) field service people in action, I can believe it.

Old joke about field service: One day, a field service technician's car is driving very bumpy. No problem: he stops, lifts up the car, and replaces each of the four tires, one at a time, with the spare tire, until it starts working better again. Next day, his car stops, with the fuel gage pointing to "E". No problem: he lifts up the car, and replace each of the four tires, one at a time, with the spare tire, until it starts working again.

In all fairness: Many field service people were really extremely skilled, and really good at dealing with customers. They could walk up to a computer, hear the story from the user, and diagnose the problem using intuition.


----------



## unitrunker (Sep 22, 2019)

ralphbsz said:


> But they had one of the first fully automated robotic warehouses, and the robots were controlled by a few PDP 11-70s. Initially, they ran RSX-11 on them, but after being unhappy with it, replaced it with Unix (and I don't know whether they got a research version from Bell labs or from Berkeley). Imagine doing industrial control in Unix in the early 80s! Then they had to upgrade it to a VAX, and didn't know whether to move to VMS or stay on Unix.
> 
> In the early 90s, I was working (not as a computer scientist, but still doing research), using big mainframes and VAXes for data processing, but also lots of Unix machines. It was a mix of IBM, HP, NeXT, Sun, and one SGI in my wife's office.



Hah! You're talking to a former Macro-11 and Macro-32 programmer. Whitesmith's C on QBUS PDP-11/75s running RSX-11M+ and Micro-Vaxes running Vax-C on VMS. I do not miss ODT (the PDP debugger), not one bit. 



> In all fairness: Many field service people were really extremely skilled, and really good at dealing with customers. They could walk up to a computer, hear the story from the user, and diagnose the problem using intuition.



True story: the DEC field service engineer remotely logged in to our company Vax to do some maintenance. He disconnected from the dial up modem without logging out. I just so happened to dial in immediately after. I was greeted with a DCL (shell) $ prompt to the still-logged in service account with all of the field engineer's privileges. Security fail. I don't miss dial-up either.

Now my penance for going off-topic:

phishfry - I don't think the names of the tools - like grep, awk, sed, find, etc. were ever trademarked. I do think the consistency helped out with muscle memory for frequent commands.


----------



## Phishfry (Sep 22, 2019)

unitrunker said:


> Now my penance for going off-topic:


I am the last person to complain about wandering off topic.
Really enjoy anything related to computer history.


----------



## bookwormep (Sep 24, 2019)

Sorry, late to the thread; tried to thank as many as relates to topic.


----------

