elective-stereophonic
elective-stereophonic
Friendly nxt fork
Please login or register.

Login with username, password and session length
Advanced search  

News:

Latest Nxt Client: Nxt 1.11.15

Pages: [1] 2 3  All

Author Topic: Friendly nxt fork  (Read 8493 times)

mikecorleone

  • Newbie
  • *
  • Karma: +5/-4
  • Offline Offline
  • Posts: 6
    • View Profile
Friendly nxt fork
« on: August 25, 2015, 05:46:04 am »

Hey everyone,

We are part of a startup company that's forking nxt at 8cd423eee becaise the MIT license suits us better. Since the license changed to GPL, we've been thinking about making this announcement for the last few months and finally decided to pull the pin on this post today. It's a friendly fork in the sense that nxt will be able to pull our changes once we release them but obviously the converse isn't true. Our knowledge of nxt is solely based on the source code and are not clear on why the license changed or followed any discussions about the issue in the forum, but if there is any interest in going back to MIT we'd certainly be pleased with that outcome.

Although we plan to add a feature and remove one or two that we are skeptical about, most of what we are doing is testing nxt and trying to break it, in the interests of creating greater robustness in the system. So if you are a developer and ascribe value to this work, we hope you will license your commits as a MIT, and we will try as best as possible to reconcile those commits with our tree without violating anyone's GPL code.
Logged

Damelon

  • Administrator
  • Hero Member
  • *****
  • Karma: +792/-54
  • Offline Offline
  • Posts: 2314
    • View Profile
    • Nxt Inside
Re: Friendly nxt fork
« Reply #1 on: August 25, 2015, 07:17:25 am »

The change to GPL came about as a result of discussions we have had with businesses who were interested in Nxt.

The change reflects our commitment to our code and its integrity.

You are still free to fork the code as long as you do not represent the code taken as your own work.

Jean-Luc has posted about this here: https://nxtforum.org/nrs-releases/notice-to-nxt-clone-creators/

You are also not allowed to sell the code to third parties without permission.

None of this is strange, as the work that would be sold is the work of others. You can obviously sell your own code.

More info: https://nxtforum.org/nxt-helpdesk/nxt-license/msg185394/#msg185394
https://nxtforum.org/general-discussion/nxt-and-the-open-source-free-software-movement/

« Last Edit: August 26, 2015, 05:00:04 pm by Damelon »
Logged
Member of the Nxt Foundation | Donations: NXT-D6K7-MLY6-98FM-FLL5T
Join Nxt Slack! https://nxtchat.herokuapp.com/
Founder of Blockchain Workspace | Personal Site & Blog

v39453

  • Full Member
  • ***
  • Karma: +12/-2
  • Offline Offline
  • Posts: 155
    • View Profile
Re: Friendly nxt fork
« Reply #2 on: August 25, 2015, 08:12:56 am »

You are also not allowed to sell the code to third parties without permission.

Yes you are, at least that is the idea of the GPL. But you are required to provide source code on subsequent request.

 

Logged

Jean-Luc

  • Core Dev
  • Hero Member
  • *****
  • Karma: +816/-81
  • Offline Offline
  • Posts: 1610
    • View Profile
Re: Friendly nxt fork
« Reply #3 on: August 25, 2015, 09:57:43 am »

We are part of a startup company that's forking nxt at 8cd423eee becaise the MIT license suits us better. Since the license changed to GPL...
Starting from this commit would be a copyright violation. The last release done under MIT was 1.5.6e, dated 2015-04-28. It was also a closed source release, meaning you have to base your work on that closed source (i.e. a decompiled and deobfuscated version of it).

Releases 1.5.7e and 1.5.8e were done under a temporary experimental releases license, which prohibits their use, or the use of any software based on them, after June 30, 2015. The MIT license never applied to those releases, only to parts of them already published in previous versions.

Release 1.5.9 was the first release done under the GPL, on 2015-05-26, and the first publication of the 1.5 branch source code. No 1.5 source code has been released before that date, and no 1.5 source code has been released under a license other than the GPL. You cannot look back at the commit log and decide by those dates which change is under GPL and which is not, because none of that source was released to the public until the date of release of 1.5.9, and at that time it was all released under GPL.

