Is .NET on Linux Finally Ready?
|
|
|
Comments (51)
31 earlier comments in the full thread.
jdixon -
The proper response is "Who cares?". The issue at hand is mono, not Microsoft. Mono is a free software project receiving support from Novell.
Microsoft created the specification and built the (by far) leading implementation. The best reason to use mono is because you don't trust Microsoft and don't wish to use their products, but appreciate a good (hypothetical -- What little .Net I've worked with seems pretty nice, but I'm not sufficiently expert to have a judgment) idea from some bright people who work for them.
The proper response is "Who cares?". The issue at hand is mono, not Microsoft. Mono is a free software project receiving support from Novell.
Microsoft created the specification and built the (by far) leading implementation. The best reason to use mono is because you don't trust Microsoft and don't wish to use their products, but appreciate a good (hypothetical -- What little .Net I've worked with seems pretty nice, but I'm not sufficiently expert to have a judgment) idea from some bright people who work for them.
oh there is something untoward going on, on the part of the 'advocates'. As mentioned before MS could change their standard and immeadiatly break mono compatability (as well as a bunch of their own stuff) and it wouldnt necessarily change mono one whit.
And while we are on the topic, why has no one brought DotGNU to the table and laid the same accusations? It's the same thing, an Open Source implentation of .Net as is mono. Why? Simple, mono is associated with Novell, and DotGNU is associated with GNU (aka Saint Stallman). The same technical legal traps, if apply to one, apply to the other.
Mono bashing is an offshoot of Novell bashing because of it's Microsoft association.
And while we are on the topic, why has no one brought DotGNU to the table and laid the same accusations? It's the same thing, an Open Source implentation of .Net as is mono. Why? Simple, mono is associated with Novell, and DotGNU is associated with GNU (aka Saint Stallman). The same technical legal traps, if apply to one, apply to the other.
Mono bashing is an offshoot of Novell bashing because of it's Microsoft association.
@azerthoth
"Mono bashing is an offshoot of Novell bashing because of it's Microsoft association."
I certainly agree with you assessment. except that you seem to write that as if it is a bad thing.
"And while we are on the topic, why has no one brought DotGNU"
I can't speak for others, but as far as I am concerned, I didn't bring it up because I didn't even know that such a futile endeavor had been ventured.
"Let me tell you, your not advocating anything but intolerance with that logic." Why on earth should I be tolerant with Microsoft's Practices. Maybe it's a religious thing, but I'm not very keen on 'turning the other cheek'. Despite attempt in post earlier to isolate mono from Microsoft, allow me to list few keywords. I'm sure you'll be able to connect the dot(net?)
Microsoft - ECMA - OOXML Icaza - Mono - Patent - Novel - Microsoft Microsoft - ECMA - C#
"Mono bashing is an offshoot of Novell bashing because of it's Microsoft association."
I certainly agree with you assessment. except that you seem to write that as if it is a bad thing.
"And while we are on the topic, why has no one brought DotGNU"
I can't speak for others, but as far as I am concerned, I didn't bring it up because I didn't even know that such a futile endeavor had been ventured.
"Let me tell you, your not advocating anything but intolerance with that logic." Why on earth should I be tolerant with Microsoft's Practices. Maybe it's a religious thing, but I'm not very keen on 'turning the other cheek'. Despite attempt in post earlier to isolate mono from Microsoft, allow me to list few keywords. I'm sure you'll be able to connect the dot(net?)
Microsoft - ECMA - OOXML Icaza - Mono - Patent - Novel - Microsoft Microsoft - ECMA - C#
Quoting:And while we are on the topic, why has no one brought DotGNU to the table and laid the same accusations? It's the same thing, an Open Source implentation of .Net as is mono. Why? Simple, mono is associated with Novell, and DotGNU is associated with GNU (aka Saint Stallman). The same technical legal traps, if apply to one, apply to the other.
No, no, no! I've explained this a couple dozen times before. DotGNU implements the standard, the whole standard and nothing but the standard. Mono brings bug-for-bug compatibility with MS .Net and includes several libraries that are *not* part of the standard but which ship with MS .Net and which were reverse engineered clean room by Mono. It's in these parts that legal traps may hide. Clean-room reverse engineering protects only against copyright infringement, not against patents.
>Clean-room reverse engineering protects only against copyright infringement, not against patents.
Almost true. Clean room engineering can be of some benefit against patents by reducing the likelihood that you will choose a patented implementation, but has no legal force.
It also doesn't protect against serial killers, mortgage foreclosures, annoying sales calls, or a number of other things that have no special relevance to mono.
Almost true. Clean room engineering can be of some benefit against patents by reducing the likelihood that you will choose a patented implementation, but has no legal force.
It also doesn't protect against serial killers, mortgage foreclosures, annoying sales calls, or a number of other things that have no special relevance to mono.
@sander
Besides if this be the concern then why don't those who oppose Mono say this straight, instead of going on about "MS is evil" kind of stuff? Mostly looks like an afterthought, and those who are really concerned with this can simply avoid those APIs.
@shmget Just because *you* have no use for Mono does not mean that it is futile for *everyone*. For instance I have experienced at least two uses of Mono: 1) allowing existing .NET applications to run on Linux unchanged or porting with minimum effort, and 2) allowing existing .NET devs to leverage their skills on the FOSS platforms
Note that this is not just theoretical. My company has a distributed caching/messaging product that has a server part (in java) and client APIs which are available in C++ and .NET (besides java). Performance and scalability are critical (and deal makers/breakers) for our customers and so we recommend those using .NET applications to migrate to Linux using Mono to get better performance and scalability (besides other advantages we all know of). Btw, the performance and scalability gains achieved by simply migrating to Linux on same hardware can be of the order of 50% and not small. This would not have been possible without Mono.
Read the whole commentQuoting: Mono brings bug-for-bug compatibility with MS .Net and includes several libraries that are *not* part of the standard but which ship with MS .Net and which were reverse engineered clean room by Mono. It's in these parts that legal traps may hide. Clean-room reverse engineering protects only against copyright infringement, not against patents.Afaik, Mono implements the published APIs for this. Unless you have some specific evidence, there is no reason to believe that they have resorted to reverse engineering of MS.NET algos or have seen/copied the rotor code to get bug for bug compatibility. As has been pointed out then, unless you bring out any specific instances where Mono's implementations/algos are covered by some MS patents this is just hand waving.
Besides if this be the concern then why don't those who oppose Mono say this straight, instead of going on about "MS is evil" kind of stuff? Mostly looks like an afterthought, and those who are really concerned with this can simply avoid those APIs.
@shmget Just because *you* have no use for Mono does not mean that it is futile for *everyone*. For instance I have experienced at least two uses of Mono: 1) allowing existing .NET applications to run on Linux unchanged or porting with minimum effort, and 2) allowing existing .NET devs to leverage their skills on the FOSS platforms
Note that this is not just theoretical. My company has a distributed caching/messaging product that has a server part (in java) and client APIs which are available in C++ and .NET (besides java). Performance and scalability are critical (and deal makers/breakers) for our customers and so we recommend those using .NET applications to migrate to Linux using Mono to get better performance and scalability (besides other advantages we all know of). Btw, the performance and scalability gains achieved by simply migrating to Linux on same hardware can be of the order of 50% and not small. This would not have been possible without Mono.
krisum --
So what?
Mono is evil nasty bad stuff based on a spec Microsoft came up with. As your company includes .Net in its technology basket basket, it must be an evil nasty bad company. As your mono stuff will run on Linux, Linux must ban evil nasty bad OS.
No way to we want an OS that runs stuff that originated with a Microsoft idea. Say no to mono. Say no to Samba. Say no to AJAX. Say not to Linux.
Freedom is all about being able to to nothing at all to show how good you really are.
So what?
Mono is evil nasty bad stuff based on a spec Microsoft came up with. As your company includes .Net in its technology basket basket, it must be an evil nasty bad company. As your mono stuff will run on Linux, Linux must ban evil nasty bad OS.
No way to we want an OS that runs stuff that originated with a Microsoft idea. Say no to mono. Say no to Samba. Say no to AJAX. Say not to Linux.
Freedom is all about being able to to nothing at all to show how good you really are.
Quoting:Freedom is all about being able to to nothing at all to show how good you really are.
Freedom's just another word for nothing left to lose. Only in the Linux world it's just another word for I'm so damn paranoid I'd tie myself in knots rather than do anything sane or rational.
Quoting:unless you bring out any specific instances where Mono's implementations/algos are covered by some MS patents this is just hand waving.
Mono implements ADO.NET, ASP.Net and Windows.Forms. These are *not* part of the ECMA standards and may be covered by Microsoft patents.
@sander
As a comparison remember the days before java was FOSS, classpath/gcj were GNU implementations having specific classes that provided functionality equivalent to sun specific java classes.
Quoting: Mono implements ADO.NET, ASP.Net and Windows.Forms. These are *not* part of the ECMA standards and may be covered by Microsoft patents.So? As mentioned these are published APIs upon which Mono's implementations are based. Your claims of Mono having reverse engineered any of MS.NET algos etc has no basis either.
As a comparison remember the days before java was FOSS, classpath/gcj were GNU implementations having specific classes that provided functionality equivalent to sun specific java classes.
> The issue at hand is mono, not Microsoft.
Mono is a re-implementation of a Microsoft product. You can't separate the two to that extent. Whether anyone likes it or not, they are related.
I don't know about the other folks here, but it's been my subjective impression that everything that comes from Microsoft seems to degrade my computing experience in one way or another. The farther I keep Microsoft from my computer, the better things seem to work.
Now, Miguel insists that .Net and C# aren't like that, and are actually good technologies. However, given my past experience with Microsoft, the burden is on him and the other Mono folks to prove that to me. So far, the results haven't been particularly convincing.
Mono may be the greatest thing since sliced bread. But when it's modeled on a product from a bakery which has produced only stale and moldy products before, why should I believe that?
Mono is a re-implementation of a Microsoft product. You can't separate the two to that extent. Whether anyone likes it or not, they are related.
I don't know about the other folks here, but it's been my subjective impression that everything that comes from Microsoft seems to degrade my computing experience in one way or another. The farther I keep Microsoft from my computer, the better things seem to work.
Now, Miguel insists that .Net and C# aren't like that, and are actually good technologies. However, given my past experience with Microsoft, the burden is on him and the other Mono folks to prove that to me. So far, the results haven't been particularly convincing.
Mono may be the greatest thing since sliced bread. But when it's modeled on a product from a bakery which has produced only stale and moldy products before, why should I believe that?
Quoting:So? As mentioned these are published APIs upon which Mono's implementations are based. Your claims of Mono having reverse engineered any of MS.NET algos etc has no basis either.
ADO.NET, ASP.Net and Windows.Forms are not part of the ECMA specs. Any patent in any of those is something that Microsoft can use against Mono.
Quoting: ADO.NET, ASP.Net and Windows.Forms are not part of the ECMA specs. Any patent in any of those is something that Microsoft can use against Mono.Sure, so if you know of any patents in those then let the Mono project know about them. As Mono's FAQ states:
"Mono's strategy for dealing with any potential issues that might arise with ASP.NET, ADO.NET or Windows.Forms is: (1) work around the patent by using a different implementation technique that retains the API, but changes the mechanism; if that is not possible, we would (2) remove the pieces of code that were covered by those patents, and also (3) find prior art that would render the patent useless."
FYI, even DotGNU provides an implementation of Windows.Forms which is in accordance with their goal of "In addition, we want to make sure that many application programs which were written for Microsoft's .NET platform (with no consideration for portability) will work well with DotGNU on many operating systems." (see dotgnu.org for details). Sure it still does not provide anything for ADO.NET or ASP.NET (afaik), but I believe it is more due to lack of developers more than anything else.
Btw, the question still remains as to how have you come to the conclusion that the Mono project has resorted to reverse engineering of MS.NET implementation.
So then how is this situation any different from classpath before openjdk, or FMJ (JMF API compatible replacement) etc. The situation with Samba was far riskier by your own logic (since it actually was about reverse engineering of the protocol) before the European commission's decision, or wine etc. The point being that such approach (that of providing drop in API replacements) has been part and parcel of FOSS for a long time. It is one of the principal ways to allow easy migration from proprietary platforms to FOSS platforms.
Quoting:FYI, even DotGNU provides an implementation of Windows.Forms
Then they share the same risk as Mono does.
Quoting:Btw, the question still remains as to how have you come to the conclusion that the Mono project has resorted to reverse engineering of MS.NET implementation.
Please point to the ADO.Net, Windows.Forms and ASP.NET references and where it says you can freely reimplement them (like it does on the ECMA CLI standard). 100% bug-for-bug compatibility came from *somewhere*.
Quoting:The situation with Samba was far riskier by your own logic (since it actually was about reverse engineering of the protocol)
It was not. You do not need to reverse engineer a Windows server for that. Only capture and analyse it's network traffic. That's the differentce between reverse engineering an API on one side and reverse engineering protocols and fileformats on the other side.
As I said in my first post:
Quoting:It all boils down to trust. Do you trust Microsoft?
I do not. And now I'm going to stop responding in this thread because these issues have been hashed out here over and over and over again for at nigh on two years without any result. I'm going to do more productive things.
Quoting: It was not. You do not need to reverse engineer a Windows server for that. Only capture and analyse it's network traffic. That's the differentce between reverse engineering an API on one side and reverse engineering protocols and fileformats on the other side.Why do you need to reverse engineer *anything* when implementing a documented API?
Even though you ignored the other examples, the point being made was that FOSS development does not cease due to some imagined threat of patents.
>Mono implements ADO.NET, ASP.Net and Windows.Forms. These are *not* part of the ECMA standards and may be covered by Microsoft patents.
So. What is it in any of those technologies that are
a) Covered by patents that b) mono violates?
That information is publicly available. Somebody should have found it by now.
You might as well say that apache violates patents because it does the same kinds of things that IIS does, or PostgreSQL violates patents covering parts of SQL Server.
Heck -- Samba certainly covers technologies that might be patented by Microsoft. And, PS -- those who think that the Samba team has reverse-engineered anything must not believe the Samba developers. Not only have they reverse-engineered, they have finagled bits and pieces of information from Microsoft employees.
So. What is it in any of those technologies that are
a) Covered by patents that b) mono violates?
That information is publicly available. Somebody should have found it by now.
You might as well say that apache violates patents because it does the same kinds of things that IIS does, or PostgreSQL violates patents covering parts of SQL Server.
Heck -- Samba certainly covers technologies that might be patented by Microsoft. And, PS -- those who think that the Samba team has reverse-engineered anything must not believe the Samba developers. Not only have they reverse-engineered, they have finagled bits and pieces of information from Microsoft employees.
>Mono is a re-implementation of a Microsoft product. You can't separate the two to that extent.
Not exactly. Mono is an implementation of a specification that does the same thing as a Microsoft product. In that regard it's like Firefox and other web browsers that incorporate "crap catchers" so that IE-specific pages don't render too badly.
Not exactly. Mono is an implementation of a specification that does the same thing as a Microsoft product. In that regard it's like Firefox and other web browsers that incorporate "crap catchers" so that IE-specific pages don't render too badly.
> Mono is an implementation of a specification that does the same thing as a Microsoft product.
Dino, I'm willing to accept that differentiation, but it makes no difference in my final question. The original still comes from Microsoft, and the spec is based on it, not the other way around.
Others disagree. See the above comments concerning various .Net features.
Dino, I'm willing to accept that differentiation, but it makes no difference in my final question. The original still comes from Microsoft, and the spec is based on it, not the other way around.
Others disagree. See the above comments concerning various .Net features.
jdixon -
No argument here. If mono is crap, it doesn't deserve to succeed. If it's not crap, it does.
No argument here. If mono is crap, it doesn't deserve to succeed. If it's not crap, it does.
Post a comment
A free account is needed to post. Write your comment here first: your text is kept in this browser while you sign up or log in, and is waiting for you when you come back.
Your message:Markdown: **bold**, *italic*, [text](https://link), - lists, > quotes, $x^2$ for math. Formatting help
Sign up and post (it is free) or Log in and post

FWIW, I don't come down on either side as of now...but I think r_a_trip has a point that mono is an unnecessary addition to the FOSS landscape.