Live data from Hacker News

Mono: What we are Cooking

tirania.org

11–20 of 20 posts

Re: Mono: What we are Cooking

#11
post #8
post #4

Earlier quoted context omitted.

If Oracle can't be trusted with Java, can Microsoft be trusted with Mono?

Generally yes. Mono can be split into three parts. First, there are the parts that implement the ISO/EMCA standards for C#, the runtime, and the libraries. Second, there are additional libraries that are in .NET for doing various non-portable things on Windows (like writing Windows GUIs), for which Mono has made compatible libraries for non-Windows. Third, there are additional non-Windows things Mono has added. Some…

About F# ... they also open-sourced it under the Apache 2.0 license which contains an explicit patents grant.

Re: Mono: What we are Cooking

#12
I just looked back into Mono to see what they've been up to in the last year, and it's nice to see that they're finally back on track:

http://www.mono-project.com/Compatibility

They've always had this annoying tendency to stray from the things we need them to be working on (getting a 100% feature complete version of the latest .NET CLR) and into things that are cool but not really core, such as the long list described in this post.

I gave them a hard time about this a year ago, when they came up with a similar list of fun side projects yet still had major pieces of .NET 2.0 unfinished, such as this one that was stopping me from using them:

https://bugzilla.novell.com/show_bug.cgi?id=346561

Sounds like they have enough people on the core now that they're mostly up to date on 3.5 and starting on 4.0. That's great news (more-so than this blog entry, but it provides a nice excuse to give them some props).

Re: Mono: What we are Cooking

#13
This is great. Does this imply that Mono finally has constant stack space tail recursions ? Now I can look forward to (Iron)python without arbitrary restrictions on the depth of (tail)recursive calls. And no GIL too !

Re: Mono: What we are Cooking

#15
post #9
post #2

I poke in on Mono from time to time to see what's new there, and I probably don't do it enough. It seems like every time I show up they've finished what they were doing previously and a rolling into a host of other new things. These guys are freakin' rock stars at this stuff. In light of the fact that Java's future has a lot of people flummoxed, it might be interesting to see if there's increased entry into Mono. Are…

Maybe the Mono project is more nimble because of the very limited number of applications running on it? Especially compared to the JVM.

That or its creators aren't concerned with the applications running on it as much as the maintainers of the JVM are. Sometimes I think open source projects can have an advantage in this respect. If they're not financially bound to their customers when it comes to what the product actually does, they can focus more on their vision of the product is, and not what the customers/users whine and gripe about. Moreover if the users are whining and griping about some feature not being present or not well implemented, they can put forth the resources to implement it themselves...now I'm just repeating the FOSS talking points.

Regardless, I think I agree that Mono is nimble because its user base is still relatively small or not large, but I think there are also other contributing factors.

Re: Mono: What we are Cooking

#17
post #6
post #4

Earlier quoted context omitted.

If Oracle can't be trusted with Java, can Microsoft be trusted with Mono?

That's a silly question to ask because while these companies may look and sometimes behave the same, their relationships with the community are different. Just as in real-life, the best way to tackle this is to: a) when trust is involved, and you got screwed, the first thing you do is to end any relationship you have with that person / company and tell your friends about it. This sends a clear message which forces ot…

Apache != open source

Apache wants Java under ASL, Oracle/sun don't want competitors forking their code and making proprietary. That's why Sun chose GPL. No fine-print, just GPL. You can make 3rd party implementation based on OpenJDK and get TCK. Red Hat did it with Iced Tea.

Re: Mono: What we are Cooking

#18
post #8
post #4

Earlier quoted context omitted.

If Oracle can't be trusted with Java, can Microsoft be trusted with Mono?

Generally yes. Mono can be split into three parts. First, there are the parts that implement the ISO/EMCA standards for C#, the runtime, and the libraries. Second, there are additional libraries that are in .NET for doing various non-portable things on Windows (like writing Windows GUIs), for which Mono has made compatible libraries for non-Windows. Third, there are additional non-Windows things Mono has added. Some…

OpenJDK is real deal. It doesn't track "Oracle Java", it is other way around. You can get TCK under acceptable terms, Red Hat got it for IcedTea. You only can't release you source of your implementation under other license than OpenJDK (GPLv2) but that is fine for anybody except Apache. That was same with Sun, they also didn't want Java under BSD license (or ASL) and Oracle didn't change anything. They just sued Google, which Sun also wanted to do.

If Java was really not free, and if patent grant in GPLv2 really don't work, why then Oracle doesn't sue Red Hat over IcedTea? Jboss is killing WebLogic.

It is laughable to say that Microsoft giving estoppel support to Mono by not yet killing it, while Oracle actually distributing OpenJDK under GPL is not enough support for you. Java is not a problem at all, just don't use stuff like Harmony or Dalvik.

Also, Apache license don't really have strong patent grant (or at least not stronger than GPLv2). It doesn't apply to future patents, and it doesn't apply to things that are developed by some other contributor that is not patent holder.

What MS is doing is not opensourcing, they just dump code under ASL. That means their continued development is closed, and they file for patent affter they dumped the code. Any feature they add to their proprietary version might also be patented. So when someone else reimplement that feature and adds it to free version, Microsoft can still sue them. But if you patent something and release it under ASL, you give patent grant to proprietary forks too. So there is nothing stopping anyone for taking it proprietary, extending it, and then patenting extensions to exclude you.

GPL patent grant only applies to derivative works which obviously must be GPL too. So it is more fair. Problem with Apache is that they don't want GPL, but that is only ancient GPL vs BSD debate. OpenJDK is free as it gets, and .NET specification is solely controlled by Microsoft (and they only put some parts in ECMA but only "as is" with no other parties having a say), while Java at least have some kind of pretence of standard body, JCP.

