OSDL Denies Rewriting Kernel
yootje writes "Although there were rumours saying that OSDL writes a version of the Linux kernel that doesn't infringe patents (an argument that was used by Microsoft), OSDL denies this: 'OSDL officials have said that the report was not accurate, and that while Beaverton is putting $1.2m into economic development around open source software, this is not connected to rewriting the Linux kernel.'"
"Although there were rumours saying that OSDL writes a version of the Linux kernel that doesn't infringe patents (an argument that was used by Microsoft), OSDL denies this: "OSDL officials have said that the report was not accurate, and that while Beaverton is putting $1.2m into economic development around open source software this is not connected to rewriting the Linux kernel.""
OK. So why exactly is rewriting the kernel a problem?
It was Maureen O'Gara, a writer without an ounce of credibility or ethics. She's been a huge part of the MicroSCOft campaign against Linux all along, this is just another bow shot.
It was a joke! When you give me that look it was a joke.
But given the current state of things, I'm pretty unsure that you can write any computer program of complexity beyond 'hello world' without infringing on at least one software patent.
Comment is too sensible for slashdot.
PJ over at Groklaw has a nice write up on this. Is it just me or is Maureen O'Gara just part of the FUD-machine funded by SCO?
Hmmm... I wonder how much reporter integrity goes for on the open market?
This is my sig. There are many like it but this one is mine.
Yes, it's 10 years old. Rewrite it and get rid of 10 years worth of testing, 10 years worth of bug fixes, 10 years worth of great security. This is exactly what Microsoft is running into with Longhorn. Buggy as Windows may be sometimes, rewriting the Linux kernel would put it behind Windows.
10 years isn't old. It's mature.
The Linux kernel is just getting to the point where it doesn't completely suck ass.
This isn't to disparage where things are at, going, or have been. But you dont just scrap something like the kernel just because its a decade or more old.
That's how you get versions that are "newer" with half the features.
Kernels are time expensive and iterative. You just can't go from nothing to a working production kernel in one or a few releases. It's a big job to do it right.
The linux kernel is finally to a place where you have a good mix of micro and monolithic design principles (not a lot of bloated message passing, loadable modules). It's finally got some really decent SMP, and the VM issues are finally being addressed.
The article at the centre of this particular storm-in-a-teacup was written by the infamous Maureen O'Gara, who regularly gets dumped on over at groklaw for the quality and balance of her linux reportage and whose company (G2 computer intelligence) is behind a motion in Utah connected to the SCO IBM case to unseal submissions to the Court by both parties. Summary: Nothing to see here.
Then, if there's a patent that they think MS might try to stick them with, re-write/change only that part of the kernel that's affected.
Am I the only one that thinks an entire re-write for operating system technologies that have been around long before MS is a little silly?That's something made me laugh this week. NO, the code isn't 10 years old. One of the core developers said this week that the kernel is getting 4mb of patches every week. Now, lets compute a bit:
/usr/src/linux-2.6.7
# du -hs
290M linux-2.6.7
# bc
(...snip...)
290/4
72
This would assume that in a little bit over 1 year, the kernel is totally replaced. I know its logically flawed, but it means in my interpretation that there is no obsolete code in the kernel that would be >10 years old, or maybe with a few exceptions. I think it's safe to assume that most parts of the kernel aren't older than 2-3 years. Your logic is flawed.
Personally i think the kernel is perfectly good without a rewrite.
Legal issues shouldn't be a consideration neither, since SCO-code in the linux kernel is something in one class with Santa Claus. Linus stated on multiple occasions that he doesn't believe sco code could be in the kernel. I don't have evidence who generates those rumours, but i got a hunch it's from the SCO,Microsoft side of the barricade.
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
Meh, the whole kernel is stuffed with x86 specific cruft. Despite people constantly cheering all the platforms it "runs" on (IMO there's more to running than just bootstrapping), the focus has been on x86 from day one. Much of it is just too ingrained, and entire subsystems could do with a brand new design.
There's no point on discussing stuff like this on slashdot, hardly anyone here knows shit about linux, or computers in general.
Bunch of know-nothing know-it-alls.
I can just see the fud-meisters now.
"They aren't going to rewrite the kernel to take out our patented stuff. So it must be in there!"
While not the gist of any of the statements, that viewpoint can be made to fit.
Ah, the power of spin.
"How fine you look when dressed in rage."
OSDL, god praise it's name, wishes to send out noice that there is no re-writing of Linux kernel, nor has there ever been any attempt to re-write it. These are the truths! Even if there were attempts to re-write it, which ther are not, it would only be by word of our great master, IBM.
Only the infidels at Microsoft could create such lies, and surely would admit it if they were not such cowards, hiding in thier cubes like the unholy nerds that they are. God willing, capitalist proprietary software will fail under the great crush of thier devil-like closed-source policies. Indeed, I do not doubt this. Praise OSDL.
There are large sections of code that havent been touched since 1.x releases. Linux frankly runs for shit on anything other than x86, despite all the claims of all the different systems it runs on. Too much PC specific cruft.
"Rewrite", to a programmer, doesn't mean to throw everything out and start from scratch, either. It means rethink some the design. Reevaluate why feature X was done the way it was, and if that's stillt he best way to do it. Make sure it's still relevant for modern hardware, and make sure it will still be relevant for tomorrows hardware.
MSFT is doing this with Longhorn. The hardware evolves, why shouldn't the software that runs on it?
I don't need no instructions to know how to rock!!!!
"OSDL officials have said that the report was not accurate..."
I always hate in when PR types use this phrase. Mind you, I like the OSDL, I just hate the "was not accurate" thing. For example...
"The report that Mr. Jones embezzled $10.5 million was not accurate." REASON: Mr. Jones actually embezzled $10,548,984. Its the classic non-denial denial where you deny something in super-general or super-specific terms, while not adding anything meaningful at the same time. It is more about perception than truth.
I don't know if the OSDL is playing perceptions vs. truth here, but I don't like things that are phrased in that particular manner for those reasons.
And: OSDL writes a version of the Linux kernel that doesn't infringe patents
So its the same as the official kernel then!!
"Rewrite", to a programmer, doesn't mean to throw everything out and start from scratch, either. It means rethink some the design. Reevaluate why feature X was done the way it was, and if that's stillt he best way to do it. Make sure it's still relevant for modern hardware, and make sure it will still be relevant for tomorrows hardware.
...And linux is doing this with odd releases(2.1, 2.3, 2.5) and now with -mm while keeping 2.6 around. Did you ever look at LKML? You could see tons of discussions about what and how should be done.
MSFT is doing this with Longhorn. The hardware evolves, why shouldn't the software that runs on it?
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
Seriously. There was a great article posted some months ago here about this very issue (the rewrite-everything vs. don't-fix-if-it-ain't-broken argument), and i agreed with it's conclusions: rewrites should be done when they're needed and no when they can be done.
The Linux kernel is very good as it is, why rewrite it from scratch? It's been evolving these past 10 years, it's not like no one touched the code ever since.
The whole concept of a kernel which doesn't infringe patents is ridiculous. You don't decide what is and is not infringement by reading through source code in some magical process. You decide it when some patent holder says "this piece of code here infringes on my patent!" and then both parties either agree or go to court and then the court comes up with some resolution. There are millions of patents out there and there are millions of lines of code in the kernel. There's no such thing as a magical search engine that you can plug a piece of code into and see which patents apply to it. Even things that are heavily promoted as "patent-free" such as PNG, Ogg, and others, might be infringing some patent. There is just no way to say with certainty in this. The patent office grants so many crappy patents all the time that it's hard to say that any very large body of code (like the kernel) doesn't possibly infringe on something.
This is all why big companies tend to enter into cross-licensing agreements with eachother. They know that it's almost inevitable that if you write enough code, you will write something that could reasonably be argued to infringe on some patent that no one has ever heard of. In fact even the companies that hold enormous numbers of patents don't have the ability to check all the code that is out there.
This area of law is only defined and made certain in practice involving specific patents and specific code. For someone to make claims about some code not infringing is completely bogus.
I remember all the arguments about PGP vs. the RSA patent and how much time was wasted arguing about that patent and worrying about it, when a) it was never clear that it was a valid patent and b) RSA never enforced it up until the time it expired.
The right thing to do is to be fearless about these things. If there is an infringement, let the patent holder notify the kernel developers about what the patent is and which regions of code are infringing. The ODSL should then get a lawyer to talk with the developers, look over the patent and the code in question, and see if the patent holder's claim makes sense. If it does, then it is time to think about coding around the patent, but until that set of things has happened, trying to code around patents that may or may not be enforceable is just a waste of time.
Patents are not at all like copyrights. Copyright is usually pretty clear: there's a piece of work authored by someone and that work is or is not similar to some other work. If it is too similar there is infringement and it's pretty easy to see usually. Patents just aren't like that at all.
Because there are situations where X86 is irrelevant, but Linux is a top OS contender. In these cases, someone has (probably correctly) decided that resources are better spent customizing Linux to run on their hardware than it would be to start from scratch.
Given the nature of the USTPO, where any obvious or ancient idea (like swinging on a swing sideways) gets a patent, how can you possibly rewrite something that you can guarantee wont infringe on some over broad chicken scratch filed in the 70's when they had wire wrapped electronics and nixie tubes in cash registers.
By the time you are done whats to stop someone from patenting the code you are working on. Even if its invalid, you get tied up in court either way.
The problem is the system, and the system alone.
Unix already did this; everyone uses Plan 9 now.
English is easier said than done.
Personally, I don't care about the edits - the difference between a "stable" release and an "unstable" one is the number of characters you choose to represent it with. It's just a label, it doesn't confer any magical properties.
Some of the networking code is getting a little old - there are sections of the IPv4 code which haven't been touched in 2-3 years. You can have a lot of new ideas on how to improve something, in that kind of timeframe.
A complete rewrite is unlikely at present. The kernel is still evolving too rapidly. Nobody would be able to keep up with the changes. Now, once we reach Linux 3.0 or 4.0, things might settle down some. Then, a rewrite might be smart. Code that evolves is inherently going to have inefficiencies and redundancies, because nobody can track every possible interaction between every possible combination of blocks of code.
In consequence, yes, I think it would be smart to stop at Linux 4.0, deconstruct the kernel and then reassemble. That would be a good time to do a thorough security audit, too. Then we've got a stable base to start the rapid evolution all over again.
The problem with evolving code is that the number of potential interactions rises with the factorial of the number of blocks of code. This means that, beyond a certain point, it's impossible to maintain. By "resetting" the code to a stable state, you can get round that problem to some degree. You still can't increase complexity forever, but you can raise the upper limit.
The problem with a purely designed piece of software is that it's very hard to change the design midway. This means that it's great for producing static results, or a stable starting point, but it is useless for dynamically updating the code.
Finally, OSDL doesn't have the money or the manpower to do a rewrite of the Linux kernel. Do you realise how large the kernel is, these days? Linux 2.6.11-pre1-mm1 is 22,892,878 lines long. Every block of code in that would need to be cross-referenced with every patented algorithm, to be sure Linux was IP-violation-free. I don't know how many patents there are for algorithms, software and "business methods", but it's probably in the hundreds of thousands, maybe the millions.
Let's say that there's an average of a thousand lines per block, and ten thousand business methods. Then you'd need to perform almost 229 million comparisons. By hand, as a computer can't compare two abstract concepts for similarity.
If OSDL employed 10% of the entire population of America, they could probably manage it within a year and keep in step with all the patches that are being submitted. If OSDL could afford to hire 10% of the entire population, they could afford to buy SCO. And IBM. And Microsoft. And every other damn computer software and/or hardware manufacturer in the US. At which point, why would they care about patents? They'd own them all.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
I think this is the article you're referring to.
Mada mada dane.
But a rewrite of the kernel doesn't mean that the old kernel will be junked. It could be forked and we all could have both kernels to run on. :) Maybe I'm just being naive though.
For what?
du
I've been looking for years for an app to do that. The functionality is in Konqueror, but only one directory at a time, through the 'Properties' dialog. I thought Konq accomplished it by recursively doing 'ls -l' and adding everything up, something I wasn't prepared to duplicate.
This keeps happening to me.
The last time was with 'screen'. Before that it was 'df'.
The pattern seems to be:
1) Need something done
2) Google furiously, scour sourceforge, (in desperation) man -K "$function"
3) Give up, do it the hard way or not at all
4) Months to years later, discover that a programmer scratched that itch back in 196?, the function was duplicated by the GNU project twenty years later, but retained its original, short, cryptic, UNIX name
5) do: locate, man $short_cryptic_UNIX_name, discover that it's been installed on this box since I installed Mandrake 8.1
6) kick self, vow to read more early UNIX history, get on with things