Miguel de Icaza Talks About Mono 596
Matthew Revell writes "Miguel de Icaza defends Mono and talks about its future relationship with the Gnome desktop, in the latest LugRadio.
The leader of the open source implementation of .NET says no one is forced to use Mono but he hopes it will make life easier for open source developers. "
SWF (Score:2, Insightful)
I wish the Mono project and Miguel the best - they have done some excellent, excellent work and deserve to be commended.
Re:And it does (Score:1, Insightful)
Re:MONO is a disaster. (Score:3, Insightful)
Re:Why I love mono (Score:2, Insightful)
C# is one of the best ECMA compliant languages today.
This is an utterly nonsensical statement. ECMA is a standards body, you can't "comply" with an organisation.
ECMA has published a number of specifications, such as ECMA-262 (Javascript/JScript/QtScript), ECMA-334 (C#) and ECMA-335 (CLI).
Even if you were to take your original statement as referring to ECMA-334 rather than ECMA itself, it's still nonsensical. C# is "one of the best" at implementing its own spec? Duh! In other news, green is the greenest of all colours.
Re:MONO is a disaster. (Score:4, Insightful)
Right cause if we ignore it, then it will go away. It doesn't matter if the industry decides to use it or not.
Re:And it does (Score:3, Insightful)
Fortunately, this is not a popularity contest. If it works best I'll use it, and if it becomes the patent minefield that others suggest I'll use something else. But I think people just don't want to admit that Microsoft came up with something better than the rest of us, even if it's implemented by a open-source friendly developer.
Leaving out half the community? (Score:5, Insightful)
Re:MONO is a disaster. (Score:2, Insightful)
Re:MONO is a disaster. (Score:3, Insightful)
Looking at the pace of change and who's in the driving seat, I don't think it's MS on the receiving end here.
Re:Mono And Linux (Score:4, Insightful)
Not just interesting, more like astonishing given that the languages are practically identical.
The libraries are why you use it (Score:2, Insightful)
The class libraries are what make
The Unsinkable MONO. (Score:1, Insightful)
I agree that that's their opinion.
"People develop and use Mono not because they think to themselve "Hey man, It's Microsoft! They've got to know better," they used it because the same cycle of C/C++ plus a bunch of toolsets are painful to use."
So the best solution we could come up with is to pull a QT (at least with Trolltech, we knew they were on our side)?
"Use whatever you want, I like Python myself. What I don't like is this negative FUD campaign against Mono."
Saying it's FUD is basically saying YOU ALL ARE A BUNCH OF LIERS!. Care to go through point, by point and show us why we are wrong. Else you're no better than the FUDsters you claim to be against.
Re:MONO is a disaster. (Score:5, Insightful)
Dude, it's not so much against Mono & co. - they're our peoples. I think they've done a great job. However, it is against M$ and their history and mindset. Until they start acting like there's a world where many types of languages and platforms can exist on their own merit, instead of wanting to own everything, then I won't trust them and I'll have to cast a skeptical eye towards anything berthed from Redmond. When was the last time Guido pronounced <insert Ballmer or Gates soundbite of the week here>?
Besides, I speak not from the typical
Re:Patent issues? (Score:3, Insightful)
Why Mono is necessary for the Linux/UNIX world (Score:5, Insightful)
I can perfectly understand that many hate Mono simply because of the fact that it was Microsoft who designed
I suppose that those bashing Mono have never actually worked with C#. Personally, I'm really an anti-MS guy, but at work I was basically "forced" to use C#, and I must admit, it absolutely rocks. It is simply a much more productive language than C or C++, especially for GUI development. When you get a specific task, you're simply much more likely to get it done and get it stable within a given time in C#. The biggest productivity gain (besides the syntax candy, like foreach loops) comes from the garbage collection. Sure, other languages like Java have that, too. But, as far as typical DESKTOP applications are concerned, Java has failed to gain popularity both with users and developers (I suppose the major reason is that Sun took way too long to finally allow Java GUI apps to integrate themselves seemlessly in the desktop by adapting a "native" look & feel; but that's another issue).
Linux apps have done a great job in the past years in getting competitive to their Windows counterparts. So, if Linux wants to stay competitive with Windows in the future as well, there must be a similarly productive language for GUI development on Linux. Standard C/C++ with GTK+ and QT can certainly compete with the horrors of MFC easily. But, in my opinion, not necessarily with the combination of C#/Windows.Forms, as far as speed of development is concerned.
Also, if we want to see more commercial applications to run on Linux, there must be a way to easily develop portable GUI apps. Imagine you're the boss of a smaller software company. You develop Windows apps, your customers all use Windows (welcome to the real world!). Maybe 3% of your customers consider switching to Linux. And now you're starting that new software project that must be finished within a certain time. What are you gonna do? Buy QT, and tell your developers to start learning it? Use GTK, with all related problems on the Windows platform, and tell your developers to start learning it? Nope, that's not what the typical boss is gonna decide. He'll let the developers use what they're used to, M$ visual studio, where they can click together the GUI. He'll tell the 3% of the customers that Linux isn't supported.
And this is exactly what may change with Mono!
And talking about the patent issue: Giving up on Mono because of potential patent issues would mean giving up on the patent issue itself. Mono could be the best "bad" example how software patents support a monopoly and limit interoperability. The fight against software patents isn't over yet. At least not in Old Europe.
bye,
Till
Re:.NET is a litigation nightmare waiting to happe (Score:4, Insightful)
Don't use .NET at all (Score:3, Insightful)
If they managed to do that, I might start to consider using it. It's a pretty amazing piece of technology, but don't let yourself be blinded to every other issue because of some neato tech toy fetish worship. As it is, I'm just appalled at how stupid they have been with this. They are just playing right into Microsoft's hands, sticking their head into the guillotine as Microsoft gives them some nice flowers to smell and pretty pictures to look at. Fucking so fucking pathetic.
Re:Patent issues? (Score:3, Insightful)
And I always use Path.DirectorySeparatorChar to tell me what the character should be.
Re:mono (Score:1, Insightful)
Python and QT (Score:5, Insightful)
Re:Patent issues? (Score:5, Insightful)
Putting Unicode rules into the kernel is also painful; the collation rules for Unicode are huge and messy, and this relies on all users selecting the same Unicode compliant encoding (note that CJK users tend to prefer 2-byte encodings like UTF-16, while Latin alphabet users tend to prefer single-byte encodings like UTF-8).
Far easier to have the kernel say that a given byte ('/') is a directory separator, another byte ('\0') is the end of file name character, and leave user apps to interpret the byte stream. Then, I can use UTF-8 freely, and it's fine; a Japanese user can use Shift-JIS, and while his filenames look wrong to me, I can select any file he can create. In a case-insensitive system, he can create files that have different names in Shift-JIS, but are differentiated only by case in UTF-8 or ISO 8859-1.
Comment removed (Score:2, Insightful)
Published does not mean free of patents (Score:2, Insightful)
The core of the .NET Framework, and what has been patented by Microsoft falls under the ECMA/ISO submission. Jim Miller at Microsoft has made a statement on the patents covering ISO/ECMA, (he is one of the inventors listed in the patent): here [archive.org].
Basically a grant is given to anyone who want to implement those components for free and for any purpose.
If you want to accept such grants without a signed document saying that you are allowed, for all the life of the patents, to use such patents without any kind of compensation, in money, cross licensing, no agression treaties or such other conditions, then it's up to you. Saying the risk is not there is not right, until the patent holders provide such documents.
Later in that question they talk about ASP.NET (non ECMA) and other things, which are also patented, but they'll try to avoid the patented methods. The ECMA parts are still patented and required for MONO, and all they can show is an afirmation in a mail list, that says "royalty free and otherwise RAND". RAND can be .25 cents per program copy.
Not exactly (Score:4, Insightful)
Additionally, since
Re:Patent issues?-Hemophiliac Code. (Score:3, Insightful)
It's important to keep these distinctions clearly in mind.
(And vice versa).
Huge difference between Mono and Java (Score:2, Insightful)
Meanwhile, Sun has legally committed themselves to allowing FOSS implementations of the Java spec. This includes licensing agreements for any relevant patents that would hinder a standard FOSS implementation.
Now you might bring up the "but Sun controls the spec" controversy. To answer that I'd ask: "Who controls
Re:Is he really a big cheese (Score:4, Insightful)
Miguels possible next project; An open source tool which reads and writes the patented MS Office MS-XML.
You see, he has a habit of following/copying Microsofts tech, no matter how many patents are behind it. People need to stop following Microsoft because it obviously can't lead to anything good or well designed. IMHO.
LoB
Re:Why I love mono (Score:3, Insightful)
There are several ways to write "enterprise" web applications in java. If you don't like EJB & servlets, maybe you'd like to use struts with JDO, or java server faces with hibernate, or just procedural JSP with straight JDBC or mix and match whatever pieces you want.
Are you sure MS go it right, or did you just pick the wrong coding paradigm out of the available J2EE technologies?
Re:Mono needs some work (Score:3, Insightful)
For the benefit of readers, those "necessary changes" are to require a JIT to generate shared libraries for each class that's loaded, and then dynamically load the shared libraries.
That's fine for a JIT that is only used to generate static code for each class. But it's not efficient for dynamic optimisation techniques, such as run-time profile-driven code optimisation, or run-time data reorganisation.
On a PaX system, perhaps you can work around the restrictions by mapping a shared memory segment in two places, one of them as an executable mapping, the other writable. Write to one address, and execute at the other. I don't know as I haven't tried a PaX system.
-- Jamie
Re:Parent NOT Troll! (Score:3, Insightful)
with $40+ billion in CASH, Microsoft can and does do what ever it pleases with other commercial products/companies. Though the smartest company to ever go to court with Microsoft was Stack. They took the ~$150 million and changed the market they were in. Everyone else were on sinking ships when they settled, and then just continued on the ride to the bottom.
LoB
Re:Mono And Linux (Score:5, Insightful)
You do realize that it is possible to place global third party libraries in a common location right? Try
Or do all Mono programs only use standard APIs?
what's the alternative? (Score:5, Insightful)
Well, let's be precise. C# and
C# is an ECMA standard with features that are found in dozens of other languages. There is no indication that there is anything patentable about it. In fact, if you look at the C# specification, it is clear that they have been careful to avoid patents that Sun owns on Java (yes, Java is patent encumbered).
Then there is
So, what's the upshot of it all? You can't avoid the risk of patent infringement no matter what language you use. However, at this point, it is pretty clear that C# exposes you to no greater risk than other languages. As for
It's not an ideal world, but if you want a reasonably popular and practical natively compiled language with garbage collection and reflection, your choice basically comes down to C# and Java. Java is completely owned by Sun: Sun owns the specifications, Sun holds many patents on it, and Sun effectively can control who may implement Java and who may not (they have chosen not to exercise that control vis-a-vis implementations like gcj and classpath yet, but if they want to, they can). C# may not be the ideal choice, but it's the best you are going to get.
misleading and wrong (Score:4, Insightful)
Yes, large parts of
ECMA C# is a complete and powerful language and set of libraries--far more complete than C or C++. Together with the open source APIs that already exist on Linux (Gtk, Gnome, etc.), it gives you a fully open and documented platform to build applications on.
Additionally, since
Most open source Mono developers won't be affected by
If you choose to use
Also note that Mono is in a far better situation in this regard than open source Java efforts: Sun has draconian compatibility requirements with which they may be able to shut down any open source Java project whenever they choose.
Re:Is he really a big cheese (Score:3, Insightful)
So, do you really think its a good idea building a development platform which puts OSS developers in the position of following Windows developers who are following Microsoft developers?
Not to even mention that the OSS apps are likely to be copies of Windows apps but copies without full access to the patented APIs of
Bridging with open formats is a far better way to go. Sometimes copying the LookAndFeel can help the timid move but like I said, it's UI no API copying. Bridging by copying MSFT APIs have NEVER been the way to go if you expect any long term progress. They'll shoot you down sooner than later.
LoB
Not much else? (Score:3, Insightful)
Re:MONO is a disaster. (Score:3, Insightful)
We do?
OS/2 wasn't portable. The PPC version was never finished. It suffered from a lot of other problems. It made no attempt to be secure. The same can be said for Windows 3.x and 9x, but MS had an (arguably) secure and portable version (NT) for those that needed it.
Sure, it was better than Windows 3.1, but Microsoft won largely on making Windows 3.x apps and device drivers work transparently with Windows 95. OS/2 kept the Windows 3.x look and feel, used enormous resources to run said apps, and was generally slow doing it. Finally, it wasn't compatible with OLE and ODBC when running in "isolated" mode.
OS/2 felt like it was bolted together out of spare parts. It's UI was over complicated (though very powerful) and it also scared people off. Throw in problems like the OS2.ini corruption, the massive config.sys, the occasional reboot/crash cycle (where a bad app could crash the os and was reloaded at startup and caused the OS to crash again before you could do anything) and lots of people were left extremely frustrated by this "better" OS.
Then of course IBM itself wasn't committed to OS/2. Oh sure, it said it was, but various factions within IBM were not, specifically the PC division.
And finally, what OEM would buy an OS from their biggest competitor? Who wants to pay IBM to put themselves out of business? IBM would have been much better off to spin off OS/2 into it's own company. This finally happened when ECS bought it out, but by then it was too late. it's still early 90's technology.
It was a long string of failures on IBM's part, and successes (and certainly some questionable tactics as well, though they were only contributors to a rich tapestry of problems for OS/2) on MS's that cause OS/2 to become an also-ran.
Re:Python, Perl, PHP (Score:3, Insightful)
All this FUD has finally... (Score:2, Insightful)
Ok - here's the rub. C# and the CLI specifications are not only ECMA standards - but they are now ISO standards. Just like C++ and the STL... Just like C...
What many of you don't realize is that if companies hold patents on mechanisms related to software development programming languages, compilers, parsers, lexers, interpreters, verifyers, runtimes, etc... this is not going to stop them from SUING ANY INFRINGING IMPLEMENTATION...
What is potentially vulnerable? Everything:
Basically, until some company decides to litigate NO ONE KNOWS which software may be infringing.
Patents are exactly like an arms race featuring nuclear weapons - everyone has to have 'em - but once the missiles begin to leave the silo's, there will be hell to pay...
Re:Leaving out half the community? (Score:3, Insightful)
To whom? The OSS community? They'd love it. In-house development? No distribution = no problem. Large commercial corporations? Frankly, the cost of a Qt licence is minimal for a 100% Qt developer. Small/one-man commercial corps? Not acceptable. But my impression is that they get their ass handed to them by a small OSS team duplicating and surpassing their crappy $20 shareware in no time. Are they needed to make a Linux desktop work? No.
Say what you want, but I consider Qt to be far more functional than both GTK and vwWidgets. YMMV.
Kjella
Yes because it's the name that REALLY matters!! (Score:1, Insightful)
Re:No mindshare for Mono (Score:3, Insightful)
As I noted before, this is more opinion than fact.
Whatever gets the job completed (with minimal bugs) and puts a program in the hands of users is a "real" programming language, despite your feelings about its worthiness.
Also, the languages you've cited are all higher-lever languages than assembly. The "real" hacker community might consider either one of us to be faux hackers for using C or C++.
Beauty is, as always, in the eye of the beholder.
Unless they are using Fortran.
Re:All this FUD has finally... (Score:3, Insightful)
You mean everything that didn't come first.
Prove mono is suitable for commercial development (Score:2, Insightful)
I furthermore believe the mono team owes the development community answers to these questions since countless development man-hours will be wasted on mono based projects if this vision proves to be untrue.
Re:Prove mono is suitable for commercial developme (Score:4, Insightful)
If I can write an application on linux under mono, and run it on windows under mono, would that count as cross-platform? I have done that. So have others.
How would future versions of MS' product change the state of the current mono implementation?
-Mark
Re:What a Mono-umental waste of time!! (Score:4, Insightful)
Most of all, I don't understand why this affects you so much that it drove you to show your obvious displeasure. If you think that by not working on Mono, those same guys would work on projects that you want, you're dreaming.
So if you think they're wasting their time and not yours, shut up and watch. I think these people are one of the brightest people I've encountered in the opensource movement and I happen to be software developer who's not swayed by market-speak or North American insecurities. I've been working with opensource and would dearly love to write Gnome apps but find Gtk/C unwieldy. I also think that the use of IDEs is true to the *nix philosophy of creating the best tools to aid humans and, right now, those tools can be easilly accessed due to Mono. I love monodoc. It's as good (if not better) than javadoc. The entry curve to Gnome programming just became shallower with the advent of Mono.
Quite the opposite, I think what the Mono developers are doing are a perfect use of their time and I look forward to future developments in the way software project should properly be done.
M$ has already won (Score:2, Insightful)
Congrats Miguel, well done.
Geekiness vs. Zealotry (Score:3, Insightful)
It's obvious to me from Miguel de Icaza and other Mono coders that what they're doing is as much for community as it is for their company. And yet this same community manages to react in opposite ways. Those who dislike a project (any project) will react from challenging the instigators with trying to prove their ideas work to downright maligning their efforts. On the other hand, people who like the project do their best to try and help out knowing it would benefit the community in the end.
The odd thing is: it's the same project. The difference is in people. It's a tool that's not inherently evil. If people are divided in this case, it's by their own choosing.
Whoever that blubbering guy is in LUGRadio that always has two reasons for anything, would you kindly reassess your intentions for making those comments as its clear from MdI's words what his are.