Useless

Story: Microsoft discloses 14,000 pages of coding secretsTotal Replies: 24
Author Content
Sander_Marechal

Apr 09, 2008
2:28 AM EDT
From the MS press release:

Quoting:As described in Microsoft’s interoperability principles, everyone will have access to this protocol documentation without having to sign a license or pay a royalty or other fee. For those protocols that may be covered by a Microsoft patent, Microsoft will make available patent licenses on reasonable and nondiscriminatory terms, at low royalty rates. In addition, Microsoft will publish a list of the protocols that are covered by patents and will make available a list of the specific Microsoft patents and patent applications that cover each protocol. However, open source developers, whether commercial or noncommercial, will not need a patent license for the development of implementations of these protocols or for the noncommercial distribution of these implementations, according to a Microsoft patent pledge for open source developers, issued pursuant to the interoperability principles.


As usual, it's for non-commercial stuff only which makes it incompatible with the vast majority of FOSS licenses. I hope that the EU can smell this trap as well.
dinotrac

Apr 09, 2008
4:56 AM EDT
What, exactly, is useless?

I don't follow you.

I presume the protocol information is useful. I presume that the disclosure of patents is useful.

Regarding the patent pledge, I doubt that it's worth anything, but have trouble seeing how FOSS licenses enter into the picture at all. It is something separate and apart from any FOSS license. It would be like Microsoft coming out one day and saying ,

"We pledge not to sue anybody who develops for the Linux kernel, but do not extend that pledge to distributors."

Would that suddenly make it impossible to distribute the Linux kernel? Of course not.

That was, in fact, one of the problems that the FSF grappled with in drafting the Novell-inspired portions of GPLV3. They ended up with a definition of patent license that included some form of payment, as I recall.

garymax

Apr 09, 2008
5:55 AM EDT
I hope that OSS devs don't look at the code because now that it's out there MS can claim that their patents were intentionally violated because the coders have seen the MS source code. I think they're doing this to set up a patent dispute in the future.

Time will tell. From a dev standpoint I hope the "room stays clean."
dinotrac

Apr 09, 2008
5:59 AM EDT
garymax -

I hope they do look at the source code for whatever benefits it may offer.

I also think you badly misunderstand the patent dangers.

First, you infringe a patent whether you intend to or not. The patent may not collect damages in the US unless the patent has been disclosed, but you still infringe.

If the patent has been disclosed -- and Microsoft has not disclosed a number of them -- you are liable for infringement damages.

The responsible thing to do, if you are working on something that may be affected by patents, is to understand the patent claims. If it's easy to achieve your ends effectively by a different means, invent around the patent. If not, you are faced with the choice of:

a) Not doing what you were doing, b) obtaining a license, c) continue to infringe, planning to fight the patent because you think it's junk, or d) infringe and hope for the best.





Sander_Marechal

Apr 09, 2008
7:31 AM EDT
No, looking at the code itself is a pretty dumb thing to do. Like the patents, the code is released under the OSP which is only good for non-commercial distribution. If you look at their code under that license then you'd better make damn sure that whatever you end up writing doesn't look anything like it. Copyright suits have been fought over less (See SCO).

Two but(t)s:

1) AFAICT MS released specs, not code (that was The Register's words) so none of the above applies. 2) The SCO case went nowhere. An MS case is likely to go nowhere as well. But that doesn't mean it can't be expensive and damaging while it's running.

Quoting:What, exactly, is useless?


Any spec that's patented can't be implemented in GPLv3 code.

Quoting:"We pledge not to sue anybody who develops for the Linux kernel, but do not extend that pledge to distributors."

Would that suddenly make it impossible to distribute the Linux kernel? Of course not.


1) MS doesn't have any patents that cover Linux. Nothing proven and tested anyway. Just a lot of hot air. In contrast, the patents it has on it's own protocols are much more likely to be valid.

2) Assuming that MS did have such patents and that they'd use them against distributors: What good is a kernel if we can't redistribute?
dinotrac

Apr 09, 2008
8:18 AM EDT
Sander -

Actually, with regard to the actual code, you're right, but not because of patents. My bad. Looking at the code will open the door to copyright action.

And yes, you're right -- It was specs they released and it should be perfectly dandy to look at them.

As to patented specs --

Yes, it is entirely possible to implement a patented spec in GPLv3 code. What is not possible to do is to implement such a spec under the terms of a patent license that does not grant rights equivalent to those of the GPLv3 itself.

And even so...

I guess your position is that nobody should code release any software under the GPLv3 if it may infringe on a patent that somebody somewhere holds...which means, effectively, that nobody should release any software under the GPLv3.





gus3

Apr 09, 2008
9:27 AM EDT
Quoting:Actually, with regard to the actual code, you're right, but not because of patents. My bad. Looking at the code will open the door to copyright action.

And yes, you're right -- It was specs they released and it should be perfectly dandy to look at them.
Then again, how can anyone tell that the published spec and the implementation reflect each other completely and correctly if nobody can look at the code?

