<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Desperately Seeking Mediocrity</title>
	<atom:link href="http://apebox.org/wordpress/rants/70/feed/" rel="self" type="application/rss+xml" />
	<link>http://apebox.org/wordpress/rants/70/</link>
	<description>we like kittens and spoons and cake</description>
	<lastBuildDate>Fri, 27 Jan 2012 00:55:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: JP Russell (ragnarokangel) 's status on Wednesday, 19-Aug-09 01:14:09 UTC - Identi.ca</title>
		<link>http://apebox.org/wordpress/rants/70/comment-page-1/#comment-1654</link>
		<dc:creator>JP Russell (ragnarokangel) 's status on Wednesday, 19-Aug-09 01:14:09 UTC - Identi.ca</dc:creator>
		<pubDate>Wed, 19 Aug 2009 01:14:27 +0000</pubDate>
		<guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=70#comment-1654</guid>
		<description>[...]  http://www2.apebox.org/wordpress/rants/70/  [...]</description>
		<content:encoded><![CDATA[<p>[...]  <a href="http://www2.apebox.org/wordpress/rants/70/" rel="nofollow">http://www2.apebox.org/wordpress/rants/70/</a>  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: blankthemuffin</title>
		<link>http://apebox.org/wordpress/rants/70/comment-page-1/#comment-517</link>
		<dc:creator>blankthemuffin</dc:creator>
		<pubDate>Wed, 22 Apr 2009 07:20:31 +0000</pubDate>
		<guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=70#comment-517</guid>
		<description>Thought that I&#039;d post here to agree completely with the OP.

I guess it all goes back to using what&#039;s best for the job, and if you can&#039;t use what&#039;s best for the job, copy what&#039;s best for the job. While it may be nice to innovate everywhere, and create something amazing and new, it&#039;s not always the right action. For mine, take what&#039;s already there, pick the good bits, copy them and make them better. If there is something which could be done better, do it. There should be no room for idealogical bullshit.

For mine too much of the free software world has its head too far up its own ass. Too much complaining and angst, not enough thinking and action. Then again, I&#039;d be tempted to say the same about most of the world.

Everything is a compromise, anybody who suggests otherwise is a fool.

On a side note, the good old shell vs GUI argument seems to have popped up somehow, and I&#039;d like to say, who cares. Use what you want, they&#039;re both there. For mine they should be both feature complete so to speak. Where it applies both should be accessible, once again with the nature of free software, if people stop using it, it will stop being developed. There&#039;s no reason to rant one way or the other, it&#039;s just a personal choice.</description>
		<content:encoded><![CDATA[<p>Thought that I&#8217;d post here to agree completely with the OP.</p>
<p>I guess it all goes back to using what&#8217;s best for the job, and if you can&#8217;t use what&#8217;s best for the job, copy what&#8217;s best for the job. While it may be nice to innovate everywhere, and create something amazing and new, it&#8217;s not always the right action. For mine, take what&#8217;s already there, pick the good bits, copy them and make them better. If there is something which could be done better, do it. There should be no room for idealogical bullshit.</p>
<p>For mine too much of the free software world has its head too far up its own ass. Too much complaining and angst, not enough thinking and action. Then again, I&#8217;d be tempted to say the same about most of the world.</p>
<p>Everything is a compromise, anybody who suggests otherwise is a fool.</p>
<p>On a side note, the good old shell vs GUI argument seems to have popped up somehow, and I&#8217;d like to say, who cares. Use what you want, they&#8217;re both there. For mine they should be both feature complete so to speak. Where it applies both should be accessible, once again with the nature of free software, if people stop using it, it will stop being developed. There&#8217;s no reason to rant one way or the other, it&#8217;s just a personal choice.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jose_X</title>
		<link>http://apebox.org/wordpress/rants/70/comment-page-1/#comment-473</link>
		<dc:creator>Jose_X</dc:creator>
		<pubDate>Tue, 21 Apr 2009 06:22:19 +0000</pubDate>
		<guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=70#comment-473</guid>
		<description>&gt;&gt; Java is known to infringe on Kodak patents

What does this have to do with &quot;patent api traps&quot;?

These include whenever you have a standard or interop requirement. In particular, the worry is over the API (eg, standard) and patent being designed alongside each other.

I don&#039;t pretend to believe I proved anything (eg, like a mathematical proof). Also, the patent trap link mentioned earlier has a comment underneath with a link to a similar argument made in 2003 on a mono discussion thread. Individuals and their corporate patrons have likely been attempting this sort of thing since software patents were attempted. In fact, just this sort of weakness/loophole/flaw is why many probably felt software patents would not fly. The US courts still need a little help realizing just how unconstitutional software patents are.

Thanks for the patent link, btw. I&#039;m not sure if I would look at it. Obviously, mono is horrible, wrt this discussion, being based so closely on so many Monopolysoft-created specs; however, I will keep looking for the opportunity to contribute to alternative browsers and office suites (I like competition, and I also have some complaints over these giants).</description>
		<content:encoded><![CDATA[<p>&gt;&gt; Java is known to infringe on Kodak patents</p>
<p>What does this have to do with &#8220;patent api traps&#8221;?</p>
<p>These include whenever you have a standard or interop requirement. In particular, the worry is over the API (eg, standard) and patent being designed alongside each other.</p>
<p>I don&#8217;t pretend to believe I proved anything (eg, like a mathematical proof). Also, the patent trap link mentioned earlier has a comment underneath with a link to a similar argument made in 2003 on a mono discussion thread. Individuals and their corporate patrons have likely been attempting this sort of thing since software patents were attempted. In fact, just this sort of weakness/loophole/flaw is why many probably felt software patents would not fly. The US courts still need a little help realizing just how unconstitutional software patents are.</p>
<p>Thanks for the patent link, btw. I&#8217;m not sure if I would look at it. Obviously, mono is horrible, wrt this discussion, being based so closely on so many Monopolysoft-created specs; however, I will keep looking for the opportunity to contribute to alternative browsers and office suites (I like competition, and I also have some complaints over these giants).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: directhex</title>
		<link>http://apebox.org/wordpress/rants/70/comment-page-1/#comment-456</link>
		<dc:creator>directhex</dc:creator>
		<pubDate>Mon, 20 Apr 2009 19:50:22 +0000</pubDate>
		<guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=70#comment-456</guid>
		<description>&lt;a href=&quot;#comment-455&quot; rel=&quot;nofollow&quot;&gt;@Jose_X&lt;/a&gt;, &quot;I completely disagree about mono when contrasted to alternatives (C? Java? ..?)&quot;

Java is known to infringe on Kodak patents, and large sums of money changed hands to settle.

As for COM+, start with 6460058 and go from there</description>
		<content:encoded><![CDATA[<p><a href="#comment-455" rel="nofollow">@Jose_X</a>, &#8220;I completely disagree about mono when contrasted to alternatives (C? Java? ..?)&#8221;</p>
<p>Java is known to infringe on Kodak patents, and large sums of money changed hands to settle.</p>
<p>As for COM+, start with 6460058 and go from there</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jose_X</title>
		<link>http://apebox.org/wordpress/rants/70/comment-page-1/#comment-455</link>
		<dc:creator>Jose_X</dc:creator>
		<pubDate>Mon, 20 Apr 2009 16:44:08 +0000</pubDate>
		<guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=70#comment-455</guid>
		<description>I&#039;m not in the mood now to search for the exact patent number(s). Do you have it?

*If* correct, this would be a case of a patent trap.. that might be pretty nasty.

Seeing how nasty that might be, I would suggest we not create other applications that would be good candidates to end up the same. Two is enough.

I would love to see alternatives to these apps (there are for many scenarios, but more work is needed).

&gt;&gt; And Mono is much less of a problem (due to its limited use compared to other technologies infringing on MS patents) than big block busters like Firefox and OpenOffice.

I completely disagree about mono when contrasted to alternatives (C? Java? ..?), but I&#039;m willing to hear about more patents or whatever.

As for these two apps, the key is to have substitutes for what they are (eg, subs for the useful plugins, etc). The totality of their features, in relation to other apps, and their replaceability with other apps helps define the potential risk (wrt patents).

Microsoft has more patents for recent technologies. The missed the opportunities to cash in (as they are trying to do now) back then. For a while now, much prior art has exists for these older technologies.

&gt;&gt; Also, there is no such thing as an “Antitrust safeguard”

Antitrust authorities can step in as necessary. While Microsoft can in the future attempt to acquire more patents (eg, to try to have opengl related patent holdings catch up to the directx related ones), antitrust authorities may step in then or maybe should Microsoft get too pushy afterwards.

Anyway, Microsoft&#039;s major investments are with dotnet (ooxml, etc). That&#039;s where they have the ability (inside info) to rack up the patents that would be thorns to others.</description>
		<content:encoded><![CDATA[<p>I&#8217;m not in the mood now to search for the exact patent number(s). Do you have it?</p>
<p>*If* correct, this would be a case of a patent trap.. that might be pretty nasty.</p>
<p>Seeing how nasty that might be, I would suggest we not create other applications that would be good candidates to end up the same. Two is enough.</p>
<p>I would love to see alternatives to these apps (there are for many scenarios, but more work is needed).</p>
<p>&gt;&gt; And Mono is much less of a problem (due to its limited use compared to other technologies infringing on MS patents) than big block busters like Firefox and OpenOffice.</p>
<p>I completely disagree about mono when contrasted to alternatives (C? Java? ..?), but I&#8217;m willing to hear about more patents or whatever.</p>
<p>As for these two apps, the key is to have substitutes for what they are (eg, subs for the useful plugins, etc). The totality of their features, in relation to other apps, and their replaceability with other apps helps define the potential risk (wrt patents).</p>
<p>Microsoft has more patents for recent technologies. The missed the opportunities to cash in (as they are trying to do now) back then. For a while now, much prior art has exists for these older technologies.</p>
<p>&gt;&gt; Also, there is no such thing as an “Antitrust safeguard”</p>
<p>Antitrust authorities can step in as necessary. While Microsoft can in the future attempt to acquire more patents (eg, to try to have opengl related patent holdings catch up to the directx related ones), antitrust authorities may step in then or maybe should Microsoft get too pushy afterwards.</p>
<p>Anyway, Microsoft&#8217;s major investments are with dotnet (ooxml, etc). That&#8217;s where they have the ability (inside info) to rack up the patents that would be thorns to others.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jose_X</title>
		<link>http://apebox.org/wordpress/rants/70/comment-page-1/#comment-453</link>
		<dc:creator>Jose_X</dc:creator>
		<pubDate>Mon, 20 Apr 2009 16:14:50 +0000</pubDate>
		<guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=70#comment-453</guid>
		<description>&gt;&gt; How you implement those rules (if at all) is entirely up to you.

(a) if the standard specifies you need to have it implemented and it must behave as such.. then you do it or you don&#039;t follow the standard. There is no way around that. Does mono follow X or Y standard?

(b) if you care about interop, about meeting some specific interface exposed by some other software, then you have no choice in the matter either. If you don&#039;t implement, then you don&#039;t interface properly and hope of interop drops near zero pretty quickly.

Of course, each of these is manageable at the beginning. It&#039;s when you have propagated the API extensively and then find out about inconvenient patent traps that things become really ugly.

&gt;&gt; You missed then, as you do now, the reason people suggest your analysis is flawed.

Point to the particular comment you have in mind because I don&#039;t remember any challenge that wasn&#039;t rebuttled fairly successfully (at least to my understanding).

&gt;&gt; If an API has a HelloWorld() method, then you can do what you want with it, even if the API says “Draw a message using GDI+” nobody is stopping YOUR implementation of HelloWorld() from using Qt. Or somesuch. That’s how this stuff works.

Perhaps you don&#039;t understand then. This example you gave doesn&#039;t touch on why this would or would not be a trap. In fact, as you lightly describe it, I don&#039;t see a trap.

&gt;&gt; instead of returning the (patented) stored data, provides autogenerated data instead

It would help me analyze this example if you gave more info. I can&#039;t tell if this is a good or a bad example.

All I see is that (a) apparently the file content provides redundant information, (b) patent infringement could be avoided if you avoid one of redundant components, so (c) the FOSS devs did just that and derived the part they left out.

The gif patent problem is a better example. It&#039;s closer to what I have in mind, except that it is very specific and won&#039;t affect large portions of many apps.

The gif standard says do X. To interoperate you need to do X. There is no X&#039; that is suitable, according to the standard. Anything but X means you fail at that task. You cannot avoid the patent and interoperate with .gif. [I haven&#039;t looked at the details of the gif patents or gif spec, but I think this is the general idea.. at least if it was unavoidable.]

That is the basic issue I am talking about. It&#039;s not that you can&#039;t achieve some of the results you want through other API/designs (eg, avoiding the trap api from the start; eg, spread .png rather than .gif). The problem is that as you grow out software using that particular trap API, you create the equivalent of interlocking components. You create the equivalent of many .gif files, ie, of numerous jigsaw puzzles that are only useful when completed; however, to avoid a patent, you must take out certain pieces of each puzzle. To replace these holes, you can add redesigned pieces of a different behavior/shape (to avoid the patent problems). This means, however, that you have to keep changing adjacent components, at least some amount, at least initially, because the initial surrounding environment (defining the outline of the missing puzzle pieces) expects specific behavior (specific shapes), which we eventually found out we have to avoid (to avoid the patents). How much redesign will be needed for any particular scenario? How frequently will you learn about patent problems and have to redesign?

Note that the environment around the holes can be composed of more mono code (that is not infringing as is, with the holes set up). However, it can also be composed of dotnet code or closed mono code where these third party components are not going to be changed by their owners (eg, because they can&#039;t manage that but don&#039;t want to reveal source; because they won&#039;t; because it&#039;s MSdotnet and they have a license; etc). It can also be composed of non dotnet code or even dotnet-ish code but which must abide by rigid interfaces (eg, an IMAP server or plugin, see example scenario below).

So, full resolution of each missing puzzle piece for each violating puzzle will depend on how much change will ultimately be needed from the regions adjacent to the holes. Externally, there are limits imposed by already defined interfaces (some of which can&#039;t be changed). Internally, you would like to avoid making too many changes. For each chain reaction of changes that might be a candidate fit, you must make sure to avoid further patent infringements (on any patent).

For perspective, all FOSS is subject to this, but all FOSS does not gratuitously walk into patent traps. We ask, *who is Microsoft* and how much to they have invested in &quot;patent traps&quot; around dotnet? We compare that answer (in theory) to the same question but about every other API/vendor combination (eg, dotnet/Sun, Java/Microsoft, Java/Sun.. etc). And don&#039;t forget we are talking about api traps, not about general patents. It&#039;s about designing api and patents together to track each other. And to avoid prior art, you have to anticipate the api, else others would be using it already, providing such prior art and foiling the patent-that-tracks-the-api trap.

&gt;&gt; If one specific method is at risk, then avoid it - and given this is Free Software we’re talking about

It likely would be more much than &quot;a method&quot; call. For some patent claims, it might be &quot;any&quot; method call within some API (because all method calls might rely on certain assumptions that would have to be changed to avoid violating patent claims). Plus, some methods or framework pieces are very important in that they help guide application design decisions.

&gt;&gt; Unless you live in fear

Things can definitely get uglier than you pretend is the likely scenario.

Perhaps some people don&#039;t mind, when things get ugly, accepting deals with Microsoft as necessary (eg, patent protection). For example, Novell seems to have taken this approach. They probably prefer to take the Microsoft money and protection (in exchange for their contract work) and thus avoid having to recode and redesign their way out of any future messes across their product lines.

Let&#039;s remember that mono supporters (like many devs) seek to create as much integration as possible and as many apps as possible with their preferred technology.

Let&#039;s remember we aren&#039;t talking about one method call. Microsoft&#039;s patent writing machine is nonstop. Microsoft engineers are talented. Microsoft has lots of money. Microsoft has given the marching orders (they made patents a key strategy in the late 1990s in fighting off the threat to their money line from FOSS). Microsoft learns from its past mistakes as well as the mistakes others make (eg, they learn from ineffective or bypassable patents). Each single patent can affect numerous API components. Etc, etc.

Let&#039;s remember that not everyone using mono will have community backing.

Let&#039;s remember what we just covered above. The trap API will be used to create large interlocking system, some parts of which will not be changed for various reasons. In any case, more than just the immediately affected pieces will have to be redesigned and recoded.

An example of a trap would be if a patent applies when the app (a) makes use of some basic security feature that happens to be embedded in many API calls and framework assumptions, (b) relies on an error-logging framework, and (c) does IMAP or POP or even TCP. To avoid infringement with an app that already does all these three things, you undo any one of (a) (b) or (c). But we can&#039;t really avoid (c) as that is defined by the context of where the application works. Eg, to change any part of TCP, you would have to change established, standards based software to handle special exceptions for these apps (and do so everywhere this app might be deployed, and across all vendors that implement this standard and which may interact with the deployed app). Avoiding (b) might be the way to go, especially if (a) would imply way too many changes or almost a full blown change of API, but (b) might be just as ugly or worse. It all depends on each app.

Now, working on these fixes means other apps stand to push ahead, but this will still mean Linux will take steps back, proportionally to its dependence on the affected software.

My point is that Linux+FOSS should avoid these dependencies. Ie, mono (as a high risk candidate technology) should be avoided to avoid pain later. There are many (imperfect) substitutes to mono.

..and of course, this is the patent angle only. I already mentioned there are other very important reasons why I would not want to help Monopolysoft or put the ball in their court even if patents were not an issue.</description>
		<content:encoded><![CDATA[<p>&gt;&gt; How you implement those rules (if at all) is entirely up to you.</p>
<p>(a) if the standard specifies you need to have it implemented and it must behave as such.. then you do it or you don&#8217;t follow the standard. There is no way around that. Does mono follow X or Y standard?</p>
<p>(b) if you care about interop, about meeting some specific interface exposed by some other software, then you have no choice in the matter either. If you don&#8217;t implement, then you don&#8217;t interface properly and hope of interop drops near zero pretty quickly.</p>
<p>Of course, each of these is manageable at the beginning. It&#8217;s when you have propagated the API extensively and then find out about inconvenient patent traps that things become really ugly.</p>
<p>&gt;&gt; You missed then, as you do now, the reason people suggest your analysis is flawed.</p>
<p>Point to the particular comment you have in mind because I don&#8217;t remember any challenge that wasn&#8217;t rebuttled fairly successfully (at least to my understanding).</p>
<p>&gt;&gt; If an API has a HelloWorld() method, then you can do what you want with it, even if the API says “Draw a message using GDI+” nobody is stopping YOUR implementation of HelloWorld() from using Qt. Or somesuch. That’s how this stuff works.</p>
<p>Perhaps you don&#8217;t understand then. This example you gave doesn&#8217;t touch on why this would or would not be a trap. In fact, as you lightly describe it, I don&#8217;t see a trap.</p>
<p>&gt;&gt; instead of returning the (patented) stored data, provides autogenerated data instead</p>
<p>It would help me analyze this example if you gave more info. I can&#8217;t tell if this is a good or a bad example.</p>
<p>All I see is that (a) apparently the file content provides redundant information, (b) patent infringement could be avoided if you avoid one of redundant components, so (c) the FOSS devs did just that and derived the part they left out.</p>
<p>The gif patent problem is a better example. It&#8217;s closer to what I have in mind, except that it is very specific and won&#8217;t affect large portions of many apps.</p>
<p>The gif standard says do X. To interoperate you need to do X. There is no X&#8217; that is suitable, according to the standard. Anything but X means you fail at that task. You cannot avoid the patent and interoperate with .gif. [I haven't looked at the details of the gif patents or gif spec, but I think this is the general idea.. at least if it was unavoidable.]</p>
<p>That is the basic issue I am talking about. It&#8217;s not that you can&#8217;t achieve some of the results you want through other API/designs (eg, avoiding the trap api from the start; eg, spread .png rather than .gif). The problem is that as you grow out software using that particular trap API, you create the equivalent of interlocking components. You create the equivalent of many .gif files, ie, of numerous jigsaw puzzles that are only useful when completed; however, to avoid a patent, you must take out certain pieces of each puzzle. To replace these holes, you can add redesigned pieces of a different behavior/shape (to avoid the patent problems). This means, however, that you have to keep changing adjacent components, at least some amount, at least initially, because the initial surrounding environment (defining the outline of the missing puzzle pieces) expects specific behavior (specific shapes), which we eventually found out we have to avoid (to avoid the patents). How much redesign will be needed for any particular scenario? How frequently will you learn about patent problems and have to redesign?</p>
<p>Note that the environment around the holes can be composed of more mono code (that is not infringing as is, with the holes set up). However, it can also be composed of dotnet code or closed mono code where these third party components are not going to be changed by their owners (eg, because they can&#8217;t manage that but don&#8217;t want to reveal source; because they won&#8217;t; because it&#8217;s MSdotnet and they have a license; etc). It can also be composed of non dotnet code or even dotnet-ish code but which must abide by rigid interfaces (eg, an IMAP server or plugin, see example scenario below).</p>
<p>So, full resolution of each missing puzzle piece for each violating puzzle will depend on how much change will ultimately be needed from the regions adjacent to the holes. Externally, there are limits imposed by already defined interfaces (some of which can&#8217;t be changed). Internally, you would like to avoid making too many changes. For each chain reaction of changes that might be a candidate fit, you must make sure to avoid further patent infringements (on any patent).</p>
<p>For perspective, all FOSS is subject to this, but all FOSS does not gratuitously walk into patent traps. We ask, *who is Microsoft* and how much to they have invested in &#8220;patent traps&#8221; around dotnet? We compare that answer (in theory) to the same question but about every other API/vendor combination (eg, dotnet/Sun, Java/Microsoft, Java/Sun.. etc). And don&#8217;t forget we are talking about api traps, not about general patents. It&#8217;s about designing api and patents together to track each other. And to avoid prior art, you have to anticipate the api, else others would be using it already, providing such prior art and foiling the patent-that-tracks-the-api trap.</p>
<p>&gt;&gt; If one specific method is at risk, then avoid it &#8211; and given this is Free Software we’re talking about</p>
<p>It likely would be more much than &#8220;a method&#8221; call. For some patent claims, it might be &#8220;any&#8221; method call within some API (because all method calls might rely on certain assumptions that would have to be changed to avoid violating patent claims). Plus, some methods or framework pieces are very important in that they help guide application design decisions.</p>
<p>&gt;&gt; Unless you live in fear</p>
<p>Things can definitely get uglier than you pretend is the likely scenario.</p>
<p>Perhaps some people don&#8217;t mind, when things get ugly, accepting deals with Microsoft as necessary (eg, patent protection). For example, Novell seems to have taken this approach. They probably prefer to take the Microsoft money and protection (in exchange for their contract work) and thus avoid having to recode and redesign their way out of any future messes across their product lines.</p>
<p>Let&#8217;s remember that mono supporters (like many devs) seek to create as much integration as possible and as many apps as possible with their preferred technology.</p>
<p>Let&#8217;s remember we aren&#8217;t talking about one method call. Microsoft&#8217;s patent writing machine is nonstop. Microsoft engineers are talented. Microsoft has lots of money. Microsoft has given the marching orders (they made patents a key strategy in the late 1990s in fighting off the threat to their money line from FOSS). Microsoft learns from its past mistakes as well as the mistakes others make (eg, they learn from ineffective or bypassable patents). Each single patent can affect numerous API components. Etc, etc.</p>
<p>Let&#8217;s remember that not everyone using mono will have community backing.</p>
<p>Let&#8217;s remember what we just covered above. The trap API will be used to create large interlocking system, some parts of which will not be changed for various reasons. In any case, more than just the immediately affected pieces will have to be redesigned and recoded.</p>
<p>An example of a trap would be if a patent applies when the app (a) makes use of some basic security feature that happens to be embedded in many API calls and framework assumptions, (b) relies on an error-logging framework, and (c) does IMAP or POP or even TCP. To avoid infringement with an app that already does all these three things, you undo any one of (a) (b) or (c). But we can&#8217;t really avoid (c) as that is defined by the context of where the application works. Eg, to change any part of TCP, you would have to change established, standards based software to handle special exceptions for these apps (and do so everywhere this app might be deployed, and across all vendors that implement this standard and which may interact with the deployed app). Avoiding (b) might be the way to go, especially if (a) would imply way too many changes or almost a full blown change of API, but (b) might be just as ugly or worse. It all depends on each app.</p>
<p>Now, working on these fixes means other apps stand to push ahead, but this will still mean Linux will take steps back, proportionally to its dependence on the affected software.</p>
<p>My point is that Linux+FOSS should avoid these dependencies. Ie, mono (as a high risk candidate technology) should be avoided to avoid pain later. There are many (imperfect) substitutes to mono.</p>
<p>..and of course, this is the patent angle only. I already mentioned there are other very important reasons why I would not want to help Monopolysoft or put the ball in their court even if patents were not an issue.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Technology</title>
		<link>http://apebox.org/wordpress/rants/70/comment-page-1/#comment-449</link>
		<dc:creator>Technology</dc:creator>
		<pubDate>Mon, 20 Apr 2009 15:24:14 +0000</pubDate>
		<guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=70#comment-449</guid>
		<description>&lt;a href=&quot;#comment-435&quot; rel=&quot;nofollow&quot;&gt;@Jose_X&lt;/a&gt;, 

Just do a google patent search for &quot;QueryInterface&quot; or &quot;IUnknown&quot; and Microsoft.   The patent covers the very foundation of COM, and all of the listed products infringe on it.

There is no difference in how they obtained the patents.   The fact of the matter is that they own them.

And Mono is much less of a problem (due to its limited use compared to other technologies infringing on MS patents) than big block busters like Firefox and OpenOffice.

Also, there is no such thing as an &quot;Antitrust safeguard&quot;, you just made that out of thin air.

So what about a little consistency here?</description>
		<content:encoded><![CDATA[<p><a href="#comment-435" rel="nofollow">@Jose_X</a>, </p>
<p>Just do a google patent search for &#8220;QueryInterface&#8221; or &#8220;IUnknown&#8221; and Microsoft.   The patent covers the very foundation of COM, and all of the listed products infringe on it.</p>
<p>There is no difference in how they obtained the patents.   The fact of the matter is that they own them.</p>
<p>And Mono is much less of a problem (due to its limited use compared to other technologies infringing on MS patents) than big block busters like Firefox and OpenOffice.</p>
<p>Also, there is no such thing as an &#8220;Antitrust safeguard&#8221;, you just made that out of thin air.</p>
<p>So what about a little consistency here?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: directhex</title>
		<link>http://apebox.org/wordpress/rants/70/comment-page-1/#comment-437</link>
		<dc:creator>directhex</dc:creator>
		<pubDate>Mon, 20 Apr 2009 10:00:56 +0000</pubDate>
		<guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=70#comment-437</guid>
		<description>&lt;a href=&quot;#comment-433&quot; rel=&quot;nofollow&quot;&gt;@Jose_X&lt;/a&gt;, I saw your &quot;patent trap&quot; idea being formed, from &quot;well, what about if this happened&quot; rumblings to full-on &quot;look, this is the truth!!!&quot;.

You missed then, as you do now, the reason people suggest your analysis is flawed.

An API is just a set of rules. How you implement those rules (if at all) is entirely up to you. If an API has a HelloWorld() method, then you can do what you want with it, even if the API says &quot;Draw a message using GDI+&quot; nobody is stopping YOUR implementation of HelloWorld() from using Qt. Or somesuch. That&#039;s how this stuff works.

Let&#039;s take an active example of Freetype. Freetype implemented a method of font hinting (i.e. using font hints stored in a .ttf file) patented by Apple. Apple&#039;s legal department started rattling sabers, and Freetype was modified so the API call for &quot;give me the font info&quot;, instead of returning the (patented) stored data, provides autogenerated data instead.

If one specific &lt;b&gt;&lt;i&gt;method&lt;/i&gt;&lt;/b&gt; is at risk, then avoid it - and given this is Free Software we&#039;re talking about, even if a change causes app breakage, those apps can be fixed trivially.

There is far greater danger from patented algorithms (i.e. codecs) than from your spurious &quot;API trap&quot;. Unless you live in fear of the concept of HelloWorld(), rather than a &quot;bad&quot; implementation thereof.</description>
		<content:encoded><![CDATA[<p><a href="#comment-433" rel="nofollow">@Jose_X</a>, I saw your &#8220;patent trap&#8221; idea being formed, from &#8220;well, what about if this happened&#8221; rumblings to full-on &#8220;look, this is the truth!!!&#8221;.</p>
<p>You missed then, as you do now, the reason people suggest your analysis is flawed.</p>
<p>An API is just a set of rules. How you implement those rules (if at all) is entirely up to you. If an API has a HelloWorld() method, then you can do what you want with it, even if the API says &#8220;Draw a message using GDI+&#8221; nobody is stopping YOUR implementation of HelloWorld() from using Qt. Or somesuch. That&#8217;s how this stuff works.</p>
<p>Let&#8217;s take an active example of Freetype. Freetype implemented a method of font hinting (i.e. using font hints stored in a .ttf file) patented by Apple. Apple&#8217;s legal department started rattling sabers, and Freetype was modified so the API call for &#8220;give me the font info&#8221;, instead of returning the (patented) stored data, provides autogenerated data instead.</p>
<p>If one specific <b><i>method</i></b> is at risk, then avoid it &#8211; and given this is Free Software we&#8217;re talking about, even if a change causes app breakage, those apps can be fixed trivially.</p>
<p>There is far greater danger from patented algorithms (i.e. codecs) than from your spurious &#8220;API trap&#8221;. Unless you live in fear of the concept of HelloWorld(), rather than a &#8220;bad&#8221; implementation thereof.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jose_X</title>
		<link>http://apebox.org/wordpress/rants/70/comment-page-1/#comment-435</link>
		<dc:creator>Jose_X</dc:creator>
		<pubDate>Mon, 20 Apr 2009 01:09:55 +0000</pubDate>
		<guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=70#comment-435</guid>
		<description>&gt;&gt; In particular, you are singling out Mono as a dangerous technology on the grounds of patents and yet you seem to ignore more pressing problems.

Patents is only one of two main issues I mentioned. Arguably it is the lesser problem. Certainly, to date, Microsoft&#039;s main weapon has not been patents. However, it&#039;s worth noting that the Comes exhibit revealed Microsoft does look towards patents as a very crucial weapon to manage the open source challenge. This strategic change happened just before the turn of the century. Personally, I continue to think the more subtle &quot;monopoly leveraging of interop they control&quot; is a more potent weapon, but it certainly helps them to get patents on their side, if only for the FUD (deception) and extortion factors.

When there are so many similar platforms (including platforms that could be forked if necessary and adjusted or which are less under the control of a dominating entity), why pick platform Y over X? My experience on forums (and it is limited) is that those that back mono tend not to be bothered or even do like Microsoft&#039;s monopolies. They also tend to speak as Microsoft is unstoppable.

&gt;&gt; For instance, both Mozilla and OpenOffice implement Microsoft COM

Is that true, or are you pulling my leg? I haven&#039;t studied those 3, but I always believed there were real differences among them (maybe they are more similar than I thought). Some of the core concepts are pretty simple and might be shared. These might not be patentable, but if you aggregate enough of these simple concepts it becomes readily patentable in the US.

Novell (cl)aims for &quot;interop&quot; with MSdotnet. That is very different than saying you have a framework that shares basic items and concepts.

So from the patent (read the api trap link) as well as the traditionally more important EEE perspective, you should not IMO contribute to the generic dotnet platform.

FWIW, I would like to see alternatives to Firefox and Openoffice gain ground on these two (wherever they lag behind).

Also, keep in mind that mono is developed and sold as a tool for building new FOSS apps. Firefox and Openoffice, while platforms themselves, have more limited capabilities as application generators (at least in practice).

Finally, those two alternative platforms don&#039;t belong to Monopolysoft, but rather to organizations (one being nonprofit) that have a high interest in bringing competition to markets controlled by Monopolysoft. Each of these competes aggressively with Monopolysoft. These platforms gain from the growth of Linux and FOSS.

&gt;&gt; it seems like they are both juicier targets to go after than Mono.

Their core are not clones.

Did you notice that the FAT patents were very specific. The more specific the patents, the less likely a judge would sympathize with you.

&gt;&gt; Microsoft purchased the graphics and OpenGL patents from SGI

I am aware of that but not of the details.

From the EEE perspective, Microsoft gains much more from use of DirectX interfaces. I also expect they have many more patents (especially tricky ones) on DirectX.

&gt;&gt; Why are you not boycotting the use of OpenGL in that case?

A few more differences I see are that they bought those patents after the fact, rather than having the ability and desire (see Comes exhibit) to create interfaces and protect them with patents.

It was also a small number of patents, iirc, not the many Microsoft has been taking out and likely has on dotnet related interfaces.

BTW, if antitrust safeguards kick in, DirectX is Microsoft&#039;s playground. OpenGL is not.

&gt;&gt; And instead of fighting open source projects, you could *fight* software patents and work for patent reform.

Too late, I&#039;m already on it.

You focused only on the patent question. I think the risks are highest for FOSS devs when you clone Monopolysoft. Also, the other &quot;half&quot; of the battle, which has nothing to do with patents, means that you basically vote for the viability of a platform/standard/etc (and of its patrons) when you use/clone it and build for it. There are many better alternatives than to be voting for Monopolysoft (again, IMO). There is a very good reason I call this company Monopolysoft.</description>
		<content:encoded><![CDATA[<p>&gt;&gt; In particular, you are singling out Mono as a dangerous technology on the grounds of patents and yet you seem to ignore more pressing problems.</p>
<p>Patents is only one of two main issues I mentioned. Arguably it is the lesser problem. Certainly, to date, Microsoft&#8217;s main weapon has not been patents. However, it&#8217;s worth noting that the Comes exhibit revealed Microsoft does look towards patents as a very crucial weapon to manage the open source challenge. This strategic change happened just before the turn of the century. Personally, I continue to think the more subtle &#8220;monopoly leveraging of interop they control&#8221; is a more potent weapon, but it certainly helps them to get patents on their side, if only for the FUD (deception) and extortion factors.</p>
<p>When there are so many similar platforms (including platforms that could be forked if necessary and adjusted or which are less under the control of a dominating entity), why pick platform Y over X? My experience on forums (and it is limited) is that those that back mono tend not to be bothered or even do like Microsoft&#8217;s monopolies. They also tend to speak as Microsoft is unstoppable.</p>
<p>&gt;&gt; For instance, both Mozilla and OpenOffice implement Microsoft COM</p>
<p>Is that true, or are you pulling my leg? I haven&#8217;t studied those 3, but I always believed there were real differences among them (maybe they are more similar than I thought). Some of the core concepts are pretty simple and might be shared. These might not be patentable, but if you aggregate enough of these simple concepts it becomes readily patentable in the US.</p>
<p>Novell (cl)aims for &#8220;interop&#8221; with MSdotnet. That is very different than saying you have a framework that shares basic items and concepts.</p>
<p>So from the patent (read the api trap link) as well as the traditionally more important EEE perspective, you should not IMO contribute to the generic dotnet platform.</p>
<p>FWIW, I would like to see alternatives to Firefox and Openoffice gain ground on these two (wherever they lag behind).</p>
<p>Also, keep in mind that mono is developed and sold as a tool for building new FOSS apps. Firefox and Openoffice, while platforms themselves, have more limited capabilities as application generators (at least in practice).</p>
<p>Finally, those two alternative platforms don&#8217;t belong to Monopolysoft, but rather to organizations (one being nonprofit) that have a high interest in bringing competition to markets controlled by Monopolysoft. Each of these competes aggressively with Monopolysoft. These platforms gain from the growth of Linux and FOSS.</p>
<p>&gt;&gt; it seems like they are both juicier targets to go after than Mono.</p>
<p>Their core are not clones.</p>
<p>Did you notice that the FAT patents were very specific. The more specific the patents, the less likely a judge would sympathize with you.</p>
<p>&gt;&gt; Microsoft purchased the graphics and OpenGL patents from SGI</p>
<p>I am aware of that but not of the details.</p>
<p>From the EEE perspective, Microsoft gains much more from use of DirectX interfaces. I also expect they have many more patents (especially tricky ones) on DirectX.</p>
<p>&gt;&gt; Why are you not boycotting the use of OpenGL in that case?</p>
<p>A few more differences I see are that they bought those patents after the fact, rather than having the ability and desire (see Comes exhibit) to create interfaces and protect them with patents.</p>
<p>It was also a small number of patents, iirc, not the many Microsoft has been taking out and likely has on dotnet related interfaces.</p>
<p>BTW, if antitrust safeguards kick in, DirectX is Microsoft&#8217;s playground. OpenGL is not.</p>
<p>&gt;&gt; And instead of fighting open source projects, you could *fight* software patents and work for patent reform.</p>
<p>Too late, I&#8217;m already on it.</p>
<p>You focused only on the patent question. I think the risks are highest for FOSS devs when you clone Monopolysoft. Also, the other &#8220;half&#8221; of the battle, which has nothing to do with patents, means that you basically vote for the viability of a platform/standard/etc (and of its patrons) when you use/clone it and build for it. There are many better alternatives than to be voting for Monopolysoft (again, IMO). There is a very good reason I call this company Monopolysoft.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jose_X</title>
		<link>http://apebox.org/wordpress/rants/70/comment-page-1/#comment-434</link>
		<dc:creator>Jose_X</dc:creator>
		<pubDate>Mon, 20 Apr 2009 00:44:03 +0000</pubDate>
		<guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=70#comment-434</guid>
		<description>I agree.. with your whole comment, pretty much.

Even &quot;mere&quot; users can vote for the team they think best helps them by contributing.

I think more users will be better off by breaking monopolies, especially when the monopolist has multiple monopolies and levers and uses them to move into new markets. Microsoft uses every ounce they can get away with legally (or illegally if they think justice will lag sufficiently or they outsmart the authorities).

Yes, I really have a problem with Monopolysoft specifically. They are very competent at dominating markets one way or other. They find angles and creative weapons where others don&#039;t even (dare) look or exploit. They know what counts and what doesn&#039;t. They know what wins. They embrace customers only as much as necessary to win and dominate. With control, customers and &quot;partners&quot; have less leverage against them. They also have no qualms about deceiving.

Monopolysoft doesn&#039;t need my help. Monopolies stagnate and suffocate, more so, the more power they gain. I don&#039;t want to see FOSS be embraced, extended, and extinguished (marginalized). Monopolysoft embraces good ideas, then extends them to keep others out of the party (except under Monopolysoft supervision and limitations) We are open. Microsoft is not. I don&#039;t want people to &quot;learn the Microsoft lessons (again)&quot; ten years from now. Enough is enough. I don&#039;t feed parasites if I can help it.

..If I have to pick between similar options and one helps them while the other less so, I will not pick what helps them more.</description>
		<content:encoded><![CDATA[<p>I agree.. with your whole comment, pretty much.</p>
<p>Even &#8220;mere&#8221; users can vote for the team they think best helps them by contributing.</p>
<p>I think more users will be better off by breaking monopolies, especially when the monopolist has multiple monopolies and levers and uses them to move into new markets. Microsoft uses every ounce they can get away with legally (or illegally if they think justice will lag sufficiently or they outsmart the authorities).</p>
<p>Yes, I really have a problem with Monopolysoft specifically. They are very competent at dominating markets one way or other. They find angles and creative weapons where others don&#8217;t even (dare) look or exploit. They know what counts and what doesn&#8217;t. They know what wins. They embrace customers only as much as necessary to win and dominate. With control, customers and &#8220;partners&#8221; have less leverage against them. They also have no qualms about deceiving.</p>
<p>Monopolysoft doesn&#8217;t need my help. Monopolies stagnate and suffocate, more so, the more power they gain. I don&#8217;t want to see FOSS be embraced, extended, and extinguished (marginalized). Monopolysoft embraces good ideas, then extends them to keep others out of the party (except under Monopolysoft supervision and limitations) We are open. Microsoft is not. I don&#8217;t want people to &#8220;learn the Microsoft lessons (again)&#8221; ten years from now. Enough is enough. I don&#8217;t feed parasites if I can help it.</p>
<p>..If I have to pick between similar options and one helps them while the other less so, I will not pick what helps them more.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

