09.19.08
Gemini version available ♊︎Guest Post: Why Not Mono – Part I
Those who work at Novell and also sympathise with Microsoft sometimes say so. Those who work at Novell and dislike Microsoft (or Windows) would put their job at risk by criticising Novell’s big partner and new source of revenue. The same goes for .NET — and by association Mono — so we expect no public outburst or resentment towards this direction coming from inside Novell.
It is important to understand why Mono is dangerous. Mono is Novell and Novell is growing closer and closer to Microsoft as time goes by. As a reader points out, “we really don’t know, what is happening behind closed doors, but there is nothing good to be expected.”
The same reader has prepared a short document, which he thought might be useful for people as they try to give a clearer picture why exactly it is different comparing DotNET vs. Mono than DotNET vs any other technology.
“Like the Google comic, sometimes a picture says more than words and sticks in the minds better,” he wrote. So here goes:
Why .NET to Mono related to Patents is a different thing than e.g. .Net and Python…
DotNet gets you there, like doing a simple mathematical operation like 1+1 = 2 Mono does it in the same way, emulating DotNET as closely as possible. So MS could argue that Mono does not only resemble its “original” a great deal, It basically incorporates the same internals.
Let’s say that DotNET has a diesel as motor, so does Mono.
“Demanding royalties on so-called IP, knowing its competitor uses a derived model with the same internals to make it “tick”.”Generally, every car uses a some kind of motor. But it would be very much more likely to be successful to sue for a company. Demanding royalties on so-called IP, knowing its competitor uses a derived model with the same internals to make it “tick”.
E.g. if DotNet uses a special hybrid-motor, it would be more likely for MS to make its case in the public opinion (which is crucial for the moral acceptance if MS decides to sue) sound “legit”, than if it would try to sue “Python”, which also uses the “4-wheel-technology”, has a motor and brings you from a to b (e.g. also arrives at the conclusion that 1+1 = 2), but ultimately shares this with any vehicle and would make it much harder for MS to attack while not being viewed as an “SCO-like”-attack.
Then the risk of Python itself (as the inventor of the Python-model) suing other “car-makers” based on their Python-technology is infinitely smaller compared due to its open-source-nature as opposed to MS as the DotNET-car-maker regarding its Mono-Clone… █
aeshna23 said,
September 19, 2008 at 8:26 am
I don’t like the illustration at all! DotNet and Mono are represented by antique cars, but Python is represented by a child’s toy. While I hate the internal combustion engine, the message I get from the illustration is Python is a toy and DotNet and Mono are real tools.
How using a propeller plane for Python?
Roy Schestowitz said,
September 19, 2008 at 8:31 am
Yes, well, I didn’t make the illustration.
AlexH said,
September 19, 2008 at 8:38 am
Amusing that the illustration was chosen to probably give the opposite impression (old car versus race car).
I don’t think this article particularly makes the case Mono and DotNet are similar internally; that seems to be a pretty big assumption.
Dan O'Brian said,
September 19, 2008 at 8:59 am
I was pretty disappointed in this article – yesterday you claimed someone had done “in-depth research” on Mono and that you would post it today. I can only presume you meant this… but I don’t see any “in depth” research at all. This article is severely lacking in any sort of research at all.
mike said,
September 19, 2008 at 6:00 pm
“(e.g. also arrives at the conclusion that 1+2 = 2),”
teehee … about what I personally think of Python
Not a very good argument in this article, simplified to the point of not being meaningful at all.
Particularly since both are software, and the only `engine’ they both use is the same (modern at that) cpu.
Jose_X said,
September 19, 2008 at 8:11 pm
>> I don’t think this article particularly makes the case Mono and DotNet are similar internally; that seems to be a pretty big assumption.
Don’t they follow the same set of specs, more or less? No one claimed the cars were built by the same people. The point is that they have the same internal interfaces. There may be variations in the parts but the interfacing sections and tolerances must match in many cases. This is land open to patent grabs.
And what about when you find that the MSdotnet car doesn’t follow the spec quite right or adds something, then mono has to follow (as per their marching orders in order to “maintain” interop). These deviations from the blueprints aren’t covered in any Covenant I don’t think.
>> Particularly since both are software, and the only ‘engine’ they both use is the same (modern at that) cpu.
In the analogy, every part of the car (all material hardware) is likened to software. The actual car components are like the dotnet software component implementations. Each car follows the same set of blueprints. This corresponds to the MSdotnet and mono following the same interface specs. The implementation designs could be similar in various areas but might not be. Designs will tend to be similar a lot more often if the interfaces being followed are the same. I think both the designs and the interfaces can end up in patents.
I think the patent grabs are overstepping constitutional boundaries and have other problems. I don’t pay too much attention to the subtleties of patents and patent law, so I don’t want to go further.
Roy Schestowitz said,
September 19, 2008 at 8:29 pm
AlexH, there’s more explanation about this coming tomorrow.
AlexH said,
September 20, 2008 at 3:39 am
@Jose:
To be clear, they process the same format data. But saying that means they work internally the same is a big stretch: gcc and LLVM, for example, compile the same code to the same object format. Internally, they work entirely differently.
As I said before, Mono itself has a JIT runtime and a non-JIT runtime: those two systems alone work entirely differently.
Balzac said,
September 22, 2008 at 10:12 am
I agree with the writing but M$ products should be represented by an ugly car. Maybe an Edsel would be more appropriate.
Roy Schestowitz said,
September 22, 2008 at 10:28 am
I’ll definitely do that if I produce an image in the future. This picture is not mine however.
Jose_X said,
November 23, 2008 at 9:22 pm
>> To be clear, they process the same format data. But saying that means they work internally the same is a big stretch: gcc and LLVM, for example, compile the same code to the same object format. Internally, they work entirely differently.
From what I know about Java, there are many interfaces which depend on other interfaces very precisely (the spec is not perfect in separating implementation from standard so my memory might be mixing the two some). Also, I’m talking about the whole stack.
Even if you were only talking about some core component equivalent to a JVM, I think that can include many many structural aspects that many people would not think twice about patenting around.
There is Bilski, so we shall see.