Oh, but Microsoft wouldn't hide anything, would they? We can trust them, right?

/sarc

Once again, just so much hogwash.
garymax

Apr 09, 2008
9:59 AM EDT
Dinotrac--

I think you underestimate MS and the severity of such an action. I did not say that patents could not be violated by only looking at code. I said "intentionally" violated. Big difference.

Though one may infringe a patent whether having seen the actual code or not, it would give MS greater ammunition to go after Linux if some coders saw the actual mathematical processes, forgot what they saw, and then coded using the same algorithms. Again, MS could be laying a trap for future use in my opinion.

Secondly, if you ever read Linus Torvald's position he will tell you to never look at any code. Use a "clean room" principle--it makes it harder for legal actions of copyright violations to occur.
dinotrac

Apr 09, 2008
11:23 AM EDT
gus3 --

One cannot be sure, but it would open them up to more EU sanctions. The EU seems far more willing to slap MS in the face, unlike the US Justice Dept.

So ---

Microsoft may not be trustworthy, but we can count on them to look out for their own interest...
Sander_Marechal

Apr 09, 2008
1:36 PM EDT
Quoting:I guess your position is that nobody should code release any software under the GPLv3 if it may infringe on a patent that somebody somewhere holds...which means, effectively, that nobody should release any software under the GPLv3.


Not at all. The problem with MS is that they license everything under the OSP, which is incompatible with the GPLv3 because it prohibits commercial use. The GPLv3 requires patents to be non-discriminatory. See GPLv3 section 11 paragraph 7.
dinotrac

Apr 09, 2008
4:52 PM EDT
Sander -

That's an excellent argument for not doing anything that relies on the OSP for your rights. But what does that have to do with using the specs?
gus3

Apr 09, 2008
5:18 PM EDT
dino:

If you use the specs to develop a program or library, aren't you required to put it under the OSP?

Then again, once you obtain the specs, Microsoft will find it very easy to claim that everything you create from that point forward is "tainted" by their specs. Buh-bye creativity, buh-bye distributability, hello Microsoft ball-and-chain. Kudos to the Samba project for understanding this.
dinotrac

Apr 09, 2008
8:34 PM EDT
>If you use the specs to develop a program or library, aren't you required to put it under the OSP?

Why would you need to do that? What prevents you from using the specs and to write a program to release under the GPL?

I would remind you of the way the first IBM compatible BIOS was developed:

One team reverse-engineered the IBM BIOS and developed specs and requirements so that a second team, which never saw the BIOS code, could independently develop a compatible BIOS. It's called the "Chinese wall".

Using published specs doesn't subject your code to ownership by the spec writer and doesn't limit your license choices.
Sander_Marechal

Apr 09, 2008
10:48 PM EDT
Quoting:If you use the specs to develop a program or library, aren't you required to put it under the OSP?


Not at all. That could make it a "viral" license. A "cancer", in Microsofts own words.

Quoting:That's an excellent argument for not doing anything that relies on the OSP for your rights. But what does that have to do with using the specs?


It's not just the spec. The patents themselves are under a similar license. Microsoft's patent pledge has the same "non-commercial" clause as the OSP. That's the problem. So, any MS spec that is covered by an MS parent can't be implemented because the patent pledge is discriminatory. You could try to implement it in something under a BSD/MIT and perhaps even GPLv2 license (where the patent clauses are implicit rather than explicit) but you'll run a big risk, because it is you, the developer and distributor, that is in violation of Microsoft's patents if you do distribute it in a way that doesn't fall under Microsofts narrow definition of "noncommercial".

This is Microsoft's new tactic: Release everything in such a way that everybody except for FOSS can use and implement Microsoft's stuff. Problem is that FOSS is Microsoft's only real competition in a lot of markets. I hope the EU sees that too and doesn't fall for the "open" mantra.
dinotrac

Apr 10, 2008
2:45 AM EDT
Sander -

In the cases where Microsoft claims that patents apply to something in their specs, one should be wary, I agree.

However -- and this is important -- to say that a patent applies to the spec is not the same thing as saying the spec is patented.

Patents are public documents. US patents can easily be looked up online, and I'm sure that's true of European patents as well.

Anybody can read a patent to see what it actually covers. The language of claims is tedious and dry, but isn't all that difficult.

Strategies:

1. For individual developers, best simply to stay away, but 2. If the parts you need aren't covered by a patent claim, you may simply leave other parts out.

For teams with corporate backing or who otherwise have access to legal advice --

1. Invent around the claim. Patent claims are about implementations - a way to do things. Simply do the things another way that isn't covered by the patent. In this case, your lawyers are looking at the claims, looking at your plans, and giving their opinion as to whether you truly are avoiding the claims.

