

Novell and Xamarin Partnership around Mono - RuadhanMc
http://tirania.org/blog/archive/2011/Jul-18.html

======
joeshaw
Looks to me like everybody wins.

Xamarin gets IP -- meaning they don't have to do a clean-room, source-
compatible reimplementation of MonoTouch and Mono for Android, and all the
risks that go with that -- in exchange for taking on the support of Novell's
existing customers. Customers they probably want anyway.

Novell/SUSE gets to get out of the Mono business altogether, which is probably
good for them seeing as they laid off the entire engineering staff.

The Mono community gets some clarification about the stewardship of the
project. Novell contributed a lot of resources (bug tracker, mailing list and
wiki hosting, etc.) and now Xamarin is on the hook for that stuff. It helps
clarify the future of the project.

~~~
MatthewPhillips
I'm not feeling as good about it. What I see is Novell washing their hands of
Mono and giving it to a company that has existed for a few months. Now more
than ever Mono exists as long as Miguel de Icaza wants to keep working on it.
At least with Novell there was some cushion from that.

~~~
joeshaw
I disagree, and I think Mono is stronger now with a startup behind it. With
Novell you only had the perception of some cushion. Novell laid off the entire
engineering staff behind Mono, including Miguel. If he had simply walked away
from the project after that, do you think it would have continued regardless
of whether Novell held onto it?

With Xamarin the Mono folks have some skin in the game beyond a paycheck and
their own passion. Even if Miguel were to walk away -- something I find
unlikely -- there is a business now that depends upon its success and not some
neglected division within a rudderless company.

------
bruce511
This article could have been titled; "Novell gets rid of Mono Customers" or
"Xamarin now Mono-alone" but instead it's spun as "Novell/Xamarin Partnership
around Mono". Don't you love good PR?

Surely both "partners" are supposed to do something? I don't see Novell
lifting a finger here except to abandon their existing Mono customers, get rid
of all Mono IP (Mono has IP?) and in every way shape and form wash their hands
of the whole thing.

That's good for Xamarin I guess - and kudo's to them if they can make it all
work. I'm not sure this is a "win" for Mono - but I guess it's the best of a
bad situation.

~~~
bad_user
Some of the best people that worked on Mono are now working for Xamarin,
including Miguel de Icaza who started it all. Getting support from Xamarin is
the best kind of support you can get on Mono, MonoTouch and MonoDroid.

    
    
        Mono has IP?
    

Yes it has. Just because a project is open-source that doesn't mean it isn't
protected by IP laws.

In Mono's case only Novell/Attachmate were able to dual license the runtime
libraries, otherwise licensed under LGPL, making it unsuitable for the demands
of companies wanting to embed Mono in games (just an example).

Also, MonoTouch and MonoDroid are commercial products and Xamarin had no right
to distribute or use in any way any source code or binaries from those
projects; meaning they had to start from scratch in producing alternatives
which would have been in a gray area, not to mention waisted effort.

~~~
rbanffy
> In Mono's case only Novell/Attachmate were able to dual license the runtime
> libraries, otherwise licensed under LGPL, making it unsuitable for the
> demands of companies wanting to embed Mono in games (just an example).

You _can_ mix LGPL and proprietary code. I see no reason LGPL libraries would
prevent embedding Mono.

~~~
bad_user
Off the top of my head, here's a few reasons why someone may dislike the LGPL:

    
    
         - proprietary extensions are not possible
         - dynamic linking is mandatory
         - the whole hassle of including any tools or data 
           for recompiling said LGPL library and 
           reproducing the executable
         - the patents grant is implicit rather than explicit
    

Just because you can do something, it doesn't mean you want to.

~~~
rbanffy
> proprietary extensions are not possible

Create a second library that links to the LGPL one and extends its behavior.

> dynamic linking is mandatory

It's also good practice most of the time.

> the whole hassle of including any tools or data for recompiling said LGPL
> library and

