Why is there an Oracle copyright in the middle of a Facebook javascript?(static.ak.fbcdn.net)
static.ak.fbcdn.net
Why is there an Oracle copyright in the middle of a Facebook javascript?
http://static.ak.fbcdn.net/rsrc.php/zH/r/mCiGamyeLXU.js
12 comments
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.
That is probably the only interesting part of this story.
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.
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.
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.
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.
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.
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.)
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.)
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.
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.
+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.
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.
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.
> 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 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).
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.
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.
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.
Even respected people in the technology world don't recognize that the GPL is not a use license.
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.
[deleted]
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.
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.
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.
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.
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 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.
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.
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."
"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.
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 #47That comment is in Primer which is a very small piece of JavaScript loaded at the beginning of every page.
Thanks, did FB ever release anything more from Primer?
https://gist.github.com/376039
Or is this it? I didn't see the comment.
Or is this it? I didn't see the comment.
The Javelin JS framework used for Facebook Lite.
http://www.javelinjs.com/
http://www.javelinjs.com/
That it is, it just excludes the comment at the header. It has actually changed a bit since then, but that is still pretty much it.
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...
(edit) Looks like Facebook is using the Java RIA framework, http://download.oracle.com/javase/6/docs/technotes/guides/jw...
> Skimmed through the js code after loading it into http://jsbeautifier.org ...
If on Chrome, check out the prettyprint extension, which uses the same jsbeautifier code to do it auto for ya. https://chrome.google.com/extensions/detail/nipdlgebaanapcph...
If on Chrome, check out the prettyprint extension, which uses the same jsbeautifier code to do it auto for ya. https://chrome.google.com/extensions/detail/nipdlgebaanapcph...
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
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.
At least when it comes to Java, I urge everyone to get out of the trap : http://www.gnu.org/philosophy/java-trap.html
Could you please read the very first paragraph of what you posted?
[deleted]
[deleted]
It's not really a secret is it? Considering there is a link to a very readable source file...
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.
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.
And btw the Oracle snippet is there referencing Java, not javascript.
And apparently Oracle slaps "ORACLE PROPRIETARY/CONFIDENTIAL" on everything.