Forgot your password?
typodupeerror

Comment Microsoft's patents on Linux - what are they? (Score 1) 286

I've seen this article in a few versions. I'm just a bit curious - does anybody have the details of the actual patent numbers that Microsoft claims Linux is using?

Given that Microsoft keeps all of it's code locked up really tight, under strict nondisclosure agreements, and doesn't file for patents when they actually create something, it's a bit hard for them to argue that the Linux implementation of a device is identical to their device - AND was not intuitively derived.

Linux on the other hand, requires contributors to declare any known intellectual property rights and to certify that anything not listed as the intellectual property of others is their own original creation and not taken from some other copyright or patented source. In effect, the developer must certify that the code was intuitively created or invented.

Linux source code is published as soon as the submission is included in the compiled code and published. The code is available for anyone in the world to examine and review. Yet Microsoft has never bothered to tell anybody in the Linux community that the code in question was violated - so that the perpetrator of the patent fraud could be prosecuted for illegally submitting code to Linux.

This preponderance of the evidence would require that, in order to prove that their patent was legitimate and had been infringed - that the perpetrator had actually seen the code, knew the code was Microsoft's, knew the claim was Microsoft's, and that he knowingly and fraudulently submitted the code to Linux or OSS code.

This would then give the Linux community the option of creating alternative implementations of the device in question, or properly licensing the patents from Microsoft, possibly in a cross-licensing arrangement.

However, it's beginning to look a lot like the SCO case, where Daryl McBride claimed that hundreds of code devices were the exclusive property of SCO, yet it turned out that IBM was able to prove that 95% of those code segments in question - had been published as Open Source PRIOR to being published in proprietary form, and many had been published, with enhancements, under GPL, by the original author who was also the original publisher and copyright holder. The claims that IBM did not request to be dismissed, it was ready to prove were actually the intellectual property of IBM, who had been using it prior to agreements with either SCO or in some cases, AT&T. IBM decided not to drop those claims, because it wanted to countersue that the claims were fraudulent, and that the lawsuit was part of a conspiracy - allowing IBM to go after deeper pockets that helped fund SCO in it's lawsuit efforts.

If Microsoft has attempted to file patent applications on Open Source code - without citing that code as "Prior art" as required by patent law, Microsoft would be guilty of filing fraudulent applications, and ALL of their patents would need to be much more carefully scrutinized.

Steve Ballmer is being very careful to go after ACER rather than Lenovo or IBM, who could probably cite prior art referenced in their own thousands of defensive patent applications - proving that the code Microsoft claimed was theirs, was actually prior art.

And if Microsoft does prove that the patents are not fraudulent, that they are legitimate, what is the actual value of the patents? There are 3,000 applications, 30,000 files, and roughly 3 billion lines of code. The Microsoft patents cover how many lines of code? Let's assume that 235 patents cover 235 thousand lines of code. So that would be less than 1/10,000th of the code used in Linux.

And would Microsoft be willing to submit their code to the same level of scrutiny as that of the Linux community. Would they be willing to publish all of their source code to determine how many patches, enhancements, and upgrades - that were only ever published under GPL - were included in Microsoft's software offerings?

With Intellectual property such as software, you have 3 options; proprietary, publish, or patent. If you try to keep something proprietary, as a trade secret, the risk is that someone will discover the secret and they could publish or patent it. At the very least, it would be impossible to patent the proprietary code if someone else intuitively derived it. There is no way to win, because if you claim it was a trade secret, then the inventor of the alternative couldn't have known the inner workings of the proprietary code. If you claim that the secret wasn't that well protected - then you've published it and can't patent it. And if you published it before you patented it, then you can't patent it, but neither can anybody else.

The earliest algorithmic electronic computers were developed in the 1930s to crack Hitler's Enigma and compute artillery and bomb trajectories. So from roughly 1935 to 1995, algorythms couldn't be patented. The only exceptions from 1983 to 1995 were devices implemented as two black boxes. One in software on a microcomputer, the other in pure discreet hardware. If they both did the same function - the judge couldn't tell the difference and had to patent both.