Only if you change it. If you didn't change it, you can just redistribute the
tarball you used.

> the patents grant is implicit rather than explicit

It's still there.

> Just because you can do something, it doesn't mean you want to.

I get it you don't want it, but, just because you don't want it doesn't mean
you can't

------
RuadhanMc
This is really great. The future of Mono was not assured there for a while,
but things are really looking up now. I guess the conspiracy theories about
Microsoft trying to crush Mono by proxy through Attachmate were way off base.

~~~
daeken
Why would _anyone_ think that MS wants to crush Mono? Not only does it not
make sense in general, but MS and Mono have worked together for years. Hell,
the lead dev of F# is speaking at Monospace this weekend:
<http://monospace.us/>

~~~
wes-exp
Indeed. If I were in Microsoft's shoes I would be inclined to think Mono is
actually beneficial to MS. Mono's existence allows Windows developers to
imagine (solely in their minds) that their stuff runs on Linux. It's "cross-
platform". Of course, if they actually try to do that in a serious way, they
will discover that Mono is inferior to "real" .Net. And, no offense to Icaza,
but by nature of their position, Mono will always be #2 in some sense as it
has to play catch-up with MS.

~~~
eropple
This is a rather unfair description.

No "srs bsns" enterprise .NET developers care about Mono. But the vast, vast
majority of their stuff would, if necessary, run on Linux via Mono without
much trouble--because most people just don't use the complex stuff that Mono
doesn't support.

I use Mono for my current project (a cross-platform game library) because it,
unlike everything else aside from C/C++, is capable of effectively targeting
OS X, Linux, Android, and iOS. .NET gives me Windows, Xbox 360, and WP7.

~~~
wes-exp
As a former C# developer who did try to run some stuff on Mono, I don't think
it's an unfair description at all. First, some personal anecdotes:

\- Wrote a brief (4 hours perhaps) Windows Forms app that did some math. Ran
it on Mono. To Mono's credit, it did run. But to my horror, it actually
computed incorrect results.

\- I used a popular UI widget library for .Net. Turns out though most of it
was written in C#, it had a number of Windows-only DLL imports, and could not
run on Mono.

\- At the time, ASP.net support was barely functional, if it existed _at all_.
To be fair, I'm not sure if this is still the case or not.

Further, I will offer this additional argument. It is widely known that Java's
promise of "write once, run anywhere" is a joke. Not that cross-platform Java
can't be done (in fact it can), but it does take deliberate effort to ensure
cross-platform support. And this is Java, which has official support for Linux
(i.e., the JVM code on Linux is basically the same JVM code on Windows).

Contrast the Java situation with MS .Net, which does not have official support
for Linux, but does have the option of Mono on Linux. MS .Net and Mono are two
totally separate environments built out of separate code-bases. In this
situation you are almost guaranteed to run into major migration headaches, if
not outright barriers.

Now perhaps you are running from Mono from the start; well of course that is
going to work. My original point isn't that Mono doesn't work when running
code actually targeted to it; that may well be the case. My point is that Mono
gives traditional .Net developers the false belief that they can run their
Windows-targeted .Net code on Linux easily. For most, or at least many, that
is simply not the case.

~~~
rbanffy
> Not that cross-platform Java can't be done (in fact it can), but it does
> take deliberate effort to ensure cross-platform support

To be fair, at least for desktop apps, we are down to three platforms now. If
it runs on Linux, Mac and Windows, you are about 100% covered. The days of
having dozens of vendor-specific Java runtimes around are pretty much over.
And as much as I like my IBM RS/6000 workstation, I wouldn't try to run
Eclipse on it.

------
taylorbuley
A picture of a kitten doesn't exactly scream "enterprise support" to me

~~~
migueldeicaza
I fixed that for you:

<http://tirania.org/tmp/enterprise-cat.jpg>

~~~
taylorbuley
Much better, thanks. That one has five nines written all over it.

Or was it nine lives? Ah, nevermind.

