[Mono-list] Portable.NET
Jonathan Pryor
jonpryor@vt.edu
Sun, 07 Mar 2004 12:13:09 -0500
On Sun, 2004-03-07 at 11:34, Alejandro Ospina wrote:
> Hi!. I was wondering what are the differences between Mono and
> Portable.NET
> Why don't join the both?
This has been answered many times before; check the archives.
Here's a summary: Mono and Portable.NET have different opinions on a
number of subjects, from:
- Licensing: Mono uses MIT/X11 for the class libraries, Portable.NET
uses "GPL with linking exception."
- Implementation: Mono's C# compiler is written in C#, Portable.NET's
C# compiler is written in C. Mono implemented their own JIT engine,
while Portable.NET uses an existing interpreter system (CVM).
- Mis-communication: There have been numerous heated arguments, on
mono-list and elsewhere, where both parties appear to be "talking
past each other"; both sides make well-reasoned arguments, but it
frequently turns into a flame war, with communication not being
fully lucid. For example, there was a "heated debate" in October
2003 regarding the patentability of System.Windows.Forms. (See the
thread: Collaboration on alternatives to the US-patent-endangered
APIs?) Portable.NET claimed they looked at it, and felt that none of
the API was patentable, but clarification as to *why* the API was
not patentable was not entirely forthcoming. From the Mono
perspective, anyway, and I'm not claiming that my memory is perfect
(or even accurate).
So why don't they join? Because they have different approaches to a
number of topics, as seen above. That doesn't mean that we don't
cooperate on some topics; we do. Mono's i18n implementation came from
Portable.NET, and Portable.NET is free to use all of Mono's class
library without restriction (the joy of MIT/X11). For example,
Portable.NET's System.Text.RegularExpressions ChangeLog contains entries
from miguel and gonzalo, so Portable.NET is likely using Mono's
RegularExpression implementation.
- Jon