Linked by Thom Holwerda on Tue 20th Sep 2005 19:40 UTC, submitted by _LH_
Mono Project The Mono guys got their software to run on Nokia's upcoming 770 Linux internet appliance. More here and a screenshot here.
Thread beginning with comment 34773
To view parent comment, click here.
To read all comments associated with this story, please click here.
pinky
Member since:
2005-07-15

let's try to give an answere, even if it doesn't make sense to answere the same questions again and again.

Let's focus on one example you have mentioned: System.Collections

First let me say that we are talking about software patents. Software patents has nothing to do with a specific implementation, software patents covers ideas completely independent from implementations, implementations are covered by copyright.

So look at System.Collections that are all basic things: lists, bit-arrays, hash-tables, and so on. Let's assume that MS has used a great idea to implement the System.Collections.Stack and have a patent on this idea. The Mono guys have implemented a System.Collections.Stack too without looking at the MS code. So we have two options:

1. They have implemented the "MS idea" which is patented.
2. They have implemented the stack by avoiding the "MS idea"

If option 2 is true we are done, no problem.
If option 1 is valid we have a problem if MS comes to us and says that we are using their patent. Than we have again two options:

1. We will find another way to implement the stack, than everything is fine.
2. We will not find another way to implement the stack.

If point 1 is true, the problem is solved.
If point 2 is true, we and all other programers have a problem. Because situation 2 would mean, that there is no way to implement a stack without violate a patent. This would mean that every stack, never mind if he is implemented in c#, python, c c++, java or any other language would violate the MS patent.

I hope you can see the point. In all the .Net libs there is nothing which is that new that there was nothing comparable in other language/toolkit libs. So either there is a way around the patent, you can contest the patent or everyone who do the same thing violate the patent.
And beside this few MS patents there are thousends of other patents were you have exactly the same problem.

Yes, it's a crappy situation but that's the situation for every programmer if he writes more than just a "hello-world-app" whether he uses c#, java, c++, c or any other language.

Reply Parent Score: 1

Member since:

I am not a patent lawyer, but the patent seems to imply they are patenting the API (software patents are such a nightmare combination of legal and tech lingo).

In order to work around the patent I would guess you will need to completely change the API of the Mono class library, in which case you will break all compatibility of Mono with .NET (and thus the concept of "moving" .NET applications to Linux falls apart) and you will break all existing Mono apps as everyone has to rewrite to the new API.

This patent (if granted) does not seem like something that has an attractive "implement around" option, in which case you are stuck with licensing it under whatever terms MS sees fit. To me, all of this makes Mono an insane idea at this moment.

Reply Parent Score: 0

pinky Member since:
2005-07-15

I am not a patent lawyer, but the patent seems to imply they are patenting the API

no you can't patent an API so that you can say: "System.Collections.Stack is patended an no one can have a function called System.Collections.Stack"

This has nothing to do with patents. On software patents you cover a specific idea completely independent if you call the fuction foo or bar and completely independent if you implement this idea in C, C++ or any other language.

Reply Parent Score: 1