The problem, for the patent office, was that they had no official record of hundreds of billions of lines of code implemented in numerous programming languages and assembly languages - in their archives. In theory, in 1995, a patent troll could have applied for a patent on the heap sort and the bubble sort, and might have gotten it. To prevent this, some companies like IBM, HP, and Kodak have been filing thousands of "high quality" patent applications every year, these applications list every possible form of software that might even be remotely related to the patent application. Even if the patent application is denied because it's too similar to the existing and referenced prior art - none of the material referenced can be patented.

The big problem, of course, is that these patent applications reference the existing code, but don't include the code itself. This is to avoid copyright violations. As a result, the code might elude a patent search, and might be missed by the patent office - only to be discovered by the defense during patent enforcement proceedings.

Microsoft may not want to push this too hard. For example, Microsoft has a patent on an in-document spell checker. The problem is that such a spell checker existed in EMAC prior to this, and could be considered prior art - making all of Microsoft Word subject to the terms of GPL.

Comment Re:Adapt (Score 1) 626

Both Windows and Linux have a problem with Desktop performance, because much of the performance is determined, not by the CPU speed, but by the disk drive access speed.

Linux servers run quite nicely on multi-core systems, including IBM's Z-Series. The old 2.2 kernel had some problems with spinlock contention that made it slower than NT 4.0 when used with 4 SCSI controllers and 4 ethernet cards, but Microsoft had to really be creative to come up with that infamous Mindcraft benchmark.

The 2.6 kernel uses queued events, which eliminates all but a few picoseconds of contention, giving Linux the ability to do some pretty radical performance on multi-core systems.

Linux also provides better support for clusters and virtualization. The result being that load can be more easily distributed when the application is designed for Linux/Unix in the first place.

One could make the case that HP_UX or Solaris might be faster or more reliable, but much of this depends on the specific types of benchmarks used, the types of specialized tuning allowed for that benchmark, and the optimization of hardware for that benchmark.

Where throughput can be pipelined, queued, or otherwise isolated from the hard drives and video, the performance can be quite impressive.

Unfortunately, for desktops, you can't update the display too fast, because the user can only see about 30-60 frames/second. Databases are more dependent on the rotational speed, number of hard drives, and amount of hard drive cache, rather than the number and speed of CPUs.

For some applications, such as cracking encryption, or predicting the weather, 8-core Linux systems might be more useful.

Other applications where 8-core CPUs make sense are applications such as 3D Rendering. But is there a big corporate market for real-time 3D graphics? Maybe we'll see a corporate version of Second Life?

Perhaps something like predictive models based on real-time data mining, such as real-time display of actual call volumes in the sales department, allowing IT to see the entire economic results of the entire corporation in real-time, updated on a "per transaction" basis.

To really exploit 8-core desktops, we have to think outside the traditional "Windows" paradigm and programming models. We need to think less in terms of huge binary blobs that gobble up huge amounts of memory, and more in terms of streams, pipelines, queues, and parsers that pass results from standard input to standard output in small chunks, and message routing systems such as MPI and PVM, which eliminate the latentcy that plagues traditional "Model/View/Control" solutions.

Comment BSD permits derivative works (Score 1) 355

Keep in mind that the BSD License does not prohibit the creation of derivative works under other licenses. For example, the BSD Sockets drivers were repackaged by Microsoft as WinSock for Windows NT. As a result, there is nothing improper about publishing an enhanced version, a derivative work, under the GNU Public license, or similar license. Where things get sticky is that just as patches and changes made to the Microsoft version are protected under Microsoft's propriatery copyrights and NDAs, so to are patches made to the GNU version only permitted under the GNU license.

Linux users have used the Atheros MadWifi drivers for quite a while now, but when HAL changes required to support the AR5008 chip were delayed excessively, a new version, under GPL, called DadWifi was created. This version had the HAL changes, but since they were not done by the "official" maintainer, were not subject to the BSD license.

It seems that some vendors are not happy, because it appears that the Windows version may have also been based on the BSD version, and now the Linux version works, and Microsoft can't get the patches legally.

Slashdot Top Deals

Is a person who blows up banks an econoclast?

Working...