New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get to clarity on licensing and copyright #3218

Closed
bobsummerwill opened this Issue Aug 26, 2016 · 49 comments

Comments

Projects
None yet
5 participants
@bobsummerwill
Contributor

bobsummerwill commented Aug 26, 2016

From @bobsummerwill on May 25, 2016 18:40

Greetings, cpp-ethereum contributors!

As you are probably aware, efforts were made in 2015 to clarify the licensing of various components within Ethereum, namely liberalizing the core to encourage the broadest possible adoption for Ethereum. We never completed that effort.

The licensing for cpp-ethereum itself has flip-flopped a few times and we aren't in a particular clear state right at the moment. To my knowledge we have never had a Contributor License Agreement (https://en.wikipedia.org/wiki/Contributor_License_Agreement) as is standard on many open source projects.

The purpose of a CLA is to ensure that the guardian of a project's outputs has the necessary ownership or grants of rights over all contributions to allow them to distribute under the chosen licence.

With more and more projects looking to build on top of Ethereum, it is important that we have appropriate licensing and most important CLARITY of licensing :-)

In particular, we have an opportunity for Ethereum to become a foundational piece of Hyperledger, following Vitalik's very successful presentation to the Hyperledger Tech Steering Committee in April, but that cannot happen while we have ambiguity of licensing and copyright.

How fantastic would it be if Ethereum could become the basis of a "Linux-like-techbase for blockchain" which could be used as a de-facto standard for both public and private/consortium chains?

Anyway - first things first!

Before anything, though, I want to open the communication lines with all the contributors, so that you can be part of this process to get us to "known status". I will include you all on this issue.

If you have contributed to cpp-ethereum, please could I ask that you add yourself to the Pirate Pad below with your Github login, name and your preferred e-mail address which you can be contacted at? If you want to use a pseudonym, that is fine. I just need to be able to talk to you all for now :-)

http://piratepad.net/g9A0NTQjcI

Thanks, everyone!

SCRUB THAT!

Using the Wiki instead now - https://github.com/ethereum/webthree-umbrella/wiki/Contributors

Copied from original issue: ethereum/webthree-umbrella#530

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

From @frewsxcv on May 25, 2016 19:0

I don't have enough time to read too much about this, but I agree to license my contributions under whatever license you want (I prefer CC0).

@bobsummerwill

This comment has been minimized.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

Hey @frewsxcv,
Please can you add your Github login, name and e-mail address into http://piratepad.net/g9A0NTQjcI? That's all I need for now. Thanks!

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

From @VoR0220 on May 25, 2016 20:21

I'm of the opinion (for whatever my opinion is worth) that Ethereum should stay in the MIT/GPL realm. Just my personal belief. That's all.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

There is no real consideration of moving to anything other than mainstream OSI-approved licenses, @VoR0220.

That would either mean sticking with GPLv3 or moving to a permissive license. Originally only MIT was considered, but multiple knowledgable people have said to me .... "For the love of god, go with Apache 2.0 not MIT" because of the patent-protection clause.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

From @LefterisJP on May 25, 2016 23:20

Those of us who worked for the foundation, signed a document regarding this at some point ... what happened to that document?

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

Ahem ... yeah, @LefterisJP.
@chriseth has been looking around the Berlin office for that paperwork, with no success so far.
Which is a bit embarrassing, isn't it? :-)
So we'll probably have to do it all again. I'm also unsure whether said paperwork ever made it out to the non-Foundation contributors. @gavofyork would know best, I suppose.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

From @giact on May 26, 2016 7:52

I am a non-Foundation contributor, and I can confirm that in August 2015 I received and signed a permission to switch from GPL to MIT

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

Good to know, @giact. Thanks!

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

From @cubedro on May 26, 2016 8:54

me too. I signed it and sent it to Kelly Becker.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

From @guanqun on May 27, 2016 5:37

Added to the privatepad, as someone mentioned, I also agree to license my contributions under whatever license you want.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

POKE POKE, everybody, especially you ex and current Foundation folk! Thanks.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

From @moneroexamples on May 28, 2016 0:42

I just added myself. But used pseudonym instead of real name. Hope its ok.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

Greetings, everybody!

See http://piratepad.net/g9A0NTQjcI, where I have now added entries for everybody. Just need you to add your names and preferred email.

