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.
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
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
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.
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>
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