Miguel de Icaza Talks About Mono
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. "
Claims "a couple of penicilin shots and it all cleared up."
(Yes, yes, I know. Mono is a virus, anti-biotics are useless, and many of them are actually dangerous to mono sufferers...)
Shouldn't mono be a story for the day after Valentine's day?
Mono is a great programming tool, I hope that it manages to find its way into mainstream gnome. It shows alot of promise anyway. I do belive that CLIs are the way to go.
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.
I thought he was planning on jamming it down our throats and making things harder for us.
he hopes it will make life easier for open source developers.
I thought the problem was that Microsoft told everybody that they didn't have any patents on C# or .NET, but they are actually a licensee of somebody else who has patents on it? Miguel dodged the question on this one by simply stating that it was a reimplementation rather than licensing .NET from Microsoft.
Listening to the audio, the things on the horizon are Windows Forms and incremental improvements (tuning). People are porting applications today, usually you can just copy the binary, but ignorant Windows developers do things like screw up path separators, assume case-insensitive systems, etc.
Mono rocks, and the latest 1.1 branch has support for System.Windows.Forms, the only (that I know of, anyway) cross-platform implementation of the GUI calls from .NET - native calls made on Windows, GDI+ and Cairo for other platforms. Truly a godsend for developing cross-platform apps in C#.
I wish the Mono project and Miguel the best - they have done some excellent, excellent work and deserve to be commended.
The prospect of GNOME becoming dependant was the straw that broke the camels back and made me switch to XFCE, keep the .NET patented API out of GTK!
C# is one of the best ECMA compliant languages today. When used with open source libraries it is a very powerfull developement tool. It is only quasi ilegal when you use the microsoft libraries wich you DON'T need to use.
For rapid application developement under Linux I'll take C# and mono any day.
Cheers,
Adolfo
Good news.
Dyslexics have more fnu.
I played with Mono when it was first in Beta as I love the .Net CLR, no its not perfect, but its pretty damm good.
.Net knowledge againt Unix and non MS plattforms. .Net shortcuts, (I should have in the first place) .Net 2.0 implementation (some is already part of the 1.3 release)
.Net than I can in C++ , that me , but if there is no appreciable difference then why in the heck would I write it in C++ ?
Mono was a way for me to extend my growing
I just downloaded 1.3 (Beta) and I am VERY Impressed with how far they have come I converted a small web app about 10 pages to run under mono, and it does perfectly, I only had to steer clear of a few of my more ecclectic
Mono is and has been self hosting for quite some time, Its a full real language development enviroment not some hodge podge interpreted scripting hack
Congrats to the Mono team, I am looking forward to you
I can write code 5-6 time faster in
ESPECIALLY when its a WHOLE lot easier to move a Mono app around plattforms,
The next project that needs cross platform capablity I will write in Mono, (Writing in Mono its almost sure to work out of the box in MS land)
I've tried Mono, and while I've little desire to move from Python over to Mono, it's a very well done project. The GTK bindings are quite nice, and C# as a language is much, much, much easier to work with than Java.
The big "if" is whether or not Mono can become to popular without Microsoft trying to pull the plug. However, even if that does happen, C# is an ECMA standard. There are plenty of native Linux libraries that can be used in place of the Microsoft classes. For developing GUI applications under Linux, you're not going to use the Windows.Forms libraries anyway, you're going to use GTK. Mono can stand on its own as a good RAD language for developing graphical applications for GNOME.
I know it's fashionable to bash MS at every turn (and as a Mac/Linux user I do all the time), but C# is a nice language and the .NET libraries are infinitely better than the cruft of Win32/MFC and the other mess of libraries that Microsoft used to shove down programmer's throats. Mono has done an excellent job of taking those libraries and making them work on Linux.
Even without the Microsoft libraries, Mono still provides a good framework for RAD under Linux and GNOME. If we can make it as easy as possible to transition between Windows programming and Linux programming it only helps propagate Linux.
I've put the high and low quality recordings of Season 2 Episode 9 - 14 February 2005 in Ogg format up here:
http://www.gobisoft.net/tmp/
Just in case the Slashdot effect takes hold.
Miguel is the lead developer for gnome, and his pet project was creating a .NET framework for linux. It has since grown to be more than a pet, gaining the backing of Novell. It is not the easiest thing to get running on your system, but by far not the hardest.
It needs to be defended for a number of reasons. Linux zealotry (why would people move from Windows if all the software is cross platform?), laguage zealots (IMHO, C# is a nice language to program in, but the java guys scream bloody hell) and people afraid of MS putting the legal smack down on Linux over API issues,just to name a few.
Personally, I think that Miguel's reliance on WINE is a mistake, but we have discussed this here, and it does have immediate benefits for the windows.forms and directX stuff. I know people who are programming frontends on both Windows and Linux, using a combination of the GTK interface and Windows.forms, and they love it.
I understand that I can compile C# code across any platform that either has .NET or MONO installed on it. Or any major .NET language. My question is, does MONO extend to ASP.NET and integrating in some way with Apache?
I ask this because I do ASP.NET development where I work, and would like to be able to do some of it on my Powerbook or Linux desktop at home if I need to. I know PHP is the better solution under Linux, and I would prefer to be doing it but it's not a supported product where I work so it's out.
I thought competition was good for the market. If OSS is always superior to Microsoft offerings, why do you feel so threatened by Mono?
"Ask not what your country can do for you." --John F. Kennedy
All it does is to legitimize microsofts attempt at monoplizing another market with yet another windows-only product exactly similar to an exsisting multi-platform product....it's their modus-operandi.
Right cause if we ignore it, then it will go away. It doesn't matter if the industry decides to use it or not.
its not the "software" that is "threating".. its the army of lawyers in readmond.
-- Given enough time and money, Microsoft will eventualy invent UNIX.
I think Mono may actually be a good think for Linux. One of the things that keeps many people using Windows is that they don't want to give up their current application set to learn the open source equivalents. A project like Mono has the potential to to allow developers to simultaneously target both Windows and Linux, which may lead to more Windows apps running on Linux and in turn more people willing to consider running Linux. Also, C# is a nice language to program in.
wrong. mono is about "embrace and extend"... the same technique that microsoft has been using for years to swallow or crush competing technologies.
it's nice to see redmond on the receiving end of this formula for once, don't you think?
2 1337 4 u!
WINE support was abandoned in favor of their own SWF implementation, and it's been that way for a while in the development releases. They're developing their own implementation because, yes, it makes things less portable and less stable.
Many of us have taken jobs at shops that are Microsoft only shops. I hope that Mono takes off in a big way since that would give us a chance to easily port our apps over or at least develop on something other than fucking windows xp. It really sucks to get stuck in the MS world and not have the time to work in other environments and not be able to have other platforms run at the place that you work. Maybe Mono can be a bridge from the dark valley of MS purgatory.
Good idea, lets promote and assist the "industry" in deciding to use this tool by NOT POINTINT OUT there is a better cross-platform tool out there but BY HELPING to legatimize this propietary toolset by allowing Microsoftzilla to say "see its multi-platform too" in their marketing materials.
What don't you people see about that??? Can't you see the fools your playing?
-- Given enough time and money, Microsoft will eventualy invent UNIX.
defends Mono by saying no one is forced to use it
Awww, I bet those of you that have been beating him up for the last 3 years feel really mean now!
Don't worry, it will pass.
GTK plainly sucks for development. No, really, I tried, and it's worse than MFC.
That only really applies if you're coding in GTK's native C, and that's because writing GUI code in C is a braindead idea. Sadly, most GTK apps are written in C. GTK's C# bindings are actually decent, and I believe that its Python bindings are also decent.
I'm no GTK fan, but GTK# has really cleaned up the API.
I support the Center for Consumer Freedom
Here is Miguel's answer to GNOME becomig depentdant on MONO: http://mail.gnome.org/archives/gnome-hackers/2002- February/msg00031.html
Actually there is a GPL software package released under the name "Herpes" that will debut tomorrow.
Just in time!
"Rocky Rococo, at your cervix!"
Don't get me wrong, I think mono is a great idea. But I'm worried about how closely tied it is to gnome. Not because of it taking over gnome, but because of it ignoring KDE. I think they should try and get more of the Qt stuff in there, Qt# at least should be in the standard mono dist. Otherwise you just split everyone.
I am trolling
Good idea, lets promote and assist the "industry" in deciding to use this tool by NOT POINTINT OUT there is a better cross-platform tool out there but BY HELPING to legatimize this propietary toolset by allowing Microsoftzilla to say "see its multi-platform too" in their marketing materials.
Fact is there are no better cross-platform tools out there for development, or at least that is the opinion of the users and developers of Mono. 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. Use whatever you want, I like Python myself. What I don't like is this negative FUD campaign against Mono.
While very, er, direct, parent has a point.
.NET by the Mono team steers straight into a darker and deeper pit than anything that would have been experienced in Qt.
.NET, Miguel and the Mono guys are walking on really thin ice.
It is 100% true that GNOME was founded that way. And I believe, more than anything, that the plunge into
I've said it over and over that Miguel and crew have done a remarkable job. Really. But the biggest flaw in their tower is the fact that it's a spawn of Microsoft. I can completely understand their target of a langauage/platform that they know will succeed. But we all know Linux/FOSS to M$ is all about FUD, embrace and extend, etc... How many times has anyone from M$ talked about working with the GNOME/Linux community vs. destroying or crushing it? Plus, now that Miguel is part of Novell who do you think is going to prevail in court? On that one, I'm gonna put my bet on the company with $40bln in the bank (and that ain't Novell). Anyone up for the 'M$ pummels Novell again' show?
Until M$ comes out with an open source license for
For myselft, years back I started dabbling in C# thinking I'd broaden my programming knowledge. But I have to say that I prefer Java over C# as C# is just too Microsoft and there's something about the feel of it that gives me goosebumps. Like my old, really old, yukky VB days.
Plus, while most people don't care, I can't separate the poilitics from the code on this one.
That's sort of silly though, doesn't it? The only one that seems to win with the "embrace and extend" is the guy with the monopoly.
doh!
what sounded silly was my first sentence.
Mean "That sounds sort of silly though, doesn't it?"
I remember hearing that GTK# was the way to go WRT the default mono toolkit. Bad idea. GTK on windows is pretty bad. However, I found this project which makes wxWidgets available to mono. Why oh why would you want to use gtk# over wxWidgets (which in turn uses native UI)?
Except that Mono has been trying for 3 years to embrace Dotnet 1.0 without getting there, and for Dotnet 2.0 "only a subset of the total framework will be available".
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.
When the alternative is "innovate and be copied out of existence" I don't think you have much choice.
The real thing that mono buys linux is a lot of application developers. A lot of people have put a lot of time and money into learning .net and its tools. They don't want to throw that away if they don't have to. So now we can say to all those folks hey you can use your .net skills on linux (or bsd etc) and poof instant linux applications.
Erlang Developer and podcaster
Your handwaving about MS pulling the plug and not allowing use of their libraries isn't a trivial issue. It's a critical problem.
.NET valuable, the same with Java. A virtual machine based programming environment is all well and good, but the standard set of base libraries in the runtime are what make it useful. Sure, you use GTK to replace windows.forms. Now, what do you do when MS decides to assert copyright over the layout of the base libraries in .NET? That stuff ISN'T standardized.
The class libraries are what make
"Fact is there are no better cross-platform tools out there for development, or at least that is the opinion of the users and developers of Mono."
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.
Java does not suck! Java is good.
.NET libraries make it incredibly easy and consistent to make applications. Of course, those libraries have (and never will) be submitted to the ECMA standards, so, although MONO has them, using them will still be on a gray area.
C# is more of a descendant of c++ than a JAVA clone. Even if it were a Java clone (no one can deny the influences) the improvements are vast.
On windows, on the enterprise level, the
Cheers,
Adolfo
What I don't like is this negative FUD campaign against Mono.
/. zealot perspective, but someone who left the M$ camp years ago after being continually burned by the platform and development environment. They haven't changed and if anything, have only extended their reach increased their lock-in. I'll never go back.
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
Thanks for the update. It's been a while since I played around with it. The last time I spoke to Miguel about it, I was under the impression that the wine libs were there to stay. I guess that I'm a little bit out of date.
I haven't done much mono development lately, and when I did, it was only command-line apps. Maybe it's time to get back into it.
From the Mono's FAQ:
Question 131: Could patents be used to completely disable Mono (either submarine patents filed now, or changes made by Microsoft specifically to create patent problems)?
The controversial elements are the ASP.NET, ADO.NET and Windows.Forms subsets. Those are convenient for people who need full compatibility with the Windows platform, but are not required for the open source Mono platform, nor integration with today's Mono's rich support of Linux.
The patents do not apply in countries where software patents are not allowed.
Hopefully, the patents will fail in the US too; not many applications can be developed without ASP.NET, ADO.NET and Windows.Forms packages.
GTK is a C API. If you don't like it, use a binding such as gtkmm or wxWidgets. Basically it can live underneath any API you care for it.
It's good but many apps end up PInvoking Win32 because Windows.Forms doesn't do something they need. Thus it isn't that portable. Even a full implementation of Windows.Forms won't do you much good for a program that makes a single call to Win32, or which drags in some "safe" C++ compiled native DLL. But getting back to Windows.Forms, it exposes some particularly non-portable things such as WndProc, windows messages etc.
The CLR & core are architecturally cleaner, but Java kicks seven shades of shit out of
I'm in no doubt that Mono is a good thing, but neither .NET nor Mono offer anything remotely as compelling as Java at the moment at least in the enterprise domain. Let's see Mono go through a birth of fire on the desktop first.
Speaking of which, I see a lot of potential there (after all half the system tools in most dists are python / perl etc. with bindings). But Mono really has to start encouraging people other than Linux users to use the open source stack - even .NET users. That means producing an installer containing the stack with some wizards & designers so that Visual Studio .NET users can use them with ease.
I think the key issue for mono is that most open source programmers are not overly concerned with Windows interoperability. Its not that they don't see the value of migrating Windows users to new open code...its that they just don't seem to care.
In any case mono is just one more Gtk binding as far as I am concerned...and there will never be an "official" Gnome language beyond C since there are too many powerful advocates in the various camps. Python would likely make the most sense (even though I am not a Python coder), but you have people still rooting for "open" Java (that which is supported by gcj) and C# via mono.
From your link: " we wanted to empower developers"
Hm... Developers... C#... Mono (monkey?)... All that sounds vaguely familiar.
Stupidity is an equal opportunity striker.
Fellow slashdotter Bill Dog
Everytime something like this comes up its amazing how many people jump straight in and start attacking and counter-attacking.
I definetly believe that people are very entitled to voice their opinion on any matter, but it might be nicer for everyone if people adopted a more civil approach. It might actually encourage debate rather than activate peoples "fight-mode". And on the plus side if the agrument is presented in more neutral language even the zealots might read it !!!
After all, if the point is useful then people will take it on board (well, except for the die-hards, who aren't going to listen to you anyway !).
In addition to that, most people seem to be fearful of Microsoft (generally a good approach). It might be more useful to check out what Miguel (and others) have already said about Patents/Licensing at: http://www.mono-project.com/about/licensing.html and then get back and highlight what they think is missing, incorrect or maybe plain wrong.
[ Monday is a terrible way to spend one seventh of your life. ]
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.
Bitching an moaning about a project is not gonna get anyone anywhere except if and when the project crash and burns you get to say "I told you so." The only way to stop Mono is to offer a better alternative. Developers will not decide to go back to inferior tools simply because they're not entirely sure how legal their tools are.
I know, I know, MS is the evil empire and Open Source is the rebellion trying to free the universe and all that but I got to say that .Net is a fantastic language. I have programmed in C, C++, Java, and .Net and I have to say .Net is currently the best. Java 5 is close but it in missing a few things I like from .Net. I love Mono, and I think it works great. I have only had a few problems with it, but nothing major. It really is nice to develop server applications that can run on Windows and Linux, which is really nice for people who develop for enterprise level deployments. One company will want to use you server in a 2003 domain, the next wants it to run on Red Hat. With C++ and to some extent even Java this just does not work.
.Net system is just the best-designed environments I have seen. I would expect that you will start to see it taught in the colleges, because It allows you to teach people programming that is not language specific. Hopefully you can then get people to know VB, Managed C++ and C# by the end on college, not just Java. Then you can take the importance off learning the syntax and place it on to learning structures and algorithms. Most importantly you then teach the skill of being to switch to new languages and adapt you knowledge, to teach people ho to learn, which in the most important skill I learned in college
On top of that as someone who studied programming languages for my masters project I have to say the
Language jihads really annoy me. The arguments used to support them generally have no basis in reason but instead rely on emotional outbursts.
This is not a language jihad, just a fact. My posting was not emotional at all, though it seemed to have gotten your color up. C, C++ will not be significantly displaced on GNU/Linux systems or other free software by a M$ language for the simple reason that there is no advantage to it. The emperor has no clothes.
an ill wind that blows no good
Well, it's probably subjective. I started programming with Java, and I found myself constantly fighting with the syntax. Java's syntax seems more esoteric than that of C#. Plus, I've found the .NET libraries to be generally more logically laid out and consistant, and the documentation better than the Java equivalent.
This post, and all it's subposts, really anger me. From what I understand,
As such, how does this "legitimize microsofts attempt at monoplizing another market with yet another windows-only product exactly similar to an exsisting [sic] multi-platform product"?
1) It's not Windows-only since MONO runs on linux.
2) It doesn't legitimize any attempt. http://www.mono-project.com/about/licensing.html does not state anything about an 'evil' Microsoft licensing scheme, or invasion of Microsoft bed bugs into your code:
Perhaps I fail to see the "licensing minefield created by Miguel", as the fact that it's an open standard, and that the MONO licensing itself isn't restrictive, pretty much subverts that.
On a final note: even if all my points are completely off base, and wrong: I ask you one thing: When did we turn from software developers who seek the 'best' solution to 'X' people?
"I'm a Mac person."
"I'm a Linux person."
"I'm a Windows person."
"I'm an X person."
Since when did it become about branding yourself with something, over choosing the best technology for the job? Half the sub-posts here are all about not choosing the tech because it 'feels too Microsofty'. C# was built by Anders Hejlsberg, who designed Pascal, and Delphi, both successful languages in their own right: and Borland technologies.
Oh no! Now the anti-Borland people aren't going to use C#!
When will this nonsense stop? We're all so anti-being branded, unless we do it to ourselves. Pick the RIGHT solution: not the one you've been known to cower behind.
- - - -
KickingDragon
Hi,
.NET. That is a valid argument; however, it must be considered that Mono is something that, in the future, is really required for the Linux/UNIX world.
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
If Mono can be sued based on reimplementing an API, what does that mean for WINE? I think that, although there may be some legal problems, there probably won't be. And remember, this is Open Source: if enough people feel threatened by this, they will fork GNOME before the Mono code touches it.
You were rather quick to jump ship, because the said prospect never materialized and is unlikely to materialize any time soon.
My exception safety is -fno-exceptions.
Wx looks like the native platform. I don't get what you're saying.
MS Actually let .NET and C# become ISO standards unlike many of their past developer tools and languages. So when a large company develops an ASP.NET application and then decides that they don't want to have to continue support IIS or Windows, they now have a choice to migraite to Linix!
Mono provides choice for those that are currently developing for the Windows platform. So does Java. Mono is FOSS. Is Java?
I am currently working on a project that uses C# for the GUI. Our customers use Windows workstations, so we are writing software for Windows. We are actually moving away from Java which was the old language of choice at my company. You may argue the reasoning behind this, but it is the decision that was made and we are using C# instead of Java. I am hopefull that a more mature Mono (in a year or so with full System.Windows.Forms) may provide us with a way to run our client programs on Linux workstations, if requested by a customer. Mono will give us back some of the choice we lost moving away from Java.
Mono creates great competition for Java. Perhaps this will be another reason for Sun to finally make Java FOSS. Competion is a good thing.
Great ideas often receive violent opposition from mediocre minds. - Albert Einstein
Mono needs a bit of work to work with PaX, but it's possible. I mentioned the necessary changes to the Kaffe team; but they apply to any JIT.
The issue is that a JIT compiler like Mono generates code at runtime. Because it's not generated in realtime (it's compiled at the loading of an executable module, one time), it's feasible to dump the executable code to a file on disk and mmap() it in.
PaX won't allow code to be generated in memory unless the program has mprotect() restrictions off and uses mprotect() right. It's safer to rewrite the JIT compiler though, since you wind up with a stricter security policy that way.
Furthermore, Exec Shield's NX emulation is flawed, and the use of mprotect() in those ways would disable the protections on large parts of the binary. If anything happens in or above the stack, the whole stack is likely executable. This is in fact one reason I prefer PaX; a slight modification to Red Hat's kernel to print X instead of - in /proc/[pid]/maps for !PROT_EXEC memory that's actually executable prints out a good deal of areas that are executable but shouldn't be (rwx vs rwX).
Mono is flexible enough that C and C++ can be compiled to .NET. Microsoft supports this, as mentioned in earlier slashdot posts. It's really important to consider .NET and Mono as insecure, and to make sure they're adequately protected. If you're running all your programs in Mono and Mono has to disable PaX, then you lose the benefit of your GrSecurity-enhanced kernel. (same with ES).
Support my political activism on Patreon.
Can I just run a Mono app on Linux that was written on/for .NET? When Mono is in full release, that is.
--
make install -not war
The .NET API is an open standard. The best thing Microsoft could ever do for Mono would be to sue it. The publicity and attention and droves of users/developers it would get would be monumental. They'll ignore it.
The licensing issue with Qt simply concerned whether or not it was free software. However you feel about Microsoft, Mono is based on their standards, so they can only love it.
No data, no cry
The absolute major problem with the way I feel Miguel has handled the Mono situation is that he constantly refers to ".NET". It's as if he somehow thinks he's going to outsmart Microsoft or something. You can't beat Microsoft at embrace and extend, you have to change the game. .NET is a MARKETING TERM!!!!!!! Don't you remember when it originally got tacked on to every single Microsoft product? Saying Mono is an Open Source implementation of .NET is ignorant at best, and misleading and irresposible at worst. Just stick to C# and CLR and make no mention of .NET at all. Otherwise, they will continue to show me just how absolutely pathetically naive they (especially Miguel) are. .NET is basically Microsoft's brand, and Miguel will never establish authenticity, originality, etc. by latching on to a MS brand. Sure, take the best stuff, build on the shoulder of some giants, but have some !@#$ business sense. Doesn't he work for Novell now? He should have a powow with a marketing intern and receive some lessons on basic marketing.
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.
That's not true. For example, most current Mono apps use Gtk# rather than Windows.Forms. Windows.Forms hasn't even been implemented much in Mono until very recently.
Basically Mono "embraced and extended" .NET and introduced their own competing API stack (though they have made efforts to implement the MS APIs as well).
DNA just wants to be free...
> It really is nice to develop server applications that can run on Windows and Linux, which is really nice for people who develop for enterprise level deployments. One company will want to use you server in a 2003 domain, the next wants it to run on Red Hat. With C++ and to some extent even Java this just does not work.
.net? BTW, .net has less platform support than the Java VM, so your statement is really misinformed.
What doesn't work? People have been doing server side Java development for a long time now, and you tout this as an innovention from
- sigs are for wimps.
I've a c# developer, and I'd be tempted to play with mono, but I have to wonder why Python with the wxWindows and wxGTK toolkits isn't getting more exposure.
My biggest problem with Java apps is that they look equally bad on any given platform. Based on what I've seen with wxWindows and wxGTK, the apps look like native apps. Is Python missing something essential?
90% of everything is crap. Also, crap is relative.
This is not a language jihad, just a fact.
Really?
I should think most real hackers would be embarrased to program in C# as they are to program in Java.
Tell me where the objective "fact" is in that statement.
My posting was not emotional at all, though it seemed to have gotten your color up.
The "No real hacker" portion of your post is hardly rational discourse.
"Rocky Rococo, at your cervix!"
Obviously troll bait, however just incase there's people who don't understand, this isn't really reasonable.
:)
You won't be using Windows.Forms in Linux, unless someone writes an emulation layer for it, so it's not really a cross-platform type Java-esque solution in such away.
I'll leave the obvious hyperbole of 'since the MS build will always offer more features' for the reader to disregard on their own.
- - - -
KickingDragon
I mean geez - Mononucleosis as a job requirement? No thanks.
Any sufficiently simple magic can be passed off as mere advanced technology.
Sun's Java books still recommend TextPad, which is a great editor, but MS has the Visual programmers by the precious parts. Yes, there are IDEs for Java, but they're optional. I don't know any C# developers using something other than VisualStudio.
Of course, then there's the minority of Mono programmers...but they aren't put off by Java's "complexity" of package naming convention as some C# promoters claim. They're seasoned developers and can work with whatever they so choose. They are choosing Mono. Good on 'em, I say.
Visual tools... that's what enables the common programmer.
-- @rjamestaylor on Ello
Quite a rarity, this... an Mono-skeptical post that is written in a rational tone, as opposed to just freaking out because hey, M$. I will therefore append my opinions to it, such as they are.
It's good but many apps end up PInvoking Win32 because Windows.Forms doesn't do something they need. Thus it isn't that portable.
True, but that's because those people aren't trying to write portable code. I don't like Windows.Forms and I don't think it encourages portability at all; but luckily there's nothing to stop people who want to be portable from using something else. I would rather see work done on whole new GUI kits, than see a perfect Windows.Forms on Linux.
The CLR & core are architecturally cleaner, but Java kicks seven shades of shit out of
I'd say that
neither
My industry (which invested HUGELY in Java) does not agree -- there are lots of
But Mono really has to start encouraging people other than Linux users to use the open source stack - even
I agree 103%. That is absolutely the best thing they could do. As things are, most people write
I'd do that, but ironically I'm busy writing old-style C code for a less forward-thinking open source project.
Whence? Hence. Whither? Thither.
So what exactly is this going to get me over say something like using Python and the soon to be released gpl qt for windows? Python is a way more productive language than either C#,C,C++, java or VB so what is the benefit?, I just don't see it.
Got Code?
I'll say it again: MS is a big company with lots of people in lots of suborganizations. These people do not have one unifed goal. Indeed, the goals of one group often run at cross purposes to the goals at another. You can't always assume you understand Microsoft's motives for doing something based soley on how Microsoft (or rather, one particular arm of Microsoft) behaved in the past.
Than WINE?
I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
These projects would probably be a little further along than they are now had the development focus not been on .NET (Mono, .GNU), I think developers got bored with Java or something. That said, I like the whole GCJ thing, that's Free Software people implementing a (relatively) original idea using existing protocols, rather than just a blind copy of something someone else has done. Hopefully it'll succeed.
You are not alone. This is not normal. None of this is normal.
Can you support your comment? CLI and C# are ECMA/ISO standards but .Net API is not. Please provide a link showing it otherwise.
"I think this line is mostly filler"
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.
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.
Microsoft released portions of the CLR (Common Language Runtime) and C# for standardization. The real nuts-and-bolts of .NET are decidedly NOT an open standard. This is what concers many people.
.NET is a wholly controlled "standard" by MS then Mono will be on the same treadmill that WINE and other groups chasing MS implementations have been on.
Additionally, since
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
From what I understand, .NET is an ECMA standard. This can be verified here: http://msdn.microsoft.com/net/ecma/. They even post a C# specification, so really anyone with the talent can implement it.
.Net (aprox.) is Microsoft property.
Perhaps you should read your own link. Only C# and CLI are ECMA approved standard. The other 80% of
"I think this line is mostly filler"
I would bet Sun's lawyers would intervene before GNOME were at risk. Integrating Mono into GNOME without being sure about patents would be insane.
-- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
For new readers, this means free with Gnome rather than free of patent lawsuits.
It's important to keep these distinctions clearly in mind.
(And vice versa).
Hello,
You are wrong, Microsoft has not done anything
to prevent code from running on Mono.
There is the real problem that we do not
implement all the class libraries, specially those
that are being phased out like EnterpriseServices
and Message Queuing. But then again, those are
really marginal tools which were complex to use,
so its not really a problem.
The other bit is COM support, which we do not
support as there is really no "COM" to talk to
in Unix anyways.
Miguel.
90% of the .NET platform is not an open standard.
MS has lots of patents and they have said publicly that they intend to "defend their intellectual property".
Even if it's a standard Ms can sue you for patent infringement.
evil is as evil does
You can claim that Mono is FOSS but there are huge patent questions regarding implementing certain portions of .NET. Now Miguel and company have talked about "routing around" or simply not implementing portions that they can't do because of patents but if it's not compatible then there are going to be problems. Additionally, those patent problems could keep entire portions of Mono from being implemented because of similarities to .NET functions.
.NET?"
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
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
Are you sure about that? That's one of the things talked about in the article is finishing System.Windows.Forms.
Someone earlier even posted that the current, 1.1, beta (I think) version of mono supports Windows.Forms.
I find that most of the exciting applications I recently discovered are mono based: muine (you must try this one if any), f-spot, and beagle! tomboy seems cool too.
"MS Actually let .NET and C# become ISO standards " .NET is not an ISO standard. .NET is an umbrella term for a collection of Ms technologies. Only the CLR has been submitted to ECMA (not ISO).
.NET technologies have both Ballmer and Gates have repeatedly said they intend to defend their intellectual property vigorously.
.NET on a non windows platform.
Regardless Ms still owns patents on the numerous
Be Aware that your company can be sued for USING patent infringing technology. That's the way the US patent system works. If you company has deep pockets Ms could come after you. If for no other reason then to make you stop using
evil is as evil does
And Java has a hell of more production sites than Mono.
"I think this line is mostly filler"
More on Miguels bio:
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
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
System.Windows.Forms is a part of the .Net libraries like any other, so I don't see why Mono's Cairo-based implementation would be any different from the rest of the reimplemented classes. Cairo plays with X11, so it'll run on any platform with an X server (i.e. GNU/Linux, *BSD or Mac OS X).
Perhaps when the Mac Mono matures we'll see Quartzified/Cocoafied S.W.F. implementation.
The US Army: promoting democracy through unquestioned obedience
Hello,
Yes, "Java has a hell more production sites
than Mono". This is whats wrong with this
argument: if "having more production sites" is the
metric to choose a technology over something new
then we would still be running code in assembler
and Cobol. After all, there were more production
systems written in those than in C, C++ or Java
when these languages came out.
Love,
Miguel.
Possibly a misunderstanding?
I guess OP is referring to the portability of programs developed now on Dotnet 1.2 or 2.0 without consideration (at the time) of a move to Mono.
Parent is probably referring to the continued support of programs that were written with Mono in mind.
So you're both right - the real issue is the proportion of programs being written for Dotnet with consideration for Mono.
Despite that, management have caught the .NET bug for client applications. This is where Java is weak. JFC might be great on paper, but it just blows as far as performance is concerned, looks weird even with a theme engine and is just plain difficult to programme. Eclipse & SWT demonstrate that a Java UI doesn't have to be such a pain, but SWT hasn't really spun off into something that 3rd party apps can rely on yet.
So traditionally we've always coded C++ on the client side. There's nothing wrong with that in my book, but management have been sold on the idea that .NET will increase product stability and lessen development times. Which is great except they've decided we will migrate by wrapping the old legacy code with managed classes and use a .NET based UI. Thus we get the instability of C++ and the overhead of .NET! The alternative would be to rewrite the product entirely in .NET which would take years.
Thus my skepticism about Mono. The real world (and the world Microsoft wants) has lots of unsafe and unmanaged code tied together with .NET. Unless Mono links to the whole of winelib and provides x86 emulation for non-x86 hosts, this code will never run outside of Win32. To cap it off, our app executes code in MS SQL, so we have yet another dependency. We have no intention of testing on Mono and I sincerely doubt it would work even if we tried.
That's the real world. Mono isn't on the radar and never will be while it's considered some sideshow. The onus will always be on Mono to cope with whatever crap gets flung at it and not the other way around. Thus my belief is they need to push the great stuff they have so it is shown on the same level as the Microsoft code. If GTK# and other open stack APIs are made easy to develop and run from Dev Studio .NET 2003 it might sway someone sufficiently to use them in some major projects. Word will get around soon enough.
I don't think .NET programmers are shy of good open source libraries (NUnit, Log4Net & Spring.NET are popular ports from Java), but they have to work in the first place for people to bother with them.
This was probably the best post I've read on this site. I was worried that no one really cared about finding the right solution for the job.
I bet if Google was behind Mono it would be the greatest thing since sliced bread.
Since when did it become about branding yourself with something, over choosing the best technology for the job?
Specialization is a natural tendency in any industry as it matures and the body of knowledge continues to increase. People chose to specialize because there are not enough hours in the day to learn and work on every platform or language that comes along. You make the best choice that you can on language or platform and outsource the stuff that is not part of your specialty or the core competency of the company.
Hey,
Small correction: C# and the CLI have both
been approved as ISO standards: ISO/IEC 23270 (C#), ISO/IEC 23271 (CLI) and ISO/IEC 23272 (CLI TR).
Anders Hejlsberg did NOT design Pascal. Dr. Niklaus Wirth did in 1971.
Well, in its current state, Mono is free - afaik, its based on recognised ISO standards which are protected from lawsuits. Unfortunately, Miguel doesn't seem to want to stop there, and also wants to invade things like windows.forms which are outside of the CLR and into pure-MS domain.
Do you really think someone can embrace and extend Microsoft?! They haven't even embraced the .NET platform fully...
It may make technical sense (yet, I doubt it) but it is the most stupid strategic blunder I saw in a long time. It is a very nice tool for Microsoft to spend FOSS developer's time and resources making them jump when and where they dictate the (de facto) standard.
And I didn't even touch the possible licensing catastrophe that can come out of this mess.
There is one way FOSS can succeed and it is not trying to monkey (pun intended) Microsoft.
http://www.dieblinkenlights.com
Well, that was the original stated goal of Mono*. You and your company are now along for the ride... ;-)
*To be pedantic, the goal was originally a "complete" Dotnet implementation, then recently (October 2004) there was some retrenchment and the emergence of two stacks - Dotnet and "Gnome" - now it seems that we're back on track for Dotnet 1.0, though bets are off for anything beyond that. But then that was always the case, wasn't it?
Miguel;
.Net because Java is not multi platform enough for server side development.
The point wasn't, nobody's using Mono so it's not usable. The point was that the original poster was saying that he's using
I find that interesting, specially when yes, as the poster you replied to said, Java is used way more on "production sites".
- sigs are for wimps.
Mono may be a reimplementation of an MS product, even looking at the source, you'll notice a folder full of *nix implementations of windows API calls. But what does it really matter if it does the job you need it to?
.Net includes a set of security features that help to lock down scripts fairly tight, the problem being, our app has to be cross platform. This started us looking into Mono, which doesn't implement all the security features -yet-, but by our planned release date, they should be done, or very close.
I started looking into it a few weeks ago when a project I was (am) working on required a scripting engine that could handle running scripts from anonymous sources, id est untrusted.
We went through a large range of languages: python, perl, angelscript, php, lua, etc etc but ended up with a few rather large problems in all of them: either lack of sandboxing and protecting a system from the effects a script could have, or lack of documentation and user friendlyness for those who may not be too familier with programming (yes, we have to consider them)
One of the dev's on the team brought up that
Another thing to consider, is that Mono will run any CIL compiled code, meaning that we can support a virtually innumerable count of languages, with very little excess implementation (find a compilier and link it into the project).
So now we have: cross platform scripting (with sandboxing eventually), and the ability to present the users/programmers of the scripts with the syntax they are most comfortable with using.
Not only that, but Mono is going to save us a fortune on our development costs, because we may be able to drop Qt GUI implementation from our project roadmap, which averaged about $6000 for each developer(Qt Enterprise with QSA), I believe, and had some -major- limitations on what you could use thier scripting language for (for example, you're not allowed to use it to expose features of Qt itself to the scripter, which may be neccisary for our project)
Mono does the job, fits our specs almost perfectly, saves us money, and is built on CIL ECMA standards. What more -could- we ask?
Which is great except they've decided we will migrate by wrapping the old legacy code with managed classes and use a .NET based UI.
.NET products reflect badly on Mono. Mono's job is to implement .NET; if you include a whole bunch of MFC or something then it's not going to help you.
.NET is proving very productive on the client side. Pity about Windows.Forms -- but I understand why it is like it is. Actually, the main problem I've had with client-side .NET is performance -- it's faster than Java but it's _much_ slower than MFC, specially if you use GDI+.
Owie.
Unless Mono links to the whole of winelib and provides x86 emulation for non-x86 hosts, this code will never run outside of Win32.
I guess not. I mean, it doesn't sound like it was intended to.
That's the real world.
It's certainly bad -- I hardly think it defines 'the real world'. Neither MS nor Mono can prevent decisions like that one being made, or make the C++ legacy code in the world disappear.
To be honest, I'm a bit confused as to why you think your legacy C++ code and your decision to embed it all in your
Elsewhere, however,
Whence? Hence. Whither? Thither.
I doubt Stallman would stand for such a thing... remember that Gnome is part of the gnu project.
"A truly wise man realizes he knows nothing."
Besides RedHat's configuration tools, Gentoo's Portage leans heavily on python.
Additionally, such killer libraries as PyMacs, boost::python, and the conspicuously-absent-within-your-troll Jython, show that the snake is quietly slithering where few have been able to go.
Or, maybe you could consider the insane amount of comp.lang.python traffic.
Python's biggest weakness, execution speed, is exactly the least important thing in a scripting language. Its strengths are legion and will continue to increase.
Props to the BDFL.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
That was the original plan.
DNA just wants to be free...
> I bet if Google was behind Mono it would be the greatest thing since sliced bread.
You'd lose the bet.
Google would not be Google if they used Microsoft technology. They could not have grown to the size they are on Microsoft tech nor with the profits they've had.
So, if Google were behind Mono, Google would not be Google and nobody would think that Mono was the greatest thing since sliced bread. IMO.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
I thought the problem was that Microsoft told everybody that they didn't have any patents on C# or .NET, but they are actually a licensee of somebody else who has patents on it?
.NET are two different things.
.NET. It is a huge collection of APIs, many of them Windows specific. In a trial balloon, Microsoft has attempted to patent the totality of those APIs. What the significance of that patent is going to be isn't clear--it may not be worth the paper it is written on.
.NET, you don't have to use it: most open source applications developed in Mono are written using the Gnome APIs, not the .NET APIs.
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.
From the licensing FAQ section of Mono's own website:
.NET Framework is divided in two parts: the ECMA/ISO covered technologies and the other technologies developed on top of it like ADO.NET, ASP.NET and Windows.Forms.
.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.
.NET Framework?
.NET Framework, as well as plenty of class libraries that are either UNIX specific, Gnome specific, or that are not part of the .NET Framework but people find useful.
"Question 131: Could patents be used to completely disable Mono (either submarine patents filed now, or changes made by Microsoft specifically to create patent problems)?
First some background information.
The
Mono implements the ECMA/ISO covered parts, as well as being a project that aims to implement the higher level blocks like ASP.NET, ADO.NET and Windows.Forms.
The Mono project has gone beyond both of those components and has developed and integrated third party class libraries, the most important being: Debugging APIs, integration with the Gnome platform (Accessibility, Pango rendering, Gdk/Gtk, Glade, GnomeUI), Mozilla, OpenGL, extensive database support (Microsoft only supports a couple of providers out of the box, while Mono has support for 11 different providers), our POSIX integration libraries and finally the embedded API (used to add scripting to applications and host the CLI, or for example as an embedded runtime in Apache).
The core of the
Basically a grant is given to anyone who want to implement those components for free and for any purpose.
The controversial elements are the ASP.NET, ADO.NET and Windows.Forms subsets. Those are convenient for people who need full compatibility with the Windows platform, but are not required for the open source Mono platform, nor integration with today's Mono's rich support of Linux.
The Mono strategy for dealing with these technologies is as follows: (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.
Not providing a patented capability would weaken the interoperability, but it would still provide the free software / open source software community with good development tools, which is the primary reason for developing Mono.
The patents do not apply in countries where software patents are not allowed.
For Linux server and desktop development, we only need the ECMA components, and things that we have developed (like Gtk#) or Apache integration.
Question 132: Is Mono only an implementation of the
Mono implements both the
Credits"
Additionally, I don't see any objections to Java being used in the Linux world. And yet:
- Both are backed by software giants
- Both companies have traditionally been fiercely proprietary
- Both of them offer a new language/platform.
- While C# is now an ECMA standard, Java is still architected by Sun's engineers (even though Sun can claim that they have a "community" process
for extending the language/specs)
- Both have patents of various aspects of the implementation.
- Both have proprietary implementations in the market.
- Both have evangelists eager to win converts to the new platform.
- Both the corporations are profit driven.
So why is Java okay?
The prospect of GNOME becoming dependant was the straw that broke the camels back and made me switch to XFCE,
.NET APIs, they rely only on ECMA C#.
.NET patented API out of GTK!
.NET APIs in Gtk+; Gtk# is a Gtk binding for Mono, not the other way around.
The Gnome for Mono libraries don't use
keep the
There won't be any
And you better hope that Mono succeeds, becaues there is really not much else out there to develop the next generation of Linux desktop apps in.
haha... if I only had the mod points!
- This and all my posts are public domain. I am a Physicist. I am not your Physicist. This is not Physically advice
GAWD, here we go again. Microsoft forced companies to NOT sell or build software for OS/2 and that is fact( see the DOJ docs ). I was at the 1994 COMDEX where HP didn not show any OS/2 systems running. That is because they were all pulled off the show floor the night before opening day after Microsoft made a couple of phone calls to HP execs.
Saying OS/2 failed because IBM couldn't market it is being ignorant of what went on. You anonymous coward you.
Now, the original post about following Microsoft by chasing its APIs is valid IMO and the OS/2 reference is valid also. 20+ years of history shows that Microsoft can and will use its APIs to keep everyone following them right off the cliff. Only Microsoft is the only one with the parachute called a monopoly protecting them....
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
Well, sure, it's and ECMA standard, but we're in the brave new world of software patents where you can take two items that are in the public domain and combine them in a trivial way to create "intellectual property". It's not supposed to to be that way, I know, but we all know it happens.
Suppose the IP in question is not in mono's C# or CLR, but in their Windows.Systems.Forms, or even in the way they implement GTK. It might be that Microsoft holds patents important to either doing certain things on top of the CLR, or in even implementing a CLR to the ECMA standards in the most obvious and efficient way.
Let me be clear, I have no issue at all with the Mono people doing what they are doing. The evil lies in software patents and the uncertainties they create. Nobody can really know what is allowed without a legal research team. Nobody can do what is supposedly allowed without resources to defend themselves against stategic lawsuits.
Just as freedom of speach belongs to the man who owns a printing press, freedom itself belongs only to the man who has a legal staff.
Because of this situation, which is not Mono's fault, I'll take a pass on Mono, and wish them luck. What I would need to take a serious look at them is any one of the following:
(1) A major company (Novell) stepping up to bat and indemnifying Mono users against IP lawsuits.
(2) Microsoft agreeing to grant a license of any of its patents to users of a particular version of Mono.
(3) An end to software patents.
Granted, it is possible that other systems such as Java, may infringe on Microsoft patents. But given that Mono is following Microsoft's lead here (or at least working in parallel), it strikes me as risky.
Is the FUD. Well, I suppose it could be. But just because you're paranoid doesn't mean they aren't out to get you.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
First of all, I hate to tell you this but if you're looking to bash Microsoft-copying, you might as well just quit using OSS entirely. MONO is a drop in the bucket compared to everything else that's been ripped off from Microsoft and OSX and everyone else.
Secondly, if you want people to move to and embrace Linux and OSS you will be rejoice when people work on bridge technologies like MONO. It's pure fantasy to think there's a lot of shops and managers out there willing to just chuck their MS investment cold turkey for some unique OSS technology. Providing things like MS Office MS-XML readers and Mono let them (and me) move things over carefully and confidentally.
Having some segments of the OSS community working on bridging software like MONO while others (you?) work on new, unique, OSS only ideas is better for OSS in the long run.
I'm Rick James with mod points biatch!
not to mention that there are so many just copying MS Windows apps anyways, why use a Mono built copy of something on Windows?
Thank goodness the Chandler folks are NOT using Mono.
Though I do wonder if and when Novell figures out Mono is not a good play for them.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
The real nuts-and-bolts of .NET are decidedly NOT an open standard. This is what concers many people.
.NET are not an open standard. But it's wrong to refer to those as "the real nuts-and-bolts", which falsely suggests that Microsoft kept important portions of the low-level foundations of C# proprietary.
.NET is a wholly controlled "standard" by MS then Mono will be on the same treadmill that WINE and other groups chasing MS implementations have been on.
.NET at all because they won't be using .NET; they'll be using C# with open source APIs.
.NET, for example because you are developing a Windows application that you also make available on Linux, then, of course, you are dependent on the .NET APIs, but that's because you chose to use .NET. Mono is doing the best job they can in giving you that capability, but even if they fail, it just won't make a difference to open source developers.
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.
I should think most real hackers would be embarrased to program in C# as they are to program in Java.
Tell me where the objective "fact" is in that statement.
To understand complex phenomena it often helps to classify relevant data. I consider real hackers to be those individuals who contribute meaningfully to the core of useful free software. These are the people who develop the Linux kernel, gcc, X11, and a miriad of other packages that make the GNU/Linux system the great acheivement that it is. Others (lets call them faux hackers) make lots of noise about trends and the language du jour, but don't accomplish a lot for the cause of free software. I classify C# and Java programmers as faux hackers.
an ill wind that blows no good
This is simple. First, I believe you are talking about patents. Therefore, I will address the patent "issue".
/
.Net, you're not locked into MS because Mono is there"
.Net and deploy on Mono: http://primates.ximian.com/~edasque/images/msdn.jp g
.Net applications on Linux"
1. MS released their possible patents on the CLR, base CLI and C# specs with a RAND
2. Mono is being VERY responsible. They've created two stacks, one of just the RAND stuff and Mono specific stuff, and one stack which is "possibly infringing" stuff: http://www.go-mono.com/archive/1.0.4/suse-91-i586
3. Novell has issued VERY strong language saying that it will protect all opensource projects in which it is involved from patent claims with it's own patent portfolio (Mono is one of these): http://www.novell.com/company/policies/patent/
Also, Novell has a lot of patents in the LDAP arena.
4. MS LOVES Mono. It makes it so that they can go to customers and say "if you switch to
In fact, they love Mono so much, that they've done two MSDN webcasts in the last month showing how you can code in
Notice the title bar in the outermost window "MSDN Webcast: Mono: Running
Conclusion:
Mono is no more vulnerable than any other OSS project. It is sad that you have resorted to FUD without any proof of your claims.
I agree with the points you listed. There are some more advantages of C# over Java, in addition to the ones you already mentioned:
* Multidimensional arrays
* Unsafe code is portable and written in C# itself
* Call-by-reference
Due to Microsoft's monopoly, water actually flows upstream. If you do accept Microsoft being a monopoly, then you have to accept that their developer universe is immeasurably larger than Gnome's. The concequence of this will result in mono developers joining F500 company to work with .Net becacuse Mono lowers the barriers for one to learn .Net.
.Net, they have the power and the pockets to maintain enough variability in the platform to keep Mono continually behind the curve. This is not theoritical, .Net is windows and it will change with each version of Windows. Mono is coplanar with .Net while what is needed is something that is orthogonal. Java is such a thing, Mozilla/XUL is such a thing.
Given Microsoft's ownership of
The Spaniard is one smart cookie nonetheless. I just wish he was wise. I mean why cant he take all that testosterone and embrace and extend Mozilla? There a oodles of W3C specs which if implemented with passion and vision would create a platform compelling enough to get developers like myself join the effort. Mono is a divider not a uniter and in the end what divides us will kill us.
life is all about searching and sorting
From what I understand, .NET is an ECMA standard
Just a subset of .NET is ECMA/ISO standard. Mono is trying to implement everything.
Mono should fork itself into GNOME.NET and WINE.NET. So that only those interested in playing with MS patent fire would install the latter. This is important considering growing MS' thirst for patents and inevitability of Mono's attempt to clone Avalon/Indigo.
Also, consider that neither ECMA nor ISO seem to be guarantees of OSS-friendliness. Google for quotes like "The role of a standards body in this context is to warrant that licensing is possible on RAND (reasonable and non-discriminatory) conditions" about ECMA or "The ISO standards body will take the unprecedented step of withdrawing the JPEG image format as a formal standard if Forgent Networks, a small Texan company, continues to demand royalties on a seventeen-year old patent."
You need to use the latest 5.x FreeBSD versions, since the previous had broken thread support.
Mono provides choice for those that are currently developing for the Windows platform. So does Java. Mono is FOSS. Is Java?
Sun has IP agreement with MS. Has Mono?
You can feel relatively safe about Linux because of IBM's patent stockpile. Has IBM embraced Mono too? Or was it Java?
Perhaps you should read your own link. Only C# and CLI are ECMA approved standard. The other 80% of .Net (aprox.) is Microsoft property.
.NET: it's where Novell sees money coming in, and it's there for people to port applications from Windows to Linux. But it's not what most Mono developers are going to be developing in.
.NET and gets by with ECMA C#.
And perhaps you should read a bit more about Mono: Mono comes with two sets of APIs.
One set is a reimplementation of
The other set is a binding of C# to existing Linux open source tools (Gtk+, Gnome, etc.). That's the set that most open source developers are going to be using. It doesn't rely on
The Python GTK+ bindings are the only thing keeping GTK+ running on my home system at all. pygtk makes using GTK+ a breeze. And I don't consider myself of GUI programmer type.
Maybe, maybe not. One thing it definitely does is splinter the GNOME developer community. There are cases where sometimes "because it is there" is not a good enough motivation for doing things, because of the fallout those things generate.
There are very talented people working on Mono, at least a few of whom would otherwise be dedicated to improving the GNOME platform. It's possible that Mono could be considered an improvement to the GNOME platform...
Something else I'm curious about: if Miguel finds some new technical cause to champion, does Mono drop on the floor like Bonobo did? (Genuinely curious here; I know little about the reasons Bonobo left the building.)
it was a log time i didn't had a new mono vs XXX(put your language here). Personnaly i just wanted to warn people about mono and c# ( delphi like) RAD tool.. BE CAREFUL guys, i develop in delphi and java from a long time and this is my conclusion actually : Delphi's like RAD tool make you build a nice little app in a day but don't even think to change your interface later. Java app are longer to build and more complicated but easier to maintain ! ( just because of this over-designed classes:) so... small app = c# , big app = java :)
well.. IMHO
These languages have critical mass and are free. I won't mention viable alternatives such as Ruby because I grant that the developer base is tiny.
The choice between Qt and Gtk+ is pretty easy: functionally, they are similar, but Gtk+ is LGPL. Therefore people can develop commercial apps with Gtk+ without paying anyone, and if you are creating a platform that you hope will attract Windows developers, that matters.
In the long run, it doesn't really matter what they pick now, since both Gtk+/Gnome and Qt/KDE are obsolete. Mono will likely get a nice, managed toolkit that evolves out of its Gnome bindings.
yup, I realize there is alot of copying going on at the APPLICATION level already and I don't really like that either but it's what we got. But when the copying is at the API level, that's another story and a long one at that. The story goes something like this. Microsoft has a monopoly in operating systems. It uses that monopoly to control the APIs used in the dominant operating system and thus direct/control developers. This control also allows them to keep the competition behing Microsoft since Microsoft developers have inside information and more timely information on those APIs.
.net. So there would be no real reason for them to be used on Windows and they'll only be a partial copy on Linux or whatever platform Mono is running.
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
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
C# was built by Anders Hejlsberg, who designed Pascal, and Delphi
last time i checked, pascal was designed by nicklaus wirth, who also designed between others modula 2 and a wacky OS they use in his current university (zurich?)
Delphi had as concept base pascal, and pascal in borland turbo pascal compilers imported the "modules and other nice stuff" from modula2 do pascal.
Somewhere along the line something called object pascal appeared, but dunno who the credit goes to on that one.
google for more info, im too lazy
I'm trying to get modded "Interesting Flamebait Informative and Insightful Redundant Troll" *-* Please Help *-*
The infrastructure itself is not, the existing
API is.
The new API is part of Indigo.
bearing in mind IBM owns lots of shares in SuSE, i wouldn't think microsoft would be too quick to sue, as IBM has far more patents than MS, and are not short of full time lawyers
You mean besides the full SDKs that exist for Perl, Python, Ruby etc including good Gtk (and Qt!) bindings??
The use of the term .NET with Mono is problematic. Mono implements large parts of .NET, but it also has its own set of APIs. By linking Mono so closely to the .NET name, the project reinforces the notion that they are completely subject to Microsoft's legal and platform strategy with respect to .NET. But the fact is that .NET and .NET compatibility in Mono could disappear tomorrow and Mono would still be a great and enormously useful project.
I stand corrected.
I'd still like to see somebody address the patent problem though.
evil is as evil does
We all know that OS/2 was better than Windows. Guess who won?
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.
If you need web hosting, you could do worse than here
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...
That's a "no" then?
I've never heard these guys before. They're amusing and all, but they're kind of like the Bevis and Butthead of the Linux commentary world, aren't they?
Cheers,
Richard
I'm not dissing Mono except to say that this is the kind of junk it will have to handle. Granted this is an extreme case, but I'm not aware of a single in-house
Even Microsoft doesn't care about cross-platform calls. They just released an Enterprise Library that contains no fewer than 16 imported Win32 function calls that are called 44 times directly.
If Mono and its stack could be made more prominent to
I don't understand why the open source community does not do the exact reverse: instead of bringing .NET to Linux, why not develop a super-duper programming language and libraries for Linux AND Windows (and all other platforms)?
And since there are so many open source developers with such a high knowledge of programming language theory, compilers etc why don't they make this language the best there is, incorporating all the wisdom, knowledge and experience that has been gained all over these years? a language that is object-oriented, functional, supports proper metaprogramming and templates, first class functions, etc ?
Pick the RIGHT solution
.NET is certainly a better solution than that load of aardvark dung that is MFC. I have no problems with Windows developers flocking over to .NET. I just wish Microsoft would stop marketing it as a one-size-fits-all solution, and developers would stop believing their one-size-fits-all rhetoric.
.NET clone is because it's popular under Windows. As my mother used to say, "if all your friends jumped off a cliff, would you jump too?" But outside Windows I don't have the big motivator of MFC to push me towards anything else. I don't have nearly the same advantages for switching to it.
If you're a Windows developer, then
But outside of Windows the primary reason to adopt a
Don't blame me, I didn't vote for either of them!
what a moronic post! .NET is the collective name of the development framework you idiot, it's the CLR and the FCL combined. They initially tacked it onto product names to pump up support for it and they've stopped doing that now that it's known. Its no more a "marketing term" than Java or J2EE! And finally, if the name is what's stopping you from using a "pretty amazing piece of technology" then you must be a very pathetic developer....
Java was a technical advance over C++ etc.
Mono is not a technical advance over the Java platform, it is (as of October 2004 when the 100% compatibility goal was abandoned) a pointless knock-off.
I classify C# and Java programmers as faux hackers.
;)
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.
"Rocky Rococo, at your cervix!"
As a programmer, when I say ".Net" I mean the CLR, CLS, and standard System namespaces. The runtime, stack and heap, if you will.
Great ideas often receive violent opposition from mediocre minds. - Albert Einstein
Structs:
Important for the efficient implementation of custom math types.
Unsigned numbers:
Important for image and video processing.
Support for caching native code:
Important for reducing the startup times of GUI applications.
Support for multiple languagues in the CLI:
Important for migrating existing applications.
Miguel:
.Net and Mono. People thinks that they will just use their .Net applications in Linux by Mono. I understand this will not be so unless all of .Net APIs are implemented in Mono, but those APIs (like Winforms) are MS patented? Can an API be patented or only the implementation?
I didn't want to imply that, just to point that Java has a kind of proven track and that Mono has yet to achieve that point. Of course that means nothing of the merits of Mono, which I wasn't questioning. I use Java in multiple platforms, something that the grandparent of my post mentioned as not working, something it's clearly wrong to me.
There's nothing preventing using Mono, but it is expectable that most people will wait until there's enough critical mass of installed base so they feel safe. After all, who installed Linux at first? students, hackers, people who wanted to experiment. Now you have IBM, HP, Sun, etc. Change happens but usually needs some time to happen.
BTW, something I don't like is people confusing
Good Luck, from Argentina
Alejandro
"I think this line is mostly filler"
That is like saying that Company LinX has an IP agreement with SCO so we can their distro and feel safe.
Great ideas often receive violent opposition from mediocre minds. - Albert Einstein
But Mono isn't a bridge, it's a platform.
The strategic direction of that platform is under the control of Microsoft.
There were already other cross-OS platforms, Mono's sole differentiator was that it was Dotnet compatible. Now that goal has been abandoned.
That's ok, but people is confusing the two implementations. You can have some .Net compatibility at the cost of (possible) legal problems with Microsoft and another legally unencumbered API but without compability with .Net. You can't have both because the .Net part isn't free. The comment I was replying says ".NET is an ECMA standard." which is not true.
"I think this line is mostly filler"
The problem with RAND is that it only means "reasonable" (meaning the licensing terms have to be based somewhat in reality and thus that some people will be able to abide by them) and "non-discriminatory" (meaning that MS has to offer the same terms to everyone). MS has not made any official licensing deals and or offers public other than the informal mailing list posting by Jim Miller which stated that the patents in the ECMA standard will be available royalty free, for "non-comercial" purposes.
What does this mean? It means that there is potential for MS to adapt its currently de-facto royalty free, any purpose (as there is no other official licensing) to something more restrictive and requireing money to change hands (in the direction of MS). Whether MS will do that or not is to be seen, and is likely dependent on how big of an impact Mono has on MS's business model, but putting trust in MS's goodwill regarding Mono's freedom is IMHO a rather large risk.
...and IN SOVIET RUSSIA, beowulf clusters imagine 1, 2, 3 profit!!!! jokes made out of YOU!!!
"'cause if we ignore it, then it will go away. It doesn't matter if the industry decides to use it or not."
Well yeah. Pretty much everyone here is the software industry. If we don't use it, then industry doesn't use it.
I have no knowledge of Bonobo. Sorry. But the first time I heard of Mono was in 2003 and since then they have implimented a ton of libraries. The idea that this might be a "phase" for someone is pretty silly when you look at the sheet amount of work that has been put into Mono.
Great ideas often receive violent opposition from mediocre minds. - Albert Einstein
Miguel,
I'm a fan of your work and of Mono in particular but why are your posts formatted like emails?
Cheers,
Anonymous Coward
Are you honestly implying with a virtual straight face that .Net is inferior? How so? Speak with specifics, not vague pointing to "it sucks because M$ suxorz" .Net is probably one of the most advanced development platforms on the market. Most developers would not argue this. I certainly don't even though I use other technologies. There is nothing inferior about .Net.
This is the very reason I had for making my post, some people associate MS with inferior technology, when in fact it's their business practices that should be scorned. I'm a developer and search for the right solution to the problem. I don't associate myself with one particular technology or company so I see no problem evaluating a tech based on it's true merits. Do you?
Also your pro-Google bias shines through. Do you think that somehow the people at Google are better at writing software then those at MS? How so? How do they do this? Specifics please.
I am really trying not to be a troll here, but how would you address the problem other than the FUD you laid down in the parent post? It was FUD, as it was completely inaccurate of what is really going. It is misinformation like this that hurts the FOSS and IT communities from making intelligent decisions about Mono.
Great ideas often receive violent opposition from mediocre minds. - Albert Einstein
My feeling is that there's a lot of good that could come out of a FOSS project to create an advanced program-management framework. There's a little less good, but some good nonetheless, if such a thing is built to allow programs that work an existing VM to work under it but is, nonetheless, a totally different design (see GCJ.) There's little or no good if the framework is just a clone of something that already exists, albiet one that's slightly nicer in one area, and slightly worse in another.
I don't see Mono as creating choices.
You are not alone. This is not normal. None of this is normal.
"Case sensitive" means that "A" is not equal to "a". "Case *IN*sensitive" means that "A" is equal to "a".
The fact is, "case sensitive" (or more accuratly "bit pattern sensitive") is the correct way to do a file system. This is an underlying fundemental service of the OS and it should be *SIMPLE*. Anybody who thinks there is some advantage of programming a user interface issue into the underlying system is just completely clueless (and it is alarming how many people are clueless here!). Files should be identified by a string of bytes, with a minimal set of reserved bytes, and if two byte strings differ, then they must be two different files.
Saying "the file system should be case insensitive" is the same as saying "the computer should store numbers so that all numbers larger than 100 are equal, since humans can't really tell them apart, so that would be more user friendly." This completely discounts the fact that a "user friendly" program could easily and trivially print all numbers larger than 100 as "larger than 100" and thus achieve identical user friendliness, while allowing the lower level to be much more powerful and simpler. For some reason though, the proponents of case-insensitivity have blinders and cannot realize that any and all of their "solutions" could be done trivially by higher-level software.
In fact they make things worse. I can name a file "file" and another one "fi1e" on Windows and it does not do anything to save me. I can put a trailing space in a filename or imbed two spaces instead of one and it thinks they are different. These mistakes are just as bad as case errors, but because so many people have been brainwashed into believing it cannot be solved except at the file system level, nobody has addressed this (plus the fact that case-insensitive file systems make it much more difficult to cleanly implement spelling correction like this).
The truth is, case-insensitivity is a relic and if you think there is a good reason for it, you are WRONG!!! Anybody who thinks case-insensitivity is harmless should realize we would probably have had utf-8 internationalization 10 years ago if it were not for this. I also suspect networked file systems would be much further along today and interoperable.
The .NET Framework is divided in two parts: the ECMA/ISO covered technologies and the other technologies developed on top of it like ADO.NET, ASP.NET and Windows.Forms.
.Net and Mono to Classpath, because those are similar proyects. :-) .Net there is only Microsoft one. .Net is at least good. .Net doesn't have it. (Mono isn't an option right now)
Mono implements the ECMA/ISO covered parts, as well as being a project that aims to implement the higher level blocks like ASP.NET, ADO.NET and Windows.Forms.
This is exactly what I was saying. ADO.NET, etc are not open standards.
And now with respect to Java:
One difference may be that until now there are no really complete enough open source implementations, though efforts like GNU classpath are advancing.
One should compare Java to
It's suposedly ok to build an open source Java becasue the Java Community Process (JCP) organization has say so but we will not know until someone really has one finished
Another difference is that there are many implementations like BEA JRockit, while in
On other aspects are similar. I just have less trust in Microsoft but I think that technically
What I really like about Java is:
-platform independency (it works wonderfull for me).
-I don't have to reinstall the operating system or reset the computer if something goes wrong, just the process. With MS seems that everything is part of the OS.
"I think this line is mostly filler"
It won't, because for far too many, it's not about the best tool for the job, but about giving the MAN the finger.
Power to the people! Long live the revolution!
You are confused and misinformed. .net we get tons of software written that runs on mono is just a nice side effect.
Mono's stated goal is to provide great development tools on free software systems. The fact that by being compatible with
Besides, mono is both a bridge between old technologies (C code) just as it is a platform to build new apps in a more productive runtime with whatever language you prefer, C#, python, javascript etc.
The direction of Mono is decided by the people who code and contribute to it, not armchair whiners.
Comment removed based on user account deletion
Thanks for the heads-up.
Maybe you can put these guys right too?
- What apps built with mono can I currently run in the standard Microsoft
.NET runtime enviroment unaltered, or visa-versa ?
- What steps have you taken to insure that above statment will continue to be true as future versions of
.NET are released from Microsoft ?
IMHO, Mono cannot be taken seriously as a commercial development environment unless these two questions can be answered.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.
"At this point the Kool Desktop Environment project (KDE) was showing a lot of promise: a team of programmers started an effort to bring Unix to the desktop using the C++ based GUI toolkit. I mailed my friend Erik Troan suggesting him to include that code into the Red Hat distribution and I mailed Richard Stallman to let him know that this interesting project existed. KDE was licensed under the terms of the GNU GPL. I got a reply back from both Erik and Richard pointing out that KDE dependency on Qt resulted in a piece of non-free software. Qt did not end users the right to modify, redistribute nor distribute modifed copies of the code and violated the terms of the GNU GPL.
Being a free software entusiast, I contacted Troll Tech, the authors of Qt to propose an alternate licensing scheme for Qt that would still allow them to build a company while empowering users but got no reply. The Troll Tech FAQ at the time also contained significant errors regarding the GPL and ignored dual-licensing schemes. After a time out period, we decided to do something about this problem. Also discouraging was the fact that the KDE developers were not interested in resolving those issues as pointed out in their FAQ document and their mailing list policies.
We evaluated writing a free Qt replacement, but reimplementing an API would most likely result in less efficient software and would have taken too long to implement. GNUstep, Wine and LessTif were other projects that had attempted to reimplement a proprietary API and just had a limited success after a long development history."
KDE existed and was working. GNOME was started because of the licensing issues.
I am trolling
you really should read the post again since I never even mentioned any specific Microsoft technology. History seems to show my point quite clearly.
....' thing to do. Otherwise, Microsoft would not have had to spend $100's of Millions advertising Windows 95 and again advertising Windows NT. They would not have had to spend/lose about $1 Billion per year pushing Windows CE. They wouldn't have to have sites like their "Get the Facts" web site or have to pay companies to reprint their marketing data in funded "research" papers.
"pro-Google bias"? You've got to be kidding.
BTW, making a technology decision includes considering those which lock in customers and users and reduce/eliminate choice of a robust underlying operating system. They also include considerations for reliability, security, and ownership at the application layer.
Picking Microsoft is always a 'me too', and 'nobody got fired for
nuf said.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
So you support the latest generics and BizTalk can run on Mono ?
An Eye for an Eye will make the whole world blind - Gandhi
It seems strange that your questions do not actually have anything to do with the statement you quoted...
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
No. It's more like 50% of the .NET platform *IS* an open standard. You really need to look at the specifications for the CLI and C# to see how extensive they are.
Things like Windows Forms, ASP.NET, etc.. make up only a smaller portion of it, and you don't have to use any of those if you don't want to to make viable open source software.
Also, MS has not publicly stated they intend to defend their intellectual property, though that is implied.
Finally, MS has granted a royalty free license to any patents they hold on the ECMA and ISO standard C# and CLI specifications. So no, they can't sue you for infringing patents that are covered by those standards.
If you need web hosting, you could do worse than here
What parts of...
.NET Framework is divided in two parts: the ECMA/ISO covered technologies and the other technologies developed on top of it like ADO.NET, ASP.NET and Windows.Forms. Mono implements the ECMA/ISO covered parts, as well as being a project that aims to implement the higher level blocks like ASP.NET, ADO.NET and Windows.Forms.
...were unclear? Mono implements the ECMA/ISO covered technologies of .NET--an open standard. In addition, it also attempts to implement that which is not covered, which is the part some people have some sort of problem with for some reason (I guess they don't have a problem with projects like Wine). However, there are already replacements for those high-level blocks, like GTK#, so it doesn't really matter.
The
>I like my coffee like I like my women. Ground up
.sig like that.
.sig that did it. I know its supposed to be funny, but I'm really annoyed by the sexism of it. At least half the population will not appreciate it (I'm male, by the way)
> and kept in the freezer.
Do you have any idea how plain -stupi-d this sounds? You just tried to appear informative and objective and then you use a sexist
I've seen it before and didnt react to it then. It was the contrast in tone and seriousness between your comment and your
This is exactly what I was saying. ADO.NET, etc are not open standards.
.NET is. If your issue is with high-level stuff like ADO.NET, okay. But you questioned that .NET is an open standard, and I referenced the Mono FAQ to show that a lot of it is, including the base infrastructure.
But the rest of
I think we disagree on the terminology. I'll clarify my point of view.
.NET Framework is divided in two parts: the ECMA/ISO covered technologies and the other technologies developed on top of it like ADO.NET, ASP.NET and Windows.Forms.
.NET = core + high-level-stuff
.Net is the sum of core and high level stuff, calling the core .Net is at least confusing things. Many people in this discusion talks like .Net is an open standard when it is not. Just the core part is.
From the faq: The
core = C# + CLI
high-level-stuff = ADO.NET, ASP.NET, Windows.Forms
core is ECMA/ISO standard
high-level-stuff is Microsoft propietary stuff.
"I think this line is mostly filler"
First of all, it's not YOUR time or money they're wasting. It's theirs. Second, they're contributing to Gnome (and the opensource community in general) in the way they see most fit. They're doing it because they WANT to do it. It's their own itch they want to scratch and it's no different from any other opensource software developer who said they'd do something to "scratch an itch".
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.
The one critical issue regarding apps under Mono is the GUI development issues for cross-platform development.
There is the Windows.Forms implementation, and then a similar effort under Linux, but the portability between the two platforms is difficult at best, primarily because the two environments have such a huge difference in basic API archetechture, especially at the component level.
That said, there are efforts to try and overcome these issues, and for non-GUI applications (command-line or content servers) Mono works equally well in both Linux and Windows.
I believe you misunderstood my post, and the statement I quoted from Mono. I asked if you can interchangebly use .Net assemblies in a Mono environment, and Mono assemblies in .Net environments.
If I read yours correctly, you are talking about running Mono assemblies in Mono enviroments, which is not what is implied by the Mono project vision.
Do you agree ?
Reading this thread (and others like it) has convinced me that M$ has already won with Mono - nothing else has managed to split the Linux community so deeply.
Congrats Miguel, well done.
Love you too,
Kent
You know where you are? You're in the $PATH, baby. You're gonna get executed!
This reminds me of Richard Grimes' farewell to .NET. http://www.ddj.com/documents/s=9205/ddj050201dnn/
.NET.
It may be a while before MS starts coding their own stuff in
Why do you think I laid down FUD. Everything I said is 100% true.
.NET technologies"
.NET on a non windows platform."
"Regardless Ms still owns patents on the numerous
100% true.
"both Ballmer and Gates have repeatedly said they intend to defend their intellectual property vigorously."
100% true.
'Be Aware that your company can be sued for USING patent infringing technology."
100% true.
'If you company has deep pockets Ms could come after you. If for no other reason then to make you stop using
Ok speculative but certainly plausable given the above given premises.
If you are using mono and have not considered the fact that MS has patents on it and both the CEO and the president of the company both have said they intend to defend their intellectual property then I submit you are not making an intelligent decision.
evil is as evil does
I don't misunderstand you at all. I challenge your very narrow definition of "cross-platform." It seems like your definition requires a guarantee that all future versions of mono will always have complete feature parity with .net.
By your definition, Java is not cross platform because Sun's JVM doesn't support GCJ's CNI.
-Mark
Mod parent up +5 funny!
Using 'secure' 'portable' in the same sentence as NT.
Brilliant!
We evaluated writing a free Qt replacement, but reimplementing an API would most likely result in less efficient software and would have taken too long to implement. GNUstep, Wine and LessTif were other projects that had attempted to reimplement a proprietary API and just had a limited success after a long development history.
.NET... how ironic.
And then he went on to reimplement a proprietary API, namely
A toolkit (such as GTK) being LGPL:d means that a company can make a comemrcial app _without_ giving back nothing to the community!
Their next step would be to advertise the hell out of their competition. Does that ring a bell somewhere?? MS...
That's what LGPLD libraries will do to Open Source man.
And if the KDS team hadn't wanted to unnecessaily split, they would have given up on their abortion of a desktop environment instead of just changing the licensing."
Gnome was started, after KDE existed, because of the licensing problem. (Without going into too much detail, Mattias (sp?) used Qt as the basis when starting KDE for the pragmatic reasons that it was free (beer) available and the best-looking toolkit for *nix. Qt was not Free (speech) so KDE was not a completely free desktop, and IIRC there were questions over the legality of linking GPLed kde programs and libraries against the non-gpl-compatiable Qt). So when the licensing issue was resolved (by Qt being released as GPL) it was Gnome's place to step down, not KDE. Maybe the license change would not have happened without Gnome, but Gnome had achieved this and should have stepped down, like Harmony did, and like the win32 port of Qt GPL probably will.
I am trolling
You're in good company with other Mono proponents in that you are peculiarly susceptible to the logical fallacy of "composition".
.NET API is an open standard
.NET Framework is divided in two parts: the ECMA/ISO covered technologies and the other technologies.
/. story, for example) proponents are still as willing to churn it out this nonsense today as they were in 2001. Clearly this delusion is an essential part of the group-think, and the rest of us will have to live with its constant repetition, just as we have to live with the shifting-sands (or, less charitably, the bait-and-switch) definition of what Mono actually comprises.
In fact your two posts above directly contradict one another:
The first says The
The second says The
The fallacy is that, just because part of Dotnet is covered by ECMA/ISO then the Dotnet framework as a whole is "standard". This is no more accurate than for me to say that because my front left car tire is OK then my whole vehicle is roadworthy.
It never ceases to amaze me that, after more than three years of being corrected on this point (literally dozens of times in each Mono
Whatever the effects on Mono developers rationality, it is unlikely that this flexible approach to the truth will win the confidence of many significant adopters. Until its fan base grows up and faces facts, Mono's penetration of the corporate world is certain to remain negligible.
Nuff said? Hardly. You just slam MS but never back up your google statements or you allusion to .Net being a bad technology.
You are slamming MS for bad businesss practices, which if you read my post you would see I also slammed. But you never backed up your statements about the technology.
So I'll reiterate, How exactly does Google make better software?
It is this inference by the Mono team which is causing false expectations by end users who have the expectation that Mono == .Net due to the quote given above.
And yes, my definition would require future versions of Mono will have a complete feature parity with .Net, since that is what the customers I deal with believe (Since they would like to develop in .Net on Windows, then run these same apps on Linux, and see Mono as the way to achieve this). Do you belive that this expectation is unreasonable ?
As for Java, you are comparing apples and oranges here. Your comment would only apply if Microsoft made a version .NET for other platforms (which they do not), or were somehow supporting the Mono team, which they are not per Mr Icaza. Furthermore, Microsoft's .Net exclusively targets the Windows platform What is the .NET framework?
So let me distill my questions/challenge the light of our previous exchanges, because I believe them to be very important to the development and end user community as a whole:
Several people mentioned that C# and CLI specs are ECMA and ISO standards.
.NET implementation is de facto standard, and if the new versions of their development tools are made to support only this new version, I don't think developers will have much choice but to use the new non-ISO-standard versions, since they already have invested time and resources in the platform. Mono would not be an option, since by the own admission they don't plan to support the next version of the .NET platform fully.
.NET in general is still very much subject to the control and whims of Microsoft.
But which versions of these specs are described in those standards? It's my impression that these standard organizations don't change the standard every year, look at the period between various revisions of the C/C++ standards, etc.
Yet, Microsoft keeps releasing new versions of C# at a fairly rapid pace, which introduce some significant changes. Are the ECMA/ISO standards updated with each new version?
I'm not trying to troll or anything, I really don't understand how this is supposed to work.
Specifically, what is preventing Microsoft from releasing a version of C# that deviates from the standard (if the recent versions don't already do)? Should they decide to do so, there is nothing anyone can do really do about it, as their
So, you end up back on the Microsoft treadmill of incompatible upgrades, business as usual. I don't share the same confidence as many others here apparently do. Maybe I'm missing something here, I would appreciate any enlightenment on this matter.
Of course, the same thing is absolutely true with Java. The Java language and platform specification is completely at the whim of Sun Microsystems. I'm just wondering why people think that just because C#/CLI has been accepted as an ECMA/ISO standard, they think the situation is any different? C# and
In Java's defense, Sun atleast have a proven track record of keeping a relatively stable language and platform to build upon, with incremental changes that involve the developer community to a certain extent. We have yet to see such a commitment from Microsoft. I guess only time will tell.
As for me, give me Python, or give me death!
Take a look at the last Richard Grimes article on .Net. Very very interesting stuff.
"I think this line is mostly filler"
One of the things that hit me hard like a brick in the face is the disparity in the reaction of people claiming things under the name of the community.
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.
Is it possible for the monkeys on slashdot to discuss ANYTHING else other than some crazed notion why this or that technology is EVIL or philospohically inferior?!
Uhm, YOU'RE ALL NOT LAWYERS?!
Do you think places like Novell, IBM, and others (who have lots and lots of lawyers) would be using and developing Mono if there was this huge sword hanging over its neck? I mean, Duh!
People... Get A Grip!
Using "Common Sense" is being either to arrogant or to ignorant to ask people who know more about something than you.
I don't understand with a different opinion is labelled as 'troll'. From one side, /. wants to pose as a revolutionist, following the open source movement etc, and on the other hand, different opinions (that make perfect sense) are modded as 'troll'...