Foundation and ex-Foundation people - please can you guys reply! The non-Foundation people are kicking our arses for this. The main bit I am missing for the internal people is your preferred PERSONAL e-mail addresses. Thanks!

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

Greetings, everybody!

I have had a boring few hours gathering some of this information myself, to save you the effort, and I now think that I have nearly all the contributor contact information which we need.

I have also looked in more detail at the specific repos, and am able to REMOVE various of the people I had originally tagged here, because their contributions have been to Solidity or other repos which WILL NOT end up in the reconstituted cpp-ethereum repo.

We now have 80 people on the list, 36 with over 100 LOCs and 44 with under 100 LOCs:

See https://github.com/ethereum/webthree-umbrella/wiki/Contributors.

So what am I still missing? I am missing information on the following contributors. If they are you, or if you have any information on these individuals (especially e-mail addresses), please do let me know, thanks!

NOTE - No need for real names at this stage. Not sure if those will become problematic later? We'll deal with that when if/when is a problem.

Also, please do check your own entry. I might have old or incorrect information for you, if you didn't supply it on the earlier Pirate Pad yourself.

Best wishes!

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

From @programonauta on June 7, 2016 1:20

@bobsummerwill I filled the PiratePad, but my name isn't there.
Name: Ricardo de Azevedo Brandao
e-mail: rbrandao.br@gmail.com

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

Hey @programonauta!

Added you back. Sorry about that. While rebuilding the more minimal and correct list here, both yourself and @sebilasse fell victim to being the ONLY people who had made contributions only to files in the root directory of webthree-umbrella, but not to any of the sub-modules, or to cpp-ethereum pre-split.

My optimization had a bug :-) Thanks for the bug report!

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

From @mario02423 on June 7, 2016 4:23

Hello,

Pretty sure all I did was fix a typo or some incidental grammar error… I
don't see my name on the list, which is fine. :) I trust you all are well,
and thanks for your efforts!

/jm (@mario02423)

On Monday, June 6, 2016, Bob Summerwill notifications@github.com wrote:

Hey @programonauta https://github.com/programonauta!

Added you back. Sorry about that. While rebuilding the more minimal and
correct list here, both yourself and @sebilasse
https://github.com/sebilasse fell victim to being the ONLY people who
had made contributions only to files in the root directory of
webthree-umbrella, but not to any of the sub-modules, or to cpp-ethereum
pre-split.

My optimization had a bug :-) Thanks for the bug report!


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
ethereum/webthree-umbrella#530 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/ASYYCl_MOWxoDfYPosMUbblh_hSgM0V8ks5qJOCLgaJpZM4Im2BU
.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

From @msimovic on June 7, 2016 11:15

Hey, I am msimovic. Codeshark is Eric Lombrozo. I know a few others on that
list but names escape me right now.
On Jun 6, 2016 9:14 PM, "Bob Summerwill" notifications@github.com wrote:

Greetings, everybody!

I have had a boring few hours gathering some of this information myself, to
save you the effort, and I now think that I have nearly all the contributor
contact information which we need.

I have also looked in more detail at the specific repos, and am able to
REMOVE various of the people I had originally tagged here, because their
contributions have been to Solidity or other repos which WILL NOT end up in
the reconstituted cpp-ethereum repo.

We now have 80 people on the list, 36 with over 100 LOCs and 44 with under
100 LOCs:

See https://github.com/ethereum/webthree-umbrella/wiki/Contributors.

So what am I still missing? I am missing information on the following
contributors. If they are you, or if you have any information on these
individuals (especially e-mail addresses), please do let me know, thanks!

* NOTE - No need for real names at this stage. Not sure if those will
become problematic later? We'll deal with that when if/when is a problem.
*

Also, please do check your own entry. I might have old or incorrect
information for you, if you didn't supply it on the earlier Pirate Pad
yourself.

Best wishes!


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
ethereum/webthree-umbrella#530 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/ABctMrwBqVajK0ZHD5DwFERBYIEk8vAMks5qJMXygaJpZM4Im2BU
.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

From @area on June 7, 2016 12:52

My name and email address are incorrect - I'm happy to edit the wiki, but am concerned about simply deleting the details that are already there, which presumably belong to someone and came from somewhere. I didn't fill out the PiratePad (apologies!).

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