To make my point more obvious, if I start writing some software from scratch, and only add the GPL license file at the end, and then publish it all, you cannot just go read the timestamps on each commit and argue that the GPL does not apply to the files committed before the addition of the LICENSE.txt file. This is essentially what you are trying to do. Those intermediate commits were never pushed one by one to the public master branch, as we never publish the source of experimental releases. When the source is finally published, it is published together with the license that applies to it, and it applies to the source as a whole, regardless of the commit timestamp on each individual file.

Quote
So if you are a developer and ascribe value to this work, we hope you will license your commits as a MIT, and we will try as best as possible to reconcile those commits with our tree without violating anyone's GPL code.
The work of core developers is accepted only under GPL, there will be no more "MIT commits" to the core.
Logged
GPG key fingerprint: 263A 9EB0 29CF C77A 3D06  FD13 811D 6940 E1E4 240C
NXT-X4LF-9A4G-WN9Z-2R322

Jean-Luc

  • Core Dev
  • Hero Member
  • *****
  • Karma: +816/-81
  • Offline Offline
  • Posts: 1610
    • View Profile
Re: Friendly nxt fork
« Reply #4 on: August 25, 2015, 10:00:16 am »

You are also not allowed to sell the code to third parties without permission.

Yes you are, at least that is the idea of the GPL. But you are required to provide source code on subsequent request.
You are allowed to sell it of course. But you are required not only to provide source code, you are required to provide it under the GPL too. And this was probably the most important reason why we switched to the GPL.
Logged
GPG key fingerprint: 263A 9EB0 29CF C77A 3D06  FD13 811D 6940 E1E4 240C
NXT-X4LF-9A4G-WN9Z-2R322

mikecorleone

  • Newbie
  • *
  • Karma: +5/-4
  • Offline Offline
  • Posts: 6
    • View Profile
Re: Friendly nxt fork
« Reply #5 on: August 25, 2015, 10:55:42 am »

Okay. We thought that the commit immediately prior to the GPL License addition would be fine. It's really no skin off our back to wind back a few more weeks. We will fork from: c22b64bb6a3e805b3bc9d78ec96e44f96030a0a3 instead. Thanks for the clarification. In fact, we've already merged our changes in c22b64.

Quote
The work of core developers is accepted only under GPL, there will be no more "MIT commits" to the core.

That's too bad. Well, if any developers are keen to contribute to an MIT codebase, we'd love to hear from you.

Do you have strong cryptography skills? Interest in working on an MIT licensed fork of nxt? We'd love to hear from you. PM me and let me know a bit about your work.
Logged

Jean-Luc

  • Core Dev
  • Hero Member
  • *****
  • Karma: +816/-81
  • Offline Offline
  • Posts: 1610
    • View Profile
Re: Friendly nxt fork
« Reply #6 on: August 25, 2015, 11:16:22 am »

Okay. We thought that the commit immediately prior to the GPL License addition would be fine. It's really no skin off our back to wind back a few more weeks. We will fork from: c22b64bb6a3e805b3bc9d78ec96e44f96030a0a3 instead.
No, you cannot do that either. This is the commit just before the release of 1.5.7e, when I prepare the package for release and make the license change from MIT to experimental. Making a commit to a private branch does not constitute publication. A release of the source code constitutes publication. While working on a release, many commits are done, the order in which they are done is not relevant, what matters is the release package, signed with my GPG key. Just because I have committed the license change last does not mean it does not apply to previous commits that were released together within the same release.

The last source code release that you can use under MIT is 1.4.18. The source code of the 1.5 branch has never been published under the MIT, the 1.5.6e just like all other 1.5-experimental releases was closed source. When the source code of 1.5 branch was published, it was published under the GPL. The fact that the Git version control system allows you to look back into the history and see source of previous versions or individual commits, does not make this source released under a different license. Source was not released with any 1.5 version until 1.5.9, therefore 1.5 source was never released under a license other than the GPL.
Logged
GPG key fingerprint: 263A 9EB0 29CF C77A 3D06  FD13 811D 6940 E1E4 240C
NXT-X4LF-9A4G-WN9Z-2R322

