14 ms·
Mono Relicensed as MIT
- 0x0 11y agoThis should be good news for Unity3d, didn't they hold back on upgrading to modern mono versions for some sort of licensing issue?
- dietrichepp 11y agoThat could have even been a factor in the decision. Microsoft wants people to use C#, but one of the most popular C# platforms (Unity 3D) is stuck in the dark ages, so to speak. Even conservative enterprise .NET shops probably have better tooling and workflows than your average Unity developer starting a new project. At least Unity bundles Visual Studio these days.
- hacker_9 11y ago[deleted]
- pionar 11y agoCalm down, I think he was saying Unity. It's stuck on an old version of Mono.
- ChrisClark 11y agoThis thread is about Unity, so obviously he was referencing Unity as the popular C# platform that's been stuck.
- sunaurus 11y agoIf this thread WAS about Windows (and not Unity), I have a feeling that the steam hardware survey is not a good indicator of how many potential C# users are using Windows. Maybe something like the Stack Overflow survey would be better - http://stackoverflow.com/research/developer-survey-2016#technology-desktop-operating-system http://stackoverflow.com/research/developer-survey-2016#tech... 50% are Windows users according to that survey. Still a significant amount for sure, but not really the same thing as 95%.
- hacker_9 11y agoYes this is correct. The worst part is currently the mono version Unity uses has a 'stop the world' garbage collector, the worse kind for a game as at 60 fps allocations quickly add up and the game can constantly freeze frame. The hoops you have to jump through to work around this make for some ugly code.
- iamcreasy 11y agoSo everybody using Unity makes their games in a way so the GC never stop the game?
- jharger 11y agoYes, and it's a huge pain! We have to pool game object instances, and sometimes even have to attempt to force GC to prevent things from freezing every few seconds.
- yarou 11y agoThat's horrifying. Is there any way to disable the GC and manually manage memory? I don't remember if the C# spec supports this, because it's been years since I've written in it (and Mono didn't exist back then).
- jharger 11y agoSo there is... using the "unsafe" pointers and fixed keyword, etc. The Unity interfaces don't support that, though, so for things like dynamically updating textures and vertex data, you're pretty much stuck with GC.
- obsurveyor 11y agoYou "disable" the GC in Unity by never allocating anything new after initializing the game. It's a great learning experience to update code to this and it's practically required for mobile.
- vvanders 11y ago
- pjmlp 11y agoYes, they rather spend developer salaries implementing IL2CPP, which is still work in progress, instead of paying for new licenses. I do wonder if $developer_salaries < $Xamarin_licenses, specially taken into account most of the team is on Danish salaries.
- Gibbon1 11y agoI think about this and then think about what happens when you let a supplier drink of your milkshake. Which is when they use control of something you depend on to demand a share of your profits. It's worth money to not to be in that situation.
- iso-8859-1 11y agoAre you sure they are on Danish salaries? Isn't the most of the company in San Francisco?
- pjmlp 11y agoMight be, the point I was trying to make was that the cost per month for IL2CPP development isn't insignificant. Being US salaries in SF doesn't change that much.
- Sir_Cmpwn 11y agoDid this cause any problems for third party contributions to mono? Did everyone agree to have their work relicensed? There's well over 400 contributors to mono.
- gravypod 11y agoI hope they force sign offs of commits, otherwise they are going to be in the same boat as Bukkit was.
- kazagistar 11y agoPresumably a copyright assignment agreement covers this.
- migueldeicaza 11y agoMono was always designed to be dual-licensed, because we needed a way of monetizing the investment. Because of this, the LGPL and GPL portions of the code required either copyright assignments, relicensing rights, or the contribution to be made under the MIT license. This is how we built a business that allowed us to dual license the runtime for many years.
- Sir_Cmpwn 11y agoMakes sense. Thanks for clarifying.
- melling 11y agoWhat's the advantage of MIT vs CC Zero? Someone told me that I should use CC0 instead of MIT. https://creativecommons.org/publicdomain/zero/1.0/ https://creativecommons.org/publicdomain/zero/1.0/
- the_mitsuhiko 11y agoThey are completely different licenses. Read the text and decide on the license if you like it. CC0 is effectively the closest we have to international public domain.
- r3bl 11y agoI would argue that WTFPL[0] is also fairly close to being a public domain, right there next to CC0. Even FSF recognizes it as a valid (but not a recommended) license[1]. [0] http://www.wtfpl.net/ http://www.wtfpl.net/ [1] http://www.gnu.org/licenses/license-list.html#WTFPL http://www.gnu.org/licenses/license-list.html#WTFPL
- cmaher 11y agoThe difference being that large bureaucratic organizations need an army of lawyers to approve the use of open source libraries, and using a common license that is already understood (e.g. CC0) will result in a far smoother experience when the developers in that organization try to use anything to make their miserable lives a touch nicer. source: I have formerly lead one of the described miserable lives.
- DannyBee 11y agoNo, it isn't. It's so far from CC0 it's ridiculous. It has no explicit right grant at all, no disclaimer of warranties, blah blah blah blah blah. (i've been through all the issues before on hacker news)
- kuschku 11y agoNo, it isn’t. WTFPL isn’t even valid in lots of countries
- diskcat 11y agoStallman cries a single tear
- yarrel 11y ago...THE TEARDROP EXPLODES!!1
- cyphar 11y agoI actually sent him an email about this and asked for his opinion (as well as ask a few questions about CLAs in general). I'll post the response here if it's interesting.
- cyphar 11y agoHis response was fairly short. However, I learnt something I didn't know -- the FSF CLA actually requires that the FSF will always maintain your contributions under a copyleft license. They also provide recommendations on how to make contributions to projects that require CLAs (such as negotiating similar terms for the project). Here's the complete contents of his email: --- [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] This doesn't change my views on the general issue of assigning copyright to free software projects, which I stated in http://gnu.org/philosophy/assigning-copyright.html http://gnu.org/philosophy/assigning-copyright.html. There are sometimes good reasons for license changes. ---
- blainesch 11y agoDo they not need permission from the nearly 500 contributors to do this?
- r3bl 11y agoNot if they requested the contributors to sign the Contribution License Agreement (CLA) before accepting their changes. Or, the other way (although I can't guarantee that this is true) would be to choose a compatible license with the one they were using before. Compatible license scenario basically means that the license changes are small enough so that they don't have to request from people to agree with the change.
- jevinskie 11y agoAnd they do. I've seen their pull request bot block a merge many a time because of a lack of a signed CLA.
- cyphar 11y agoNo, because they signed CLAs. And this is yet another reason to not ever sign a CLA for a free software project. You never know if your code will become proprietary (especially if it is a copyleft license). Sadly, this is also why I'll never contribute to GNU projects.
- Spivak 11y agoYou're worried that a GNU project will relicense code in a way that allows proprietary software? I mean you're not wrong -- they technically could do that but you honestly expect them to?
- 15155 11y agoI will shit a brick if RMS ever betrays his ideals. It's almost unthinkable.
- cyphar 11y agoWell, it's more about what happens if something bad happens to the FSF? What if they get acquired and then $BigCo gets all of the copyright assignments. I don't believe that the FSF would betray people like that, but there may be situations where they don't have a choice.
- hacker_9 11y agoIs this an attempt by Mono to battle Microsoft's open source Roslyn compiler and upcoming cross platform '.net core' I wonder? Those two technologies could make Mono irrelevant in the future.
- Vespasian 11y agoNot very likely since Mono is developed by Xamarin which was recently acquired by Microsoft ;)
- nickpsecurity 11y agoI was worried they'd lock the stuff up more. This is a really, pleasant surprise.
- TelAviv 11y agoI sure hope so! I love .net, but we won't use Mono for political reasons (which are now complicated because of Microsoft's acquisitions.) But until De Icaza is no longer involved, we will not use it.
- jordigh 11y agoHm? Wasn't it already dual-licensed MIT and GPLv2? I guess they just got rid of the GPL option? What's the point if it was already dual-licensed? edit: Oh, I see. They used to sell LGPL exceptions for the library and GPL exceptions for the tools. I guess they have decided to stop selling exceptions and just give everyone an exception: https://web.archive.org/web/20150718093635/http://www.mono-project.com/docs/faq/licensing/ https://web.archive.org/web/20150718093635/http://www.mono-p... Seeing how they were already able to sell exceptions, they must have been sole copyright holders, so they should have no problem changing the license of everything.
- Vespasian 11y agoIt was dual-licensed LGPL and commercial Edit: The class libraries where in fact always MIT. The runtime however was not.
- grandalf 11y agoMIT is a more business-friendly license, but it also reduces the risk of lawsuits tremendously for companies who might decide to become part of the ecosystem for a project. Consider that Apple is still using the oldest GPLv2 version of bash on OSX. While this is a blow to Stallman's goal, I think it's a step in the right direction for broad corporate acceptance of the benefits of open source.
- valarauca1 11y agoGPLv3 has a lot of provisions concerning how companies may/may not litigate patients. Apple's legal strategies don't allow them to comply with those requirements.
- cyphar 11y ago> GPLv3 has a lot of provisions concerning how companies may/may not litigate patients. Apple's legal strategies don't allow them to comply with those requirements. In regards to the particular piece of software being licensed. The patent provisions are akin to a copyleft Apache 2. Since companies are very happy to use the Apache 2 to avoid lawsuits I'm (not) surprised that they don't want to extend the same protections to their users with the GPLv3.
- lottin 11y agoForget Stallman. It's basic human decency. If I benefit from someone else's work, the least I can do is let others benefit from my work as well.
- true_religion 11y agoI wouldn't say that's the least you can do. That's actually coming quite close to the most that would do. I think it's a little disingenuous for you to reframe Stallman's viewpoint as 'basic human decency' since it implies that anyone who disagrees isn't a decent human being.
- icebraining 11y ago
- systems 11y agoanyone care to explain the difference/relation between mono and the open source .net core are they the same thing / do they complete each other / do they overlap
- valarauca1 11y ago.NET is a run time much like Java. .NET largely only exists for Windows/OSX, or at least Microsoft Supported Platforms. Mono was started by Novell, later Ximian starting working on. The goal was to build a C# compiler and compatible runtime for all platforms (PS3, Xbox360, wii, Linux(SPARC/IA-64/x86_64/x86/PPC/MIPS/ARM), Mac, FreeBSD, Solaris, Android, and iOS). dotNETcore is the Microsoft implementation of .NET which supports OSX, Windows, Linux. dotNETcore vs Mono is more or the less same as OracleJVM vs OpenJVM (except they're both owned by the company). They use different JIT's. Microsoft built their own. Mono uses LLVM
- ZenoArrow 11y agoIt's also worth mentioning, even though there haven't been any official announcements, that it's almost certain that Mono and .NET Core will merge into one runtime, or more accurately .NET Core will continue the cross-platform work that Mono started.
- ChicagoDave 11y agoMono was not started by Novell. Miguel originally worked on his own with volunteers on a purely open source project. Miguel later pulled the mono dev team into Novell and started a commercial development side with SuseLinux. When that partnership was desolved, Novell gave everything to Miguel and he created Xamarin.
- joeshaw 11y agoMono was started by Miguel at Ximian, and most of the Mono code was owned by Ximian. Ximian was bought by Novell and with it, all the Ximian-owned Mono code. (I don't remember if a CLA was required before or after Novell bought Ximian.) The Novell-owned IP was either sold or licensed to Xamarin later.
- rdtsc 11y agoWith Oracle's Java lawsuits wondering if Microsoft has a chance to make a move and try to displace Java. It won't happen completely because it is the new COBOL but if they can deliver on performance and stability on Linux and other platform there might be a chance. Go is making progress there, but those that want a more mature type system will probably appreciate C# more.
- barrkel 11y agoC# is not different enough to Java to warrant the effort. There would need to be a killer differentiator, something only C# can do, and Java can't. Cross-platform including iOS might be it, but it's a bit of a stretch. I don't see C# displacing Java where Java is currently used in server-side development.
- heartsucker 11y agoLicensing could be enough alone. We're auditing everything we use for license issues because we don't have to get bit by the GPL and have to opensource all our proprietary software. Even if C# was noticeably worse (for some arbitrary definition or worse), if it had a more permissible license, that alone could draw people to it. (Note: I don't know anything about the Java / C# licenses. This is just talking in general.)
- jimktrains2 11y ago> get bit by the GPL and have to opensource all our proprietary software The tone here sounds very angry. You aren't "bit" by the GPL, you choose to participate in the usage of the license and the community of code that comes with it. It's not some unknown, nasty thing you need to constantly defend yourself against (as implied by "being bit" like it's a dog you need to watch out for everywhere). "We're auditing everything we use for license issues because we activly choose not to participate in the GPL community and would rather abuse and profit from other people's good will" is closer to realitiy
- 11y ago
- cm3 11y agoSo the plan is hopefully to eventually converge and leave just a couple few feature differences with the open CLR, right?
- migueldeicaza 11y agoCorrect, there are many areas where we can converge, and we have been working on that for the last year and a half.
- cm3 11y agoOff-topic, but knowing that Nat and you met (from what I recall) while interviewing for a position in Redmond and then went off to create GNU's COM (GNUNetworkObjectModelEnvironment) which became a desktop, what is it like landing at Microsoft after all those years? Final destination?
- migueldeicaza 11y agoNat and myself knew each other for a couple of years before that. It is only that we first met in person for the first time when he was an intern, and I was interview for a position on the IE team at the time. We are joining a new Microsoft, with a team that is highly energized to give developers the tools they need and in particular, we are happy to be joining forces in their development efforts for .NET. With .NET Core about to be launched, there has never been a better time to get into C# and F#.
- X86BSD 11y agoToo little to late? Maybe when mono first hit, using a 2 clause BSD would have helped them win share. But now? I don't see anyone switching now because they switched to a free'er license. You either liked using it before because of the lgpl or you smelled the lgpl and ran away to use something else. At this point in the game I don't think it matters much.
- coldtea 11y agoWhat point in the game? Mono now has all the benefit of recent MS open sourcings of their core libs, compiler, and several Xamarin tech -- it didn't have all those before. The license change is just an added cherry for companies.
- ZenoArrow 11y agoC# is one of the most commonly used programming languages, I'm not sure where you're getting this "too little, too late" narrative from.
- giancarlostoro 11y agoI think this is great, I wonder if this means Microsoft is going to (I'm not sure if they already do and have) contribute directly into Mono itself, which would be really fantastic to finally see Mono support more of .NET's core features. I would love to see the day where I could compile a C# (or potentially VB.NET / C++/CLR) application on any OS with Mono available to it, just as I can on any machine with Visual Studio / .NET available to it. Then we could see a serious competitor for Java. .NET already has things like NuGET which would be amazing to see all those projects just run on Linux without effort.
- amag 11y agoI think (L)GPL has reached a point where in most cases it is self-defeating. It does not encourage adaption in the same way for example MIT does. This means that copy-left becomes a moot point. Open-source is happening (just look at Microsoft for example). But it's happening not so much thanks to GPL, but rather despite it, out of the realization that we all have something to gain by sharing. IMHO GPL hinders sharing because it puts a lawyer between the developer and the code.
- tracker1 11y agoGPL prevents someone from using/enhancing your software in a closed fashion.. MIT does not... In the end, it depends on the goals, and usefulness of your project, and how it's used and distributed.
- cyphar 11y agoGPL doesn't hinder sharing. GPL hinders proprietary software. Now, if you don't believe in the morals behind the free software movement, then you might decide that hindering proprietary software is hindering "sharing with companies". It's a very odd kind of sharing to give something to a company and they make it proprietary so they don't give anything back and end up also mistreating their users.
- yazaddaruvala 11y agoFor the record, I don't disagree with your message, I'm just trying to potentially help you get your point across better. An analogy to the above comments: "GPL hinders sharing" - "GPL doesn't hinder sharing. GPL hinders proprietary software" "Religion causes death" - "Religion doesn't cause death. Religion endorses life." When discussing highly biased points. It is always wiser to be able to acknowledge that even your bias, is the cause of some sorrow. However, despite that, it is still worthwhile. I appreciate your passion for the free software movement. But remember that in any conversation you do yourself and your position a disservice by brushing off practical criticisms for theoretical ideals.
- amag 11y agoA bit late maybe, but GPL does not only hinder proprietary software, it also prevents the use of a more permissive license, such as MIT. Personally I would never GPL any of my code because of this. I prefer a more permissive license (such as MIT or similar) but that also means I cannot put GPL code inside my code. So whenever I see GPL:ed code, whether for private (open-source) purposes or business (proprietary, closed-source), I steer clear. So if I'm not able to use the code for any purpose, does that not mean that sharing is hindered? Btw, I never said I don't believe in the morals of the free software movement, I just said I don't believe GPL is the way forward. GPL is idealistic but not very pragmatic. Open-source is the future and (ironically) a lot of big (traditionally closed-source) companies are paving the way.
- rubber_duck 11y agoDoes this include Moonlight project ? I would love to try to hack on that to try to get a cross platform GUI toolkit that's similar to WPF. Silverlight was a great peace of tech with a ton of stuff developed for it (widgets, testing tools, libraries, etc.) having that as a cross platform GUI framework that works on windows/linux/mac and ios/android/wp would be amazing and is doable - for simplicity you could strip out the codec parts, DRM and stuff like that, implement rendering on top of OpenGL ES and do platform specific input handling. LGPL kind of makes phones a no-go so I would like to see if it's also covered in this switch before spending time on it.
- Gorkys 11y agoCould I suggest you take a look at my project, Perspex?https://github.com/Perspex/Perspex https://github.com/Perspex/Perspex - it sounds like it ticks your boxes and we're always in need of contributors!
- migueldeicaza 11y agoIt does not include Moonlight, we do not have the rights to relicense that. The rights for Moonlight stayed at Novell.
- rubber_duck 11y agoA shame :( I wonder what your thougts are on this - personally ofc. - you probably thought about it at some point given your work on moonlight and xamarin. Even the MS implementation was ported to osx, you could strip codec/DRM stuff - you could get a fully featured GUI toolkit native to .NET - a lot of work went in to that before Microsoft pulled the plug - now that it's laying dead and new MS OSS trend it doesn't seem that far fetched that they could OSS it.
- mhd 11y agoNeat. C# looks more attractive day by day. Is there a decent non-commercial AOT compiler for it (I know that Mono has one, but not sure whether it's any better than GCJ was)?