Hey @mario02423,
It looks like your contribution was to Solidity (https://github.com/ethereum/solidity/commits?author=mario02423), so would not be in-scope for the re-constituted cpp-ethereum which we are considering for re-licensing. Good luck - no more badgering for you :-)

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

@area I gathered the data (wrongly!), so please either just edit the Wiki yourself or let me know the name/e-mail to use, and I will update accordingly.

@msimovic What e-mail address should I use for you?

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

From @Souptacular on June 7, 2016 18:59

Is @wanderer someone who has not given their real name? I know who they are and can ask them if they want to give their real name or not (most of us know them).

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

@Souptacular already added.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

From @azawlocki on June 7, 2016 21:4

Hi Bob,

azawlocki is me, the name and the e-mail are correct.
I contributed to the evmjit repository only.

On 7 June 2016 at 03:14, Bob Summerwill notifications@github.com wrote:

Greetings, everybody!

I have had a boring few hours gathering some of this information myself,
to save you the effort, and I now think that I have nearly all the
contributor contact information which we need.

I have also looked in more detail at the specific repos, and am able to
REMOVE various of the people I had originally tagged here, because their
contributions have been to Solidity or other repos which WILL NOT end up in
the reconstituted cpp-ethereum repo.

We now have 80 people on the list, 36 with over 100 LOCs and 44 with under
100 LOCs:

See https://github.com/ethereum/webthree-umbrella/wiki/Contributors.

So what am I still missing? I am missing information on the following
contributors. If they are you, or if you have any information on these
individuals (especially e-mail addresses), please do let me know, thanks!

* NOTE - No need for real names at this stage. Not sure if those will
become problematic later? We'll deal with that when if/when is a problem.
*

Also, please do check your own entry. I might have old or incorrect
information for you, if you didn't supply it on the earlier Pirate Pad
yourself.

Best wishes!


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
ethereum/webthree-umbrella#530 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/ADMwU3Ge_TIxybjH7RiHlNMWDPyu1x0kks5qJMXzgaJpZM4Im2BU
.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

Thanks, @azawlocki.

164 times :-) Thank you! https://github.com/ethereum/cpp-ethereum/commits?author=azawlocki

The changes occurred before the EVMJIT repo was split off.

Looking at https://github.com/ethereum/evmjit/graphs/contributors, it's all the same people.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

From @chfast on June 7, 2016 21:34

This is because the git subtree push/pull crap. I'm thinking about cleaning this up (by history rewrite).

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

Commented to @chfast's post at https://gitter.im/ethereum/cpp-ethereum?at=57574500c2a6e42f7e994d36, to avoid a discussion chain here which spams everybody with notifications.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

Hey @msimovic - please could you add an e-mail address for yourself to https://github.com/ethereum/webthree-umbrella/wiki/Contributors? Thanks!

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

GREETINGS EVERYBODY!

So, as of Saturday 11th June we nearly all the information.

See https://github.com/ethereum/webthree-umbrella/wiki/Contributors.

I am only missing e-mail addresses for the following:

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Aug 26, 2016

@/all OK - MY C++ RE-LICENSING PROPOSAL ARTICLES ARE FINALLY READY

See also https://reddit.com/r/ethereum, but let's have any discussion on Gitter. Thanks, everyone!

Next step will be to give you all a few days to look through the articles and provisional "paperwork", and raise any objections or issues or thoughts you may have. And then within a few days I hope to be in a position to start contacting you individually and to get either e-mail or DocuSign or paper signatures (TBD, still talking to IP lawyer).

NOTE: I tagged more people on this issue than will end up being contributors to the codebase being relicensed, so if you only contributed to solidity, or mix, or web3.js or alethzero, you might not be in this list of people who I believe are the contributors for the code we are looking to relicense:

https://github.com/ethereum/webthree-umbrella/wiki/Contributors

Best wishes!

@axic

This comment has been minimized.

Member

axic commented Jan 24, 2018

@bobsummerwill while this was stalled last time, is there a central place for all the documentation we had? Do we have a good understanding of who was missing from agreeing to the change? Perhaps times have changed.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Jan 24, 2018

Hey @axic.

Christian Vomel was CC-ed on all the paperwork, and I have copies in Google Docs too.

