More Responses to de Tocqueville Hatchet Job
akahige writes "Fresh from the debunking of the 'Linus couldn't possibly have written an OS without ripping someone off' book published by the Alexis de Tocqueville Institution, Tanenbaum has published an email he got from the consultant hired to do the code comparison between MINIX and Linux. Among other juicy comments, 'pay no attention to this man.' (There was no stolen code, either.) In related matters, ESR was apparently sent a pre-release excerpt of the book which he completely eviscerates with his usual zeal. Another story on NewsForge." See our previous stories if you're coming to this late.
Andy Tanenbaum is a hero.
A message I received from Alexey Toptygin
"Around the middle of April, I was contacted by a friend of mine who asked me if I wanted to do some code analysis on a consultancy basis for his boss, Ken Brown. I ended up doing about 10 hours of work, comparing early versions of Linux and Minix, looking for copied code.
My results are here. To summarize, my analysis found no evidence whatsoever that any code was copied one way or the other. (I realize that Minix predates Linux, but I did the comparison bidirectionally for the sake of objectivity).
While I was working on this in my spare time, Ken kept pestering me to hurry up and finish. He told me he had a paper awaiting publication, and that my analysis was the las bit of data he needed. I sent the final results (which are, exactly as given to Ken Brown, at the above URL) to him on May 17th.
When I called him to ask if he had any questions about the analysis methods or results, and to ask if he would like to have it repeated with other source comparison tools, I was in for a bit of a shock. Apparently, Ken was expecting me to find gobs of copied source code. He spent most of the conversation trying to convince me that I must have made a mistake, since it was clearly impossible for one person to write an OS and 'code theft' had to have occured.
So, I guess what I want to say is, pay no attention to this man; to the best of my knowledge he is talking out of his ass. I apologise for any inconvenience I may have caused you by participating (however indirectly) in Ken's pet project.
Please feel free to reproduce this email and the contents of my analysis webpage."
--Alexey Toptygin
Andy Tanenbaum, 20 May 2004
comparison analysis:
The raw comparison files are very large, but mostly full of false positives. This is due to the way SIM handles lists of constants and SIM's inability to distinguish between function calls and certain elements of syntax.
Only 4 actual similarities were found. They are excerpted in whole, with reference to the respective source files, and discussed. Since the similar code sections are fairly invariant over all versions of minix and linux compared, excerpts will be taken from linux-0.96c and minix-1.2.
1. in linux, include/linux/ctype.h:
[code sipped]
in minix, include/ctype.h:
[code snipped]
These are the 'character type' macros. They predate both minix and linux, and are a part of the majority of C libraries. They are specified in the ANSI C standard (ANSI X3.159-1989), and arereferred to in most C textbooks (i.e. "C++ How to Program" H. M. Deitel, P. J. Deitel --2nd ed. ISBN 0-13-528910-6).
2. in linux, include/linux/stat.h:
[code snipped]
in minix, h/stat.h:
[code snipped]
Both the names and values of these constants are specified by the POSIX standard.
3. in linux, in fs/read_write.c:
[code snipped]
in minix, in fs/open.c
[code snipped]
The behavior of the lseek system call is specified by POSIX. Since it is so simple, practically all implementations will be highly similar.
4. in linux, in fs/minix/inode.c: in minix, in fs/super.c This operation is required in order to correctly mount the minix filesystem. All implementations would need this or equivalent code.
Since, out of thousand of lines of code, only 4 small segments were found to be similar, and since in each case the similarity was required by external factors (the C standard, the POSIX standard, the minix filesystem format), it is highly unlikely that any source code was copied either from minix to linux or vice-versa.
And if you keep reading until the end, he acknowledges that the word "swiped" creates a bad impression/implication, and that Microsoft legally used BSD code.
But the lameness filter refused several attempts with varied formatting and ecode. Executive summary: out of tens of thousands of lines in Minix and pre-1.0 Linux, there were four similar sections:
The real question here is if Linus stole AT's code from MINIX, which both the creator of MINIX and an independant auditor both say he didn't.
"Everybody knows the moon's made of cheese," Wallace.
Well, it turns out that Linus never did make an operating system. Instead, he just created Linux which is a kernel that happens to be used with most of the GNU System to create OSes such as Debian and RedHat. Of course no one person could create an OS by themselves..... Hell, he wasn't even the only one working on Linux.
Just because you get paid to write OSS code does not mean that you are, coloquially, a "pro".
Of course not, but just because you write OSS code doesn't mean you do not also write code "professionally". Some of us code professionally and write OSS code either in our spare time or as part of our job. Are there more inept amateur open source coders than inept professional coders? Almost certainly, since anyone can do the former. However they are of little consequence. The real question is are the "cream of the crop" programmers in OSS better than the purely professional coders? The question actually could be phrased as "what is the better motivator for quality? money or doing something you love?. The music industry has clearly answered this question in my opinion, but the market still has to answer it for the coders. Right now there is no clear answer, looking at the top programs out there sometimes OSS is a clear winner, sometimes something proprietary is. It all depends on what your specific needs are.
It also depends on the goals of the program, I don't think anyone would consider AOL's IM to be the best AIM client. It's goals are to display ads to you. Gaim does the instant messaging thing much better (so do most client, open or not). One clear advantage of OSS is that it is designed only to meet the needs to the users, not anything ulterior. Mozilla blocks pop up ads, IE and Netscape didn't not because their users didn't want this, but because it was politically a problem for them to do. OSS also generally has better interoperability with other programs because it is not part of the model to attempt to lock people into using only a specific author's stuff.
Finkployd
The more pain this causes ADTI, the lower their future credibility sinks, the number of people whose long-term memories record ADTI as the bunch of corporate whores they are... the more damage is done to their prospects of seeking future funding. Even from Microsoft, it won't make sense to pour more money into ADTI if they are widely considered a joke.
Better yet, if ADTI suffers, the public scandal will help deter other "think tanks" from attacking free software when Microsoft or other proprietary vendors come knocking with "research" dollars.
PJRC: Electronic Projects, 8051 Microcontroller Tools
Where does it say anything about the TCP stack? All it say is that portions of software are under the BSD license.
The only way to tell that the TCP stack is one of the portions used is through behavorial analysis.
My co-workers at the time I got involved with Linux were fond of saying, 'What in the world is that, it looks like crap'. To which I would say...'You don't understand, it's free.' It took a lot of hacking about to get it to run and it took hours and hours just to get simple things to work. That is not the case with 'stolen' goods. It's easy to take modern Linux for granted.