6 ms·
Microsoft releases F# under Apache 2.0 license
- gphil 16y agoThis is a good move. With Java under Oracle's control, Microsoft has a lot to gain by embracing open source licensing.
- aphexairlines 16y agoDoes the Apache license include patent licensing? Java is open source too.
- equark 16y agoYes.
- deleted 16y ago[deleted]
- ntoshev 16y agoRemember this only applies to the F# compiler and not to the .Net runtime which you need to run the compiled code. Microsoft is friendly with Mono currently, but so was Sun with Android.
- nailer 16y ago> Java is open source too. I don't think that's correct. AFAIK there's no certified OSS Java. And if it isn't certified, it can't be called Java. It would be correct to say there's Open Source 'Java compatible' environments.
- riffraff 16y agoopenjdk is not certified java? I know harmony did not get a tck but it seems unlikely oracle is not letting their own developers use it.
- nailer 16y agoI'm not sure to be honest. The actual JRE based on OpenJDK has additions to the code according to http://openjdk.java.net http://openjdk.java.net. I couldn't find anything called 'Java' that wasn't this code. The OpenJDK FAQ is of course 404ing. Thanks Oracle.
- Tamerlin 16y agoOnly OpenJDK is open source. Other than that, Java is closed -- and to certify a Java implementation, you have to pay a license fee, which not the case for .NET. IMO were it not for the Oracle acquisition, it would be a matter of time until Java were fully open sourced, but with Oracle in charge now I suspect that it's not going to happen.
- SoundLogic 16y agoJava is closed for commercial use under the terms of the GNU - did anyone notice how the press picked up on the story then it completely vanished from the news? ...guessing a gag order was issued
- kamechan 16y agoagreed. excellent move on their part. not to mention that i'm continually impressed by what the folks at MSR put out. some smart folks, those ones. i've always found it odd that the environment there seems so contrary to that in redmond. i guess that's marketing for you. now if they'd only do the same for the .net framework. i'm uncertain about java's future myself as are many of my friends who have invested a lot in their companies' solutions thinking that java would remain fairly OSS and are now scratching their heads. i guess MS sells enough server and DB licences that my hopes that they'll do the same for the rest of the .net framework will remain just that. it'd be nice if they at least sanctioned the mono folks and gave them a roadmap. living under the threat that microsoft could probably swoop in and put an end to their fun doesn't make me want to use mono. that said, i generally like the .net framework (and specifically c#) more than the alternatives in the managed/oop realm. but i'm out of the loop on the status of mono, as i rarely develop in managed/oop code these days. has there been any official acknowledgment/condoning of the mono project by MS?
- aaronbrethorst 16y agoMiguel de Icaza has spoken at past MIX conferences fwiw.
- kamechan 16y agoworth a bit, actually. a letter from ballmer (or gates) saying, "dude, nice work" would be even better. :D
- kamechan 16y agoon this subject, just went watch some netflix on my maverick meerkat install (on a macbook) and clicking on "install silverlight" on a microsoft site redirected me to the "mono moonlight" project. if that's not acceptance, i don't know what is. EDIT: sadly, netflix won't let me watch movies without win or mac (silverlight plugin notwithstanding).
- ntoshev 16y ago
- ntoshev 16y agoTo run F# you need .Net runtime, which is as closed as it can be. It's like Sun open sourcing the Java compiler but not the JVM.
- MichaelGG 16y agoI guess you haven't heard of http://mono-project.com http://mono-project.com. The F# team tries to ensure it works well on Mono, and the same for the Mono team. On top of that, the specifications for the CLR are standardized.
- face 16y agoKind of like how I cannot watch netflix on my linux machine, despite mono and moonlight?
- tedunangst 16y agoI don't think you have presented convincing evidence that the root cause of that is not "there are bugs in mono".
- pufuwozu 16y agoThe DRM technology is the only part of Silverlight that isn't licensed to Moonlight.
- scalyweb 16y agoGreat News! Mono here we come...
- DanielBMarkham 16y agoJust got through installing Ubuntu. I expect to see some really good software come out of this. I think Microsoft bought a lot of goodwill with the community with this move.
- irahul 16y agoAny ideas why the compilation is so slow? Compiling a simple "Hello World!" takes a noticeable amount of time on my reasonably well endowed laptop(i5, 4GB ram). Is it slow just on linux/mono or that's the case on windows as well? Other than the compilation time, all else seems well. I was following "Programming F#" and didn't run in any blockers on selective examples I tried. Once compiled, the performance is reasonable.
- pufuwozu 16y agoThe compiler and interpreter aren't pre-compiled. Use the --resident flag - it will keep the F# compiler running as a service.
- alex_muscar 16y agoThanks for the tip, the slowness of the F# compiler under mono was bugging me too.
- pufuwozu 16y agoIt already runs under Mono - though, a few parts are a bit buggy. The release comes with a script to install it on Mono: http://fsharppowerpack.codeplex.com/SourceControl/changeset/view/53135#970140 http://fsharppowerpack.codeplex.com/SourceControl/changeset/...
- tomasp 16y agoThere is actually an F# package for Mono (Linux/Mac) already: http://fsxplat.codeplex.com/ http://fsxplat.codeplex.com/ Although, the current release of F# has some bugs when running on Mono - open source release opens some cool possibilities :-)
- rbanffy 16y agoThat makes me believe there is no protection against contributor patents in the Apache 2.0 license... At least they won't sue you if you use it under Windows.
- equark 16y ago3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
- rbanffy 16y agoThanks. I stand corrected. It's good to know Apache is patent-safe. Sorry for those offended by my doubts.
- sid0 16y agoYou post uninformed crap like this, then complain about being downvoted for anything "negative against Microsoft": http://news.ycombinator.com/item?id=1800507 http://news.ycombinator.com/item?id=1800507
- mfukar 16y agorbanffy is anti-Microsoft, and doesn't waste a second in making it known. It's no use trying to reason or discuss with him about this - others have tried.
- MichaelGG 16y agoDoes it mean anything in particular that they chose the Apache 2.0 license? Their previously public plans were to use MS-Pl.
- luffy 16y agoThe newer projects on the MS backed OuterCurve.org (formerly Codeplex.org) all use either an Apache or BSD license. I suspect two reasons for MS accepting the Apache, BSD, and MIT licenses: 1) the terms of those license are not very onerous and let the end user pretty much do as they will. This is very important to a company like MS that has a lot of code and needs to be paranoid about subjecting themselves to patent suits. 2) Joe Briefcase has no idea what-so-ever what the "MS-PL" license is - no name recognition at all. The Apache/BSD/MIT licenses have been around so long and are so commonplace that they are generally acceptable to most everyone, and most developers shouldn't have a problem using one of those licenses.
- bad_user 16y agoApache2 is not in the same league as BSD and MIT. It includes an explicit patents grant, versus GPL v2 which doesn't. It's a strong license overall.
- davidw 16y ago> Apache2 is not in the same league as BSD and MIT From the point of view of a company looking to release proprietary products utilizing the licensed code, though, it's similar to BSD/MIT in a good way: you can do it without problems.
- rbanffy 16y agoPlus, as it was pointed out, the patent grant prevents them from coming after you later.
- 8ren 16y agoJava is Oracle stack, C# is MS stack, objective-C is Apple stack. Is there an opportunity for an open language with similar VM ease-of-use/performance tradeoffs - or is hardware now fast enough for the ease/speed of dynamic languages to fill that gap (Python, Ruby, Javascript, ...)?
- scalyweb 16y agoI was under the impression this was/is going to be one of the side benefits of the Parrot VM. Updated to add: Directly from the Mono Project website "An open source, cross-platform, implementation of C# and the CLR that is binary compatible with Microsoft.NET" Now with F# on Mono...great things!
- SkyMarshal 16y agoHaskell, Ocaml, and Scala? All are open languages, cross platform, and first two at least are Free. And Scala runs on both the JVM and .NET, covering all three platforms. Is that what you meant?
- riffraff 16y agoI believe by "haskell" you may mean "ghc"
- edwtjo 16y agoWhy? "Haskell" also works on hugs,yhc,uhc,... http://www.haskell.org/haskellwiki/Implementations http://www.haskell.org/haskellwiki/Implementations Most implementations are BSD/GPL Licensed. Haskell itself (thinking of Haskell Prime, Haskell98) is a research/community driven project and, as such, open/transparent. For GHC there is even an intermediate format allowing you to run your code on stuff like llvm.
- vegai 16y agoghc is the only industrially viable choice at the moment, though.
- ericflo 16y ago"After some discussion, we’ve decided to do this via a “code drop” model..." They lost me here.
- luffy 16y agoThey can't afford to do otherwise. Accepting community contributions will increase the MS surface area for copyright/patent infringements. The F# team is mostly a research outfit - they aren't going to vet patches.
- GICodeWarrior 16y agoWhat is the main value then?
- bad_user 16y agoWhen Microsoft decides to no long work on F# anymore, somebody else can continue to work on the project. As it happens right now with IronPython / IronRuby. I.e. it is just a promise that even if F# isn't receiving the same support as C# is, you have a safety net (kind of).
- pufuwozu 16y agoValue comes from the ability to tweak or change the language if necessary, for your application. A permissive license means you're less locked into the vendor (Microsoft).
- MichaelGG 16y agoI've been using F# for a while. The main benefit I've had from having access to the source is being able to figure out exactly how things work. A _lot_ of F#'s "magic" is in libraries written in F#, and the source to those is very clear and easy to navigate and figure out. The compiler is of course more complex, but the few times I've wanted to figure out a specific issue in the compiler that the F# language spec didn't explain, it's come in handy. This also holds true for the .NET Framework class libraries. Visual Studio can automatically step into the source while debugging. This has saved me tons of time.
- keyle 16y agoAre we getting any closer of developing .NET / WPF apps on Mac? (Wishful thinking, shameless cry)
- petercooper 16y agoSorry if I've misinterpreted your question as I'm not big on .NET but there are full, commercial OS X apps developed in C# on Mono: http://thread.gmane.org/gmane.comp.gnome.mono.devel/35827 http://thread.gmane.org/gmane.comp.gnome.mono.devel/35827 .. an interesting hackaround to get a "native" interface though.
- windsurfer 16y ago.NET? Mono works... but good luck finding anything close to WPF.
- equark 16y agoI think you're looking for the MonoMac project. It's doubtful that you want to develop actual UI using WPF. Binding to native widget will give your app a much more integrated feel. http://www.mono-project.com/MonoMac http://www.mono-project.com/MonoMac
- fiveo 16y agoI read a few articles yesterday regarding WPF/Silverlight and politics inside Microsoft written by ex-Silverlight Product Manager: http://www.riagenic.com/ http://www.riagenic.com/ (Check the blog section) Hopefully that can give you some idea what the future will hold for WPF.
- deleted 16y ago[deleted]
- equark 16y agoIt's interesting how the F# team is pushing F# to be the language for data-rich programming. Their Type Provider concept looks promising, but some of their demos still are comically difficult coming from a R/Matlab/Python style of data-rich programming. Of course coming from C#/Java it all looks amazing. But I don't quite see how F# replaces R or Matlab, even with library support. Performance alone seems dubious value proposition, since packages like Jacket for Matlab make most computations extremely fast. Anybody have experience where demand for strongly typed language is really needed for data analysis tasks?
- chc 16y agoI think the pitch is that F# is halfway to Matlab without losing general programming power — a best of both worlds kind of thing.
- sliverstorm 16y agoYeah, Matlab seems to be pretty useless if you want to do anything besides pure math. I mean, that's really all computers are at the core- math- but you know what I mean.
- konad 16y agoAt their core, computers are boolean logic, not arithmetic. Ironically, math is one of the things they are bad at, they are just quick.
- Raphael 16y agoI'd say computers are more applied math than pure math
- gaius 16y agoMathematica is more oriented towards pure maths (e.g. symbolic maniplation) and MATLAB more towards applied (numerical methods).
- 16y ago
- mfukar 16y agoFirst IronPython & IronRuby (http://news.ycombinator.com/item?id=1833772 http://news.ycombinator.com/item?id=1833772 ) and now this. I have to say, Microsoft is (or seems to be, depending on your philosophical disposition) increasingly embracing FOSS, and that's a very good move not only for them, but also the community.
- konad 16y agoOr using the dumping of stuff they don't care about to gain positive press from people who will never use them.
- rbanffy 16y agoRemember they once ignored the web.
- mfukar 16y agoYou're not implying that nobody uses F# or IronPython, right? That aside, I'm not in a position to know their motivation behind it, I can only say it's a good move for the FOSS community.
- konad 16y agoNo, I'm not implying that at all. I don't doubt they are good products.
- gaustin 16y agoI wonder what it would take to remove the dependency on the .NET runtime. Could anyone with relevant experience and knowledge comment?
- chollida1 16y agoIt could be done but it would be quite the undertaking. The compiler generates il. The basic container types wrap .net types. Alot of the built in methods and power pack methods call out to .net methods. Many of the new features rely on new clr features, such as async. Other platforms, jdk, probably offer similar functionality but to port it would be a case of having everything broken for some time until you could get the compiler and built in methods and containers ported over.