Here is a link:
https://drive.google.com/open?id=0B8s2kfOfQTr0X2dBSVI4Q1B5eUk

And the master spreadsheet:
https://docs.google.com/spreadsheets/d/1i0U0hsLZui7sk-hv60tzWy2jY6ZUslciq37N_Q5KDao/edit?usp=sharing

If @gavofyork and @debris signed then we would have ~95% of commits consenting. We would need to factor out ethash into an optimal component in some form, because of @xcthulhu's objection, and there would be some further chasing up and cleaning up, but we could proceed with the relicensing as originally proposed.

I still think there is some utility here for resource-constrained devices, if nothing else. My original motivation :-)

Also of note is that Status.im (and presumably other mobile apps) still cannot ship in the App Store, because of incompatibility between the GPL and App Store terms. Which was another thing I was trying to address with this re-licensing.

@axic

This comment has been minimized.

Member

axic commented Jan 26, 2018

To read: #3 and #575

@kaustavha

This comment has been minimized.

Contributor

kaustavha commented Feb 6, 2018

Hi there,

I wanted to apologize for not replying to this issue back when I was tagged and offer my 2 cents.

I made a very tiny minor change in my process of playing with the code and dont care much about my name being on the contributers list and thus didn't pay much attention to this issue. I give you and the Foundation the authority to re-license my contributions as you see fit and remove my name or required signoff for any future license related developments if needed. I think this sentiment lines up with @frewsxcv & @mario02423 and many other minor contributer, although if we get on this issue and list in time it's always nice to be part of history ;)

But I'd also like to +1 this issue and effort. I've recently started at IBM which has somewhat restrictive internal OSS regulations. Both CC0 and *GPL require 'legal approval' whereas MIT & Apache do not. This makes the process of requesting the requisite permission from management a more cumbersome & worrisome process and may hinder internal efforts on helping and promoting the eth ecosystem.
I've personally switched my personal projects based on eth to use ethersjs instead of web3js due to this hoping to get more leeway and easier approval.

For other eth/sol devs

Building off my last point, the potential execution environment of the code shouldnt limit app devs. If your software does not contain or link against GPL code you dont need to use the GPL.
ethersjs is a good replacement for the GPL licensed web3js and this licensing drama creates a good atmosphere for new and better libraries to pop up. If the library used directly in the project isnt copyleft youre free to go, afaik.
Gavins fork of the C++ ethereum implementation is also currently MIT licensed, commit by none other than our boy vitalik. Therefore any code a 3rd party app dev writes can be assumed to be running on the MIT licensed implementation of the EVM or containing it for testing purposes.
Without the solidity compiler contained in your code, EVM bytecode or solidity code is free to use under more permissive licenses. Hmm but how did you compile those contracts? Remix, which is also MIT.
But I'm not a lawyer so please correct any misconceptions I might have.

But I also find it difficult to sympathise with Bobs proclamation of SNT having trouble getting on the app store. Really? A company which ICO'd for ~$60+ mill and is now valued at $1.1bill on etherscan is having trouble hiring devs to cleanroom reimplement whatevers required and hire the lawyers to get past this legalese? They couldnt get a prototype into the appstore before the raise? Incredible! My sympathy module must be broken but I just feel like maybe, just maybe, they didnt deserve that sort of a first round raise and I welcome the scrutiny and due diligence that would bring to ICOs. I'm all for financial decentralization and the concept of SNT; hopefully they can spend some of that dough struggling like all startups have to to survive.

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Feb 6, 2018

@kaustavha I shall be kind to you, because you are missing lots of context here.

cpp-ethereum is licensed as a mixture of LGPLv3 and GPLv3.

I put significant effort into relicensing it as Apache 2.0, contacting all contributors and gathering paperwork over the course of 5 months.

https://bobsummerwill.com/2016/07/12/ethereum-everywhere/

The relicensing failed because @gavofyork, the primary contributor did not sign. I spent several delightful hours with Gav in a Berlin pub last night. The answer is still the same. He has a duty to his shareholders.

So cpp-ethereum remains as LGPLv3/GPLv3.

Nobody needs or wants your sympathy for Status. The issue is with the Geth codebase they are using, and they are merely the first through the door on trying to ship an iOS dapp with an embedded Ethereum client. Bringing the amount that they raised to the table as a factor is crass of you.