2. If you cannot implement the spec without infringing a patent claim, there is a decent chance that the patent is not valid. Patent claims must not be obvious to a skilled practitioner in the field. That tends (not absolutely) to exclude solutions that are the only reasonable way to do something. The USPTO has issued lots of bad software patents, patents that would fail under the US Supreme Court's latest ruling on the obviousness and the skill level to be presumed among software developers.

This is the "I dare you" option, and one to be pursued only if you really are prepared -- ie, have the lawyers and have the money -- to fight the thing. It is nasty, ugly, and potentially very expensive. If the patent claim is weak enough, however, you may be able to recover your legal fees from the plaintiff, which should mitigate a huge part of the expense.

















Sander_Marechal

Apr 10, 2008
6:49 AM EDT
Quoting:In the cases where Microsoft claims that patents apply to something in their specs, one should be wary, I agree.


Then we agree, because that's all I'm saying.

But from this flows that if, MS has a patent on something in the specs, we can't do a full implementation anymore. If that part happens to be something that's required by the spec then we have a problem because it prevents us from writing a conforming implementation.

You can bet that it's exactly this game that Microsoft is playing. They have been gathering patents like maniacs.
dinotrac

Apr 10, 2008
7:37 AM EDT
1. But from this flows that if, MS has a patent on something in the specs, we can't do a full implementation anymore.

No, it doesn't. It flow that we might not be able to do a full implementation. The question is whethere the spec can be implemented without violating a patent, not whether Microsoft has a patent that it believes will apply to any implementation of the spec. Remember, you can't patent an idea, so specs themselves are not likely to be patented. The danger is that the spec may be drawn in such a way that it seems impossible to implement without using something that actually is covered by a patent. People -- especially programmers -- are ingenious, however, and it is wrong to assume from the get-go that Microsoft has covered the only possible implementation. That is, however, getting into shaky territory for the lone inventor who is not backed by somebody with access to legal opinions.
Sander_Marechal

Apr 10, 2008
12:00 PM EDT
True. But I think if MS patents something, they hammer it pretty tight. They pay good money for good patent laywers.
dinotrac

Apr 10, 2008
12:06 PM EDT
>But I think if MS patents something, they hammer it pretty tight. They pay good money for good patent laywers.

Two things:

1. It is the patent examiners who, in the end, must pass on the patent, no matter how good your lawyers are.

2. What you really want is the opposite of "hammering it tight". If you can get away with it, you want it as big and loose as you can get it, because that increases the scope of infringing actions. The PTO, however, wants it tight.

3. A lot of Microsoft patents were granted under a standard that may no longer apply in the wake of KSR vs Teleflex. Specifically, a much higher degree of non-obviousness seems to be the standard required by the court, a recognition that programmers are skilled, smart, and creative people.
dumper4311

Apr 10, 2008
12:14 PM EDT
Two things????

Don't let dino do your taxes. :)
dinotrac

Apr 10, 2008
12:34 PM EDT
>Two things????

Hey! Two out of three ain't bad.
Sander_Marechal

Apr 10, 2008
12:48 PM EDT
Re. 1+2) It's the lawyers who write the text and try to cover all bases by trying to come up with as many implementation methods as possible. Or by making the claims as vague as possible while not setting off alarms at the USPTO examiners.

3) Great. So now we only have to wait until the patents get overturned. Which may take forever. Usually FOSS doesn't have the (financial) resources to implement anyway, wait for a lawsuit and then overturn the patents themselves.
dinotrac

Apr 10, 2008
1:11 PM EDT
Sander:

1+2. The lawyers write them, but the re-write and re-write if the patent examiners aren't happy. And I think you have got the cart confused with the horse. It is a specific implementation that gets patented, although you are correct in the sense that vagueness in the claim can allow allegations that some variations in the implementation are covered that shouldn't be.

3. That was actually a reference to Microsoft "hammering it tight". Given that how tightly it's hammered or not would matter primarily in an enforcement action, it seems relevant that those tightly hammered patent claims might be worthless.
flufferbeer

Apr 10, 2008
1:41 PM EDT
"Don't let dino do your taxes. :)"

Here's another litle thing above that we got a little laugh out of:

S_M > 1. But from this flows that if, MS has a patent on something in the specs, we can't do a full implementation anymore.

dt: No, it doesn't. It flow that we might not be able to do a full implementation.

Regardless of whether this "flow" or not, you still can't do a full implementation.

Someone just asked me to write here Do you not want to not avoid negating that it is therefore not false to not state that no, you cannot just not avoid not doing the reverse of a full non-implementation, not that M$ would not avoid not letting this to not occur, no? Whoa(or not!) /LOL

dinotrac

Apr 10, 2008
2:21 PM EDT
>Regardless of whether this "flow" or not, you still can't do a full implementation.

While you're making fun of my typos, you might try learning a little english. Might not and can't have different meanings. If you have trouble grasping that, I suggest that you avoid weather forecasts.

Posting in this forum is limited to members of the group: [ForumMods, SITEADMINS, MEMBERS.]

Becoming a member of LXer is easy and free. Join Us!