3

Reference: http://www.oracle.com/technetwork/java/scsl-1-1-149938.txt

I have a few questions about what I am allowed to do to stuff under this license.

Forking

I think what I'm generally allowed to do is to download the source code from Oracle (that part makes sure I'm a licensee) and modify it locally. And I'm not allowed to publicly post it to everyone. But what about a private repo at, say, bitbucket? If that's possible, then by the below, I don't seem to be able to even add contributors to it, unless I make sure they are licensees.

Source code availability

You may also post Error Corrections and Shared Modifications on a web-server of Your choice; provided, that You must take reasonable precautions to ensure that only Licensees have access to such Error Corrections and Shared Modifications. Such precautions shall include, without limitation, a password protection scheme limited to Licensees and a click-on, download certification of Licensee status required of those attempting to download from the server.

Let's say I setup a web page that has the required notice from Attachment A-2, and doesn't give the link until the user agrees. It also mentions a password protection scheme limited to Licensees. How am I supposed to set that up? Doesn't it mean I have to make sure the user logs in to Oracle's site, and then give him the links? I can't imagine a way to know if he has actually logged in to Oracle.

Executable redistribution

You may distribute Executable version(s) of Covered Code to Licensees and other third parties only for the purpose of evaluation and comment in connection with Research Use by You and under a license of Your choice, but which limits use of such Executable version(s) of Covered Code only to that purpose.

That part I simply fail to understand. What is the actual requirement for sharing the executional with the third parties? And who are they anyway? Anyone who's not a licensee? What about distributing to third parties just for non-profitable personal use? How do we make sure they only evaluate and comment, but not actually personally use it? And what about the license of my choice? Do I apply that license to the executable? It all just mixes together in my eyes.

Patch redistribution

The way GnuPoc does it. However, am I allowed to redistribute patches that contain the code surrounding the parts being edited? Maybe it's disallowed to even have the original lines I'm be patching publicly visible? What about binary patches for an executable?

  • My 2 cents: this is a very restrictive proprietary license. To meets its requirements you practically cannot do much anything. Stay away from this if you can. – Philippe Ombredanne May 20 '16 at 13:54
  • BTW, which Java bit are you looking at that is using this license? – Philippe Ombredanne May 20 '16 at 13:56
  • midp2.0 and cldc(1.0.4-1.1) sources – feos May 20 '16 at 16:21
  • well unless you obtain a commercial license from Oracle for these, there is not much you can do in terms of serious work with the SCSL: you can do "research" whatever this means. This is really not an open source license. If you really want to use this, consult a lawyer. – Philippe Ombredanne May 20 '16 at 16:31
1

That licence is far away from the four essential freedoms of the GPL and only allows to share with licensee and students of your research (as defined in the licence itself).

To answer to your questions:

Source code availability

To allow download the user must click on a button after this statement (as per the attachment A-2):

By clicking the 'Agree' button below, You certify that You are a Licensee in good standing
under the Sun Community Source License, midp 2.0 and cldc(1.0.4-1.1) ("License") and that 
Your access, use and distribution of code and information You may obtain at this site 
is subject to the License.

It also mentions a password protection scheme limited to Licensees. How am I supposed to set that up?

You have plenty options, such as storing the archive with sources in a password protected page or set a password when you compress it and show that password once the user certified (with that statement) he/she is a Licensee in good standing.

Doesn't it mean I have to make sure the user logs in to Oracle's site, and then give him the links?

No, the user certify it by herself clicking on the Agree button.

Executable redistribution

What is the actual requirement for sharing the executional with the third parties?

Well, in effect it's a bit cucumbersome. It means that you can investigate and study the source code in order to establish facts and reach new conclusions. eg: you could recompile it with your own compiler and share it with third parties, only and exclusively to show that it's faster. They will not be allowed to use it on a regular base or in a commercial environment.

And who are they anyway? Anyone who's not a licensee?

The licence says anyone, but for Research Use only.

What about distributing to third parties just for non-profitable personal use?

You can't.

How do we make sure they only evaluate and comment, but not actually personally use it?

You can't. You must provide them the licence which specify what they can do or can't do. If they use it for any other use they're infringing the licence. Not your fault, nothing you can really do to avoid. They'll be personally responsible of their infringement.

And what about the license of my choice? Do I apply that license to the executable?

You must choose a licence that will specify that they can't run it for anything else than Research or Comment. In your case it would be easier to use the same SCSL.

Patch redistribution

am I allowed to redistribute patches that contain the code surrounding the parts being edited?

Only to licensee and students of your Research.

Maybe it's disallowed to even have the original lines I'm be patching publicly visible?

You can't share their code with third parties that aren't licensee or students of your research.

What about binary patches for an executable?

You can't share their code with third parties that aren't licensee or students of your research.

  • Thanks for clarifications, but binary patches to the executable don't contain the original code. The idea is to obtain the build from Oracle and then apply the binary patch. Also, it seems that I can put code patches to a password-protected page, is that true? – feos Jan 11 '17 at 9:40
  • My interpretation of the license (to stay on a safe path) is that you can't distribute binary patches if you have access to the source code. You can distribute code patches on a password protected page as long as whomever got access to it certify to be a SCSL licensee or similar (as per my answer) – David Jan 11 '17 at 10:49
  • That's the reason binary patches to games still exist: no one includes the original content that they change in them. And changing the binary isn't covered in the license text. gnupoc.sourceforge.net – feos Jan 12 '17 at 12:37
0

My 2 cents: this is a very restrictive proprietary license. To meets its requirements you practically cannot do much anything. Stay away from this if you can.

Unless you obtain a commercial license from Oracle for these (e.g. midp2.0 and cldc), there is not much you can do in terms of serious work with the SCSL: you can do "research" whatever this means. This is really not an open source license. If you really want to use this, consult a lawyer or contact Oracle top buy a commercial license. Good luck!

  • 1
    I'd recommend printing out the source and then immediately running it through a good commercial shredder, then forgetting about it. This is not open source, and any effort you expend on it will be wasted (I wasn't the DV) – Glenn Randers-Pehrson Jan 10 '17 at 14:41
  • @GlennRanders-Pehrson I could not have found a better way to state this :D – Philippe Ombredanne Jan 10 '17 at 14:55
  • This is simply not an answer, as it addresses none of my original questions. The new answer by David does address them. – feos Jan 11 '17 at 9:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.