The Free Software Foundation has decided that anything using Mono/C# is taking a gratuitous risk. Richard Stallman argues that Microsoft will bring down the patent hammer at some point and Mono will be persona non grata, along with anything depending on it.
Personally, I do all my Unity stuff in C#. I like C#. And that’s all there is too it.
Also, I hate software patents even though (or because of the fact) I’m in the software biz. We even make a commercial MMO game engine, so I certainly know a thing or two about the patent issues (both pro and con).
I don’t know that I agree with Stallman here, and frankly think he’s making noise just to flush Microsoft out and get them to commit publicly to not going after Mono. But who knows? Those guys live and breath this more than me.
Stallman hates anything that isn’t 100% free software - his GNU effort was definitely visionary, but he is also a zealot and not above spreading FUD like this.
Is it possible that Microsoft would pull such a stunt with the CLR? Yes. Is it likely? I don’t think so. Say what you will about them, but Microsoft has always been very good at treating developers, unlike other OS companies. I don’t see them throwing away a sizable chunk of good will by pulling a patent stunt on Mono.
Having a free (as in beer) implementation of .Net works for them - if nothing else, it can act as a gateway drug to get developers hooked on the platform, moving them to their own Windows-supported version eventually. Pull a patent issue on Mono and you’ll see people flocking to Java and Python alternatives while they can. Why would they want to do that?
Yeah, this kind of thing makes me nervous. But I trust the Unity team to stay on top of this. And it seems that the Mono team is very trusting of Microsoft for the time being.
I agree about Microsoft being generous and all, but working for a company that is in the top 3 companies world wide when it comes to patent holdings, I’ve seen the dirty side of patent holdings.
When developing applications, we have to deal with lengthy patent searches to ensure we’re not stepping on ANY toes that may cause patent suit risks later down the road.
If Microsoft feels their revenue is threatened - they will turn end round and start reeling back their generosity - trust me, patents are all about money…
If Mono or any C# derivatative started to cause Microsoft a loss of money, then you need to start worrying.
If for example a maas of folks started flocking to Mono and some kind of open source VisualStudio replacement, the sleeping giant will begin to stir on the quick fast…
It has adopted some things from java
But so has java 5 from C#
and both have given various features from EIFFEL and other modern managed languages a pretty indepth look to learn and adopt those things that made the broken things better.
Also Microsoft likely will not fight Mono / Crossplatform .NET
They have always pretty open and actually interested in see crossplatform .NET happen, that was the whole point of the CLI insecurity part to be no longer dependent on the platform while not sacrificing performance like JAVA and other VM based languages.
Microsoft is just not interested in offering it outside of Windows themself.
Also its likely of pretty high importance to Microsoft that C# itself is beeing established broadly, as MS will likely be more than happy to get rid of C++ today than in a decade as they are moving towards a managed OS and C++ would just require stuff to be present that MS had originally planned to remove with Vista already.
The only thing I could really see them fight is Moonlight.
Nothing against the project itself, but Microsoft is trying to fight Adobe Flash actively to break open the defacto monopol position and now, Moonlight attacks from the own back.
As for the C# patent: Might be that I’m wrong there, but as far as I remember, the language was actually sent in for an open standard, so no forcing to underground
As for Unity and UnityScript: US is the introduction language. It lacks a broad amount of the .NET features (more or less anything from .NET 2.0 and higher + various 1.1 things).
I could now name a few dozens but I will just name of the the most important ones: plugins
Additionally to that, various other things would vanish too as part of the unity editor and tools are written in C# too
MS Make money off of what people do with C#, they sell 360’s and make profit from the 360 marketplace for instance, it’s in their interests for products to use this technology and once Unity supports 360 development it’s in even more of their interests to support it rather than fight it.
As I see it the Unity development team have a safety net with their implementation of Javascript anyway, if they felt endangered then maybe it would be possible to add the ability to use C++ to “script” inside of the editor instead, which would still feel comfortable for most and would of course allow even greater speeds (assuming that the scripts are basically just compiled into libraries before running with some additional code of their own, so therefore could use something like GCC there).
Anyway it’s all fud as far as I can see. Chances of MS blocking unity are slim, I’d be more worried about them buying Unity.
I think that is the goal of Richard for that post. I am not too worried about Microsoft trying to kill Mono with patents since I believe ultimately Mono help Microsoft’s goal with .NET.
I would be interested in the guys at UT have an opinion on this. I would imagine they would have not used Mono if they thought for a second that Microsoft would do something like that.
While this is true, I really like the C# language a lot better, has more of a C++ feel to me (not to mention most Java based application have always seems slow and buggy).