maddy83

  • Sr. Member
  • ****
  • Karma: +108/-50
  • Offline Offline
  • Posts: 292
    • View Profile
Re: Friendly nxt fork
« Reply #7 on: August 25, 2015, 11:24:10 am »

The change to GPL came about as a result of discussions we have had with businesses who were interested in Nxt.

I would like to hear more about this. Which businesses, and what was the nature of their interest?
Logged
Will do small programming tasks for NXT. PM me!

mikecorleone

  • Newbie
  • *
  • Karma: +5/-4
  • Offline Offline
  • Posts: 6
    • View Profile
Re: Friendly nxt fork
« Reply #8 on: August 25, 2015, 11:36:57 am »

We may try to accommodate you as a courtesy but you are in error. All branches are private until you publish them and then they become public. The commit is fine to use as it is published with an MIT license. It's very clear: github.com/nxt-ext/nxt/tree/c22b64bb6a3e805b3bc9d78ec96e44f96030a0a3

BTW, thanks to the person above who posted the link to this thread: https://nxtforum.org/nrs-releases/notice-to-nxt-clone-creators/. This is the first we've heard of HZ / NeXTHorizon. If anyone else is interested in collaborating on an MIT licensed codebase, someone else has already made a start on that here: github.com/NeXTHorizon/hz-source
Logged

Cassius

  • Hero Member
  • *****
  • Karma: +207/-18
  • Offline Offline
  • Posts: 2459
  • Rather be a pirate than join the navy
    • View Profile
Re: Friendly nxt fork
« Reply #9 on: August 25, 2015, 11:39:58 am »

Hi Mike, interested to hear more about what you're doing. People might also be able to chip in with helpful suggestions too.
Logged
I head up content for BitScan, crypto business hub.

Jean-Luc

  • Core Dev
  • Hero Member
  • *****
  • Karma: +816/-81
  • Offline Offline
  • Posts: 1610
    • View Profile
Re: Friendly nxt fork
« Reply #10 on: August 25, 2015, 11:46:14 am »

What I publish I sign with my GPG key. Show me a GPG signed copy of Nxt 1.5 source code under a license other than GPL.
Logged
GPG key fingerprint: 263A 9EB0 29CF C77A 3D06  FD13 811D 6940 E1E4 240C
NXT-X4LF-9A4G-WN9Z-2R322

Damelon

  • Administrator
  • Hero Member
  • *****
  • Karma: +792/-54
  • Offline Offline
  • Posts: 2314
    • View Profile
    • Nxt Inside
Re: Friendly nxt fork
« Reply #11 on: August 25, 2015, 12:24:15 pm »

Hey everyone,

We are part of a startup company that's forking nxt at 8cd423eee becaise the MIT license suits us better. Since the license changed to GPL, we've been thinking about making this announcement for the last few months and finally decided to pull the pin on this post today.

By the way, can you tell us why the MIT fits you better than GPL? That kind of information is always interesting and good to have :)

Is it the fact that under MIT you can close source any modifications?

For reference, I include this nice comparison, for those who are interested in the MIT and GPL licenses: http://stackoverflow.com/questions/3902754/mit-vs-gpl-license
Logged
Member of the Nxt Foundation | Donations: NXT-D6K7-MLY6-98FM-FLL5T
Join Nxt Slack! https://nxtchat.herokuapp.com/
Founder of Blockchain Workspace | Personal Site & Blog

EvilDave

  • Hero Member
  • *****
  • Karma: +341/-40
  • Offline Offline
  • Posts: 1789
    • View Profile
    • NXT Foundation
Re: Friendly nxt fork
« Reply #12 on: August 25, 2015, 01:01:01 pm »


BTW, thanks to the person above who posted the link to this thread: https://nxtforum.org/nrs-releases/notice-to-nxt-clone-creators/. This is the first we've heard of HZ / NeXTHorizon. If anyone else is interested in collaborating on an MIT licensed codebase, someone else has already made a start on that here: github.com/NeXTHorizon/hz-source

