Creation of a proper Mono PPA

Alexander Trauzzi atrauzzi at gmail.com
Sun Jun 15 15:31:09 UTC 2014


Hello to everyone on the mailing list!

I've found myself very interested in C# development lately as well as
upcoming new technologies in the .NET sphere (OWIN, vNext).  Lots of it is
going to be runnable on Mono, which despite any historical misgivings about
Microsoft one might have, is pretty nice.

Unfortunately, whenever I try to run these new technologies on my favourite
OS (Ubuntu!), I'm faced with the issue that Ubuntu's Mono is relatively out
of date.  Which is normal and something we all know happens for a reason.

So, as is normal, I go looking for PPAs and turn up this list:
https://launchpad.net/ubuntu/+ppas?name_filter=monodevelop
Which, while it's seemingly satisfactory that 27 results managed to come
back, there are a few issues which I'll detail here as I've attempted using
several of them:

 - Not all of these PPAs install.  Some actually break your system!
 - Some of these PPAs aren't actually the latest version, they're a
somewhat-latest version, but still too out of date to be useful
 - I have yet to find a PPA that correctly replaces the system-wide Mono.
Any of the ones I've tried install to /opt and are very difficult to use
because they don't integrate as an alternative

While it's nice that these PPAs exist and they're okay for tinkering around
with the technologies, they by no means establish what I would consider a
solid foundation for deployment or coexistence with a healthy Ubuntu system.
Moreover, the Mono project themselves have passed the buck back to Ubuntu (
https://bugzilla.xamarin.com/show_bug.cgi?id=17314 ) in terms of who is
responsible for making this happen.

So, be it resolved that the current options for Mono are just not cutting
it, I'd like to propose that a PPA or appropriate equivalent be made or an
existing official PPA be reworked to meet the following criteria:

 - Both nightly and stable builds of the entire core Mono & Monodevelop
ecosystem
 - Both 32 and 64 bit if possible
 - Development libraries so that integrations (edge.js) can happen
 - Packages integrate system-wide using the update-alternatives mechanism,
similar to java and other runtimes
 - Built using equivalent parameters and conventions used to produce Ubuntu
universe packages
 - Optional: NuGet
 - Optionally & Ideally: Liase with Xamarin and open up a channel of
communication with them to see if they're either willing to help or advise

***If any of these proposals are better had as something I'm not aware of
other than a PPA, take my idea here to be just painting in broad strokes.

Consider that as it stands currently, cloud/server deployment of C# code is
largely restricted to Windows-based systems.  Imagine if Ubuntu opened up
as an option to those people to run their existing core logic and even
develop new solutions?  Almost every FOSS C# package I see on NuGet are
testing their builds against Mono.  As is Microsoft for vNext.  This is
happening and I think it's a great time for Ubuntu to improve support for
those of it's users who want to or need to use Mono.


The Xamarin and Microsoft communities have done some great work and I know
that there's a lot of stigma to get past.  If we can set differences aside
- be the better people and make this ecosystem as robust as others that are
found via PPAs (node.js) - opening up access to C# as a technology to
Ubuntu will spur many great things.

If something like OpenJDK can exist in a world where Oracle thinks they can
go after google for using Java, Mono poses little to no new threat by
comparison.

Thanks for your time!



   Alexander Trauzzi
   atrauzzi at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/ubuntu-devel-discuss/attachments/20140615/ac7a9a73/attachment.html>


More information about the Ubuntu-devel-discuss mailing list