[Mono-dev] Mono version numbering

Avery Pennarun apenwarr at gmail.com
Wed Oct 31 14:38:01 EDT 2007

On 31/10/2007, Andreas Färber <andreas.faerber at web.de> wrote:
> The problem with that Microsoft-ish numbering scheme and exactly
> those people is that they might then start thinking they need Mono
> 2.x and Mono 1.x alongside just like Microsoft .NET Frameworks, and
> start unnecessarily messing around with parallel Mono environments.
> It's hard enough for those people to grasp that Mono ships multiple
> C# compilers in a single version, unlike Microsoft.

Indeed.  For what it's worth, I think either Debian or Ubuntu invented
some screwy system of installing two versions of the mono libraries
side by side, then providing a gmcs (for .Net 1.x programs) and gmcs2
(for .Net 2.x programs), but only one 'mono' runtime executable.
Unfortunately, libraries linked with gmcs would crash with gmcs2.

I don't know how this corresponds with "official" mono development,
but I'd point out that at least for some people, there's already a
mono 2, if gmcs2 is any indication.  I was certainly confused for a

Another way of thinking of it: if mono 2.0 will be the version that
"fully" supports .Net 2.0, what kind of promise does that entail?
Does it mean that any .Net 2.0 program can be transparently moved to
Linux+Mono with no changes?  I doubt it.  And if not, then what level
of promise *does* is mean?  And are we perhaps already there?

I, for one, was surprised at how much stuff was in mono 1.2.  When we
went to port our database middleware server from Windows to Mono, it
was surprisingly painless, modulo some weird bugs in the Microsoft SQL
support (https://bugzilla.novell.com/show_bug.cgi?id=MONO81940).

In other news, they didn't name it gcc99 :)

One thing I'd suggest is at least reserving level-three version
numbers (1.2.x) for bug fixes only.  When major functionality gets
added, such as the C# 3.0 support, that's at least a reason to bump
the *second* level version (1.x).  It's weird to think I can upgrade
from 1.2.4 to 1.2.6 and end up suddenly supporting C# 3.0.

Have fun,


More information about the Mono-devel-list mailing list