Here’s a funny bit. If you check out the “Success Stories” page of the Mono project, you will see that a featured Mono Success Story is the Unity 3D Engine.
Unity is a proprietary project that Mr. de Icaza is forever going on about in his blog. It is pure awesome rocks, of course. Here is a Windows screenshot:
Now, check out the Linux version and realize the true power of cross-platform development with Mono:
Hmmm. That wasn’t as impressive as one hoped.
Just desserts
Do not worry, though, because since bringing Windows developers over to Linux is one-half of the whole point of Mono, and because the mono project is really promoting Unity, you can see the rewards when Unity is asked about Linux support:
The only decision we made so far is that “someday we will support it”. Nothing more concrete is decided yet.
Hooray! That and 30 pieces of silver will get you a Team Mono t-shirt! They have lots of nice things to say about Mono though:
Unity now enjoys a rapidly growing user base on both Windows and Mac OSX, and powers many types of game development, architecture visualization, advertising and educational solutions. “Looking back”, says Ante, “without Mono Unity wouldn’t have been possible.”
I for one am glad that Novell has torn the community apart to deliver a platform that delivers for the Windows and OSX and iPhone platforms. I think we can all agree it represents a major win for Linux; without Mono it wouldn’t have been possible.
But Microsoft technology is the best
If only there were some GPL cross-platform non-Microsoft tool that could develop 3D games and apps. I don’t expect FLOSS could deliver something like that without slavishly copying Microsoft. After all, C# and .NET represent the absolute pinnacle of technology.
We’d probably only end up with something that looked like this:
Yeah, not much value in all that hippie GPL junk.
New Slogan Time
Mono: Extending Redmond’s Reach into Proprietary Platforms on the backs of “Open Source” developers since 2001. Also some Linux apps in there somewhere too.




