taskSavannah Administration - Tasks: task #14426, Submission of TUServer

 
 

task #14426: Submission of TUServer

Submitter:  William Lupshenko <lupshenko>
Submitted:  Mon 27 Mar 2017 05:47:07 AM UTC
   
 
Should Start On:  Sun 26 Mar 2017 05:00:00 PM UTC Should be Finished on:  Wed 05 Apr 2017 05:00:00 PM UTC
Category:  Project Approval Priority:  * 5 - Normal
Status:  Cancelled Privacy:  Public
Assigned to:  ineiev Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Sat 08 Apr 2017 07:41:28 AM UTC, comment #15: 

Thank you; cancelling.

Ineiev <ineiev>
Site Administrator
Fri 07 Apr 2017 12:47:00 PM UTC, comment #14: 

Well, I think that it's a really unsolvable problem, and I have not to use Savannah to host this project. All the best, may meet you again if TUServer will become not a NodeJS package and I'll not use another hosting for it

You can close the task

William Lupshenko <lupshenko>
Fri 07 Apr 2017 11:41:57 AM UTC, comment #13: 

We concluded that relicensing your code permissively doesn't effectively make it GPL-compatible, because it indirectly uses OpenSSL, and OpenSSL license isn't compatible with the GPL.

Ineiev <ineiev>
Site Administrator
Mon 03 Apr 2017 03:53:49 PM UTC, comment #12: 

Please wait.

Ineiev <ineiev>
Site Administrator
Mon 03 Apr 2017 01:11:11 PM UTC, comment #11: 

Should I do anything more or just wait?

William Lupshenko <lupshenko>
Thu 30 Mar 2017 09:42:16 PM UTC, comment #10: 

FWIW, I think we should accept WTFPL and this approach to avoiding the OpenSSL compatibility. I know of nothing in our policies against it ... -k

Karl Berry <karl>
Site Administrator
Thu 30 Mar 2017 12:57:29 PM UTC, comment #9: 


> GPL applies to the whole program and it doesn't matter how its parts are linked.


Okay, I remembered

> GNU project doesn't recommend using WTFPL


I know, but I like this license, and, after some hours of thinking, I decided to relicense my projects to it

> The real issue was GPL compatibility: the users of your package still won't be able to combine it with other people's GPL'ed code


Yes, but I see no other way except using a modified version of NodeJS without OpenSSL. I can only make the program independent from it, e.g. https://savannah.gnu.org/submissions_uploads/tuserver_veryFixed.tar.gz

William Lupshenko <lupshenko>
Thu 30 Mar 2017 10:46:40 AM UTC, comment #8: 


> but, it does that by calling a MIT licensed JavaScript code that uses bindings to C++ functions (also MIT) that communicate with OpenSSL


I don't think this is essential. Just imagine: I take a GPL'ed library, write a complicated wrapper which I release under a lax permissive license, and then I distribute a proprietary program using that wrapper to access that GPL'ed library. This wouldn't work because the GPL applies to the whole program and it doesn't matter how its parts are linked.

> Well, I've found the fastest and easiest way to solve this issue.


I'm afraid it solved a different issue (I also can't help mentioning that the GNU project doesn't recommend using WTFPL). You effectively allowed other people using your package with NodeJS; you could do the same with the GPL if you add an additional OpenSSL-specific permission. The real issue was GPL compatibility: the users of your package still won't be able to combine it with other people's GPL'ed code.

Ineiev <ineiev>
Site Administrator
Thu 30 Mar 2017 07:58:45 AM UTC, comment #7: 

Well, I've found the fastest and easiest way to solve this issue. Here's a tarball - https://savannah.gnu.org/submissions_uploads/tuserver_fixed.tar.gz
Just change the license field to "Other"

William Lupshenko <lupshenko>
Thu 30 Mar 2017 06:24:15 AM UTC, comment #6: 

