Miguel De Icaza Forms New Mono Company: Xamarin
rubycodez writes "After being thrown out on the streets by Attachmate, the purchasers of Novell, Miguel De Icaza has formed a new company Xamarin to make .NET development tools for Android and iOS. The company will also provide commercial international Mono support. There are those who would say Mono poses a risk of drawing Microsoft patent or other IP litigation for its inclusion in some major Linux distributions, and that these recent events might be the beginning of the demise of widespread use of Mono and other .NETiness in open source software, a good thing."
They failed in their first attempt at making Mono a ubiquitous development platform by keeping their mobile ports behind a paywall. Now they lost access to those proprietary parts and decided to start again, in exactly the same fashion... brilliant.
Go away. .NET has no business being on iOS
A. Miguel.
"Xamarin" - because "Ximian" was already taken.
Let's call it what it is, Anti-Social Media.
This brings on the specter of legal action by Attachmate. While there has always been the thought that Mono could be sued by Microsoft, such as lawsuit would require Microsoft convincing a court that it was “just kidding” and the CLR/C# patent covenants are non-binding. Between their obligations to the ECMA standards body and the legal principal of equitable estoppel, the chance of this happening is slim to none. Attachmate is a completely different story. Even if they aren’t supporting it, they do own a product that is in direct competition with Xamarin’s future offerings. Without some sort of legal arrangement between Attachmate and Xamarin, the latter would face the daunting prospect of proving that their new development doesn’t use any the technology that the old one did. As a result of this, as well as the general uncertainty of any new product, some developers on the mono-android mailing list are stating that they are moving back to Java development for now. Source: http://www.infoq.com/news/2011/05/Mono-II
Doesn't Apple have a prohibition of using a framework other than Objective C for their iOS apps? I know some tools get around this by making Objective C source code.
...that the submitter should just state his opinion rather than hiding behind weasel words.
Comment removed based on user account deletion
Are they gonna make IL2CPU and IL2JSLINUX: http://bellard.org/jslinux/
Mono, winforms, gtk, xaml, etc, all in a browser. Or even the web-server in a browser for embedded unix.
Given that there is nothing MS would have liked to do more than to shut down Novell for ANY reason whatsoever, why would people consider the demise of ".NET" ness that is clearly open source and in many ways immune to patent litigation (although possibly not DMCA reverse engineering litigation -- I've heard that folks thought that was a possibility at one time) a good thing?
That would be like saying that SCO's lawsuits had merit for including major Linux distributions in it's target scope, would it not? And I don't think Miguel et. al are so stupid as to put themselves blindly as targets in microsoft's corporate crosshairs, do you?
...Open Source isn't the only answer -- but it's almost always a better value than the alternatives...
it's not a good thing that Mono should go away
it is a good thing from the point of view of ideology, however
but as a working programmer, i like getting things done. to hell with the ideologues
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
Surely thats a matter of opinion?
Most companies won't touch it...if they're running on Linux, they're going to go with a language that's native to the platform, like Java. If you're a home user, most relevant software written in .NET isn't going to work with it. This just seems like an extremely futile attempt. Is Miguel hoping that one day Microsoft will say "hey, we really like what you've been doing...come work for us!"?
Given that there is nothing MS would have liked to do more than to shut down Novell for ANY reason whatsoever....
Your premise is wrong. It's been a long time since Novell was a significant Microsoft competitor.
To the extent that Microsoft is anyone's friend, it is his friend. He has had such a relationship with Microsoft even before Mono. Personally, I always thought he was some kind of Microsoft mole in the open source world.
Will Microsoft stick it to him? He probably isn't the target. Will he be collateral damage? Probably. Microsoft wants someone like Google to adopt Mono so it can use the patent hammer to damage the competition. In that light, Mono is just bait.
From TFM:
Expert in software patents or patent law? Contribute to the ESP wiki!
Miguel's obsession with creating an open source version of .NET borders on mono-mania.
Tiller's Rule: Never use a word in written form that you've only heard and never read. You will end up looking foolish.
(bungled my html - that last sentence is a note from me, not a quote from the article.)
Expert in software patents or patent law? Contribute to the ESP wiki!
Miguel are you still drinking it ?
and in many ways immune to patent litigation (although possibly not DMCA reverse engineering litigation -- I've heard that folks thought that was a possibility at one time)
Reverse engineering for the express purpose of interoperability is not grounds for a DMCA suit according to 17 USC 1201(f). Say what you want about Universal v. Reimerdes, but I'd bet it would have gone down much differently if DVD Jon had waited until Linux had stable UDF support before releasing DeCSS.
Wow, he's gonna port his open source implementation of .NET to iOS.
That could rip a hole in the space-time continuum.
Lost at C:>. Found at C.
Great. If I want to work platform independ, I can decide if I want to code for Oracle's Java or with Microsoft's .NET. Both have nearly the same limitations with patents and corporate politics.
On a second look my statement above sounds a little bit sarcastic. But it is not meant that way. I really like the Java/Scala/Groovy/Clojure ecosystem. And I am really curious to try .NET/Mono with C#/F#/IronPython/IronRuby. Both ecosystems are very advanced with regards to productivity tools and framework support. I would not want to miss any of them.
It's a pitty that OpenSource needed Sun and Microsoft to kick-start both ecosystems. Now we have to deal with the consequences. But still better than not to have any of them.
...a drug to help with the depressive side effects of internet addiction?
He who knows best knows how little he knows. - Thomas Jefferson
It is not a "good thing" to have Mono or .NET interoperability taken out of reach of Linux users. Interoperability layers such as Mono allow Linux systems to participate in networks that are dominated by Windows and other commercial systems. If it weren't for software like this, Linux systems may not be invited into some corporate networks, and would not get a seat at the table.
The idea of a "pure" linux or no linux is going to continue having linux sitting out in the cold all by itself. Interoperability is crucial.
If anything, we need more software like Mono, not less.
Why I would choose to pay for .NET on Android over using the abundant and free tools for Java?
I mean, I get putting Linux on every device known to humankind, just because it's cool to see things run Linux. .NET community had their own version of this?
I didn't realize the
Seriously, isn't it a little juvenile to rally against a software platform just because it's based on something created by a company you don't like? And isn't it hypocritical to bolster Java when it's supported by Oracle, which has a reputation for destroying everything it touches?
Having mono to run windows apps aka wine is great thing
And most of the cheerleading for MonoTouch and Mono for Android that I've seen in Slashdot comments has been toward the aim of interoperating with .NET-only platforms.
writing native Linux apps in mono [is] like using wine to write Linux apps
And how is the latter bad? Glibc implements a POSIX-compatible subsystem, Glib and GTK+ implement a GTK+ subsystem, Qt implements a Qt subsystem, and Wine implements a Win32-compatible subsystem.
Mono, the core project, is very definitely open source. However, just like with java, the mobile development platform is not open source.
You've either being deliberately obtuse, or you've been living under a rock and haven't noticed that Oracle is suing Google over Dalvik. Care to clear up which it is?
That company would be best advised to bite the bullet and implement it 3 times...using the correct and supported languages for the targeted platform
Then what method do you recommend for ensuring that a program written in Objective-C, a program written in Java, and a program written in C# do exactly the same thing in all circumstances? Which N-version programming tools do you recommend?
1st of all:
Quit picking on Miguel. You may not share the same opinion as he on bigger issues, as do I, but treating him the way the majority here does is primitive. He deserves all respect and professional merit you can give. Unless you are Linus Torwalds, RMS or someone other of the rare few on which who's work his work is based on, you are not entitled to picking a fight with him or destructively ragging about his decisions and/or motives. The others actually aren't either, but at least they have a track record to back up their ego.
He's done considerable contributions to the cause of FOSS, more than most of humanity anyway and way more than anybody of the wannabees here on slashdot could ever dream of accomplishing, so suck up any stupid and/or ignorant and/or snide remarks you may have ready and just STFU. Thanks.
2nd: Mono may be a controversy in broader issues, but that's not to say it's not a good project. As for the product itself and products based of it: I know at least one that is a game changer and a major leap forward in its industry, that is based entirely on Mono and wouldn't be possible without it ( http://www.unity3d.com/ ). Cudos to Miguel and the Mono team for making it possible. I know for sure that the other large x-plattform around, Java, would have been beyond pointless as a foundation for realising this and would have failed miserably. Mono and Monodevelop are cool cross-plattform toolkits, and as far as I can tell they get the job done.
Who can say that about their pet FOSS project?
We suffer more in our imagination than in reality. - Seneca
beginning of the demise of widespread use of Mono and other .NETiness in open source software
This seems to VERY incorrectly imply there once was, or currently is, widespread use of Mono and other .NETiness in open source software. Is it a yogi-ism to say its so widespread that nobody uses it anymore?
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
Since Attachmate didn't sell Mono to this Xamerin group are there not two versions of Mono? That would then be a Duo. Because two Mono's don't make it right.
That reminds me, Miguel already has a dual personality with his proclaimed love of open source yet his constant admiration for everything made by Microsoft.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
I am pretty sure the Unity Game development platform (http://unity3d.com/) is .Net based and uses Mono to run on iOS and Android. This is a nice game development tool made cross platform by Mono, so I would say Mono qualifies as useful. I am sure there are other examples.
My meager Google research indicates that PhoneGap can be slow to respond, especially for applications that need to perform a lot of calculation. Apple finally introduced JIT execution of JavaScript in iOS 4.3, but only within the Safari app; UIWebView applications such as those made with PhoneGap still use the interpretive engine. (Yes, I know about the security issues of running JIT in the same process as untrusted code, but Apple chose to get iOS 4.3 out the door before refactoring UIWebView to sandbox a view in its own process.)
So how does a startup afford to "spend the cash"? And once the allegedly "competent programmers" have checked in code, how does the lead engineer verify automatically that the code does in fact behave identically?
.NET was a mostly foiled attempt of microsoft to do the same thing with C that they did to Netscape. Why hand that over to Microsoft by implementing some cross-platform version of a noose they can hang you with? They are bad enough when the law *isn't* on their side.
I don't understand what would drive anyone to do this unless they are on the Microsoft bank-roll.
boycott slashdot February 10th - 17th check out: altSlashdot.org
So, it's proprietary software. There is no need to come up with clever-sounding euphemisms such as this "open-core" nonsense. It's proprietary software which happens to market itself on top of a open-source project.
Homer: Mono... D'oh!
Why hand that over to Microsoft by implementing some cross-platform version of a noose they can hang you with?
Compare the policies of the three video game console manufacturers:
In this case, Microsoft is the least of three evils.
The cross-platform aspect just lets a developer share the game logic between the Xbox 360/Windows version of a game and the version for other platforms. Otherwise, a port to or from the platform is a complete line-by-line rewrite that introduces errors and requires subsequent changes to be made twice.
Given that, why would you want to fall for using the platform they control( MS .Net) to create applications for the 2 dominant phone platforms, iOS and Android, so you can get the also-ran Windows Phone 7
True, Windows Phone 7 might be considered an "also-ran" worthy of ignoring, but Xbox 360 is not. Like applications for Windows Phone 7, Xbox Live Indie Games also use the .NET Framework.
You bitch to Microsoft for not making that possible by not allowing native code.
I see no reason for Microsoft not to just ignore such complaints. Microsoft knows that it provides the only console for games developed by micro-ISVs. So it offers a Hobson's choice: develop in XNA, or just choose not to publish your game on any console at all.
I think the sentence specifically does not say what you think it says.
...but they sometimes end up as roadkill.
Haters are gonna Hate. That's just what they do.
I wish Miguel and his team the best of luck. I was actually reading Slashdot when Miguel started Gnome, actually remember the email announcement. Gnome was an incredible success. His other ventures all got bought out ( a successful exit strategy ).
If Xamarin would except micro-investments ( ie. 100K ), I'll be first in line to sign up. I've got something in the 401K, the wife has this ( morbidly weird ) funeral savings I might be able to get at. Heck, the kids got a piggy bank they watch like hawks; luckily they fall asleep early.
It IS enough to get the license changed and rescinded.
And like you noted, .NET apps or games can be written in many different languages. He seems to like Python
I was under the impression that IronPython and other DLR languages required System.Reflection.Emit, which was not present in the subset of the .NET Framework supported by Xbox 360 and Windows Phone 7 last time I checked.
All the languages can also use the huge library of code and API's.
The libraries also have to be written in pure .NET code, unlike in Python where it's common to package a C++ library as a module.
Java is one language. Python is one language. With .Net-like technology, FOSS can invade the windows space like never before. There's the potential to share business logic on everything from Android to XNA. Wake the F*@& up. The growth of cross-platform FOSS breaks down the walls that separate platforms and prevent cross-platform competition from occurring.
The day that FOSS comes up with a totally free CLR and CIL that allows static inclusion of the VM in the binary is they day that people can talk trash about Mono as if FOSS already has a better solution.
"There are some people that if they don't know, you can't tell them." ~ Louis Armstrong
Otherwise, there is no way I'm going to use a second class dev environment on my first choice platform. Here is a list of the top grossing games on Android
Does an Android-powered device capable of running apps come in a set-top form factor? I haven't seen one. If not, then Xbox 360 is pretty much the only platform for indie console games, and any such game needs to be written in .NET so that it can run in the XNA environment.
Can someone tell me who uses Mono "commercially"?
Take some free software, add non-free software, keep the source code for the latter to yourself, and do some advertising emphasising the free software base.
The quote I gave from TFM seems to say pretty clearly that this is their model. What's your point?
Expert in software patents or patent law? Contribute to the ESP wiki!
you grow to understand informality, and recognize the effort to be formal and proper all the time is pointless and without merit
that some brittle mind expects formality where none is due, like in a fucking comment board, is someone that does not deserve any respect. demonstrate to me flexibility of mind, and i will begin to consider your opinions worthy of consideration. otherwise, fuck off
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
.NET has no business being on iOS
Then how do you recommend making one application whose business logic runs on Windows Phone 7 and iOS, or one video game whose game logic runs on both Xbox 360 and iOS?
Simple, don't bother with a Windows Phone 7 port.
I mentioned Xbox 360 too. What alternative to XNA Game Studio, App Hub, and Xbox Live Indie Games do you recommend?
Officially .NET is only cross platform with Microsoft products (eg. Windows and XBox). If my goal was to really be cross platform with other OS, using a language rather than a toolkit such as QT
Qt is not ported to Xbox 360.
I would pick Java [over] .NET since it is officially supported on Windows, Linux, and OSX by Oracle, and other OS through OpenJDK.
Say I write my video game in Java. How well does J#, Microsoft's implementation of the Java programming language for the .NET Framework, work with XNA?
I'd rather write the best application my abilities will allow
And have no audience. If my game design includes a mode where multiple players share a screen, as opposed to always needing a separate device and copy of the game per player, the only platforms I've found so far that allow that are XNA and home theater PCs. There appear not to be enough home theater PC owners among my audience to make development of a home theater PC-optimized game worthwhile, though I'd love to see evidence to the contrary. This leaves XNA.
Not to mention the fact that on Xbox, I will never be on the same playing field as the real game developers.
I contend that not being on the same playing field as developers in the major cities is better than not having a playing field at all.
And right there in the summary, it says De Icaza's company will make .NET dev tools for iOS and Android. Bad me, for not RTFS. What can I say? I come to slashdot for the comments. I still think that De Icaza is tilting at windmills (but with less wits and foresight than Quixote) and .NET on Android will be the second (at best) preferred dev tool. Not to mention that the legal issues (and MS changing C# at a whim and breaking tons of existing apps) still makes this a non-starter. Yes, good riddance .NET and C#. Some of us haven't had to think about MS for years, and would rather not ever have to again.
Nathan's blog
That to avoid litigation around mono, one should NOT develop anything in .NET
I don't know the meaning of the word 'don't' - J
Android has the highest market share of any smartphone
I'm talking about platforms other than smartphones. Not everybody has a smartphone because plans cost money, and some people prefer to play in person with friends and family.
The Xbox is obviously more powerful so do I dumb it down to a smartphone level?
You'd write the gross physics and enemies' action instructions to work identically on both platforms: a character can run this fast and jump this high, enemies deal this much damage, etc. (How much "dumbing down" does this require?) Then you'd probably write a separate graphics engine per platform.
The phone has a touchscreen and myriad sensors like gps, accelerometer, ambient light, etc. How do I transate that?
As with the graphics, you'd write a separate input tier per platform. The input engine would interpret what the player has done and send movement commands to the game logic. An input engine for Android or WP7 would translate tilting the device, pressing on-screen buttons, tapping specific objects or areas of the screen, etc. into "turn this way" and "move that way" and "swing your stick". On Xbox 360, it'd translate movements of the Control Stick and button presses into actions. But the core game logic would implement the rules of the game that don't vary per platform. Please see Wikipedia's articles about the model-view-controller paradigm and multitier architecture.
You have outlined a recipe for a crappy game.
Please correct me if I'm wrong, but I take it you want one game exclusive to Android and a completely unrelated game exclusive to Xbox 360.
If it's under the GPL and LGPL, it's going to be a rough case Attachmate would be making, considering that it's open licensed and they just kicked the team to the curb.
The FOSS code is not a concern here.
The issue is the proprietary code that Miguel et al worked on in Novell, the Android and iPhone runtimes. That is owned by Attachmate now, and this new startup contains exactly the same coders, who are intentionally going to write the exact same product from scratch - they will be 100% "source compatible" with the old runtimes.
So legalities are a reasonable concern. Even if no code is copied, the same people writing the same product - immediately after writing it the first time - may lead to basically the same code being written. It might be hard to prove no code was copied even if none was. Lawsuits are filed for much less.
Of course, this only matters if Xamarin is a big success - no one sues a failure. Time will tell.
Kind of makes you wonder if Miguel's also on M$'s payroll in one way or another.
I can't for the life of me understand De Icazas motovation in expending so much energy in cloning a Linux version of dotNET, functionality that in some-ways-or-another, already exists on Linux?
How important are XBox Live Indie Games really? XBox is basically the second most popular gaming console, and is behind by a large margin.
Xbox Live Indie Games is the only console platform available to micro-ISVs. Wii is the market leader, but Nintendo platforms are not for a company's first title, nor are they for home-based businesses. Nintendo requires "relevant game industry experience" and "that companies are working from a secure business location [...] not located within a personal residence."
They shouldn't do the exact same thing if they are all running on different platforms.
An application can be separated into two components: application logic, which does not vary per platform, and presentation, which does vary. Versions of a game for different platforms would have separate graphics and input engines for each platform, but ideally, they would share the application logic, which determines for example how high a character can jump, how close two objects can approach, how much damage a character takes, and how non-player characters will act. See also Model-view-controller and Multitier architecture.
Are you stupid? considering your inability to use caps, probably. Ballmer is still calling shots in the company, and now he's calling all of them; so nothing has actually changed.
"I thought I had Mono for a whole year once. Turned out I was just really depressed."
You don't understand what the argument is about you fool.
It isn't about this technology being better or that technology being worse.
It is entirely about the price you have to pay, and the availability of the technology.
Almost all of the arguments which spiral around the issue of free and non-free software are concerned with the various ways in which companies manipulate their customers in order to tie them into their product. The license is by far the most obvious mechanism used for that purpose. Patents are a close second.
Nobody is saying C# is crap. Nobody cares. What some people are saying is that C# on Linux is part of a plan to undermine the open source, free software platform by introducing software into the heart of the system which can lay it open to patent claims. Others believe it is simply a means of luring open source software developers and users away from Linux (Microsoft's worst nightmare is that there could be a shift from their proprietary platform to a GPL'd one). They're probably right.
If I hear one more dimwit say, "I don't care about all these arguments I just use the technology that does the job" I swear I will smack them on the nose with a baseball bat (not literally though).
We've all got 'em, bigoted grandparents that can't quite let the old race conflict go. The younger generations just roll their eyes during the periodic tirades and say "that's nice grandpa." That what we have here. The older portion of the Linux community is constantly trying to resurrect the Microsoft threat of the 80's and 90's to rally the troops. Kids coming out of college just don't see it like that. To us it's all good. Microsoft has some cool stuff, Oracle's got some stuff. There's lots of great open source stuff. Can't we all collaborate, hack, mash and... get along? Slashdot still uses an icon of Bill Gates as the Borg for its Microsoft-related posts, for crying in the night. Could you get any more out-of-touch? .Net on Linux is just another great tool in a developer's toolbox.
Seriously, isn't it a little juvenile to rally against a software platform just because it's based on something created by a company you don't like? And isn't it hypocritical to bolster Java when it's supported by Oracle, which has a reputation for destroying everything it touches?
You do have a point about Oracle, but It isn't a matter of a company I "Don't like" it is a matter of a company I "Don't Trust". I've been around long enough and watched MS and their dirty tricks I know what they are capable of and Mono is just a back door for them to sneak in through. Of course I don't have any trust in Oracle which is the reason some 600 Solaris servers are being replaced in our data center with Debian Linux.
I do know I will not base how I make a living on any technology that can be bought and sold like a two dollar whore again.
As far as I'm concerned he is just wasting his time. Hell I quit using Gnome because it now loads Mono. You know I wouldn't want to infringe on any MS patents and the best way to do that is NOT use MS code. Besides there are a ton of languages that do a far better job than .NET and they are completely open and do not infringe on any MS patents
See patents do work. They keep shit out of my DC.
Readability and informality are two different things, but you are too stupid to understand the difference.
For instance this message is informal, but readable. Your message is simply unreadable because it does not use caps, and has sentences broken between the subject and the body.
Now for your sake you stupid ass, I hope you have learned something.