Slashback: Mono, Names, Locking Up
Sometimes it's nice to catch a disease. A few days ago, michael posted that Ximian was about to release its Free Software answer to Microsoft's .NET. Now it's official. Miguel de Icaza adds some detail: "Hello guys, As of today, we launched Mono, a project to implement a GPL-ed Common Language Runtime, class libraries and C# compiler to be compatible with Microsoft's .NET Framework. You can look at the press release that we put out. We also have a FAQ that covers various points and tries to explain how this is not .NET."
Newsforge is carrying a piece which ties together a bit more as well to explain how the promised benefits of .NET, as amorphous as they are, can be addressed with these and other software. Miguel has seemingly been busy on the phone today.
Hornsby points as well to "a very interesting article on the implications of Microsoft's .NET technology on open source development. The article heavily quotes Miguel, who "believes that .NET is going to be the dominant development environment for the next 20 years."
They oughtta know how to secure a box. Jhereg42 writes: "The NSA has posted their W2k security guides on a new (Slash proof :-) web site. Also included are Cisco security guides and a 'Supporting Documents' section containing docs on "Defense in Depth" and I-Planet Web Server configuration."
This is what lawyers are for. Rolan writes: "Mark Spencer has sent out an update on AOL v GAIM. It seems that the request for assistance was met well beyond the goal of US$500, at US$1700! The letter and attached response. The response was converted from an attached rtf file into an html file by StarOffice 5.2."
Thanks to all who sent along a few bucks, and good luck to the Gaim folks in the Surreal Themepark World of Contested Trademarks.
----
Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
(as seen in someone's sig. Sorry I can't remember their UID right now)
"I don't know that atheists should be considered citizens, nor should they be considered patriots." - George Bush
I'm sorry, I know this is Anti-Open-Source (TM), but I think that GAIM is clearly trademark infringement. Adding one letter does not mean you're safe, any more than a clone of Windows named GWindows would be reasonable.
... This sentence might just have a *tad* more impact if, in fact, you actually had to register a trademark in order to claim it. Trademarks are like copyrights -- the fact that a trademark has not been officially registered in no way means it isn't valid. Lawyer-speak at its best.
The whole point is consumer confusion, and you've got to remember that the average consumer probably can't name the president. The average user wouldn't find it too touch to miss one letter when the products do the exact same thing.
I love the line "Also, we note that the Gaim software was released almost two years before your client submitted its application for registration of the "AIM" mark"
In any case, this isn't 'fighting the good fight'. This is wasting time, money, and effort that could be much better spent accomplishing something actually useful. Change the damned name and move on.
ZFS: because love is never having to say fsck
It will probably be something like what happened to samba.. if they open it up or not somebody will eventualy figure it out and write a nice full featured version that works on many *nixs.
The AOL vs GAIM fund has now exceeded Slashdot in gross revenue.
http://www.freebsd.org
There hasn't been a dominant development environment for the last 20 years (unless you consider the C language, which I guess you could).
But that was standard, free, and efficient.
--
Mono and Java
Question 35: What about using Java? After all there are many languages that target the Java VM. You can get very good tools for doing Java development on free systems right now. Red Hat has contributed a GCC frontend for Java that can take Java sources or Java byte codes and generate native executables; Transvirtual has implemented Kaffe a JIT engine for Java; Intel also has a Java VM called ORP.
The JVM is not designed to be a general purpose virtual machine. The Common Intermediate Language (CIL), on the other hand, is designed to be a target for a wide variety of programming languages, and has a set of rules designed to be optimal for JITers.
(Feel free to Agree or disagree with this statement, but quit asking the same question over and over. This post does not deserve Karma, since I didn't create anything myself.).
"Can of worms? The can is open... the worms are everywhere."
"I don't know that atheists should be considered citizens, nor should they be considered patriots." - George Bush
Mono is the word for `Monkey' in Spanish. We like monkeys.
Although, this is a very clever name considering Microsoft has recently taken to calling the GPL a virus. Now we can say "you misunderstood - it's not a viruses, it's about monkeys."
-----
Free P2P Backup, Windows & Linux
While Mono sounds neat and a great way for 'open source hackers to fight back', I can think of alot of issues with Ximian Gnome that need to be fixed.
.9.1, but if I get .9.2 and install manually, nautilus stops working, but if I install the new nautilus, it won't unless I downgrade back to mozilla .9.1, and it keeps telling me stuff isn't installed that is ... I don't understand how apt does this so well, yet this slick looking "super update" tool from insists that my stuff is broken. And you just know somebody is going to start using --force and --nodep and screw stuff up even more.
.NET is the new Microsoft plan doesn't mean we have to be scrambling to get ahead of them.
.NET is awesome, doesn't mean it will be, I mean shit, this stuff is still vaporware ....
It seems to me like Miguel and Co. never really finish anything before moving on to something else. Red Carpet still has some issues, Evolution isn't even close to being done, MonkeyTalk is/was awesome, but try finding a Ximian guy in there sometime, just don't bother the other _4_ users in there all asking for support.
Example: Red Carpet is STILL stuck with mozilla
Anyway, I digress. Just because
This reminds me of the big 'Push' craze. "Everyone stop what you're doing, push is the future! The regular internet will die!" Who cares, keep doing what we're doing, making a better OS for US, not for the MASSES.
Please, Ximian, make a good, stable desktop with updates and stuff that works. Just because MS, CNET/ZDNN think that
But .NET will likely become huge whether or not Linux supports it. For our own sake, however, we should get with it soon so we don't get locked out (remember when we didn't have any decent browsers? This could be similar).
Monkey sense
Well as usual, MOST of the people replying negatively are doing nothing more than knee jerking. They know little to nothing about it, they hear Microsoft, they bash. But it seems like a FEW people have actually investigated the underpinnings of .NET and have seen some promise in the archetecture and the need for such an archetecture and are going to make sure that Linux will be there to play the game. It may end up being much ado about nothing like JAVA has become, but Linux has JAVA doesn't it? Good? Bad? Time will tell. But dismissing things out of hand will never allow you find out...
Contrary to popular belief, coding is not all free blow-jobs and beer. Those things cost MONEY!
Can anyone point me to a good explanation on .NET ? I've tried to understand it but it seems to be a little complex.
It seems that cloning it is a good idea and doing much of it at the GNU level makes sense since that is most of our development platform is.
I hope KDE can in on this too because forming a dotKDE doesn't sound like a good idea.
But alas! I proclaim lots of ignorance on this one!
only sort of good news. the good news is he got money to send a letter to defend himself (and his most excellent work). The bad news is that it's a legal battle, and they suck as a whole. I truly truly hope that it works out for the benefit of the Gnome AOL Interactive Metatranslator ;) but I just dunno...I don't know what the statute of limitations on the "protect your trademark or lose it" thing is, and it seems fairly clear that it is a derived named. then again, they could just _hire_ the guy to make it for AOL, under the same license, and everyone would be happy.
Can you imagine? A little less AOL bashing on slashdot!
-- Who is the bigger fool? The fool or the fool who follows him? --
What you can do until someone writes a (Python or insert your favourite language here) frontend for Mono is compile using Microsoft's tools and run on the Mono backend. That's the nice thing about standards, and it appears (so far, at least) that Microsoft is playing fair this time.
Even Slashdot wants to hide some things
Notice how the also ran languages supported on Linux (Python, etc) never make the cross platform big time -- yet with this move the Linux community gave .Net and C# the smack of legitimacy and since it will be numerically close to #1 in the future (based on number of developers using it) have really put it over the top.
They're on Conxion. You know, the same people who made the news around here for leaving copies of XP Beta lying around for the general public to snag?
They seem to have changed the languages from PL/1, fortran, bcpl, etc to C#, perl, html, but they haven't changed the goals, just the implimentation details as they rediscover 20+ years old ideas and technologies.
In the late 70's I worked for Honeywell on a government contract to help develope and support the National Software Works (NSW). NSW ran on multiple systems. You logged into NSW and as you asked for tools (programs), it would open up connections across the arpanet to the appropriate system, TECO on DEC 10's and 20's, IBM FORTRAN on IBM mainframes, ted on Multics. Files were converted and ported as needed to make the different systems happy. The DEC systems used 7 bit ascii, Multics used 9 bit ascii, IBM used 8 bit EBCDIC.
You never specified where to get the tool, just what tool you wanted and the NSW system would connect you to a system that could run that tool for you. When that tool asked for a file, it was transported from whereever it was to where the tool was as well as keeping multiple copies of a file around if it was read, but not changed on multiple systems.
The goal was to make location of a user independent of where the tools they used were located.
Give me a break.... talk about a soundbite made for the press. The rate of change of nearly everything, including development environments, etc. is increasing. I'll grant you that there may be something called 'Windows' in 20 years and there may even be something called '.Net' in 20 years... in much the same way that there will probably always be a language called 'FORTRAN', regardless of what they do with it. The only intelligent part of his comment is the implicit fact that Miguel, unlike so many, at least pays attention to "the dark side" and recognizes a good idea when he sees it.
I'll get flamed for it, but I'll say this, too: Open Source software.... Free Software... means platform independence. It doesn't mean Linux. It doesn't mean BSD. It means that I get to choose.
The Norton Anthology of English Literature, 4th Ed., Vol 2
Aren't the free software folk who are adopting .NET making the same mistake many other MS competitors made before? They are adopting an MS technology and relying on MS not to play dirty with the specifications (DR-DOS and Win3.1 come to mind). What is to guarantee that MS won't change the .NET specification a year or two from now and break older code? ECMA standards are cute but MS wouldn't hesitate dumping them if it felt it could get away with it.
Boffoonery - downloadable Comedy Benefit for Bletchley Park
What I found interesting was the following quote from the article:
So Ximian may not be able to produce what they want to produce.> I would have thought that all the Linux Zealots would be trying to discourage .NET, it being an MS effort.
Actually, it's a Micorsoft clone of a longstanding Sun effort.
--
Sheesh, evil *and* a jerk. -- Jade
God, what a troll...
Wow, it's a wonder those KDE guys can accomplish anything with their stone-knives-and-bearskins tools like "vi" and "man". Now we know why there's so much sucky code in the world - lack of IDEs to think for us.
Has this Miguel guy ever actually used Linux? (yes, I'm aware he's the Gnome god, it's a rhetorical question.) Linux has almost none of the DLL problems of Windows; you may have extra versions of old libraries, but if that's what your apps want it's not a bad thing. Microsoft, on the other hand, just recently gave us the technological advance of keeping track of the libraries needed and replacing them on you if you zapped them during another software install. Yes, that's right, just paper over that DLL Hell and keep on going.
I like Gnome, and I use it every day, but I feel like Miguel has really let down the side here. It's one thing to discuss that .NET has some advantages over current systems, but it's another thing to be basically a Microsoft cheerleader - shouting out the good bits, papering over the iffy bits, and not injecting any of the caution that any rational software engineer not in a coma over the past few years should have when faced with a new initiative from the Microsoft marketing machine. Miguel, you had a great chance to present a level and reasoned overview of the whole thing from the free side of the software world, and you ended up just giving Ballmer and Mundie some great sound bites. With open source "leaders" like this, who needs enemies?
Mod away, I feel better for having had my say. Grrrr, I haven't been this ticked off since the last time Ransom Love said anything :)
Your right to not believe: Americans United for Separation of Church and
Thanks
Bruce
Bruce Perens.
I think it is interesting that the Free Software community is embracing .NET, after years of scorning Java, which offers many of the same features.
.NET, a language "owned" by a company with a far worse track record for cooperation than Sun, and which boasts that you will be able to "write a class in C#, subclass it in C++, and instantiate it in Eiffel" (I'm sure there won't be any performance issues there).
Sure there are a few free implementations of the JVM, but none support Java beyond 1.1. Whenever Java is discussed among Linux developers, their voices drip with scorn and they go on and on about performance problems eliminated three years ago, and the dangers of a language "owned by Sun". But those same developers are jumping right in to develop free implementations of
Why not ramp up the effort to create free VMs and libraries for Java, a language actually in use around the world *right now*? It boggles the mind.
I couldn't just call my Playstation 2 game Tetris
Correct. I wrote a thorough essay on the legal issues surrounding Tetris. To sum up, TETRIS is a trademark of The Tetris Company LLC, but there are no U.S. Patents on the game itself, and the game's graphics are simple enough that any source code or audiovisual work copyright can be circumvented by a simple clean room cloning project such as freepuzzlearena, which produced the Tetanus engine (soon to be renamed to Lockjaw to distance it further from the TETRIS Mark).
Want a taste of LSD? Try TOD, a falling tetramino game with nine screen distortion effects. Includes static DOS binaries plus GPL sources for recompiling on Win32 or X11 systems. Only dependency is libc + Allegro + your window system's libraries.
just because there's no tetris on the game system yet
Apparently, you've never played The Next TETRIS for PlayStation and Wintendo9x.
Of course, nothing you read on Slashdot is legal advice. See an attorney licensed in your jurisdiction.Will I retire or break 10K?
Because if we take it and run with it first before Microsoft really gets down to business, WE can be the ones to "embrace and extend."
This is a pretty depressing statement because it is so blatantly false all around. Five years ago, de Icaza chose to use tools for Gnome that were primitive even back then: C, make, autoconf, etc. You don't have to get very advanced to do better than that. C++ was around. GNUStep was around. Modula-3 was around. Eiffel was around. There were several mature, high-level GUI toolkits. Visual C++ was better integrated and easier to set up than GNU Emacs even back then. Five years ago, there were already numerous high level, open source languages with excellent debuggers and excellent environments. If Icaza would have wanted something better, he had the choices then. Instead, he chose primitive tools back then and stuck with them, and now that Microsoft adopts C# he finally calls those tools what they are: primitive.
According to de Icaza, the interesting thing about SharpDevelop is that the environment is really complete in only a few lines of code. It's really amazing when you compare the code size to other projects.
Again, de Icaza missed a big opportunity. As one of the leaders of the Gnome project, he could have caused adoption of this kind of "amazing" technology on Linux a couple of years ago in the form of Java. Whether he agreed with Sun's implementation strategy for Java or not, the Java language and runtime is not importantly different from C# and .NET, and Gnome could have altered it in whatever way they liked. Yet, Gnome kept on focussing on laboriously and slowly hacking C code and basically making fun of high level languages.
As far as I'm concerned, the Gnome project established its course long ago: they don't lead, they merely follow Microsoft (and something similar can be said for KDE). Maybe that's good enough to keep Linux alive as a credible alternative to Microsoft, but it really isn't very interesting to me. If open source becomes dominated by clones of Microsoft software that's two years behind the market leader, I might as well just use the real thing.
The only glimmer of hope is that the adoption of anything more high level than C by an open source project as large and central as Gnome can only improve things in the open source world. It's a good first step, whether the something being adopted is Java or C#. Maybe that will finally break the stranglehold that primitive tools and extreme conservatism have had on this community. It's kind of sad that it took Microsoft to do this, since they invented none of this technology, but--whatever it takes, I guess.
In the O'Reilly article, the author says that Miguel is open minded. I suggest we all seat back, relax and try to do the same exact thing. Let's be open minded if only for 5 minutes.
So I'm sitting at my desk, open minded and stuff, reading Dale Dougherty's article. First of all, I would like to say that I found it very interesting. Here are my comments on it.
Open Source developer Miguel de Icaza, leader of the GNOME project and founder of Ximian, has been exploring Microsoft's .NET platform with an open mind
The open mind thing, remember?
he was only beginning to think about the implications of Microsoft.NET
That's exactly what it's about. The implications. Read on.
Here we go. The first of many comparaisons. Some of you slashdotters are aiming their guns at him for making such a comparaison. Don't! Keep an open mind. With an open mind you realize that vi and Emacs don't come even close to a fully integrated development environment. Again, keep an open mind and think about it for at least a minute before you shoot.
"It's a new development environment for the next twenty years."
Let me be honest: when I read that piece, I thought he was being paid by Microsoft. I mean come on! That's a pretty bold statement right there. Let's see what he has to say about that.
Five years ago, we [open source developers] had the high ground in technical tools," said de Icaza. "We had better tools and a better development environment than Windows developers had. Now, with .NET, I see that the roles have changed and Windows developers have much better tools than we have.
(NOTE TO SELF: Don't quote that much in one piece) ... Ok then. I have my open mind and all that but still, that's sounds like marketing to me. Now hold on. What if ... I don't know ... do you think ... is it really ... True?
Wow! Is that really so?
What if it's true? Let's see what he has to say.
Cool! This time, the roles would be reversed. Please understand. This time, it is us who have a chance to copy, to mimic, to "innovate". Schweeeeet.
Microsoft might port the runtime to Linux
Now why the hell would they do that? The only thing AFAIK they ever did on Linux was those f***ed up Front Page Extensions! Do you really think they would do that? Why? To extend .NET of course, just like Unix embraced multiple platforms back in the days (This is indeed a very good analogy). About a year ago I think, I read someone saying that the Desktop OS should be at the user's service, not the opposite. Microsoft understood that believe it or not. You (and I) may not like it but the main reason why they are what they are on the desktop market is because they offer what the vast majority of users want. They also know that the OS is not the end all of all things. They understand the market (heck, they control the damn thing) and they expand like a wasp colony in my back yard by controling the rest with .NET.
What I mean to say by that is that Miguel has a point. .NET is probably the most important technology/invention for the years to come. Just like Unix kicked Multix's ass back in the days, .NET will be the next development environment for the years to come. (open mind everyone)
"I personally want to see the .NET runtime on Linux", [...] seeming to commit himself to building it if it doesn't emerge from current efforts.
Thank you! It would be terrible to be left at the mercy of Microsoft for having something that important not available on our favorite OS. Could you imagine? Maybe not. Let me help, imagine that there was no TCP/IP stack available for Linux. That's the kind of situation we could find ourselves in if major tools like .NET are not available for Linux. (NOTE TO SELF: That was a "Bad analogy").
Later on, Miguel explains briefly why he likes .NET so much. He makes his points when he says (and I quote)
"With .NET, MS has figured out the next generation of development software"
Now that does not come from some AC waiting for a good troll. This guy wrote a whole lot of code. I think I can safely say that he knows what he is talking about when it comes to developing software. (Open mind again).
Just like Unix was not targetted as a single platform. You have it right here, in front of you. If you can see further than your nose, it's obvious that this is why .NET will (wether you like it or not) take over. He even says It's a programmer's dream come true. He's right, at least admit it.
So he goes on and on explaining what the Unix world did wrong and what .NET does right. Good. He wants to see .NET under Linux. Great, count me in.
Now remember what happened with Unix in the early 2000's ... it got taken over by a Free (as in speech) OS based on the Linux kernel. This is what is going to happen with .NET. If Microsoft think they are ahead, wait until they see how good the open source community is at rebuilding a good idea from scratch and make it a wonderful one. .NET is a fantastic concept. .ORG (or whatever we chose to call our open source alternative) will be to .NET what GNU/Linux is to Unix. Mark my words.
Good night and thank you for reading.
Looking for a great online backup: Green Backup
The IDE issue. Have you developed large software in Linux and using recent Visual Studio? Sure, you can use vi and man, but you do not get things accomplished as quickly or as conveniently. vi has a significant learning curve, whereas Visual Studio IDE is sit down and start typing, and man is not as quick and convenient in retrieval and cross-referencing of the information. Compare putting cursor over the API call you just typed, pressing 'F1' (or is it Ctrl+F1? some keystroke, anyway) in Visual Studio IDE and getting a documentation page, then scrolling down, clicking on a related function and getting the help for it. Think of doing the same function with vi and man. Not nearly as convenient. And does man have cross-referenced, searcahble and indexed tutorials, guides, overviews, references to obscure APIs or APIs that may not be installed on the system? Point is, developing with Visual Studio is just damn convenient, and there are very few Linux tools in development that begin to approach the quality of the Visual Studio IDE. Take it from someone who coded both on Windows, Tru64 (Digital Unix back then), Solaris and Linux.
The DLL issue. This is where you missed the point so far it's not even funny. You are talking about versioning problems (old libraries and such). Now, tell me, if Miguel makes such a big deal out of versioning problems, why isn't it even mentioned on the Mono FAQ page or the issue touched/discussed at any kind of length anywhere? I bet the answer's gonna strike you like a heart attack strikes Dick Cheney: Miguel isn't talking about versioning. There is NO DLL hell (believe me, the versioning problems are not near the hell Miguel has in mind) when you are developing libraries using a statically-typed, procedural language like C. That's because the .so and .dll dynamic library mechanisms are designed to provide procedural APIs (i.e. APIs consisiting of statically-typed functions) and they do it well.
However, if you have ever tried to use object-oriented languages such as C++ with either of the DLL mechanisms (they are for all practical purposes the same) and tried to either provide an object-oriented API or use an object-oriented API, you will learn what the DLL hell means. It means that there is no elegant, straightforward solution to having object-oriented APIs with the DLL mechanisms, everything is a kludge, a hack. And the widely-used hack of exposing the object-oriented API thru a few access C methods (and lotsa casting), means that the client of the library must use the same ABI. And what does that mean? That means constrained to the same programming language, the same compiler (compilers often have different ABIs), and even to certain versions of the same compiler if the ABIs change from version to version. So the DLL hell is when you see a gcc-2.95-built C++ library that you'd love to use in your Delphi app, but you can't. You can't use the Solaris C++ compiler with that library. You can't even use gcc version 3.0 with that library, unless you force it to use the older ABI. (I may be wrong as to exactly which versions of gcc have the differing ABIs, but the point stands.)
I'll give you a real life example. There is a fabulous, free Windows app called Buzz. The plug-ins for that application must all be written in C++ and compiled with Visual C++. In other words, poor, yet talented developers (and in smaller European countries there are plenty) who can't afford Visual C++ 5.0 or 6.0, can't use their existing Delphi or Borland C++ compiler or the win32 port of gcc compiler. Intel C++ compiler? Fogghetaboutit. Raw talent can't contribute--just because the object-oriented-API-enabling DLL hack forces that to be the case.
You don't feel nearly as much heat in the Linux environment because nearly damn everything is built with the same compiler, using close versions (and using C). But you go to some Unix OS machine where the OS and a lot of the libraries are built using the vendor's provided compiler and you taste the hell. You try using an object-oriented Pascal compiler (FreePascal) with a C++ library and you're shit out of luck. Have Python use that C++ library? Can't do directly, gotta write messy translation layers. Same goes for almost any scripting language. Should I keep going with the examples or do you get the point?
Now compare that to Mono. Mono will let you write an OO API library in C++, and use it from something like Python like a normal object, with very little syntactical moronisms.
<bitchsession>So don't label Miguel as a Microsoft cheerleader in hopes of getting the Slashdot crowd moderating your inattentive butt up. And take that 'must consider only one view, must stick to one view' way of writing "eloquent" speeches and high school essays and stick it up where the sun don't shine. Because the world is gray and while Miguel may not subscribe to your views, labeling a developer that contributes so fucking much to the Linux community as a puppet of the Microsoft marketing machine is purely ignorant and ungrateful. In fact, as an aspiring software engineer, it hurts me that you dare use words "rational software engineer" with such an ignorant, non-software engineer viewpoint, as any rational, experienced software engineer that practices object oriented programming will tell you that anything that promotes reuse, avoids having to write a ton of extra code and avoids the above-described real DLL hell, is going to look at this free, open-source initiative (Mono) and say "Thank god, I was waiting for this." You do not nearly realize the kind of freedom and the kind of time savings that Mono will yield in medium and large software projects, something that was previously avaialble only on the Windows platform and for a shitload o' money (Windows + all the dev tools).</bitchsession>
I haven't seen any mention of dotGNU in any of this talk about .NET.
Indeed. And the question is not why some people still don't get it, the real question is why it took the people on the Gnome project until 2001 to realize this. After all, the programming environment and language technology represented by C#/.NET predates the Gnome project by decades. Why didn't they have an open mind at the beginning?
And, equally important, why is their (and your) vision still limited to copying Microsoft? Are they (and you) simply not familiar with the past 40+ years of systems research, or the state of the art?
Um, no. That would be a "lurker".
A "troll" is someone who writes a deliberatly inflammatory post, and then laughs at anyone who replies. For example, a troll might contribute an article claiming that Miguel should never have created GNOME, but rather helped with KDE; that would almost certainly result in a flood of replies. The troll doesn't have to agree with what he writes; he may not care at all. What he cares about is getting other people to reply.
In other words, a troll is a person who tries to make other people waste their time, and laughs at them when they do.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
C# is, if I am not mistaken, a blend of Visual Basic Elements with C (++?) syntax, minus pointers and other potential "disaster-engine" type constructs, all stirred into a bland Windows Only framework. Mono, if I am not mistaken, is the disease that makes you miss 4 months of school for kissing someone.
-K
Now IANAL, but keep in mind that all sorts of GPL'ed software is compiled on a regular basis on MS Visual C, Borland C, etc., compilers. Makefiles are often adapted to support them. That being said, compiling GPL'ed software on a proprietary platform in many cases is allowable. Keep in mind the GPL is a *redistribution* license (to another party); not a limitation of rights already given under copyright when you receive a copy.
Unless Microsoft puts a clause in saying that software designed and/or compiled on an MS .NET system must be run on a Microsoft platform or at least under a non-GNU system, there is no reason one can not do so. Proprietary modules are loaded into Linux kernels all the time. But don't laugh; Internet Explorer has langauge requiring Windows versions to be run under MS Windows, and I seem to recall MS Visual Studio having a clause stating it was only to be used to develop MS Windows applications.
To start with, let me say that I've been doing Java work for some time - client side stuff based on Swing, CAD sort of development, server side stuff with J2EE (Session/Entity work, not just JSP's or servlets). Behind that I have a small history of C, C++, Scheme and Lisp (well, really ELISP) programming. I only mention that to illistrate what biases I may start with.
.NET, a few thoughts come to mind about the issue of language independance. It may seem like a good idea, but you can already see some practical areas that make you wonder if it will all really work out.
.NET.
.NET development. Perhaps it really is all that and a bag of chips plus a cookie, but then again I also get the imnpression from multiple people that they have not been keeping up on the world of IDE's.
.NET can generate a WSDL definition so easily, I seem to recall that a number of Java IDE's had that ability already or would have it soon (withink a month or so). Not that I use most of them, still sticking with Emacs for the most part.
.NET really is the boon to other languages that Microsoft would like us to think it is - instead it seems more like the strategy of Visual J++ on a grand scale, enticing develoipers in with one really good tool and slowly leading them eventually to work the Microsoft Way. It may still be a useful system for otehr reasons mentioned like the language metadata and versioning, but I think the cross language support is a bit of a delusional feature and if people think there will be much real .NET work done in anything but C#/C++ (and possibly VB), I believe they are mistaken.
After reading a lot of articles about
Are cross-language components really that good an idea?
I can see Miguel's facsination with this aspect. After all, wouldn't it be great to have one set of components you use in every language?
I think in practice though, the idea falls short. Look at this exceprt from an article written by the developer of Eiffel#:
For example, overloading is part of the CLS at the consumer level; this means that a language without overloading (enforcing the simple rule that, within the context of a class, an operation name denotes one and only one operation) must be able to use and inherit components from other languages that define overloaded operations. In Eiffel# we have resolved the issue through a clearly specified demangling algorithm: for example if you are inheriting from a C++ class with two routines called foo, the first one will be known as foo and the second one as something like foo_INTEGER_REAL, with a name built from the signature.
Now to me, having to use component access methods like foo_INTEGER_REAL means that unless components are written in a language in close alignmnet with the CLR (like, say , C#) you are either going to try and find some components that were written more with your language in mind or (and this is a key point here) you are going to switch to the language that most componenets have really been developed for (again, that will mean C#). Sure a developer might start developing in Eiffel#, but how long will it be before frustrations of working with mangled method calls make one switch to C#? In this way MS presents a seemingly easy path that goes even further to marginalize languages like Eiffel and move any remaining developers away from true development in that language.
Note that I think that at the level of API's for cross-system communication that might be acceptible - but not for something you might use constantly like a set of collections.
Varying language performance?
On aother (very distant) tangent, the design of MSIL to be well-suited to JIT compilers seems great. Again though, I wonder how well it will work out for langages removed in some way from C#.
I bring up Eiffel# again as an example - right now the CLR (or MSIL, I think) does not support generic types - Eiffel# has implemennted that feature on top of the existing workings of
What will that mean to a developer? I would think that operations a developer is used to thinking of a "cheap" computationaliy will now be somewhat unknown in expense. The might be cheap, but they might have become a lot more sluggish depending on how well the language fits on top of the CLR and MSIL. While the motivation to switch to C# for a better understood performance profile is much more remote that my previous example, it still seems to undermine the desire to use other languages (a quick side note is that in fact Eiffel# appeared to perform roughly the same, so this argument may have a shaky foundation. I think C++ would be a more interesting test).
The Tool
One of the more interesting facets to me is that across the various articles, multiple people have been mesmerized by "The Tool", or the IDE for
Java in particular has an amazing assortment of IDE's, from TogetherJ (truly an astounding product) to Netbeans and others. I daresay that Miguel is wrong in thinking that only
To me, the ability they were stating of debugging from Eiffel into C++ and then into some other language seems not so much a dream as a nightmare, or at best a cool tech demo. I think as a developer I would much rather debug from C++ into more C++ (translated from the original SNOBOL# or whatever, backparsed from the MSIL) - but I guess that's too much work for them.
In short, I'm not really sure that
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Miguel de Icaza said that the first implementations of mono will run on linux and windows, and that other platforms will come later (a linux to bsd port would be easy, I think).
.NET framework (the ECMA approved portions only, not passport et. al.) will be the dominant developer platform for the next 20 years. Does anyone know how long C has been the dominant development platform? Probably longer than 20 years. Of course, in 20 years, smart robots, 1 million times smarter than us (You do the moore's law math, I might be off) will make the earth a paradise and forever consider their human creators as those lovable, misunderstood gateways to the future hive mind.
It's also interesting to note that he thinks the
Wrong... .NET will be a faint glimmer in software history in future decades. The real analogy is as follows
RMS == Morpheus
Linus Torvalds == NEO
Doug Miller == The guy who ratted on Morpheus and NEO to the matrix police
Mundie, ZDNET, CNET == The matrix police.
Windows == The Matrix
Gates, Ballmer, and other top VP's == The Hive Mind behind the Matrix.
Hehhehe, anyone got a better comparison?
In case anybody else has been wondering about this apparently virulent American plague, that's never been heard of on this side of the Atlantic, Mononucleosis translates into English as Glandular Fever (Epstein-Barr virus).
Disclaimer: This is a blatant anti-MS pro-Linux rant. People who think I'm full of it are encouraged to e-mail me or reply instead of moderating down without explanation.
One thing I see a lot on Slashdot is people bitching about Linux "trying to be like Windows". At first glance, it seems like a valid complaint. Surely the efforts being put into Samba/Wine/etc. could be used for better things than trying to be compatible with MS's weird-ass proprietary standards? Now why should we work on Mono and quite possibly encourage the widespread adoption of .NET tools? Why, indeed? I think we should back these projects because we want to castrate Microsoft once and for all.
Think about it. Say these projects succeed and you're shopping for a new operating system in 2003. Windows XXXP plays all of your games, runs all of your apps, is .NET compatible, and costs 120 dollars. Red Hat Linux version 19.3 plays all of your games, runs all of your apps, is .NET compatible and FREE (as in beer). Which one are you going to choose? Hmm... Tough. There's only two ways that products can compete in the marketplace: features and price. There's no way MS can compete on price, so if we match them on features (compatibility is a feature, folks!) then Windows is good as buried. It's the classic "embrace and extend" strategy that we're all too familiar with.
Even better, once OSS gains control of the desktop, then MS loses the ability to push Hailstorm authentication. MSN will go down the tubes. MS .NET dies a sad and lonely death and .GNU inherits the Web Services world. At the very least MS will be forced to compete for once, instead of simply throwing their weight around.
Mono (coupled with WINE, Samba, and a few others) enables us to play this scenario out. Microsoft knows this. That's why they're so panicky and their executives keep making all of these ridiculous "GPL is Satan" speeches. No matter what anyone says, this is a fight. Let's back the good people at Ximian and make sure we win.
This
At first I thought Mono was a good idea. But upon further thinking, one can quickly realize that this announcement make .NET valid. Sure, C# is very cool and has potential to do things better than Java. But now, Ximian is playing into Microsofts hands by investing a ton of work into making .NET available for other platforms. Unfortunatly, I think Sun blew it withJava in reguards to .NET. Let's take a look at how:
Sun- Create a cool language and keep it in house so no big scarry companies can prevert it and in turn, let no one improve it
- Release the initial version for Windows and Solaris and let everone else (Mac OS, Linux, etc) fend for themselves.
- Get some opensource developers to create a Linux version of the JDK and take the credit
- Create a UI set that is heavy and slow to use and offer no convienient way to package a double clickable application accross platforms
- Get opensource developers looking elsewhere because the language is not open.
And now the MS way:If Ximian suceeds .NET will be available for as many mainstream platforms as Java. With MS putting the C# reference on FreeBSD, it's a pretty good indication that .NET will live on Mac OS X too. So, by the time it's ready .NET will have Windows, Mac OS X, Linux, and who know what other platforms will be involved here too. And the best part is, MS just had to publish it as a standard. Sun, are you listening?
C has never been the dominant development platform. COBOL is.
Give a man a fish and he will eat for a day.
Give a man a fish and he will eat for a day.
Teach him to eat and he will fish forever.
The usual meaning is the one to do with inflammatory posting, as given above. (See the entry on troll in the Jargon File.) Unfortunately, it seems that a lot of people on Slashdot have heard the term, but not understood it, and use it themselves as a fairly meaningless insult for people whose opinions they disagree with.
my plan
GROGGS: alive and well and living in
Here's a recipe for you all. Can you guess what it makes?
Give up? It's called .NET kiddies! Besides SOAP, where the hell is the innovation here? That's ok though, Miguel. You go ahead and get C# working on Linux 'cause we all need a retarded cousin to play with the great Java support the Open-Sourcers have come to love.
Seriously, though. Why would Ximian waste the effort giving .NET a seal of approval when it has so much unfinished business on other products? There is nothing in .NET that MS has tried before with little success. This MS's modus operandi; rebrand the crap you already have and add a pinch of new stuff.
Oh, and for those folks arguing that MS is going to hand over pieces of .NET to the standards bodies - which is somehow better than what Sun does with Java - get a grip and read your history books. MS trots out this hoary old promise with some regularity. The way it works is this: find an international standards committee that is strapped for cash and respect, give it cash and MS designs, stand back and let the validation wash ovr Redmond.
Really people. This validation of .NET is just about the stupidest thing I've heard all year (next to the *nix kiddies who claim no one is using Java anymore...).
*sigh* I feel better now.
CrazyLegs
"Pork!!" said the Fish, and we all laughed.