to: linux/open source folks
subject: linux + java and .net
folks, what the linux and open source community needs is not to embrace .net, but instead to ignore it. you have a viable alternative to .net and everything else microsoft is trying to push in the internet/web services space: java.
forget about your bigotry; if you like perl, use perl. if you like python, use python. if you like c, use c. use php instead of jsp - i agree with you, it's better. but none of those languages are suitable for creating medium and large internet or enterprise applications (well, maybe c, but c isn't oop - and regardless of what you may think, oop speeds development and helps design - lots of people think it's a good idea, not just me). okay, apache is an exception. but would you do apache in c today?
i don't care about binary compatibility: write once run anywhere has been attempted - c barely has source code compatibility, and only that with spit and rubber bands (#ifdef __i386__ anyone?). personally, i'd like a good java compiler that generates native code.
and, i'm not talking about user interface issues here - jave on the client has always been a bad idea. i'm talking about at the server. this is where microsoft is trying to squeeze you out.
do you really think that your chosen open source version of c#'s virtual machine will remain binary compatible with microsoft's across releases? what do you think is in their best interest? how would you like to be a part of microsoft's development community (translated: locked in to their tools and their ide)?
okay then - what about sun? java has enough momentum now that if the companies that have gone all-out with java (ibm, oracle, bea, . . .) care to, they can take it away from sun. sun is basically a hardware company, and except for their totally transparent game-playing with the standards bodies, they've mostly acted as an enabler. then again, i'd be happy to be using cleanroom (non-sun) java or open source java. in other words, i don't care about sun.
i use unix and linux. my preferred tools include vi and cvs. i also use java, because it's the right tool for the things that i create. i can effectively build kick-ass software without anything from microsoft. i know most of the open source community has that privilege as well. you're used to it. how do you think you'll deal with microsoft dictating what you can and can't do with your code?
why are you (ximian, fsf) building versions of .net? if you can explain to me how this is going to help open source, i'm all for it. but my fear is that you are doing exactly what microsoft wants you to do. sooner or later, people will discover that microsoft's ide is better with .net than the gnu tools. it'll be prettier, it'll be easier to install, etc, etc. people new to open source will be hard-pressed to choose the open source versions of these tools.
a better solution is to ignore .net - we don't need it. in fact, it's a blatant copy of java: an easy to use, strongly object-oriented language with sugary syntax, memory management, and a good set of class libraries. a pseudo-compiled bytecode architecture with a virtual machine. another spin on distributed component models using xml-rpc (or soap, or whatever). if you think these things are a good idea, i have a wake up call for you: it's here, it's maturing, it's been very usable for more than 3 years now, it's java.
microsoft has given this a lot of thought. you should too.