We are discussing technical issues here, related to licensing of existing codebases.

It looks like they will be building a new client anyway, which will have Apache 2.0 licensing for the benefit of all. That doesn't help with Geth or Parity, neither of which can currently ship on iOS

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Feb 6, 2018

"They couldn't get a prototype into the app store before the raise".

Status have had working code for 2+ years before the raise, including working iOS app. The issue is that they cannot legally RELEASE it in a final form (ie.cannot come out of Beta). That cannot be "lawyered around". Building a new client from scratch is the only alternative - barring relicensing of existing code.

And that is what they are now driven to do.

@kaustavha

This comment has been minimized.

Contributor

kaustavha commented Feb 6, 2018

Thanks for the clarification! I did briefly look at your ethereum anywhere document and I agree with the general philosophy you lay out in it and I do support the relicensing effort.

Sorry if my feelings on SNT came off as crass or overly hostile and I’d like to say they’re really not directed at you. And I don’t see a point in bantering back and forth about it here.

But so what you’re saying is that in essence this relicensing effort here is unlikely to move forward?
And if we need to contain an ethereum client in our code we need to either build one from scratch or await an implementation?
Do you know of any implementations in the wild other than the debacle with Tron copying over code and relicensing without attribution? E.g from status?
And from a legal perspective do you see any concerns with writing and releasing .sol smart contracts under an MIT license or dapps using ethersjs? Without embedding in the way status did it should be fine right?

@chfast

This comment has been minimized.

Collaborator

chfast commented Feb 21, 2018

Which part is LGPL?

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Feb 21, 2018

@chfast "Which part is LGPL?"

I misspoke there. All of the cpp-ethereum repo is actually full GPLv3, isn't it, because everything was co-mingled.

Where there was a clear line drawn between application and library for geth, so there was a mixture of LPGL and GPL.

See https://bobsummerwill.com/2016/07/12/c-re-licensing-plan/

Content to be relicensed

The following repositories are in the process of being reorganized into a restored cpp-ethereum repository, which will be relicensed as Apache 2.0:

  • libethereum
  • libweb3core
  • webthree
  • webthree-helpers

That will include the following applications:

Ethereum VM:

  • eth
  • ethvm

Unit-testing:

  • testeth
  • testweb3
  • testweb3core

Support tools:

  • bench
  • ethkey
  • ethminer
  • rlp

The following standalone repositories will also be relicensed to Apache 2.0:

  • cpp-dependencies
  • evmjit

The following repositories, containing the Solidity compiler and the deprecated C++ GUI applications will remain under GPLv3:

  • alethzero
  • mix
  • solidity

The following repository, containing the new “Remix” debugging components will remain under MIT, though we might want to consider whether that should be Apache 2.0 as well?

  • remix
@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Feb 21, 2018

@kaustavha "But so what you’re saying is that in essence this relicensing effort here is unlikely to move forward?"

The relicensing effort will not be moving forward. That is correct.

"And if we need to contain an ethereum client in our code we need to either build one from scratch or await an implementation?"

For platforms whose app store is incompatible with GPL, with iOS being the primary one of note, that is correct. Neither Geth nor Parity nor cpp-ethereum are possible.

Do you know of any implementations in the wild other than the debacle with Tron
copying over code and relicensing without attribution? E.g from status?

You would need to rephrase. I don't understand what you are asking.

And from a legal perspective do you see any concerns with writing and releasing
.sol smart contracts under an MIT license or dapps using ethersjs?
Without embedding in the way status did it should be fine right?

MIT is fine.

@larspensjo

This comment has been minimized.

Contributor

larspensjo commented Feb 24, 2018

@kaustavha

This comment has been minimized.

Contributor

kaustavha commented Feb 24, 2018

@bobsummerwill
Thanks, you answered my main concern.

As for what you wanted clarity on, I was asking if there's an in progress Ethereum implementation with more permissive licensing that you knew of.

@larspensjo

This comment has been minimized.

Contributor

larspensjo commented Feb 25, 2018

@chfast

This comment has been minimized.

Collaborator

chfast commented Mar 20, 2018

I think it's clear now. GPL stays.

@chfast chfast closed this Mar 20, 2018

@bobsummerwill

This comment has been minimized.

Contributor

bobsummerwill commented Mar 20, 2018

Correct, @chfast. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment