42 comments

[ 3.0 ms ] story [ 50.2 ms ] thread
Because that chunk of stuff is from http://www.java.com/js/deployJava.txt

And apparently Oracle slaps "ORACLE PROPRIETARY/CONFIDENTIAL" on everything.

Facebook will gladly throw in a copyright notice if it means avoiding a costly lawsuit: http://www.computerworld.com/s/article/9193538/Oracle_Google...

Oracle are not very nice when it comes to Java licensing. Just ask Apache.

This has nothing to do with Java licensing, it's a piece of javascript to detect whether you have Java installed or not.
I think someone else pointed this out, but the Oracle license is included because the javascript references [http://www.java.com/js/deployJava.txt].

From the comments in the reference:

* deployJava.js

*

* This file is part of the Deployment Toolkit. It provides functions for web

* pages to detect the presence of a JRE, install the latest JRE, and easily run

* applets or Web Start programs.

i e Sun/Oracle own the code Facebook is using.

Outside of the line about proprietary/confidential, it is a standard 3-clause (no ad) BSD license they are using - so I don't know why they need that line in there.

That is probably the only interesting part of this story.

(comment deleted)
What is also interesting (or is that scary?) is that some people reading HN can't tell a BSD license from a custom proprietary copyright notice.
I think the problem is the "proprietary" conflicting with the notion of a BSD license.
Believe it or not but BSD or GPL licensed code remains the copyright holder's property.

If it didn't no licensing terms would be applicable and it would be called Public Domain.

Proprietary Software as coined by the FSF is merely a language abuse.

I'm not a techie. I couldn't tell you what a BSD licence is exactly, but I'm aware of the differences, and reasons for choosing between them.
What's also interesting is that some people reading HN cannot tell the difference between << public domain >> and << BSD licensed >>.

It's as if just because it's BSD we are talking about, you can break those 3 conditions at will. Not surprising actually, since some Linux kernel devs have also been doing it.

Well, you wouldn't want to release anything into the public domain and I don't believe any sane developer ever has.

As far as license violations are concerned, this is not a problem solely limited to the BSD as there are oh so many cases for the GPL as well for example.

In my experience, I'm much more keen to include a notice about the folk who wrote that piece of software than complying with the GPL (although I always do). For example, let's say you want to strip down an ERP web-client so that mobile devices can actually use it. That's a quick and dirty 1 hour patch to render the software minimal. If the software is under the GPL, you must publish your changes. Knowing that your dirty patch will be obsolete in a 2 weeks time and that nobody will ever actually look for it.

Well, I'm all for freedom.

> If the software is under the GPL, you must publish your changes.

This is only true if you distribute a binary of the patched code. If your patching on the server side there is no requirement to publish your patch (hence why the Affero GPL was invented, it closes this loophole).

This is an important point that I think a lot of people don't understand.

Even respected people in the technology world don't recognize that the GPL is not a use license.

In our case, the 'changes' would be installed on a customer's server in their office.

But you're actually totally right.

There's an interesting lawsuit (still ongoing AFAIK) involving Free, a French DSL provider. They distribute a router (those are referred to as Box in marketing terms in France) with interesting features and based on Linux. They also include many other FOSS.

It turns out they modified parts of those software (I have no idea which exactly) and are being prosecuted based on the fact that their devices, distributed to customers, include those modifications. They argue that they lend the Boxes to customers but those remain their property.

While arguing about the lawsuit with a fellow, I realized he had no idea about what the GPL actually contained.

Well, you wouldn't want to release anything into the public domain and I don't believe any sane developer ever has.

D. Richard Hipp and everyone who has ever contributed to SQLite are insane, in your opinion?

The public domain isn't a terrible choice when thinking about how and if to license your software, and is arguably the only incontestably ethical choice.

I disagree for the simple reason that some countries do not recognize the public domain, so people in those countries cannot use your code at all, without risking legal problems.
+1

I should have made clear that by 'sane' I meant anybody who cared about the responsibility that comes with intellectual property. Can't find the reference, it turns out that by releasing something in the public domain you give way for prosecution in case of bugs and other nasty use of your software.

Well, you wouldn't want to release anything into the public domain and I don't believe any sane developer ever has.

That must mean that Tim Berners-Lee, djb, aaronsw and plenty of other good devs are insane. See the list of public domain software and how to handle the 'unlicense license' here:

http://unlicense.org/

(public domain makes a lot of sense and I am considering it for my next project. atm my pref is 3-clause BSD simply for attribution and the no ad policy.)

According to the link in the copyright header (http://www.java.com/js/deployJava.txt)

"This file is part of the Deployment Toolkit. It provides functions for web pages to detect the presence of a JRE, install the latest JRE, and easily run applets or Web Start programs."

And is probably used for their Java-based image uploader.
(comment deleted)
(comment deleted)
It looks like Facebook didn't strip out the copyright since it says "Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer."

It is also clearly a file that is supposed to be used outside of Oracle, the following comment states (at http://www.java.com/js/deployJava.txt): "You are encouraged to link directly to the live copies."

The real question is why it appears twice after being packaged.

Skimmed through the js code after loading it into http://jsbeautifier.org. Looks like it may be used to load java applets.

(edit) Looks like Facebook is using the Java RIA framework, http://download.oracle.com/javase/6/docs/technotes/guides/jw...

I remember they used to (and as far as I know still do) use a java applet to bulk upload pictures to photos.

It lets you pick multiple pictures from a directory on your hard drive, rotate them if you need to, and then I believe it does some compression before finally loading them up

They used to have an applet by Augrima. I bought the same one. It works well and doesn't use flash.
Most likely the same reason why they are going after Google as the new owner of java, because up until they owned sun microsystems, it was in their best interest to support open source. In the aftermath of purchasing Sun, they think its best to become a patent troll.

I hope we see some more karmic justice and Google rips Oracle a new one.

that has nothing to do with Facebook using BSD licensed javascript from Oracle
Sorry, I skimmed the license and assumed it was a paid license, not BSD.

And btw the Oracle snippet is there referencing Java, not javascript.

http://www.java.com/js/deployJava.txt

    This file is part of the Deployment Toolkit.  It provides functions for web
    pages to detect the presence of a JRE, install the latest JRE, and easily run
    applets or Web Start programs.
It's not really a secret is it? Considering there is a link to a very readable source file...
I wonder how much that costs them, must be a fortune.
To the folks downvoting, the following is from Facebook's Front End Tech Talk:

  /**
  * Adding a single line to this file requires great internal reflection
  * and thought. You must ask yourself if your one line addition is so
  * important, so critical to the success of the company, that it warrants
  * a slowdown for every user on every page load. Adding a single letter
  * here could cost thousands of man hours around the world.
  *
  * That is all.
  */
http://www.slideshare.net/makinde/javascript-primer Slide #47
That comment is in Primer which is a very small piece of JavaScript loaded at the beginning of every page.
As a number of other people have pointed out, we (I'm an engineer at Facebook) use http://www.java.com/js/deployJava.txt which Oracle has released under the BSD licensed. One of the requirements of the license is that their copyright header is preserved when distributing the source code.