
Mono and Roslyn - ot
http://tirania.org/blog/archive/2014/Apr-09.html
======
jnardiello
Recently we have started using Mono for a huge project. We have a pure unix-
based stack and everyone cringed at the idea of running a .net application on
Unix but decided to give it a try.

HUGE mistake. After a couple months of development we have (today) abandoned
the project and decided to take a different direction.

Mono isn't just reliable for production, as simple as that. It will inevitably
have unstable and unpredictable behaviours, period. That said, it _might_
still be good alternative for desktop local apps. Just make sure you save your
work enough times during your workflow ;)

~~~
ihnorton
Building a huge project on _any_ unknown stack seems ... iffy.

Apropos this rant that I recently (re-)read: [http://lua-
users.org/lists/lua-l/2011-10/msg00825.html](http://lua-
users.org/lists/lua-l/2011-10/msg00825.html)

 _Some other guy read about LuaJIT somewhere, so they give it a try, but
obviously don 't get a speedup and (of course) blame LuaJIT. They write angry
letters to me, I try to politely explain to them that their design leaves
something to be desired, they blame the messenger._

 _Then they go and write a post-mortem in a game-centric blog about how bad
Lua is, that nobody should ever use scripting for anything and that their next
stellar project will use C# with lots of enterprise-ready frameworks. And that
they 're hiring, because they got nobody with a friggin clue about C#, but
management dined with someone from Redmond and they know best, of course._

~~~
jnardiello
Well, we are very well aware of what you mean. With us the situation was
slightly different :) We hired - because our management cares - people who
actually knew what they were doing, we got in touch with the person who
phisically maintain the app that was running on mono and he re-assured that
his software + mono were running smoothly. We have been hacking on it for
months, literally. Contributed to the original project in any _possible_ way.
But THEN mono started to give strage behaviours. Unless hacking really bad on
it, we understood that there was no way to deploy it in production as it could
fuck up in any moment and we could do literally nothing unless deleting a file
here and there and reboot.

So yeah, i'm 100% sure that things could have been done differently - better -
yet this was the outcome no matter how many resources we putted on it. We
never complained with the creator of the application (yet, we discussed about
it with him) and for the very same reason i don't want to name the product as
i'm still convinced it is indeed a good piece of software. I'm just saying
that with our project, 4+ very skilled people for about 2 months ended up with
nothing. Take it or leave it :)

~~~
profquail
Did you ever contact the Mono team about the issues you encountered? I've
found them to be very responsive about fixing serious bugs like that. You said
you just abandoned the project today -- you should still follow up with the
Mono devs to let them know about your problem, since it might be a small fix
on their side and it'd salvage the effort your team has already put into the
project.

~~~
jnardiello
Nope, we didn't go that far. Never got in touch with the mono team but indeed
it's worth to try and i'll speak about this with the team tomorrow morning. :)

------
socialist_coder
I hope Unity3d improves their C# environment soon (maybe Roslyn will make it
easier for them?). The Monodevelop that comes with Unity 4.3 (latest) is
pretty buggy.

~~~
cwyers
MonoDevelop shouldn't be affected by this at all in the short term (although
eventually MonoDevelop may get new features from this). The actual Mono
runtime that comes with Unity isn't getting upgraded because of licensing
issues, which as far as I can tell, is because you can't ship LGPL code on
certain systems (I think the App Store license is incompatible with the LGPL,
for starters).

~~~
uvTwitch
Is there any option whatsoever for Unity to use future versions of Mono, or
does the GPL corruption in more recent versions mean that they're legally
stuck with an outdated version?

~~~
cwyers
Unity has a license from Novell for an older version of the software, which is
how they can use it in places they can't use the LGPL. Xamarin sells Mono
under a commercial license, but Unity apparently doesn't want to pay what
Xamarin is asking for a license to the updated code.

~~~
shadowmint
Which is sad because the massive unity code base is stuck in the C# dark ages.

On the other hand, mono is 'open source' so it's kind of rubbish for Xamarin
to be asking license fees when they have their own (pretty rubbish) competing
game stack with monogame that they have a vested interest in (not
commercially, but Xamarin developers work on it).

I find this sort of 'kind of open source but actually you have to pay us
ahahahahaa~' thing pretty distasteful.

~~~
sanxiyn
What is distasteful about it? Unity is not open source. If Unity were open
source, it could use Mono under LGPL, no problem.

~~~
shadowmint
It's the 'I want a piece of your pie' thing, that I also find troubling with
patents.

Person A: Invents something, fails to capitalize on it.

Person B: _does marketing work, sells_ all the Monies!

Person A: -__- Oh that was clever. Actually, I want some of your money please.

Person B: Fuck off. <\--- The correct response.

If you make something and want to sell it, sell it. If you make something and
give it away for free, don't come crying when someone else sells it.

The 'dual license GPL' approach to software which is 'kind of free unless you
sell it, in which case we'll negotiate some nice on going licensing fees'
seems disingenuous to the spirit of open source (and specifically the GPL) to
me.

~~~
knocte
You clearly don't understand open source. Go do some reading and later come
back here.

Some tips: free doesn't mean "gratis", it comes from "freedom". Therefore it
is normal that the GPL uses a strategy to avoid that derived works become
proprietary ('proprietary' means: essentially "non-free" for the end-user, and
"free" for the developer).

From your comment it seems that you confuse the fact that opensource is not
something that benefits the developer; it is something that benefits the end
user! Don't forget that.

------
_random_
Keeps getting better. Let's hope there will be a single unified cross-platform
.NET-Mono-Framework in future with native capabilities.

------
rbanffy
"There are also a couple of patches to deal with paths (Windows vs Unix
paths)"

Is it _still_ a problem?! Seriously?

------
elwell
For those of you wondering what Mono is:

    
    
      Cross platform, open source .NET development framework
      [Linux, Windows, Mac]-compatible .NET
    

[http://www.mono-project.com](http://www.mono-project.com)

