I support the proposal to change the package names/paths to match JanusGraph style since it was moved from Expero to the JanusGraph org. The changes I think you want to make are:
- move directories from com/experoinc/janusgraph --> org/janusgraph
- update package names accordingly
- update copyright line from Expero Inc. -> JanusGraph Authors
- create AUTHORS.txt, add Expero Inc there
- create CONTRIBUTORS.txt, add Ted Wilmes there (and anyone else in the Git history so far, but see below for details on copyright)
What's the difference between these two and why do we need both of them?
- AUTHORS.txt are the copyright holders aka copyright owners of the code — these are either people (if they're individuals and they own the copyright of their contributions) or companies (if they own the copyright of their employees' contributions)
- CONTRIBUTORS.txt — these are the people that did the actual work, who don't own the copyright themselves (if they do, they're already in AUTHORS.txt)
For all of us whose companies own the copyright of our contributions to JanusGraph (as evidenced by the fact that we're on our companies' Corporate CLAs), our company name would go into AUTHORS.txt and our own name would go into CONTRIBUTORS.txt.
However, before we do any changes to the code, as a first PR, can we please add a .travis.yml file to the repo so that we start building and testing each change? Otherwise, we'll be in the situation we were in with the JanusGraph repo (before Travis CI was setup), where PR reviewers had to manually patch the PR to verify that it builds and tests pass before approving them, and that was painful. The 2 big cleanups where PR #1 and #2, and Travis CI config was only added in PR #3, and Henry Saputra was very patient in doing this manually, but let's not repeat that again. :-)
Back to the original topic: I did the initial cleanup on the JanusGraph repo after importing from thinkaurelius/titan; you can see my changes in:
Specifically, for PR #2 (which consists of 2 commits), you can see the scripts and the changes that were done in the individual commits:
Please feel free to reuse & adapt the scripts as needed for this update and include them in the commit message, as they may be useful in the future, should someone else donate another large subproject to JanusGraph!
Re: @author tags: I think we kept a bunch of them for historical reasons to give credit to the original Aurelius folks (even though we also kept the full Git history, so everyone can see who the original author was). https://github.com/JanusGraph/janusgraph/search?q=%22%40author%22
shows 607 appearances of `author@` in the codebase.
We also kept <developer> and <contributor> tags in pom.xml files, e.g., see https://github.com/JanusGraph/janusgraph/blob/c433f54e01887245f02189cceac83dafdec94514/pom.xml#L19-L46
— I don't think there's a particular need or desire to remove either @author lines or the <developer> / <contributor> tags. If we want to make a large-scale change to remove ALL of them, we should discuss this with a vote on janusgraph-dev@ but I'm not sure whether it's worth it, and as I mentioned above, we owe a lot of gratitude to the original authors of Titan from which JanusGraph came, so I would feel bad removing them all in one fell swoop.
Hope this helps!
I'm happy to help with these changes, or if you'd like to make them, I'm happy to review them.