Java is lot better choice than .NET and Mono. That said, I reduced the usage of Java (long before Oracle-Google case) and do mostly things like Ruby on Rails and pure C.

Re: Mono: What we are Cooking

#19
post #6

Earlier quoted context omitted.

That's a silly question to ask because while these companies may look and sometimes behave the same, their relationships with the community are different. Just as in real-life, the best way to tackle this is to: a) when trust is involved, and you got screwed, the first thing you do is to end any relationship you have with that person / company and tell your friends about it. This sends a clear message which forces ot…

Apache != open source Apache wants Java under ASL, Oracle/sun don't want competitors forking their code and making proprietary. That's why Sun chose GPL. No fine-print, just GPL. You can make 3rd party implementation based on OpenJDK and get TCK. Red Hat did it with Iced Tea.

    Oracle/sun don't want competitors forking their code and 
    making proprietary. That's why Sun chose GPL.
That's the biggest bullshit I ever heard.

And no, you can't make 3rd party implementations based on OpenJDK: the European Commission, when investigating the issue of MySQL being sold to Oracle, concluded that derivate works from GPL v2 licensed code are not protected from patents.

That's because the "implicit" patents grant in GPL version 2, while it may hold in the US, it wasn't properly tested in court, and it is too weak for the European Union.

Actually this loophole is the "raison d'etre" for GPL ver.3 (the other issues, like tivoization, appeared later). If SUN would have chosen the Apache License or GPL ver 3 (which was already available at that time) this wouldn't have been an issue.

Thank you for proving my point ;)

Re: Mono: What we are Cooking

#20

Earlier quoted context omitted.

Apache != open source Apache wants Java under ASL, Oracle/sun don't want competitors forking their code and making proprietary. That's why Sun chose GPL. No fine-print, just GPL. You can make 3rd party implementation based on OpenJDK and get TCK. Red Hat did it with Iced Tea.

Oracle/sun don't want competitors forking their code and making proprietary. That's why Sun chose GPL. That's the biggest bullshit I ever heard. And no, you can't make 3rd party implementations based on OpenJDK: the European Commission, when investigating the issue of MySQL being sold to Oracle, concluded that derivate works from GPL v2 licensed code are not protected from patents. That's because the "implicit" paten…

What EU said is irrelevant, because GPLv2's implied patent grant works different in different countries. _That_ was fixed by GPLv3, it is now hard-coded and works same across the globe. In US, it works similar but not 100% the same. Oracle filled suit in US, and they couldn't do it in EU anyway because there are no swpats in (most of) EU.

"If SUN would have chosen the Apache License or GPL ver 3 (which was already available at that time) this wouldn't have been an issue."

If Oracle changes OpenJDK license to GPLv3 today, that would make zero difference to Google Vs Orale case. Dalvik is ASL, not GPLv3. When you release something to GPLv3, you don't give patent grant to everyone and their mother. Only to licensees of your code, that is people that "convey" it (GPLv3 word for "distribute"), develop it, or use it in changed or unchanged form. Basically, patent license is granted under GPLv3 in a similar way copyright license is granted. Everything you can are allowed to do with GPLv3 code is covered. And that is pretty much same intent as GPLv2's, just that in some countries GPLv2 patent grant is not sufficient, due to law that requires license to be explicit. Some EU countries are like that, but not US, since there is practice of estoppel in US.

And since google avoided GPLv2 OpenJDK and made ASL'd dalvik, I am pretty sure they would do the same if license was GPL. So how would GPLv3 help google?

Now, Apache license has similar patent grant, except that Apache license allows proprietary forks. So it is still patent grant for those who use code and not whole world. It doesn't protect GPLv3 programs unless you incorporate code from ASL'd project in question. Except that everybody can take that code and take it proprietary, extend it, and patent extensions. Somehow, I think that is not that Sun wanted. I remember Jonathan Schwartz in 2005 (or so) saying that they don't want to opensource Java because of their previous experience with Microsoft. James Gosling said something similar recently, as the reason why they didn't go open sooner. So Java under ASL is something that Sun really didn't want to see, whether it be their Java, or reimplemented by Apache or Google. So I am really not all that surprised by this lawsuit. And I don't think OpenJDK is any less Free because of this. What is problem with OpenJDK are not patents, but control by Oracle. And Oracle's intentions are way harder to predict than Sun's, so I won't even try. I only can see that they have no plans of releasing Java under ASL or even letting anyone implement it under that license.

Please don't interpret this as support for Oracle suing Google or anything similar. I am just saying that OpenJDK is not legally problematic to use by anyone right now, which can't be said for Mono.

Mono has no patent protection other than small ECMA parts, and wording of Community promise is very explicit that nothing beyond those parts is covered. So it is very hard to pull estoppel defence for something that Microsoft never shown intent to license. And knowing Microsoft, they prefer extortion and intimidation, so they don't really need to go to court to seriously damage competitors.

Furthermore, it has been confirmed (by the Debian Mono packager) that even basic bits of Mono use non-ECMA namespaces, pretty much depend on them, and can't be separated to non-ecma without "serious surgery" (and Mono team don't plan on doing it). http://www.the-source.com/2010/12/on-mono-packaging/#comment...

It is also been proven that most popular Mono applications written use those non-ECMA parts extensively.

http://www.the-source.com/2010/12/mono-unsafe-at-any-speed/#...

So basically that means that Mono is not safe as it stands and it goes even further into uncharted territory as it develops. Despite proponents saying otherwise. And it is not better choice than OpenJDK.

Sorry for long post, and thank you for reading :-)

Post reply on HN