Yup, check out Horizon if you want to fork off your own version of Nxt under the MIT license........but if you want to work within the Nxt community, talk to us first, please. One of the reasons to switch to a GPL license was that it allows us slightly more control over how Nxt is used, which will (hopefully) encourage projects like yours, mc, to work with the existing Nxt community.

Which brings me to:

The change to GPL came about as a result of discussions we have had with businesses who were interested in Nxt.

I would like to hear more about this. Which businesses, and what was the nature of their interest?

I could tell you, but I'd have to kill you afterwards. Sorry.  8)
I can tell you that we have been in talks with someone (or someones) to license Nxt technology to them to allow the setup of a completely separate single purpose blockchain, based on Nxt, for their own projects. Income generated from this licensing deal would be fed back into the Nxt community, probably via the Nxt Foundation. 
Have a look at this discussion:
https://nxtforum.org/general-discussion/re-%28core%29-white-label-blockchain/

So, keeping it simple: if anyone wants to run their own private Nxt blockchain, we'll be happy to help out, with a few restrictions.
@mc: you can get in touch with myself or Damelon to discuss this further...... :) 
Logged
Nulli Dei, nulli Reges, solum NXT
NXT Donations: NXT-BNZB-9V8M-XRPW-3S3WD
We will ride eternal, shiny and chrome!

Jean-Luc

  • Core Dev
  • Hero Member
  • *****
  • Karma: +816/-81
  • Offline Offline
  • Posts: 1610
    • View Profile
Re: Friendly nxt fork
« Reply #13 on: August 25, 2015, 03:24:29 pm »

Sure you can go fork HZ, but this doesn't change the fact that using any 1.5 Nxt code requires putting your project (or HZ itself, if they decide to use 1.5 and later Nxt code) under GPL, unless you make a specific licensing deal with the copyright holders (me and the other core Nxt developers). And while you can negotiate such a deal with us, you can't do that with the HZ developers, because any 1.5 Nxt codebase incorporated in a future HZ release would still requires the derivative work to be under GPL.
Logged
GPG key fingerprint: 263A 9EB0 29CF C77A 3D06  FD13 811D 6940 E1E4 240C
NXT-X4LF-9A4G-WN9Z-2R322

maddy83

  • Sr. Member
  • ****
  • Karma: +108/-50
  • Offline Offline
  • Posts: 292
    • View Profile
Re: Friendly nxt fork
« Reply #14 on: August 25, 2015, 05:16:40 pm »

I can tell you that we have been in talks with someone (or someones) to license Nxt technology to them to allow the setup of a completely separate single purpose blockchain, based on Nxt, for their own projects.

Ok, not very interesting for NXT holders then. Would have been much more interesting if the company used NXT blockchain. :)
Logged
Will do small programming tasks for NXT. PM me!

nexTry

  • Newbie
  • *
  • Karma: +1/-0
  • Offline Offline
  • Posts: 7
    • View Profile
Re: Friendly nxt fork
« Reply #15 on: August 25, 2015, 06:19:36 pm »

No, you cannot do that either. This is the commit just before the release of 1.5.7e, when I prepare the package for release and make the license change from MIT to experimental. Making a commit to a private branch does not constitute publication. A release of the source code constitutes publication. While working on a release, many commits are done, the order in which they are done is not relevant, what matters is the release package, signed with my GPG key. Just because I have committed the license change last does not mean it does not apply to previous commits that were released together within the same release.

The last source code release that you can use under MIT is 1.4.18. The source code of the 1.5 branch has never been published under the MIT, the 1.5.6e just like all other 1.5-experimental releases was closed source. When the source code of 1.5 branch was published, it was published under the GPL. The fact that the Git version control system allows you to look back into the history and see source of previous versions or individual commits, does not make this source released under a different license. Source was not released with any 1.5 version until 1.5.9, therefore 1.5 source was never released under a license other than the GPL.