Following https://github.com/nodejs/node/wiki/OpenSSL-upgrade-process, NodeJS uses SSL for SSL features (https://nodejs.org/api/tls.html), HTTPS (https://nodejs.org/api/https.html), but also it uses SSL for crypto (https://nodejs.org/api/crypto.html) that my program use, but, it does that by calling a MIT licensed JavaScript code that uses bindings to C++ functions (also MIT) that communicate with OpenSSL (https://github.com/Lupshenko/TUServer/blob/master/main.js) (https://github.com/nodejs/node/blob/master/lib/crypto.js) (https://github.com/nodejs/node/blob/master/src/node_crypto.cc) (https://github.com/nodejs/node/blob/master/src/tls_wrap.cc). I'm not sure, but I think that this non direct communication doesn't violate the license. Am I right?

William Lupshenko <lupshenko>
Thu 30 Mar 2017 06:01:38 AM UTC, comment #5: 

First, I may be wrong, but I think NodeJS is not an interpreter of JavaScript, it's a library.

Then, when you distribute NodeJS as a whole, OpenSSL already applies to it (with other licenses for other parts of its code), you needn't even to actually run anything; so it mustn't matter whether the user invokes any parts of the code.

If developers of a package using NodeJS believe they don't need OpenSSL and don't want to be bound by its license, they could eliminate OpenSSL dependencies from NodeJS and use the modified library instead.

Ineiev <ineiev>
Site Administrator
Wed 29 Mar 2017 10:02:45 PM UTC, comment #4: 

I think you are right in principle: if, when your program is being interpreted by node, no openssl code gets executed, then your license need not be compatible with openssl.

however, is that really the case? i know nothing about node, but the fact that the node people felt it necessary to include the openssl license in their license statement makes me wonder if it uses uses openssl at a low level for communication, such that essentially every node program uses openssl. can you confirm/deny?

thanks,
karl

Karl Berry <karl>
Site Administrator
Wed 29 Mar 2017 04:34:49 PM UTC, comment #3: 

I read https://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL and now I'm a little bit confused. The second one says that the code of my program (that is interpreted by NodeJS) should be compatible with the lilbraries that the interpreter use only if my program use it, however, it doesn't. Did I understand that correctly?

William Lupshenko <lupshenko>
Wed 29 Mar 2017 01:30:32 PM UTC, comment #2: 

As far as I can see, NodeJS is distributed under a conjunction of multiple licenses, including the license of OpenSSL.

This is problematic. OpenSSL license is incompatible with the GPL. You could add an additional permission to use your package with NodeJS (https://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs), but in any case you (and anyone else) wouldn't be able to use any third-party GPL'ed code in your package without a permission of copyright holders of that code.

Ineiev <ineiev>
Site Administrator
Mon 27 Mar 2017 11:17:13 AM UTC, comment #1: 

Oops, I forgot to include ToberUberStobe itself to the dependencies. So
ToberUberStobe - GPL3 - https://savannah.nongnu.org/projects/toberuberstobe/

William Lupshenko <lupshenko>
Mon 27 Mar 2017 05:47:07 AM UTC, original submission:  

A new project has been registered at Savannah
This project account will remain inactive until a site admin approves or discards the registration.


Registration Administration


While this item will be useful to track the registration process, approving or discarding the registration must be done using the specific Group Administration page, accessible only to site administrators, effectively logged as site administrators (superuser):



Registration Details


  • Name: TUServer
  • System Name:  tuserver
  • Type: non-GNU software and documentation
  • License: GNU General Public License v3 or later (Licensed under the GNU GPL v3 or later and some parts under WTFPL (see LICENSE))





Description:

Very simple multiplayer server realization for ToberUberStobe (https://savannah.nongnu.org/projects/toberuberstobe/). Written in JavaScript; works atop of NodeJS, on any supported OS (GNU/Linux, Windows, macOS)

Currently hosting at https://github.com/Lupshenko/TUServer


Other Software Required:

Unincluded:
NodeJS - MIT - https://nodejs.org/


Tarball URL:

https://savannah.nongnu.org/submissions_uploads/tuserver.tar.gz


William Lupshenko <lupshenko>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by karl (Posted a comment)
  • -email is unavailable- added by ineiev (Posted a comment)
  • -email is unavailable- added by lupshenko (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-04-08 ineiev StatusIn Progress Cancelled
        Open/ClosedOpen Closed
    2017-03-29 ineiev StatusNone In Progress
        Assigned toNone ineiev

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code