Ah, the "switch". The "bait" was of course the promise of ".NET Functionality and More", with "Compatibility with.NET" shamelessly highlighted for those visitors to your site of a particularly gullible nature.
I'm afraid that Gtk# does nothing to rescue DotGNU from the charge of functional bankruptcy. If I am investing specifically in Dotnet, I will use the native Windows UI and am unlikely ever to be able to justify migrating or forking my app to use Gtk#. Conversely, if I know up front that I want a genuinely cross-platform application I'm likely to follow the much better supported path of writing it in Java.
The strategy of the DotGNU project is to re-use a good number of existing Free Software libs (written in C) and compile them for.NET - again since those libs are old, they're safe from being affected by any.NET patents.
Even assuming this makes sense technically (see below), surely if you no longer care about portability between Dotnet and dotGNU, you've just lost the main justification for the dotGNU project?
If I have developed a Dotnet app, but I can't compile it on dotGNU because it calls Windows Forms, or ASP.NET or ADO.NET... why on earth should I care that, if I could compile it, the generated bytecodes would be the same instruction set as found on Windows? By definition, there cannot be any value for me to have portability at the bytecode level if it is missing at the application level. And, if I do go as far as changing every non-core API call in my app, I'm hardly going to care much if the bytecode is different - I have to maintain and generate two versions anyway.
Without portability, it seems positively perverse to seek to extend the influence of Microsoft technologies on Linux when there are already very well established equivalents (Java, Python, Parrot). Java-on-Linux investments alone must total something in the order of billions of dollars per year, judging by the number of large organizations doing rollouts of this type - I'd guess that currently Java is the single biggest factor pushing Linux into commercial organizations today.
So precisely what value is dotGNU bringing to the table?
Regarding the incorporation of old C libraries into DotGNU, it seems rather optimistic to assume they can just be wrapped or turned into managed code (ask MS about the effort invested in doing that for their code). Do these libs happen to support Dotnet style internationalization, multithreading, access control...? If not, you've got a huge chunk of work to do - and all to get you roughly where Python is already!
A rather curious assumption. Are you saying that a religion can be a belief system that does not include the supernatural like, say, mechanical engineering?
For us this side of the pond (UK), our guarantee that as normal consumers we can't be sued by SCO is the Law of Quiet Possession - I expect there's something similar in the US.
Aptly named, considering the noise level it's protecting us from courtesy of Darl & co. (What sort of a name is "Darl" anyway? Couldn't his parents spell Daryl/Darrell?)
Mono is a bit faster than Java, for some benchmark?
Well, why didn't you say so before?!
That way we could have avoided all that tedious discussion about IP infringements, functionality etc. in yesterday's Mono debate. Clearly some dude's performance figure should override all other considerations when choosing a platform.
Straightforward to remove parts of the platform? For who? Not for the application developer - try telling Adobe, Autodesk etc. that they have to switch APIs from Windows Forms to GTK and see how straightforward they think that will be.
Thank you for raising the position of a 3rd party Java environments on Linux. I'm not aware of any other message asking for such clarification, but if this is important to you you will find the legal position very clearly set out in the JCP documents. Needless to say, no equivalent program exists for Dotnet.
If you use a Java environment from IBM or BEA, or the Blackdown source port, these are licensed from Sun. In fact, Linux is a tier-1 implementation for both commercial companies, and huge resources are invested in producing a solid platform.
The bottom line is that 3rd party implementations for Linux are just some of the literally dozens of JVM implementations out there - determining licensing for Java is a pretty well-worn path.
I'm not ruling out the possibility that Ballmer could one day be made to appreciate the advantages of giving up the Windows revenue base, I'm just pointing out that so far the indications are that he'd rather like to keep it despite much wishful thinking here and elsewhere. One is forced to conclude that the plight of the small-time rip-off merchant receives relatively little attention in Redmond.
Ah, I see. Unfortunately to "simply write a new UI layer for your application" is likely to be considered a non-trivial operation, certainly by the likes of Adobe, Autodesk et al.
So given that we both agree that Java already offers the options of per-platform UIs and generic UIs (although I should point out that the Apple OSX UI is the Swing API, not a separate development) we seem to have concluded that Mono brings precisely nothing new to the table.
But if applications written for Dotnet can't be ported to Mono, what advantage does that leave Mono with over Java? (I mean Java both in its free-beer forms from BEA, Blackdown, IBM & Sun, and its free-speech form in Kaffe).
Would you care to guess at the relative investment figures for Java-on-Linux vs. Mono-on-Linux applications? The number of big Linux systems deployed to run Java apps vs. Mono apps? Aren't these figures important in our implementation decisions?
I've no doubt that the position regarding what Mono actually comprises, what parts of it are standard and open and what parts are regarded as proprietary by Microsoft may be clear to you and Miguel. For the rest of us, the picture is rather more murky.
Unfortunately, our understanding isn't helped by the "flexible" way in which leading Mono proponents respond to basic questions of functionality, portability and proprietary ownership. Take this example from a/. thread that you will be familiar with, and note how de Icaza's reply attempts to fudge the issue, resulting in a statement that contradicts itself (is Mono X or X+Y?):
Mono is an implementation of the ECMA 334 and 335 standards which are available for anyone to implement (no patent strings attached, check the Mono FAQ for details).
On top of that Mono implements plenty of class libraries: both the non-standarized class libraries from Microsoft, as well as our own universe of class libraries that take advantage of Unix-specific features.
From a quick reading of this I'd infer that, great, "no patent strings" are attached and I'm in the clear. But a second look draws me to the Dotnet parts which are "non-standardized". Now might these not have been standardized by MS because it considers them proprietary, and hence likely to be protected by patents? de Icaza is being deliberately coy, but we know from Ballmer's statements that this is exactly MS's position and they are wholly opposed to free clones of their complete platform.
I therefore do not accept that the true position is "common knowledge", or that Mono proponents are sufficiently upfront about the real situation.
I'm glad that you are considering Python for your cross-platform development - Python is an excellent example of collective innovation and as such is much worthier of our support than Mono.
However, I should point out that the commercial investment in Java on Linux exceeds that in Python by several orders of magnitude. While it's conceivable that a rationale for implementing a particular project in Python in preference to Java could be produced, given the wild uncertainties surrounding Mono I question whether a convincing rationale could ever be created for preferring it.
While you're waiting for Parrot (which I think is a development with huge potential, and very welcome in that it is actually creative) the logical platform to use is Java.
Don't forget that you have three free, high-quality Linux JVMs to choose from, plus corporate investment that is orders of magnitude greater than any comparable system.
As strictly speaking only your fifth point is relevant to the topic, we should examine it with some care.
My impression is that you are still perpetrating the CLR/Dotnet bait-and-switch policy, where the status of the CLR in terms of standardization and patent encumberances is used to misleadingly imply that the whole of Dotnet is similarly standardized and (supposedly) unencumbered by patents.
In other words, you have not been able to progress or resolve the fundamental issue here in over two years, when similar discussions took place here and in other forums.
If you have more recent information regarding Microsoft's position then you are more than welcome to share it with us. However, until such time as the IP risk has been adequately addressed, we would appreciate it if you refrained from further misleading the OSS community in this regard.
Ballmer has explicitly stated that patents will be used to suppress Dotnet clones.
How many more times is this naive drivel going to be repeated? Until such time as Novell choose to put a "we'll indemnify you against MS claims" offer on go-mono, no IT manager in his right mind is going to consider using Mono.
Patents in general certainly will affect Mono etc. if we are to believe Microsoft.
Steve Ballmer has explicitly said that he will use patents to prevent unlicensed clones appearing.
Whether the patents referred to above or others already obtained are the ones that will be used to suppress such developments is for all practical purposes likely to prove irrelevant.
Whatever else was new in the Constitution, it wasn't copyright. The framers were following British copyright practices established with the Statute of Anne in 1710.
It's therefore highly unlikely that this had any bearing on US industrial development relative to the rest of the world.
Steve Ballmer has explicitly stated that free implementations of Dotnet will not be tolerated and that he will use patents to protect the "millions" invested.
Reference: Interview in May 2002 issue of IX Magazine (in German, excerpt here).
Not just anyone - Blair asked advisor Alastair Campbell how he should begin his televised address to the nation. "How about 'My fellow Americans...?' replied Campbell. See MSNBVC story?
Oh good, while you're in a mood to help can you please find me a ~1.7Ghz Centrino wide screen with SP/DIF other than Dell or Samsung (since both are Windows taxed).
I hope people will take the moderation of the parent as "flamebait" as due warning that hints about Linux desktop platforms being obsolete before they are even finished will not be tolerated.
Remember, here in Linux-la-la-land, Java and Dotnet never happened. C/C++ will always be the means of writing desktop applications. Why, if VMs like Java were so important corporations would be investing millions into running Java applications on Linux instead of churning out lots of lovely C++!
I hope that sense will now prevail and mean-spirited critics and naysayers such as the parent poster will go to some other forum where they can discuss "portability", "security" and other so-called features without bothering the rest of us.
Yes, this needed a lot more work, a task to which well informed people here or on a site like Groklaw would have been more than happy to contribute.
A "community review" might have also boosted its claim to reflect OSS opinion, of course.
IMHO, the main problems are the emotive and vague language, plus the decision to respond to the DDos accusations first, which serves only to highlight SCO's partly legitimate complaint at the expense of the main issue.
However, it does get eventually around to stating a clear and reasonable demand so I guess followups won't be needed any time soon.
(Particularly annoying are the incorrect idioms:
reach a compromise (not "erect") proposed vast conspiracy theories (not "uttered") charges IBM and others (not "taxes", well, not commonly...) and wildernesses don't "howl" Instead of the horrible "a form of sham which we believe you press on us solely as posturing" something like "misleading practices which are endemic in the industry, now ludicrously presented as a problem unique to Open Source"....)
it is good enough, there isn't much reason to not choose the better proprietry platform apart from kneejerk anti-MS
From a technical point of view, the better platform, on Linux at least, is undeniably Java. Given that high quality VMs are freely available from BEA, IBM and Sun, plus a vast array of tools and other products it would be absurd to pretend that Mono/DotGNU are offerings in the same league. So far, Mono consists of half-completed APIs that rely on WINE and a poorly performing VM, it currently has negligable industry support, very limited tools and a role in Novell's game plan that is far from clear.
From a business point of view, the actual decision is likely to depend on just two factors:
1) Herd instinct
The investment being made in Java on Linux is orders of magnitude greater than any other platform technology. It is probably the single biggest driver for the deployment of Linux beyond the web-server tier, so it is no surprise that MS has taken aim at it.
2) Risk
Dotnet is proprietary, patented and is not licensed for use on Linux (only the CLR is "shared-source"). No company in their right mind is voluntarily going to make itself a hostage to MS indulgence, particularly given Ballmer's stated position against clones and for retaining all rights to Dotnet.
Ah, the "switch". The "bait" was of course the promise of ".NET Functionality and More", with "Compatibility with .NET" shamelessly highlighted for those visitors to your site of a particularly gullible nature.
I'm afraid that Gtk# does nothing to rescue DotGNU from the charge of functional bankruptcy. If I am investing specifically in Dotnet, I will use the native Windows UI and am unlikely ever to be able to justify migrating or forking my app to use Gtk#. Conversely, if I know up front that I want a genuinely cross-platform application I'm likely to follow the much better supported path of writing it in Java.
The strategy of the DotGNU project is to re-use a good number of existing Free Software libs (written in C) and compile them for .NET - again since those libs are old, they're safe from being affected by any .NET patents.
Even assuming this makes sense technically (see below), surely if you no longer care about portability between Dotnet and dotGNU, you've just lost the main justification for the dotGNU project?
If I have developed a Dotnet app, but I can't compile it on dotGNU because it calls Windows Forms, or ASP.NET or ADO.NET... why on earth should I care that, if I could compile it, the generated bytecodes would be the same instruction set as found on Windows? By definition, there cannot be any value for me to have portability at the bytecode level if it is missing at the application level. And, if I do go as far as changing every non-core API call in my app, I'm hardly going to care much if the bytecode is different - I have to maintain and generate two versions anyway.
Without portability, it seems positively perverse to seek to extend the influence of Microsoft technologies on Linux when there are already very well established equivalents (Java, Python, Parrot). Java-on-Linux investments alone must total something in the order of billions of dollars per year, judging by the number of large organizations doing rollouts of this type - I'd guess that currently Java is the single biggest factor pushing Linux into commercial organizations today.
So precisely what value is dotGNU bringing to the table?
Regarding the incorporation of old C libraries into DotGNU, it seems rather optimistic to assume they can just be wrapped or turned into managed code (ask MS about the effort invested in doing that for their code). Do these libs happen to support Dotnet style internationalization, multithreading, access control...? If not, you've got a huge chunk of work to do - and all to get you roughly where Python is already!
A rather curious assumption. Are you saying that a religion can be a belief system that does not include the supernatural like, say, mechanical engineering?
For us this side of the pond (UK), our guarantee that as normal consumers we can't be sued by SCO is the Law of Quiet Possession - I expect there's something similar in the US.
Aptly named, considering the noise level it's protecting us from courtesy of Darl & co. (What sort of a name is "Darl" anyway? Couldn't his parents spell Daryl/Darrell?)
Mono is a bit faster than Java, for some benchmark?
Well, why didn't you say so before?!
That way we could have avoided all that tedious discussion about IP infringements, functionality etc. in yesterday's Mono debate. Clearly some dude's performance figure should override all other considerations when choosing a platform.
Ah, OK. Well, I suspect you wouldn't be alone if you were hoping for a change of heart at MS.
Straightforward to remove parts of the platform? For who? Not for the application developer - try telling Adobe, Autodesk etc. that they have to switch APIs from Windows Forms to GTK and see how straightforward they think that will be.
Thank you for raising the position of a 3rd party Java environments on Linux. I'm not aware of any other message asking for such clarification, but if this is important to you you will find the legal position very clearly set out in the JCP documents. Needless to say, no equivalent program exists for Dotnet.
If you use a Java environment from IBM or BEA, or the Blackdown source port, these are licensed from Sun. In fact, Linux is a tier-1 implementation for both commercial companies, and huge resources are invested in producing a solid platform.
The bottom line is that 3rd party implementations for Linux are just some of the literally dozens of JVM implementations out there - determining licensing for Java is a pretty well-worn path.
I'm not ruling out the possibility that Ballmer could one day be made to appreciate the advantages of giving up the Windows revenue base, I'm just pointing out that so far the indications are that he'd rather like to keep it despite much wishful thinking here and elsewhere. One is forced to conclude that the plight of the small-time rip-off merchant receives relatively little attention in Redmond.
Ah, I see. Unfortunately to "simply write a new UI layer for your application" is likely to be considered a non-trivial operation, certainly by the likes of Adobe, Autodesk et al.
So given that we both agree that Java already offers the options of per-platform UIs and generic UIs (although I should point out that the Apple OSX UI is the Swing API, not a separate development) we seem to have concluded that Mono brings precisely nothing new to the table.
But Java doesn't have the resources of Microsoft pushing it forward
Correct. It has the resources of Sun, IBM, BEA, Oracle and many others.
Sun doesn't seem to be interested in letting go of their platform any more than MS does.
Really? That will come as news to the members of the JCP. I hope you've taken steps to inform them that they're wasting their time.
But if applications written for Dotnet can't be ported to Mono, what advantage does that leave Mono with over Java? (I mean Java both in its free-beer forms from BEA, Blackdown, IBM & Sun, and its free-speech form in Kaffe).
Would you care to guess at the relative investment figures for Java-on-Linux vs. Mono-on-Linux applications? The number of big Linux systems deployed to run Java apps vs. Mono apps? Aren't these figures important in our implementation decisions?
I've no doubt that the position regarding what Mono actually comprises, what parts of it are standard and open and what parts are regarded as proprietary by Microsoft may be clear to you and Miguel. For the rest of us, the picture is rather more murky.
/. thread that you will be familiar with, and note how de Icaza's reply attempts to fudge the issue, resulting in a statement that contradicts itself (is Mono X or X+Y?):
Unfortunately, our understanding isn't helped by the "flexible" way in which leading Mono proponents respond to basic questions of functionality, portability and proprietary ownership. Take this example from a
Mono is an implementation of the ECMA 334 and 335 standards which are available for anyone to implement (no patent strings attached, check the Mono FAQ for details).
On top of that Mono implements plenty of class libraries: both the non-standarized class libraries from Microsoft, as well as our own universe of class libraries that take advantage of Unix-specific features.
From a quick reading of this I'd infer that, great, "no patent strings" are attached and I'm in the clear. But a second look draws me to the Dotnet parts which are "non-standardized". Now might these not have been standardized by MS because it considers them proprietary, and hence likely to be protected by patents? de Icaza is being deliberately coy, but we know from Ballmer's statements that this is exactly MS's position and they are wholly opposed to free clones of their complete platform.
I therefore do not accept that the true position is "common knowledge", or that Mono proponents are sufficiently upfront about the real situation.
I'm glad that you are considering Python for your cross-platform development - Python is an excellent example of collective innovation and as such is much worthier of our support than Mono.
However, I should point out that the commercial investment in Java on Linux exceeds that in Python by several orders of magnitude. While it's conceivable that a rationale for implementing a particular project in Python in preference to Java could be produced, given the wild uncertainties surrounding Mono I question whether a convincing rationale could ever be created for preferring it.
While you're waiting for Parrot (which I think is a development with huge potential, and very welcome in that it is actually creative) the logical platform to use is Java.
Don't forget that you have three free, high-quality Linux JVMs to choose from, plus corporate investment that is orders of magnitude greater than any comparable system.
As strictly speaking only your fifth point is relevant to the topic, we should examine it with some care.
My impression is that you are still perpetrating the CLR/Dotnet bait-and-switch policy, where the status of the CLR in terms of standardization and patent encumberances is used to misleadingly imply that the whole of Dotnet is similarly standardized and (supposedly) unencumbered by patents.
In other words, you have not been able to progress or resolve the fundamental issue here in over two years, when similar discussions took place here and in other forums.
If you have more recent information regarding Microsoft's position then you are more than welcome to share it with us. However, until such time as the IP risk has been adequately addressed, we would appreciate it if you refrained from further misleading the OSS community in this regard.
Ballmer has explicitly stated that patents will be used to suppress Dotnet clones.
How many more times is this naive drivel going to be repeated? Until such time as Novell choose to put a "we'll indemnify you against MS claims" offer on go-mono, no IT manager in his right mind is going to consider using Mono.
Patents in general certainly will affect Mono etc. if we are to believe Microsoft.
Steve Ballmer has explicitly said that he will use patents to prevent unlicensed clones appearing.
Whether the patents referred to above or others already obtained are the ones that will be used to suppress such developments is for all practical purposes likely to prove irrelevant.
Whatever else was new in the Constitution, it wasn't copyright. The framers were following British copyright practices established with the Statute of Anne in 1710.
It's therefore highly unlikely that this had any bearing on US industrial development relative to the rest of the world.
How about a basis comprising Steve Ballmer's stated intent?
He has said that he will not tolerate free implementations of Dotnet and will use patents to protect the investment.
People wishing to develop in Dotnet should therefore purchase the rights to do so from Microsoft, as you suggest.
Wrong.
Steve Ballmer has explicitly stated that free implementations of Dotnet will not be tolerated and that he will use patents to protect the "millions" invested.
Reference: Interview in May 2002 issue of IX Magazine (in German, excerpt here).
Not just anyone - Blair asked advisor Alastair Campbell how he should begin his televised address to the nation. "How about 'My fellow Americans...?' replied Campbell. See MSNBVC story?
Oh good, while you're in a mood to help can you please find me a ~1.7Ghz Centrino wide screen with SP/DIF other than Dell or Samsung (since both are Windows taxed).
Thanks!
I hope people will take the moderation of the parent as "flamebait" as due warning that hints about Linux desktop platforms being obsolete before they are even finished will not be tolerated.
Remember, here in Linux-la-la-land, Java and Dotnet never happened. C/C++ will always be the means of writing desktop applications.
Why, if VMs like Java were so important corporations would be investing millions into running Java applications on Linux instead of churning out lots of lovely C++!
I hope that sense will now prevail and mean-spirited critics and naysayers such as the parent poster will go to some other forum where they can discuss "portability", "security" and other so-called features without bothering the rest of us.
Yes, this needed a lot more work, a task to which well informed people here or on a site like Groklaw would have been more than happy to contribute.
A "community review" might have also boosted its claim to reflect OSS opinion, of course.
IMHO, the main problems are the emotive and vague language, plus the decision to respond to the DDos accusations first, which serves only to highlight SCO's partly legitimate complaint at the expense of the main issue.
However, it does get eventually around to stating a clear and reasonable demand so I guess followups won't be needed any time soon.
(Particularly annoying are the incorrect idioms:
reach a compromise (not "erect")
proposed vast conspiracy theories (not "uttered")
charges IBM and others (not "taxes", well, not commonly...)
and wildernesses don't "howl"
Instead of the horrible
"a form of sham which we believe you press on us solely as posturing"
something like
"misleading practices which are endemic in the industry, now ludicrously presented as a problem unique to Open Source"....)
OK, you get the point, I'm sure...
Championed? Prodded warily with a long stick, more like.
RMS doesn't have to be paranoid to be against Mono.
it is good enough, there isn't much reason to not choose the better proprietry platform apart from kneejerk anti-MS
From a technical point of view, the better platform, on Linux at least, is undeniably Java. Given that high quality VMs are freely available from BEA, IBM and Sun, plus a vast array of tools and other products it would be absurd to pretend that Mono/DotGNU are offerings in the same league. So far, Mono consists of half-completed APIs that rely on WINE and a poorly performing VM, it currently has negligable industry support, very limited tools and a role in Novell's game plan that is far from clear.
From a business point of view, the actual decision is likely to depend on just two factors:
1) Herd instinct
The investment being made in Java on Linux is orders of magnitude greater than any other platform technology. It is probably the single biggest driver for the deployment of Linux beyond the web-server tier, so it is no surprise that MS has taken aim at it.
2) Risk
Dotnet is proprietary, patented and is not licensed for use on Linux (only the CLR is "shared-source"). No company in their right mind is voluntarily going to make itself a hostage to MS indulgence, particularly given Ballmer's stated position against clones and for retaining all rights to Dotnet.