Sorry to say this, but for me  this makes you look like plastering the code with easter eggs. In the past  a software author and some others had a discussion about his  software which originally had a GPL-License acompanied with the code. Later the source code archive were removed to push hardware sales. The discussion ended that he could call himself <censored> for  publishing the software 'errorously' under GPL. Do you really thing such situations should solved by declaring the software archive as private nonsigned  branch?

What if someone make a derivative work of NXT (honouring the Implications of the GPL) but  publishing the software only in a private branch and when you want to incorporate the changes into NXT you get a 'Sorry Jean Luc, yes ist copyrigthed by the GPL, yes you can read it, but no you can't  merge it because its not an offical signed release'?

While this  discussion may look academic for nxt and in fact i hope there are no developers that wan't to go the route  via a court i see a lot of problem with other orivate repositories, namely for a lot of device drivers etc. that in some cases  never made it into the  offical release.



« Last Edit: August 25, 2015, 06:43:47 pm by nexTry »
Logged

bcdev

  • Hero Member
  • *****
  • Karma: +162/-22
  • Offline Offline
  • Posts: 666
    • View Profile
Re: Friendly nxt fork
« Reply #16 on: August 25, 2015, 07:48:46 pm »

Sorry to say this, but for me  this makes you look like plastering the code with easter eggs. In the past  a software author and some others had a discussion about his  software which originally had a GPL-License acompanied with the code. Later the source code archive were removed to push hardware sales.
NRS is not a hardware driver that can be closed. Your example is incorrect. If Jean-Luc ever declares NRS as close-source project, it'll be his last day as a project leader. [NRS would fork and he'd be the only man contributing, everyone else would go to the fork.]

Quote
While this  discussion may look academic for nxt and in fact i hope there are no developers that wan't to go the route  via a court i see a lot of problem with other orivate repositories, namely for a lot of device drivers etc. that in some cases  never made it into the  offical release.
Once again - device driver is a bad analogy. Look at NRS like an OpenOffice. Oracle decided to make changes that angried people -> OpenOffice forked into LibreOffice -> nobody uses OpenOffice anymore, everyone migrated to LibreOffice.
I can give you countless examples of projects that forked because of bad management. It's impossible to close NRS without loosing users.

Quote
What if someone make a derivative work of NXT (honouring the Implications of the GPL) but  publishing the software only in a private branch and when you want to incorporate the changes into NXT you get a 'Sorry Jean Luc, yes ist copyrigthed by the GPL, yes you can read it, but no you can't  merge it because its not an offical signed release'?
Can you elaborate? I don't understand the problem you're trying to describe. GPL is compatible with GPL no matter which repository it comes from.
« Last Edit: August 25, 2015, 07:53:38 pm by bcdev »
Logged

jl777

  • Hero Member
  • *****
  • Karma: +718/-123
  • Offline Offline
  • Posts: 6170
    • View Profile
Re: Friendly nxt fork
« Reply #17 on: August 25, 2015, 08:03:29 pm »

Sorry to say this, but for me  this makes you look like plastering the code with easter eggs. In the past  a software author and some others had a discussion about his  software which originally had a GPL-License acompanied with the code. Later the source code archive were removed to push hardware sales. The discussion ended that he could call himself <censored> for  publishing the software 'errorously' under GPL. Do you really thing such situations should solved by declaring the software archive as private nonsigned  branch?

What if someone make a derivative work of NXT (honouring the Implications of the GPL) but  publishing the software only in a private branch and when you want to incorporate the changes into NXT you get a 'Sorry Jean Luc, yes ist copyrigthed by the GPL, yes you can read it, but no you can't  merge it because its not an offical signed release'?

While this  discussion may look academic for nxt and in fact i hope there are no developers that wan't to go the route  via a court i see a lot of problem with other orivate repositories, namely for a lot of device drivers etc. that in some cases  never made it into the  offical release.
"easter eggs"? It seems that you are trolling to try to convince people to make NXT not GPL and what does some unrelated software/hardware incident have to do with NXT being GPL from MIT license. The old 1.4 branch is MIT, just use that if you want MIT license.

