[Mono-devel-list] Version moniker for Mono Release

Jonathan Pryor jonpryor at vt.edu
Thu Nov 6 20:10:03 EST 2003

Mono doesn't need branches; that's what profiles are for.  Look in 

	<cvs repository="mcs"/>/build/profiles

for a list of profiles.

Building a profile is as simple as:

	make PROFILE="profile-name"

where "profile-name" is one of the profiles listed above (without the
.make suffix).  For example, "make PROFILE=net_1_0" is the .NET
1.0-compatible profile, and "make PROFILE=generics" is .NET 1.1 with
generics support.

As always, the real problem comes down to distribution & naming. 
Distribution already has a proposed solution, listed at:


In short, "mono" tracks .NET 1.1, while "mono-1.0-compat" tracks .NET
1.0, and "mono-unstable" tracks .NET 1.2 with generics.

The current problem isn't so much what we distribute, it's what we call
our distribution.  Hence the requests for "Mono Core" or alternative
versioning strategies.

Personally, I think too much emphasis is being placed on the name.  In
all other areas of software, different products have different versions
which support different versions of standards.  I have yet to hear
people complain about this.

For example, you don't see the versions for Microsoft JScript and
Netscape JavaScript being kept in sync with the actual version number
for ECMAScript.

You don't see the versions numbers of Unix systems tied to the version
of the POSIX standard they support.

You don't see C++ compiler versions tied to the version of the C++
standard they support (though, arguably, this would be useful).

Lots of other examples exist as well.  I would consider it silly for
people to think that "Mono 1.0" will be compatible with ".NET 1.0". 
They're different products, run by different groups, with different

Alas, there are lots of people who read *just* the name (and not the
bold-faced print immediately under the name).

So I'd have to support a "Mono Core" moniker.

Just my $0.02.

 - Jon

On Thu, 2003-11-06 at 18:27, Richard Thombs wrote:
> I don't think a non-confusing versioning system is possible while we
> have a single branch of Mono attempting to be compatible with multiple
> .NET branches.
> How about having Mono branches, each one dedicated to supporting a
> specific version of .NET?
> Mono-1.0 -> Compatible with .NET 1.0
> Mono-1.1 -> Compatible with .NET 1.1
> The main differences in the branches would be the build systems, which
> would pick and choose which classes and compiler versions they should
> build. I'm pretty dumb when it comes to CVS, so I'm not sure how easy
> this would be to implement. SubVersion could handle it though :^)
> Stony.
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list

More information about the Mono-devel-list mailing list