licensing information is hard to find and unclear
Reported by Carl Witty | July 20th, 2010 @ 04:37 PM
It's very difficult to figure out what license SceneJS is distributed under. When you download SceneJS, there's no license file, and there's no copyright block at the top of scenejs.js. Doing a recursive case-insensitive search for "license" through the unpacked download reveals that both identical copies (!) of the Seymour plane are licensed under the SCEA Shared Source license, and that some section of scenejs.js is licensed under "a BSD-style license that can be found in the LICENSE file". (There's no way to tell how much of scenejs.js is under that license, and the LICENSE file is not shipped as part of the download.)
Then I looked at the web site. The front page has a "licenses" link that leads to your git repository, which lists the GPL and MIT licenses. OK; in my experience, if a project's source tree has multiple license files, that usually means that some files are licensed under one license and some under the other, with markings (copyright notices in the files, README files in directories, etc.) that explain which code is under which license.
So, let's try again with the recursive case-insensitive search for "license", this time in the git repository instead of the download. OK, there seem to be some components in lib/ that have proper license information. The case of remote.concise.js seems a little strange -- distributed under a Creative Commons Attribution license, but has no attribution. But remote seems to be entirely unused, so that's probably not a big problem -- it can just be removed. The root directory build.xml says that "sourcefiles" is supposed to include a file "license.txt". There is no file "license.txt". The two identical copies (!) of the Seymour plane are still licensed under the SCEA Shared Source license. webgl-trace.js is licensed under "a BSD-style license that can be found in the LICENSE file" -- OK, now I can reliably figure out how much of scenejs.js is under that license, but the LICENSE file is still missing.
And that's it.
And then I resort to randomly clicking on the web site, and I do
eventually find the FAQ entry that says "Is SceneJS Free?
You bet - under both the GPL and MIT licenses . Choose whichever of
these fits your needs best." Excellent news! This makes me happy.
But I'm sure it took me more than 10 minutes to find this
information, and it was only by chance that I found it at all. It
shouldn't be this hard. Even then, it's not totally clear. What do
you mean by "SceneJS" being under the GPL and MIT licenses?
Certainly not the entire SceneJS download, that has those two
identical copies (!) of the Seymour plane; and not the git
repository, that also has remote.concise.js, rhino, etc. I'm going
to assume that you mean that the src/scenejs directory in the git
repository, and the lib/scenejs.js file in the download, are
dual-licensed GPL/MIT (except for webgl-trace.js, which is
distributed under some BSD-style license with a missing LICENSE
file), which is good enough for me.
Comments and changes to this ticket
-
lindsay.kay (at xeolabs) July 21st, 2010 @ 01:15 PM
- State changed from new to resolved
- Milestone order changed from 0 to 0
Cheers, license docs now prominent on website : http://scenejs.org/license
Headers now attached to built JS, with WebGlTrace details as well, so yes that only applies to SceneJS not to the build tools.
Files remote.concise.js and XMLHttpRequest.js were total cruft, forgot about those, removed now!
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป
SceneJS provides easy access to WebGL through a simple and declarative JavaScript API. The SceneJS API is functional, which enables its scene definitions to be really compact and expressive, while hooking into other JavaScript code just that little bit more smoothly.