GPL is a proven effective license that allows the propagation of software and requires derivative works to also be open source. If you have problems with this, it indicates that you want to be able to monetize it by repackaging it and maybe even keeping it closed source.

Granted you can try, but there are many well funded organizations that do the dirty work of going to the legal systems against lawbreaking companies. There is no need for the devs to spend time pursuing companies that infringe.

NXT devs have created an amazing system from scratch. The least others can do is honor their wishes as to how they want their software licensed.

Your choice is simple. Use an outdated, obsolete 1.4 branch that wont ever be improved by the NXT devs to be able to use MIT license, or to GPL whatever derivative work you want to make. The cost to pay for using the most up to date and continually enhanced NXT, is to comply with GPL. There is no financial cost. You feel that it is unreasonable to pay nothing to be able to create derivative works?

James
Logged
There are over 1000 people in SuperNET slack! http://slackinvite.supernet.org/ automatically sends you an invite

I am just a simple C programmer

Jean-Luc

  • Core Dev
  • Hero Member
  • *****
  • Karma: +816/-81
  • Offline Offline
  • Posts: 1610
    • View Profile
Re: Friendly nxt fork
« Reply #18 on: August 25, 2015, 08:10:55 pm »

None of the 1.5.0e through 1.5.8e releases had source code included in them. Those were binary only, experimental releases.

While working on the 1.5 branch, the developers discussed many licensing options for the upcoming stable 1.5 release, and ultimately settled on the GPL. No source code was released until this decision was made. While those discussions were going on, of course we were also busy writing code, and a lot of those code was committed to our PRIVATE repository before the legalese license files were added. This cannot be taken to imply that those commits were not intended to be under GPL. When the 1.5 branch was finally ready for a stable release, it was released under GPL, and only then the full source code was included in the release package.

Yes, Nxt does use a private repository for development and only releases code when ready. The public master branch is only updated after a release is made, and at that time all intermediate commits also pushed to it. You cannot take an old commit out of context and pretend a license change does not apply to it, when chronologically this commit was made public (i.e. published) after the license change was already applied and announced.

If it would have been more clear to not have a public Git commit log at all, I could have certainly done that (and the project would still be fully open source, with the src folder present in each release package), but this would be a great inconvenience to all developers, and to those who need to see who did what change and why.

Ultimately it is the code authors that have the right to decide under what license to publish their work. The decision that 1.5 will be GPL has been publicized and discussed on this forum many times, and if it is still not clear to someone that 1.5 is GPL, now it should be.
Logged
GPG key fingerprint: 263A 9EB0 29CF C77A 3D06  FD13 811D 6940 E1E4 240C
NXT-X4LF-9A4G-WN9Z-2R322

Riker

  • Core Dev
  • Hero Member
  • *****
  • Karma: +438/-42
  • Offline Offline
  • Posts: 1784
    • View Profile
Re: Friendly nxt fork
« Reply #19 on: August 25, 2015, 08:30:39 pm »

As a core developer, to state the obvious, I support jean-luc. I second that the NXT code of any of the 1.5.x branches cannot be used under the MIT license. Period.

Rest assured, that the decision to switch to GPL was not taken lightly.
As a corporate developer in my day job, I learned to treat the GPL license as a threat because of its virality aspects that pretty much prevents its usage in closed source products.
However, in the case of NXT, I truly believe that the GPL usage is justified in order to make it difficult to vandalize NXT while contributing nothing in return and still maintain NXT as an open source project.

The GPL license leaves clone developers to choose between two options:
1. Release their code under GPL as well, and thus allow the NXT devs to possibly integrate back some of the derived work into the core - I can fully understand why a startup wouldn't want to choose this option.
2. License the NXT core from the NXT foundation under a commercial license and pay license, maintenance and services fee like you pay for a database or ERP product.
Logged
NXT Core Dev
Account: NXT-HBFW-X8TE-WXPW-DZFAG
Public Key: D8311651 Key fingerprint: 0560 443B 035C EE08 0EC0  D2DD 275E 94A7 D831 1651
Pages: [1] 2 3  All
 

elective-stereophonic
elective-stereophonic
assembly
assembly