#1 by Jo Shields on July 17th, 2009
You forgot about The Sims 3 as another proprietary app built with Mono.
Or Second Life as a slightly less proprietary app built with Mono.
#2 by Jason on July 17th, 2009
I didn’t see those listed as Mono “Feature Success Stories”.
But it’s great to hear that The Sims 3 is built on Mono. When can I expect the Linux version?
I heard that The Sims 3 needed real dotnet, IE, and VC runtime, are those new Mono components?
Do you not see the humor in promoting a Windows/OSX/iTunes product as a “Featured Success Story” of a self-proclaimed Linux Open Source project?
I admit I’m just poking fun here, but c’mon it’s funny.
#3 by Jo Shields on July 17th, 2009
The Sims 3 uses MS.NET and IE for the launcher app, which also serves as a frontend to their online item store. The game itself uses an embedded copy of Mono for basically the “game” part, with C (hence VC runtime) for the graphics engine. This isn’t uncommon, e.g. Civilization 4 does the same thing with Python. See http://www2.apebox.org/wordpress/linux/118/
As for describing it as a success story… well, that’s a matter of perspective. If you were approached by a billion dollar company like EA who said “man, we absolutely love your self-proclaimed Linux Open Source project, it could make our lives awesome, but we need to repurpose it a little bit”, that could be considered a pretty ringing endorsement of the technology. My link above includes some praise from people involved in the EA thing, and http://wiki.secondlife.com/wiki/Mono seems pretty positive about Mono too. Does the use of, say, Vorbis in proprietary games (Unreal series, Grand Theft Auto series, Singstar series) mean Vorbis is bad by association? No, that would be silly.
Would Linux support be nice? Sure. In both cases, though, there are two issues – the non-Mono parts (i.e. C-based graphics engines), and the local fork issues which may not have preserved cross-platform practices.
#4 by Jason on July 17th, 2009
@Jo
Fair enough points on Sims 3. How much has EA given back in terms of code?
Is it beneficial to Mono outside of “bragging rights” or is it one of those Microsoft and TCP/IP stack things? (Which is what I always think of when people get to talking about how much Microsoft loves Open Source. Of course Microsoft – and any other company – loves that flavor of Open Source.
#5 by Jo Shields on July 17th, 2009
I have no idea how much EA have given back. I don’t think it’s very much, but I could be grossly misinformed.
Unity3D folks have done plenty for Mono’s AOT support, though (as iPhone apps may not use interpreters or JITters).
#6 by Jo Shields on July 17th, 2009
Well. “not very much”… I suspect a big fat suitcase of cash counts for SOMETHING in some parts… it pays for developer time, for one thing.
#7 by vexorian on July 17th, 2009
Hmn? You can use Blender as a development tool? I don’t think it is a 3d app engine but a 3d modeling tool.
Just saying’ I was expecting to find a link to OGRE there
But maybe Blender works (I am not too familiar, really)
#8 by vexorian on July 17th, 2009
“But maybe Blender works” -> “… As an equivalent to unity*…”
Anyway, I wonder if we could get a true comparison, unity on windows vs. unity on Linux with the same scene.
#9 by Jason on July 17th, 2009
@vexorian,
I have seen more than one direct comparison between Unity and GameBlender, that’s where I was going with that.
Sorry if I goofed it up. 3D stuff is pretty alien to me.
#10 by Anonymous on July 17th, 2009
Jason:
This is kind of silly. The windows screenshot for unity was from a fully functioning demo and the linux one was a proof of concept.
A game/3d scene’s appearance is only as good as the amount of artwork going into it. If you pay close attention to the Linux screenshots, they want to show that the advanced features like anti-aliasing, rasterization, mip-mapping (I don’t know much about this but it’s pretty impressive from a technical standpoint)
As for blender, I’ve used that as well, and it’s fantastic. Even the most advanced 3d content creation software (maya/3dsmax) create a few wireframes here and there. A scene like the one from blender would’ve taken weeks to build by a professional at that software.
An example of a fantastic truly cross-platform 3d engine is Ogre. But by comparing a production game to a proof of concept and denouncing the amount of work to get competitive 3d imagery is plain wrong and misleading. Don’t judge everything by face value.
#11 by Jason on July 17th, 2009
@Anonymous,
Fair enough. The screenshot thing is poking fun, sure – I’m just pointing out what I think is absurd about all the Unity hype from Mono when it doesn’t have any real Linux support.
I’m sure those guys are knocking themselves out coding the necessary parts to make me eat my words!
#12 by jon skip on July 17th, 2009
OGRE is actually working on adding Moonlight support. It also already has .NET bindings (works with Mono).
http://tirania.org/blog/archive/2008/Dec-08.html
#13 by zekopeko on July 17th, 2009
You probably missed the part where mono is cross platform. Linux is certainly the main focus of mono but attacking them for posting a success story on another platform is in poor taste.
Plus, IIRC, the Novell Mono team has access to Unity’s source code and they are porting it to Linux(check Miguel’s blog).
This can only be a good thing in the long run for Linux.
#14 by Jason on July 17th, 2009
@Zekopeko,
No, I specifically mentioned the cross platform thing.
Damn, I’m worse than Stallman at making jokes it seems.
Anyway, thanks for the comments nonetheless!
#15 by zekopeko on July 17th, 2009
You are right, I missed your explicit mention of a cross platform nature of mono. But it’s your vigor to demonize the platform for it i find in pure taste.
Unity contributed a great deal to AOT compilation on mono and I’m sure they are keeping the project healthy since they benefit from it. And AOT is going to help other platform that require it, not only iPhone. So it’s a win-win situation.
Oh, and i forgot to mention that Unity was a Mac only offering until they ported it to use mono. So it’s one step
closer to the Linux platform then before.
I suggest you watch Miguel’s presentation from PDC 2008 on mono and .net. You will realize that he is very passionate about his FLOSS work and certainly doesn’t want to damage the community.
Here is a link (it’s in Silverlight but I’m hoping it will work on Moonlight 2 as well if you don’t have a Win machine):
http://channel9.msdn.com/pdc2008/PC54/
#16 by zekopeko on July 17th, 2009
*poor taste
#17 by Dan Serban on July 17th, 2009
I’m sure MSDN won’t mind if you download this video and convert it to OGG to be enjoyed by those of us who want to keep our systems Mono- and Moonlight-free (a large portion of the readership on this blog).
#18 by zekopeko on July 17th, 2009
@Dan
from the comments one could say that anti-mono folk is the minority here
You could have read the source of the page and find the link to the wmv. But beware, to watch it you need patented codecs. I hope you bought the Fluendo codec pack to be on the right side of the law. Or you could simply install Moonlight from Novell and watch them legally and free. How nice of MS for paying for Linux users multimedia needs.
Anyway enough rant, linky (80min long):
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC54.wmv
#19 by Jo Shields on July 17th, 2009
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC54.wmv is the raw video file, it seems
#20 by vexorian on July 18th, 2009
Jon Skip that does not come from the OGRE project, but from your usual friends obsessed with .net enough that they have to move everything to it. MOGRE != OGRE.
#21 by vexorian on July 18th, 2009
Thank you for further justifying the whole point this site is trying to make.
#22 by zekopeko on July 18th, 2009
That software patents exist in US and they suck balls? Or are you advocating that people break law? I’m confused (I get like that sometimes).
#23 by Dan Serban on July 18th, 2009
I just finished watching the 80-min presentation and no, I don’t think he wants to damage the community, although at some point during the presentation he did acknowledge that the free software community “had a heart attack” when Novell signed the agreement with Microsoft. He stopped short of saying “… but that’s part of the cost of doing business”, which is the undertone I sensed.
Other than that, good technical info and I appreciate his sense of humour.
Now, back to our discussion: can we have a Linux ecosystem where live CDs and default install sets are Mono-free? Please?
That’s OK, mplayer did the job just fine. (On my system, I installed mplayer explicitly, knowing full well what I’m getting into – I made an … you know … informed choice.)
#24 by zekopeko on July 18th, 2009
I think that he is more of a tech geek then businessman by far. He saw a platform he thought could help Linux and he invested his time and money into it. Why? Well because he thinks that bringing more apps to the Linux desktop is a good thing and not a bad one.
You already have a Linux ecosystem that doesn’t ship mono on livecd or by default. It’s called a distribution and there are plenty of them around that fit right with your wishes. I think that your problem is that you want Ubuntu to stop shipping mono app by default since they are the biggest around. Well guess what? It’s not going to happen until there are viable alternatives. And for now there aren’t any. When there is one please make a request for it’s inclusion and show the Ubuntu developers why this app trump the one included by default.
And if you want informed choice then we should put a big EULA the first time you try installing any FLOSS software (including the kernel and DE’s) that states: “This software may or may not have patented technologies implemented inside it’s code in order to function. By clicking the OK button you are exposing yourself to lawsuits for patent infringement. Have a nice day”. This would be far more honest then constantly attacking a single platform because it has ties to the “big bad wolf”.
P.S. I hope my tags are OK and this post doesn’t shatter into a million pieces. Fingers crossed!
#25 by Dan Serban on July 18th, 2009
Please listen to SFLC’s podcast where they differentiate against patents which are evenly distributed amongst the community versus all patents being held by one single company.
http://www.softwarefreedom.org/podcast/2009/jul/07/0×11/
Asking for Mono not to be included in live CDs / default install sets isn’t attacking it any more than asking for Skype not to be preinstalled is an attack on Skype. Mono is really a Microsoft invention and the only legal document truly covering it is the Community Promise. Even if Novell releases Mono under the GPL, which is copyleft, there is a clash between that and the non-copyleft Community Promise. There are 2 ways out of that clash:
- If you are a paying Novell customer, the GPL prevails;
- If you’re not a paying Novell customer, good luck trying to defend against Microsoft asserting their patents.
#26 by zekopeko on July 18th, 2009
What are you talking about?
http://www.microsoft.com/interop/cp/default.mspx
Read the last part of the FAQ.
#27 by Dan Serban on July 18th, 2009
What are *they* talking about?
#28 by zekopeko on July 18th, 2009
Let me quote it for you:
Q: I am a developer/distributor/user of software that is licensed under the GPL, does the Community Promise apply to me?
A: Absolutely, yes. The CP applies to developers, distributors, and users of Covered Implementations without regard to the development model that created such implementations, or the type of copyright licenses under which they are distributed, or the business model of distributors/implementers. The CP provides the assurance that Microsoft will not assert its Necessary Claims against anyone who make, use, sell, offer for sale, import, or distribute any Covered Implementation under any type of development or distribution model, including the GPL. As stated in the CP, the only time Microsoft can withdraw its promise against a specific person or company for a specific Covered Specification is if that person or company brings (or voluntarily participates in) a patent infringement lawsuit against Microsoft regarding Microsoft’s implementation of the same Covered Specification. This type of “suspension” clause is common industry practice.
#29 by Jo Shields on July 18th, 2009
Better yet, the GPL itself contains a suspension clause
#30 by makomk on July 18th, 2009
Jo Shields: Second Life is a highly atypical use of Mono. They’re using the Mono VM to run programs written in their own scripting language, LSL. They’re not using the Mono compilers (replaced with their own LSL compiler) or the Mono standard libraries (replaced with something LSL-specific).
LSL itself is a relatively simple language – strongly staticly typed with a limited set of types available, no classes or objects, no namespaces, no libraries aside from the standard LSL library used by all scripts, every program consists of a single source file. It was basically designed to be something they could implement easily in-house as a custom VM. Not much of a stretch for Mono.
Oh, and the features they really needed from it were microthreading with the ability to migrate threads between machines and save and restore their state while running, and per-thread memory limits. Both of these are modifications they made that aren’t available in standard Mono, and their modifications aren’t publicly released. (They don’t have to, since they only run it in-house.) I seem to recall they got Miguel de Icaza to assist them with adding these custom features, so it doesn’t even show that Mono is easily modified.
#31 by Robert Millan on July 19th, 2009
#32 by Dan Serban on July 19th, 2009
OK, my point is this: Mono is not copyleft. Why? Let me explain these three factors, one of which I mentioned above.
Mono is really a Microsoft invention and the only legal document truly covering it is Microsoft’s Community Promise. The GPL it’s formally under is legal wishful thinking.
Microsoft is mocking the GPL by stating “[it] is not universally interpreted the same way by everyone”. Fact: the GPL is universally understood by everyone as protecting the four basic software freedoms, i.e. freedoms 0 through 3. Also, the GPL is the non-negotiable part of being copyleft. Microsoft FUDdying the waters about the GPL is a red flag, but not solid enough evidence.
Microsoft’s Community Promise isn’t protecting the four basic software freedoms, therefore there is nothing copyleft about it. When applied to Mono, Microsoft’s Community Promise gives you the freedom to build software on top of the current-version-only of a complete-implementation-only of a carefully-selected-subset-only of the .NET stack. Call it what you want, but it’s not copyleft. I’d like to call it “a half-hearted, shackled attempt at open source”
Mono is not copyleft, therefore it should not be included in live CDs and default install sets.
#33 by Jo Shields on July 19th, 2009
It’s incredibly hard to argue against points which appear to be, well, mad. My favourite Jefferson quote springs to mind. However, I’ll make an attempt.
The license a piece of code is released under is NOT in any way indicative of any other concerns you may need to have in using it. As an example, ripping an audio CD to Vorbis using Sound Juicer is illegal in the UK under the Copyright, Designs & Patents act. That does not mean Sound Juicer is not Free Software. The Linux kernel apparently infringes on hundreds of patents. This does not mean that Linux is not Free Software.
With me so far? Good.
Now, the next thing is to consider “patent pledges”. The existence of a global patent pledge, as an aside to the license a piece of third party code is under, does not in any way affect the license of the code. Specific pledges (e.g. “your customers are safe, general people are not”) does not affect the license of the code – but the license of the code DOES specifically prevent this kind of pledge, if it happens after a specific date.
So. Let’s take a further example. Oracle’s OpenOffice.org implements read support for Microsoft OOXML, and read-write support for Microsoft Doc 97-2003. Implementations of these file formats MAY involve use of patented methods. That fact does not affect the copyleft status of OOo, which is LGPLv2. The specifications for those file formats are provided alongside a global patent pledge (as mentioned previously), the Microsoft Open Specification Promise, which includes muddy language regarding GPL compatibility. The existence of this pledge does not “override” the LGPLv2, it’s orthogonal to it. Whether or not OOo actually makes USE of the patents which Microsoft feel they own on OOXML/Doc, and therefore whether or not the OSP is actually “in use”, the LGPLv2 is still the license for the software, and the OSP is still entirely orthogonal to it.
Still there? Right.
The next thing to say is “OOo supports these technologies, and Microsoft claim to own (and license globally for free) some patents related to these technologies, which may or may not be *actively* infringed by OOo. Should OOo be removed from all default installations and live media?”
How would you answer this question?