Sadly, this has facebook's new, horrible patent clause.
For those who aren't aware, it says
1. If facebook sues you, and you counterclaim over patents (whether about software or not), you will lose rights under all these patent grants.
So essentially you can't defend yourself.
This is different than the typical apache style patent grant, which instead would say "if you sue me over patents in apache licensed software x, you lose rights to software x" (IE it's limited to software, and limited to the thing you sued over)
2. It terminates if you challenge the validity of any facebook patent in any way.
So no shitty software patent busting!
DannyBee, I'm having a hard time envisioning what sort of scenario might trigger this, and what the repercussions might be. Any chance you could explain?
As long as you're doing your training offline and shipping the resulting learned models, I don't see this is a big risk. If you're planning on shipping software that can learn online, then sure, use something else for that, or ask for a better deal from FB.
I wonder what would happen if every company offered patented algorithms under these terms. Still wouldn't stop patent trolls, I'd guess.
As I read it is basically says you can use Facebook's patents unless you turn around and sue them in which case the deal's off. I'm not sure it's that awful - I mean how many companies are planing to use Facebook's patents and then sue them?
I appreciate that Facebook open-sources their libraries, but they have an awful habit of dumping source code on Github and then continuing to develop it internally without pushing those changes back out.
For example, Facebook open-sourced Thrift, then proceeded to develop it internally, and recently released out a fork of thrift, not merging anything back into the original tree.
Likewise, they open-sourced Corona a few years ago, their Hadoop fork, and I'm pretty sure that branch has been abandoned too.
So I'm really hesitant to start using any projects out of Facebook unless they develop some processes to actually maintain these projects.
Agree that their stewardship has been lacking (especially in comparison to say Apache, Docker, etc), but for research code this is a pretty nice release in terms of the scope of problems solved. For research it's more important to have an implementation of what worked (and what /didn't/) than a polished solution + well-kept community because a lot of the current code will probably get thrown away eventually anyways. The service here is research done rather than software provided.
Too bad it is Torch. Working in the lua environment is not enjoyable at all. Every error becomes a long procedure of looking deep into the source of the framework since there is no type information or stack traces to go off whatsoever. You are constantly guessing about the shape of the data or what parameters are supposed to look like.
there's clear and well stack-traces at the lua level. there's great debugger (in fblualib, called fb.debugger). there's an inbuilt profiler into LuaJIT. too bad you've had a bad experience.
This paper describes one part of the fbcunn release (the fast convolution layers implemented via FFT, with the source available at https://github.com/facebook/fbcunn/tree/master/src/cuda/fft). There's a lot more in fbcunn if you want to check it out.
We've been using Torch for a while at work, really appreciate Facebook doing this. Some of us had a hard time adjusting to Lua, but it was well worth it.
I'm curious what your team experience was with Lua.
IIRC, Lua is even more liberal than Python in that if you mistype a variable name, it will silently give you 'nil' rather than throwing an exception.
Also, the prototype system is a little wonky. It seems overly flexible and makes you do too much work yourself, which would make it hard on a large team all getting started at once.
If Torch gets popular I wonder if something like TypeScript or Facebook's own Flow would start to make sense.
[+] [-] DannyBee|11 years ago|reply
For those who aren't aware, it says
1. If facebook sues you, and you counterclaim over patents (whether about software or not), you will lose rights under all these patent grants.
So essentially you can't defend yourself.
This is different than the typical apache style patent grant, which instead would say "if you sue me over patents in apache licensed software x, you lose rights to software x" (IE it's limited to software, and limited to the thing you sued over)
2. It terminates if you challenge the validity of any facebook patent in any way. So no shitty software patent busting!
[+] [-] jawns|11 years ago|reply
DannyBee, I'm having a hard time envisioning what sort of scenario might trigger this, and what the repercussions might be. Any chance you could explain?
[+] [-] bitL|11 years ago|reply
[+] [-] jongraehl|11 years ago|reply
I wonder what would happen if every company offered patented algorithms under these terms. Still wouldn't stop patent trolls, I'd guess.
[+] [-] tim333|11 years ago|reply
[+] [-] mcintyre1994|11 years ago|reply
[+] [-] swatow|11 years ago|reply
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] bpodgursky|11 years ago|reply
For example, Facebook open-sourced Thrift, then proceeded to develop it internally, and recently released out a fork of thrift, not merging anything back into the original tree.
Likewise, they open-sourced Corona a few years ago, their Hadoop fork, and I'm pretty sure that branch has been abandoned too.
So I'm really hesitant to start using any projects out of Facebook unless they develop some processes to actually maintain these projects.
[+] [-] choppaface|11 years ago|reply
[+] [-] peterhunt|11 years ago|reply
[+] [-] tdaltonc|11 years ago|reply
https://github.com/facebook/planout
[+] [-] amelius|11 years ago|reply
> We hope that these high-quality code releases will be a catalyst to the research community and we will continue to update them from time to time.
[+] [-] nightski|11 years ago|reply
[+] [-] smhx|11 years ago|reply
[+] [-] vonnik|11 years ago|reply
they just partnered with canonical: http://insights.ubuntu.com/?p=9373
[+] [-] vonnik|11 years ago|reply
[+] [-] publicfig|11 years ago|reply
[+] [-] ghayes|11 years ago|reply
[+] [-] contingencies|11 years ago|reply
[+] [-] ajtulloch|11 years ago|reply
[+] [-] technologia|11 years ago|reply
[+] [-] chubot|11 years ago|reply
IIRC, Lua is even more liberal than Python in that if you mistype a variable name, it will silently give you 'nil' rather than throwing an exception.
Also, the prototype system is a little wonky. It seems overly flexible and makes you do too much work yourself, which would make it hard on a large team all getting started at once.
If Torch gets popular I wonder if something like TypeScript or Facebook's own Flow would start to make sense.
[+] [-] muser|11 years ago|reply
[+] [-] Houshalter|11 years ago|reply
[+] [-] UXDork|11 years ago|reply
[+] [-] raverbashing|11 years ago|reply
Secondary goals might be: Spam detection and extracting info from the graph/pictures, etc
FB identify people from your Social Graph in Pictures, for example
[+] [-] anantzoid|11 years ago|reply
[+] [-] frik|11 years ago|reply