--Miguel de Icaza, October 2008
I agree wholeheartedly with Groklaw, which wrote: "It's hilarious to see the push on "Linux" named sites to push Mono lately. But if you are like me and want to avoid Mono, the list will help you. If you use Mandriva, avoidance includes noticing the automatic updates offered and unchecking the ones that relate to Mono, if you have update set to offer everything there is, not just updates to what you have installed."
“We have already seen Novell ‘gagging’ journalists or pressuring them to cover Novell news, so this is definitely worth a quick review.”Where is all that coverage coming from anyway, and why? If a lot of people cover Mono, there will be this illusion that it's liked and accepted by many. We'll try to explore this situation and find some answers later in this post. We have already seen Novell 'gagging' journalists or pressuring them to cover Novell news, so this is definitely worth a quick review.
[sarcasm /]
. Why does Novell obtain 'protection' for Mono anyway? We'll continue to pursue this question until we have some hard answer.
Windows.Forms: New Controls
Mono 2.0 contains an API complete implementation of .Net's System.Windows.Forms (winforms) namespace, allowing winforms applications to run on Linux, MacOX and other Unix systems.
Thank you to everyone on the winforms team (past and present), everyone who has contributed code to winforms, and everyone who has submitted bug reports, helping to make winforms (and Mono!) what it is today!
Winforms control hosting in unmanaged applications
Geoffrey Charles Darst et al
Abstract
Systems and methods for hosting managed code controls within unmanged hosts, such as MICROSOFT Word and Excel. There are two components to the hosting architecture, a wrapper control that implements various interfaces and a container control that hosts the managed code control. A design-time implementation allows for a designer to drag and drop managed code controls onto documents that run in a design component process. A runtime component allows managed code controls to run within hosts under security permissions specified by a policy.Application number: 11/148,620
Publication number: US 2006/0282817 A1
Filing date: Jun 9, 2005
Inventors: Geoffrey Charles Darst, Eric Hyde Carter, Michael Shneerson, Stephen James Styrchak
Assignee: Microsoft CorporationU.S. Classification
717106000
Should GNOME programmers switch over to Mono now?
Yes, we believe that Mono 1.0 is ready to be used as the main development platform for building applications for the GNOME desktop. Mono includes Gtk# a .NET binding for GTK+ and various GNOME libraries which together with C# and the System libraries provide developers with great productivity for building graphical applications especially when compared to GTK+ or Java Swing.
Novell (Nasdaq: NOVL), just announced Mono 2.0 for Cross-Platform Microsoft .NET Development
Novell releases Mono 2.0 with compatibility for Microsoft .NET 2.0 but Novell execs admit it still some catching up to do.
Mono is a from-scratch implementation of Microsoft's .NET runtime and application development framework. Novell acquired the technology with its 2003 purchase of Ximian, a start-up co-founded by Mono project instigator Miguel de Icaza.
Today the Mono Project released the much-anticipated Mono 2.0 for Linux. After two-and-a-half years in development, Mono 2.0 is finally here and ready to run your .NET 2.0 applications, Windows Forms, ASP.NET content on Mac OS X, BSD and Linux. Mono is multi-language capable--choose your own path from C#, VB, Java, PHP, Python, Ruby, Eiffel, F#, Oxygene and more.
Windows.Forms in 2.0 offers improved implementations of the .NET DataGridView and ToolStrip/Strip controls. It also includes support for the SplitContainer table and flow layouts. A growing number of C# applications developed for Windows can now work on Linux and other platforms supported by Mono without requiring recompilation.
Other features include the Mono Tuner which is a tool to apply arbitrary user-defined transformations to assemblies. Mono uses this library to produce the Silverlight core libraries from the main system libraries and the Mono Documentation tools framework has been upgraded to support documenting generics and extension methods. The tools can be used to produce online and offline documentation for any any APIs, and are used by the project to document our own APIs.
For those using Mono to run F-Spot, Banshee, and other C# and .NET programs, you may be pleased to know that Mono 2.0 has been released.
Mono, the project that brings Microsoft's C# and .Net to Linux, has released version 2.0 of its development framework. The framework provides a runtime system for C# and Visual Basic code to run on the Linux operating system instead of Windows, although it doesn't attempt to duplicate the complete .Net environment.
Mono 2.0, the open source implementation of Microsoft's closed source .NET framework has been released. Mono 2.0, unlike .NET, runs on Unix, Mac OS X and other non-Windows platforms. Version 2.0 has C# 3.0 and LINQ (Language Integrated Query) built into the Mono framework, bringing Mono closer to the current state of .NET 3.5.
The Mono Project, which develops an open source implementation of the .Net Framework, released the long-awaited 2.0 version on Monday.
Mono 2.0 offers complete API compatibility with ASP.Net and Windows Forms applications, and is compatible with desktop and server components of Microsoft’s 2.0 version of its .Net Framework.
The open-source implementation of Microsoft's .NET is due to hit its second release today, with many .NET 3.5 features and a few notable exceptions.
The Mono project, an open source initiative sponsored by Novell, today announced the availability of Mono 2.0, an open source, cross-platform .NET development framework. Mono 2.0 provides all the necessary software to develop and run .NET client and server applications on Linux, as well as other operating systems. The new Mono 2.0 release is now compatible with the desktop and server components of version 2.0 of the Microsoft .NET framework and features the Mono Migration Analyzer (MoMA), an analytical tool for .NET-to-Linux migrations
Mono also uses Microsoft-compatible bindings to ADO.NET for sequential data operations, Windows.Forms for building basic dialog boxes and control panels, and such familiar APIs as System.XML and System.Drawing.
People often think of open source as being purely a Linux and BSD thing. Perhaps they're aware of open source on OS X as well, but in general Windows is seen as hostile to open source. And at the heart of the hostility surely must be Microsoft's proprietary .NET framework, right? But no: the Mono Project provides a cross-platform, open source implementation of .NET. Version 2.0 was released this week, and it has matured into a serious development framework.
Mono 2.0 can be run on a range of operating systems including Linux, Windows and Mac. Mono 2.0 can be downloaded for free.
"Aside from the great Gtk# applications that are now available on the Linux platform, such as Banshee and GNOME Do, Mono is also seeing wide deployment on the server through ISVs such as MindTouch, which is built on Mono, and sees more than 90 percent of deployments of its Deki collaboration platform on Linux," Hill said.
Not being privy to analysis on the issue that I’m sure must have been done by some team within Microsoft, I can’t say what kind of effect a truly cross-platform, fully-supported .NET runtime would have on Windows operating system sales. On the other hand, there has to be some value to be derived from giving Microsoft more heft in the cross-platform API space.
SplendidCRM Launches 2.1 on Mono/Linux
SplendidCRM Software, a vendor of Microsoft-centric Customer Relationship Management (CRM) products for open-source use, has announced the launch of Version 2.1 of its flagship platform SplendidCRM on the Mono/Linux platform.
Open source Microsoft .net platform available today
The open-source implementation of Microsoft's .net development platform is expected to be released today.
De Icaza acknowledges that Mono may always be struggling for parity. "Microsoft is always going to have some APIs we want to get our hands on -- but, for that matter, so will other people. There's always going to be some APIs we want to have." However, he points out that parity goes both ways, and, given Mono's support for projects such as D-Bus, it is also true that "Microsoft has a lot of catching up to do with us," although he admits that such a comment is "probably a stretch."
Mono 2.0, a major new version of Novell's open source .NET implementation, was released earlier this week. After I wrote about some of the new features, I got responses from readers who were looking for a way to try the new release without having to compile the code or install new packages on their production systems. If you want a simple and easy way to try Mono 2.0, check out the new Live CD.
The ISO file is installable Live CD image of OpenSUSE 11 that includes Mono 2.0, the MonoDevelop IDE, the MoMA migration tool, and a collection of WinForm demos. It also includes recent versions of popular Mono-based GNOME applications such as Banshee, Tomboy, and F-Spot. It is available for download via torrent or directly from Novell's FTP servers.
Comments
Needs Sunlight
2008-10-11 18:55:14
Java must be really clobbering MS for them to trot out De Icaza on this.
Jose_X
2008-10-12 02:57:54
Give me a _disease_ from the _monopoly_ as you make a _monkey_ out of me.
I'm waiting for a serious fork of mono. Until such a fork has happened and has diverged significantly, I stay away from that infested monkey without a second thought. Do hope Microsoft spends big bucks trying to spread mono. They must have paid a fortune on those new sites to announce mono.
Roy Schestowitz
2008-10-12 07:18:11
AlexH
2008-10-12 06:41:53
I think it's sad to assume that just because people are excited about Mono that they must be paid somehow. Some of the sites being accused are without reproach really.
bob
2008-10-12 07:08:38
Jim B
2008-10-12 07:50:02
That is just funny. You seem to live in your own world ogf paranoia in which the whole world is run by a MS conspiracy and seem to have lost contact with reality ???
Roy Schestowitz
2008-10-12 07:54:40
False. For starters, Steve Pepper quit in protest.
bob
2008-10-12 08:09:59
Secondly, RMS's view is that while it is fine to provide free implementations of proprietary software, we shouldn't really depend upon these things if there is already an existing equivalent. In this link, says it's better to stay away from C# as well as Mono because they may be dangerous to us.
This is consistent to RMS's objection in your link: Mono is fine as long as we don't depend on it. Migrating the whole Gnome platform to run on top of Mono means that Gnome will come to depend upon Mono.
Roy Schestowitz
2008-10-12 08:15:06
http://computerworlduk.com/COMMUNITY/BLOGS/index.cfm?blogid=14&entryid=1380
"But the end-result, which depends on Microsoft's work, is something that encourages developers to write *yet more* code that uses Microsoft's approach. In benighted countries where software can be patented, this means that any patents that Microsoft has in the .NET framework are like to apply to any code developed with Mono. Like an infectious disease, the intellectual monopoly is spread wider."
[...]
"This is what makes Mono so dangerous: developers that use this framework are, in fact, helping to disperse the poison of Microsoft's intellectual monopolies across the free software ecosystem. I'm sure that's not the aim of the Mono developers, who doubtless have the best of intentions, but sadly it is the inevitable result. And that is why developers and users need to be warned off Mono in a way that is not necessary for Samba."
Jose_X
2008-10-12 14:35:32
Assuming mono has technical merits that impress or you can't get elsewhere, here is one argument about how there are more important things than technical merit if you are building for the long haul and want to keep costs under control: http://www.linuxtoday.com/news_story.php3?ltsn=2008-10-06-023-35-OS-SW-LL-0047 .
And don't forget this: a subset of the community can fork mono and then maintain or even improve the "technical merits". The point would be to diverge from the details of MSdotnet.
Novell's "Interop" Fantasy:
"Interop" with MSdotnet, where it would really count, is a pipe dream. Microsoft controls what code ships and updates their customers' systems. They are not beholden to produce bug-free and standards-based dotnet code. They are not beholden to limit themselves to the standard without adding undocumented lock-in. Surely they won't limit themselves and yield ground if they don't have to. They are not going to give away key items crucial to keeping their monopolies in place. They are also not going to give up the revenue generator that is their hidden source code as it's secrets change over time. They are not going to give up their option to change the rules or their option not to renew your NDA contract terms after they are up or not to increase the fees, perhaps beyond the breaking point. [See http://www.theregister.co.uk/1999/07/18/analysis_h ow_ms_used/ ]
Gifting Linux to Microsoft While Saving Microsoft Lots of Money:
By avoiding dotnet or perhaps to a lesser degree by forking mono significantly, we lessen patent issues and the ability of Microsoft to EEE and to leverage their existing huge investments in dotnet. Additionally, in the case of a fork, we test Microsoft's behavior to forks and to code being develop in areas where they have many patents. Better now then later. Better to learn now than later when we could have much more to lose and to recode.
Microsoft already made the huge investments. Giving them extra bang for the buck spent is the exact opposite of what the FOSS community should want. I'm still waiting for Microsoft to open up their core platforms essentially completely. Until that happens, their monopolies, the dollars they spent to fight real FOSS and Linux, etc, all hurt FOSS and open platforms. To fight such a strong, established, and committed enemy of software openness and transparency and of user and developer freedom, you want to see *devalued* the assets where they have put their dollars. Don't help grow mind share in dotnet or the dotnet ecosystem.
Here is a comment titled "It's so obvious": http://www.linuxtoday.com/news_story.php3?ltsn=2008-10-06-023-35-OS-SW-LL-0052 . >> Mono will just improve the situation for Microsoft by making porting Linux applications to Windows a no-brainer.
To which I would add that ...
(a) "FOSS" on Windows/Vista is not FOSS any more than HTML running on Internet E is FOSS: in both cases the "open source" completely depends on the lower closed source software layer to function.
(b) Microsoft can more easily and subtly sabotage FOSS running on Windows/Vista than they can closed source apps running there. And sabotage (as well as pre-design of "special" API) will happen as the season dictates a beneficial risk/reward ratio for Microsoft.
(c) Apps ported to Windows grow the value of Windows. This more so the better these apps are. Generally, there will be more and better Windows apps if there are more and better dotnet apps. The more FOSS ports there are to Windows, the more Microsoft can keep their monopolies entrenched by keeping up with Linux/FOSS. Most users won't bother to go through the hoops and over the hurdles if they can get most of what they want right where they are.
(d) Exclusivity gives extra value to a platform. There will be more and better **exclusive** Windows apps if there are more and better mono apps BECAUSE Microsoft can more easily embrace and extend open source mono apps to incorporate into their integrated software. They study the code but hide their extra lock-in sauces (thus saving on perhaps 90%+ of the work required). dotnet is where Microsoft has an advantage over everyone else. They have invested the most in dotnet. They control the direction of dotnet.
(e) Novell is contracted to work for Microsoft. Giving copyrights to Novell or helping improve software and systems key to their business (eg, opensuse), will be helping Microsoft. Microsoft has a better chance of getting the source code you give Novell but with a special proprietary license instead of the GPL. [Such an automatic pact may already be in place.]
Here is another comment titled "On tactics and the nature of Free Software": http://www.linuxtoday.com/news_story.php3?ltsn=2008-10-06-023-35-OS-SW-LL-0048
Saturday Novell:
Let me say something positive for Novell. Assuming dotnet becomes well-established and the greater Linux FOSS community and Linux commercial players have already suffered, then Novell might be sitting pretty. They can play the lock-in game against Microsoft, essentially through a fork/extension of dotnet. Of course, the best lock-in is closed source. Novell has shown they love and likely prefer closed source (Netware). Not to mention that Novell may even fold or be bought out by Microsoft.
..Some Saturday .. oh, no wonder .. it's Sunday!
Jose_X
2008-10-12 14:37:02
The first thing to say is that I was being partly facetious. I was recognizing Microsoft's great desire to have mono/dotnet spread among FOSS groups and software. Thus, if they aren't paying you to show off mono, perhaps you are short-changing yourself by not asking for lots of mula to match the buyer demand. [What might have happened if people did not get paid much was that they fell for the old "the competition will beat you to it and you will be left out" line. Microsoft did not amass all that money by paying for what they could get for cheap.]
The second point was that mono "obviously" would not make the rounds in the FOSS news world unless someone was paying or because of something bad because of the threat it poses to FOSS in general.
Microsoft advertizes heavily on Linux sites.
Also, I do not agree that many people are excited about mono.
Were you assuming all of these articles were by people excited about mono?
Jose_X
2008-10-12 14:57:47
A space above broke the full link. Here it is correctly: http://www.theregister.co.uk/1999/07/18/analysis_how_ms_used/
...
Two other important points:
Gains in dotnet hurt a number of commercial players that help Linux/FOSS. Examples include: Sun, the established Java ecosystem, and same wrt PHP, Python, Perl, and other competing technologies. [The port of these languages to dotnet are embrace/extended ports.]
You can also read about the parrot vm at www.parrot.org/
Gains in opensuse/Novell (ie, gains to the degree Novell can leverage them maximally), hurt all other distros to some extent.
Particularly hurt in the commercial space are Red Hat. Red Hat represents many contributions, but, more importantly, they represent a particular business model and set of principles beneficial to the community and not shared by Novell.
Roy Schestowitz
2008-10-12 15:19:14
They considered it important enough to cover, ushering a self-fulfilling prophecy in this way. It was the same with Hyper-V at 0% market share. VMWare and Microsoft are the only ones to bombard journalists. It's part of The Slog.
Jose_X
2008-10-12 15:29:37
>> MS on Trial Bristol may yet appeal after its loss against Microsoft (as of Friday, it hadn't come to a decision on this), but as the case stands it serves as an awful warning for companies doing business with Microsoft. A nice little business took it into an alliance with Microsoft, then it got sucked in deeper, and then the carrots started to disappear, replaced by the stick. For Bristol, and for small developers in general, it's a depressing tale. Since its formation in 1991 Bristol has produced Wind/U, a set of libraries and utilities which allow software developers to implement their Windows applications on Unix, OpenVMS and S/390 platforms. This was originally an independent initiative, but after various Microsoft approaches Bristol signed a deal with the company in 1994. This licensed Bristol Windows source code under the Windows Interface Source Environment (WISE) programme. The hook The good news for Bristol and its customers was that by having access to source Bristol could improve the performance and compatibility of Wind/U. The bad news, as it transpired, was that it made the company dependent on continuing access to the source code. This access was vulnerable to changes in pricing, restrictions on the code Microsoft was willing to give out, and changes in Microsoft policy.
Moral: trying to embrace and extend Microsoft's protocols or gain interop is an uphill battle and likely a losing game for a commercial outfit.
The wiser move is to use established Linux/FOSS APIs/protocols. The wiser move is to fight the monopolies so as to maximize your investments in Linux. The Wiser move is to keep mono neutered: don't use it and contribute to a competing technology.
BTW, again note Microsoft's embrace and extend of existing images: "WISE". They have done same with "share", "trustworthy" and "open" among others (also, "windows" and "xp").
Was it wise? Are they sharing? Is it trustworthy? Is it open? [yeah, that is why ISO got so happy when boycottnovell shed light on some hidden "open" docs]
The idea is to embrace a simple word with positive connotations and already well established within the minds of their target audience, in particular, when what Microsoft offers is the opposite or an "extension" and in order to dominate the related existing competing uses or conversations.
This is a part of marketing and others do it, too. Microsoft is just particularly good at it.
See also, http://en.wikipedia.org/wiki/Nineteen_Eighty-Four for related topics.
Yfrwlf
2008-10-12 18:40:24
You can argue on either side as to if it's good or bad to make the average computer user wise to software legalities, but ultimately I think awareness of how screwed over users are will help put an end to stupid legalities, rather than just trying to ignore them.
I removed Mono from my computer though, only thing that was using it was Tomboy and F-Spot, neither of which I use any way. =P
On the technical side though, are there any features of Mono that haven't already been covered by any OSS? Does Java cover them all? What about other languages that aren't so CPU-intensive? Java is great in that it's cross-platform and all, but it's also a virtual machine and as such a bit on the slow side. I have no idea how bloated the .NET/Mono systems are in comparison though.
Just trying to make sure open source is ahead is all. ^^ It's not a crime to admit improvements are needed. Constructive criticism is what keeps software healthy.
Yfrwlf
2008-10-12 18:51:52
However I also wanted to add that with Microsoft patenting everything under the sun, like the page-up page-down keys, EVERYTHING I'm sure uses some of "their" junk patents, someway, somehow, at some point. So, really, you could also argue that the junk patents that Mono uses are also equally ignorable to a degree, but since they are specific to the ".NET/Mono" software *name*, they are probably riskier to use than, say, page-up page-down which all software uses practically. In other words, on the spectrum from least likely to be attacked by patent lawsuits to most likely, using Mono would be on the most likely end, while page-up page-down is on the even more ridiculous end of the spectrum, even though they are of course ALL ridiculous.
Roy Schestowitz
2008-10-12 19:34:04
We recently ran a 2-part post (links below) about the dangers of Mono on grounds of SCO-like FUD. Intimidation can be more effective a deterrent than a lawsuit and it lasts longer, if not indefinitely. To show that Mono works like .NET is similar to showing that Linux is 'like' UNIX.
___ http://boycottnovell.com/2008/09/19/why-not-mono-car-analogy/ http://boycottnovell.com/2008/09/20/mono-java-dotnet-analysis/
Jose_X
2008-10-13 02:14:15
First, Microsoft's extensive and very successful use of EEE in the past has *not* involved patents. As important as I think patents are, it's a bit of a distractor. Their EEE arsenal is very extensive.
But to get back to your specific quote, I would not volunteer for such an experiment to show how hurtful something can be if the problem were not to be resolved. ["Here, sip this poison.. it will motivate you to discover the antidote."] I think courts and legislators would look for a defendant that had taken active steps to avoid problems instead of diving right in knowing the threats were there.
This is one reason why, as Roy just mentioned, patent FUD is such a threat. It puts the recipient in a position where they are more pressured to address the problem (eg, to pay the boogeyman to go away if this option could be carried out quickly and without too much pain). You'd think though that Microsoft would need to go further and detail the patents in public, but they like to tackle "partners" in an environment that is controlled and heavily favors Microsoft in order to maximize the odds these will sign up for the show ahead of time. When you tackle groups or individuals in isolation, you can more readily find and exploit the weaknesses of that group. Most groups are not perfectly up to date on all topics so can be manipulated more easily within a private atmosphere. [That is the opposite of how we work in the community. We share info and allow the missing gaps to be filled in by anyone so that the end product is as strong as the whole.]
This patent *FUD* is a dangerous attack because its result can be devastating without any apparent aggressive action being undertaken. Those being attacked are more likely to relax and not see the subversion taking place. [I am sure there are many working their own "subversions" all the time, but I am addressing Microsoft specifically because of Microsoft's track record of "destruction and conquest" at a large scale and because it's what I am most familiar with.]
Jose_X
2008-10-13 02:22:49
Roy Schestowitz
2008-10-13 06:48:15
There are other equally important issues and I did write about some of them. There is actually a danger of forgetting about anything but patents and assuming that all those other things needn't be addressed or resolved. Some authors convince themselves that patents are not an issue (because typically, they argue, other things "equally bad"), but this only addresses one among several issues, including the issue of control.
Yfrwlf
2008-10-13 07:27:47
Back on track though, I believe MS got a fairly decent shock from their attacks on Linux rebounding to some degree. With the help from sites like this and many others, even YouTube and such, their patent threats and other things haven't gone unnoticed and I believe it has done them a lot more harm than good, and I hope they think that, and I hope it makes them not want to try it again. I think that the outrage that formed after, say, they announced Linux was "violating" 2xx patents or whatever would have just been the beginning, and they would have followed with a lot more FUD about patents specifically, if it wasn't for the campaigns that followed, pushing back and wanting the truth and specifics from them. With everyone's help, MS will continue to get slapped every time they step out of line, and that media attention won't be favorable for them. Right now they don't even want it to be *mentioned* that there are alternatives to their operating system, much less that there are ones that are actually pretty decent now. Like with their current ad campaign, they want everyone to think that they equal "PC", and that's all there is.
You can't be a bully of information any longer in this day and age. The Internet can be a great tool for revealing lies and finding truth, but MS is just going to have to learn that the hard way.
C.J.
2008-10-13 22:15:49
*blink* *blink*
What are you implying? I've already told you directly why I am on "our IRC channel." Are you suggesting that I was not entirely truthful? What is it that you "suspect?"
As I've told you, I'm intrigued by many of your articles, and that I appreciate your skeptical watchdog efforts. I think there's a better way to solve the problems you have noted than to boycott Novell or call Microsoft's CEO sophomoric names. We have agreed to disagree on these points. So long as we can do so respectfully, I'm interested in idling on the channel in hopes of providing insight and in order to bring questions up with you.
Roy Schestowitz
2008-10-13 22:27:33
MonkeeSage
2008-12-21 09:14:13
Roy Schestowitz
2008-12-21 09:42:57
jo Shields
2008-12-21 10:11:40
http://www.gnu.org/software/dotgnu/pnet.html -> "DotGNU Portable.NET is focused on compatibility with the ECMA-334 and ECMA-335 specifications for C# and CLI, and with Microsoft's commercial CLI implementation. Our main goal is to make it easy to write portable application programs which work well both on DotGNU Portable.NET and on Microsoft's .NET platform. "