Skip to content
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

bring follow library under Nano's wing #53

Closed
wants to merge 1 commit into from

Conversation

glynnbird
Copy link
Contributor

@glynnbird glynnbird commented Jul 18, 2017

Overview

Currently Nano uses a the follow library as a dependency to handle changes feed subscription. Unfortunately, follow is not maintained. The nice people at Cloudant have taken the code and fixed it up and published it here. This PR proposes to depend on the cloudant-follow fork, but I am proposing something different:

  1. Bring the follow codebase into the Nano project (it is published under an Apache-2.0 license)
  2. Remove follow as a dependency
  3. In the future refactor the follow code to be more in keeping with this project

Testing recommendations

This should be a drop-in replacement of the previous version. The only difference is that the follow code lives in this repo and not as a dependency.

I've brought in the follow tests too. Unfortunately they rely on CouchDB1.6 so I've altered the testing sequence to run our core tests with CouchDB2 then switch over to CouchDB1.6 for the follow tests.

See npm run coretests & npm run followtests in package.json.

GitHub issue number

Related Pull Requests

See issue #28 & pull #51

Checklist

  • Code is written and works correctly;
  • Changes are covered by tests;
  • Documentation reflects the changes;

@SinanGabel
Copy link

SinanGabel commented Jul 18, 2017 via email

@wohali
Copy link
Member

wohali commented Jul 18, 2017

@glynnbird FYI, any new code to be brought under an ASF repository (and thus ownership) directly must go through the code clearance process as outlined here:

https://incubator.apache.org/guides/ip_clearance.html

It's not just a matter of "they licensed it AL v2.0 so we can just bring it into our repo." That may be true of dependencies (we can depend on compatibly licensed code with no extra paperwork) but it's not true when that code is going to live in our repositories.

Now, that said, if Cloudant people have "maintained out" most of the original developers' changes, i.e. "git blame" doesn't show their contributions as still being in place, then we can waive that process under the outstanding Cloudant CCLA + jhs's outstanding ICLA. You'll need to do the legwork here to ensure that is the case.

  • Joan with her "PMC hat" on.

@glynnbird
Copy link
Contributor Author

Thanks for the clarification @wohali I'll make some enquiries.

@janl
Copy link
Member

janl commented Jul 26, 2017

@glynnbird see apache/nano#265 for how we did it for nano

@jhs
Copy link
Contributor

jhs commented Jul 26, 2017 via email

@wohali
Copy link
Member

wohali commented Jul 26, 2017

@jhs It helps a lot - but we should follow the ASF guidelines here.

@janl 's recommendation to review apache/nano#265 to see how we did it for nano is wise. Collect a full list of all contributors and get them to sign CLAs. Anyone whose changes are "eclipsed" (git blame is your friend here) doesn't need to sign a CLA. If we can't contact some of the individuals involved, we can do a further review process to determine if it's a problem or not.

@glynnbird
Copy link
Contributor Author

Thanks

@glynnbird glynnbird closed this Sep 21, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants