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

Copyright for NUnit Projects #12

Closed
CharliePoole opened this issue Jun 8, 2017 · 67 comments
Closed

Copyright for NUnit Projects #12

CharliePoole opened this issue Jun 8, 2017 · 67 comments

Comments

@CharliePoole
Copy link
Contributor

A bunch of NUnit projects are copyright to me personally. A bunch of others are not, but just had my name added to them in a kind of rote way as "the guy" for holding copyrights.

I need to figure out what to do with "my" copyrights, but the ones that just have my name artificially added to them kind of confuse the issue. Let's discuss how to fix all this.

I'll add separate comments for each sort of project.

@CharliePoole
Copy link
Contributor Author

Bummer! I just spent an hour making a table of all our projects and who holds copyright on each. Just as I went to save it as a comment, my machine died! Teaches me to not edit online.

@CharliePoole
Copy link
Contributor Author

CharliePoole commented Jun 9, 2017

The following is a summary of who holds copyright on all our projects and how (or if) I think it should change in the future. I wanted to make a full summary so we could see everything at once, but I think it will work best if we discuss one issue at a time.

Group Repo Copyright Action
Core nunit Charlie
nunit-console Charlie
nunit3-vs-adapter Charlie
nunit-vs-adapter Charlie
NUnit.System.Linq Charlie
nunit-distribution None
Secondary nunit-project-editor Charlie
nunit-v2-framework-driver Charlie
nunit-v2-result-writer Charlie
nunit-project-loader Charlie
vs-project-loader Charlie
nunit.xamarin Charlie Change to NUnit Project. DONE
Preview nunit-gui Charlie
nunit-expectations Charlie
nunit.analyzers None
Contrib nunit-vs-testgenerator Charlie Change to Terje. DONE
teamcity-event-listener Charlie
nunit3-tdnet-adapter None
nunit-vs-templates nunit.org Change to The NUnit Project. DONE
nunit-transforms Multiple
Web nunit.org Charlie Change to The NUnit Project. Use CC.
docs Charlie Change to The NUnit Project. Use CC.
governance None Change to The NUnit Project. Use CC. DONE
nunit.github.io nunit.org Change to The NUnit Project
resources nunit.org Change to The NUnit Project
Samples nunit-csharp-samples None Change to The NUnit Project. DONE
nunit-fsharp-samples None Change to The NUnit Project. DONE
nunit-cpp-samples None Change to The NUnit Project. DONE
nunit-vb-samples None Change to The NUnit Project. DONE
Archive nunitv2 Multiple
nunitlite Charlie
nunit-compact-framework Charlie
nunit-silverlight Charlie
dotnet-test-nunit nunit.org Change to The NUnit Project DONE
nunit.portable.agent Charlie Change NUnit Project DONE

@CharliePoole
Copy link
Contributor Author

CharliePoole commented Jun 10, 2017

Starting out with some low-hanging (I hope) fruit...

These are items that list me as the copyright holder but which I haven't even worked on. The author is listed for each one.

  1. nunit.xamarin (Rob)
    2. nunit.analyzers (Jason) (I was mistaken here, there is no copyright holder listed)
  2. nunit-vs-testgenerator (Terje) (Done pending approval by Terje)
  3. nunit.portable.agent (Rob)

The authors had copyright in their work as soon as they created it. I think they added my name as a matter of convention, not really intending to gift it to me.

It seems to me that the simplest thing would be for each of them to hold the license of their own work.

What do you all think?

@CharliePoole
Copy link
Contributor Author

CharliePoole commented Jun 10, 2017

Here's another...

I wrote the first teamcity-event-listener, based on internal engine code, which I had previously written. So it carries my name. @NikolayPianikov has done all the work for some time. I propose to share the copyright with him, if he agrees. I created an issue for this in the teamcity project: nunit/teamcity-event-listener#40

Update: @NikolayPianikov can't be the copyright holder per his company. It remains with me.

@CharliePoole CharliePoole self-assigned this Jun 11, 2017
@CharliePoole
Copy link
Contributor Author

@nunit/core-team I'm still hoping for feedback from my proposal of four days ago regarding four projects that "accidentally" list me as the copyright holder.

@CharliePoole
Copy link
Contributor Author

@nunit/core-team FYI, @NikolayPianikov is checking with his company to make sure he is able to have his name added as a copyright holder for the teamcity event listener. For example, if they consider his work on it as "for hire" then he may not be able to.

@CharliePoole
Copy link
Contributor Author

@nunit/core-team Another FYI... I asked for some info from the .NET Foundation as discussed. No answer as yet.

@jnm2
Copy link
Contributor

jnm2 commented Jun 14, 2017

Looks good from here.

@ChrisMaddock
Copy link
Member

Sounds good.

@rprouse
Copy link
Member

rprouse commented Jun 15, 2017

I am fine with assigning the copyright of the projects listed as mine to me, to NUnit.org or eventually fully to the .NET Foundation. I agree that NUnit.org is weird since it isn't a legal entity.

I have also seen project recommendations that you only place the MIT copyright in a file at the root of each repo and not include it in every file because it is redundant. I like the idea because it is easy to maintain and cleans up the files. I would only leave exceptions in the code like the command line argument parser we borrowed from another project. I am not wed to the idea, just putting it out there if we are changing copyrights anyway.

@CharliePoole
Copy link
Contributor Author

I was considering the change from Charlie to Rob as a preliminary change, just to resolve my own issue. Obviously, once it's in your name you can change it otherwise, although changing it once is better if we know in advance how it would end up. Anyway, I'll do PRs on each of the four (did Terje's already).

Although NUnit.org is weird, we may want it or something like it for some purposes. I'll propose something on that in copyright.md.

IMO whether to place MIT copyright on files is an individual decision. Most open source projects have put it on each file, because its' so short (as compared e.g. to GPL). Microsoft has tended to leave it off. I like having it on the file, so you don't lose the info simply by copying the file to a different directory structure.

This could be a decision for whomever contributes a project. I would not want to tell them how to do it - or for that matter what license to use.

@jnm2
Copy link
Contributor

jnm2 commented Jun 15, 2017

I have also seen project recommendations that you only place the MIT copyright in a file at the root of each repo and not include it in every file because it is redundant. I like the idea because it is easy to maintain and cleans up the files. I would only leave exceptions in the code like the command line argument parser we borrowed from another project. I am not wed to the idea, just putting it out there if we are changing copyrights anyway.

Seconded! 🎉

@jnm2
Copy link
Contributor

jnm2 commented Jun 15, 2017

If we're going to keep something in each file, let's at least make it a one-liner.

@CharliePoole
Copy link
Contributor Author

I think the minimum is a one-line copyright and a one-line reference to the license. Of course, it's possible to combine those lines but it's generally recommended to stick with a standard template for copyright, which is one line.

That said, Rob only threw this idea out as a sideline to what we are discussing. Let's not derail everything to argue about it. Remember, we are in the governance repo acting in our role as the Core Team. We are deciding what stuff is so important that we will require it of everyone including people who come along and contribute a project. Are we likely to say "Gee, that's a really cool project and we would take it if your headers were shorter!" I kind of doubt it. 😄

I will try to draft a copyright.md that only specifies what we insist on and no more. We could add extra requirements for "core" (or whatever we call them) projects if you like. I had not planned to write anything about what goes in the header of a file after the copyright line, but I can make an attempt to be generic about it if you like. I'll have a PR soon.

@jnm2
Copy link
Contributor

jnm2 commented Jun 15, 2017

Are we likely to say "Gee, that's a really cool project and we would take it if your headers were shorter!" I kind of doubt it.

I would rather say "Gee, we don't care if you have headers or not!"
But requiring one line is better than requiring an entire license. I also strongly dislike the whole tracking year thing. I don't think it earns its mental space.
</end rant>

@CharliePoole
Copy link
Contributor Author

@jnm2 That's exactly what I think we should say. So we don't seem to disagree.

I don't think anyone has said we should require the entire license. Or even require a header. Most likely we'll ask people for something fairly light and will impose something slightly less lighter on ourselves for the primary projects. Let's wait and see what that guy writes before critiquing it. 😄

@rprouse
Copy link
Member

rprouse commented Jun 15, 2017

Should we add a Creative Commons license to this repository too?

@rprouse
Copy link
Member

rprouse commented Jun 15, 2017

For the projects that you state NUnit or Rob, let's just go with NUnit for now. Are people okay with me submitting PRs for those to get them done?

@jnm2
Copy link
Contributor

jnm2 commented Jun 15, 2017

I am fine with assigning the copyright of the projects listed as mine to me, to NUnit.org or eventually fully to the .NET Foundation.

I'm not quite liking the fact that we're assigning copyrights to a name which isn't a legal entity. Are we going to end up assigning copyrights to the .NET Foundation? If so, why don't we hold off till then? If not, do we plan to create a legal entity?

@rprouse
Copy link
Member

rprouse commented Jun 15, 2017

I am fine to just make a plan and wait until the foundation decision.

@CharliePoole
Copy link
Contributor Author

@rprouse I think CC for our governance docs makes sense. Should there be a notice at the end of each doc such as one usually sees? Do you want to create an issue or just do a PR?

@CharliePoole
Copy link
Contributor Author

@rprouse I assume your comment about "NUnit or Rob" refers to the table I did at the beginning. That's kind of an index to everything we are doing, so no action has been taken on it yet. I'll edit it however.

@rprouse
Copy link
Member

rprouse commented Jun 15, 2017

I think CC for our governance docs makes sense. Should there be a notice at the end of each doc such as one usually sees? Do you want to create an issue or just do a PR?

I think just a license file at the root of the repo is good enough. I will do a PR. I will use the Creative Commons - Share Alike license which is one of the more open licenses.

I assume your comment about "NUnit or Rob" refers to the table I did at the beginning. That's kind of an index to everything we are doing, so no action has been taken on it yet. I'll edit it however.

Yes, referring to your table above.

@CharliePoole
Copy link
Contributor Author

@rprouse OK... edited. There is one other that says Rob or NUnit, the difference being because it's already in the name of a person (me) and I wanted to get my name off it. It's also part of an existing action item with four projects to be changed.

Here is my logic for wanting your name on this project... If it's going to be assigned or licensed to the .NET foundation (or any other entity) then the copyright holder has to do it. I don't see how NUnit.org or NUnit Project can do it in any legal sense. (Of course IANAL) Further, that holder has to decide whether to do it and which of the two actions to take. Since some projects are authored by you I figured you would want to make the decision. BTW, I did write to find out how much of a concern this is, with no response yet. I'm going to try Martin next time to see if he can spark a response.

@CharliePoole
Copy link
Contributor Author

Since @rprouse wanted to do some PRs on a few copyrights, let's decide what NUnit means!

You recall that I used "NUnit" as a place holder for any projects where we wanted some generic copyright holder. IMO, we should use that approach for things like docs, samples and stuff we are less concerned about for our actual software. But, in any case, we should have a standard name when we use it.

I propose "The NUnit Project" which is something we define in the governance doc. NUnit.org is the name of a website or a short name for a GitHub artifact. If we called ourselves "the NUnit Organization" I'd be OK with that, but we don't.

Still there could be other things like NUnit Community, NUnit Contributors, etc. I will use Project in the doc I'm doing a PR for and we can change it after discussion.

@rprouse
Copy link
Member

rprouse commented Jun 15, 2017

"The NUnit Project" 👍

To alleviate your concerns about it being a non-entity, would naming the core team as the copyright holders for The NUnit Project work? IANAL and I don't usually pay much attention to this stuff, so just asking. I tend to think that if it is MIT Licensed, anyone can do anything they please with it except remove the copyright, so I don't give it much thought.

@ChrisMaddock
Copy link
Member

The NUnit project sounds good to me.

@CharliePoole
Copy link
Contributor Author

I reformatted the summary table, used The NUnit Project, made a few other changes.

Question for all. Should the samples be MIT or CC? I originally suggested CC, but I'm thinking that MIT like other code may be more consistent. Either way, I will just add the license in the root.

@CharliePoole
Copy link
Contributor Author

CharliePoole commented Jun 17, 2017

My mistake! I looked at a few source files for each language and didn't hit any with headers, so I thought that none of them had it. Also searched for copyright - but these headers didn't have any.

@ChrisMaddock
Copy link
Member

Ah - lucky I searched 'license' then!

(Well...'licence' first, because Americanisms...but eventually 'license'! ;-) )

@ChrisMaddock
Copy link
Member

@CharliePoole - Was just looking at nunit-distribution today - that contains a .txt and .rtf licence which are both (c) Charlie Poole - although it will now be used for the console, which is (c) Charlie Poole and Rob Prouse. (And the extensions - although they're currently just (c) Charlie Poole.)

Is it maybe worth updating the two licence files in nunit-distribution, while we're here? I presume that's best coming as a PR from yourself, rather than me doing it.

@jnm2
Copy link
Contributor

jnm2 commented Jun 28, 2017

Lol I thought 'licence' was a Britishism! In the US I think the only correct spelling is 'license.'

@CharliePoole
Copy link
Contributor Author

@ChrisMaddock Feel free to keep both your spelling and your nationality. 😃

@ChrisMaddock
Copy link
Member

Yanks... rolls eyes

😉 Only joking! @CharliePoole - not sure if you saw my post from today, alongside my whining about spellings from last week? #12 (comment)

@CharliePoole
Copy link
Contributor Author

Ah no I missed the byplay, so didn't understand why your spelling was being critici[z|s]ed.

@rprouse
Copy link
Member

rprouse commented Jun 29, 2017

Personally, I'll stick with the spelling of the people that invented the language and try not to be overly influenced by my neighbors to the south 😄

@jnm2
Copy link
Contributor

jnm2 commented Jun 29, 2017

The footers in these sections say, Copyright (c) 2016 NUnit Software:
https://github.com/nunit/docs/wiki/NUnit-Xamarin-Runners
https://github.com/nunit/docs/wiki/Visual-Studio-Test-Generator
https://github.com/CharliePoole/nunit-project-editor/wiki/Project-Editor (says 2017)

https://github.com/nunit/docs/wiki/Visual-Studio-Test-Adapter has no footer.

What would you like to do?

Awhile back I had changed the footer under https://github.com/nunit/docs/wiki/NUnit-Documentation to look better, from:

                      Copyright (c) 2016 NUnit Software

To:

Copyright © 2017 NUnit Software

(Via <p align="center">Copyright © 2017 NUnit Software</p>)

But the footer edit is buggy and always edits the https://github.com/nunit/docs/wiki/NUnit-Documentation footer for some reason. I think we'll have to clone locally to update them.

@CharliePoole
Copy link
Contributor Author

There is a list of things that may not be done (successfully) online in the wiki. Off the top of my head...

  • Creating a new page
  • Editing a sidebar
  • Editing a footer

This all goes back to the fact that the wiki engine treats the hierarchy of pages as if it were a flat list.

@CharliePoole
Copy link
Contributor Author

Unfortunately, this is well known to some of us and we haven't made a point of telling people until after they get it wrong. 😈

@CharliePoole
Copy link
Contributor Author

Regarding different footers in different sections, i think you should leave them to the people responsible for those sections.

@CharliePoole
Copy link
Contributor Author

AFAIK all the details are done for this issue and what remains is a document to be written. I'm postponing working on it until I return but if somebody else decides to take it up I'm OK with that too.

@CharliePoole CharliePoole removed their assignment Oct 26, 2017
@CharliePoole
Copy link
Contributor Author

I'm taking my name off this. I'm not sure if we still need a document or if we do what would go into it.

@ChrisMaddock
Copy link
Member

I'm not sure we have anything to write in a document either, and I'm not a fan of making up rules in case we need them in the future.

I suggest we close this issue, and deal with and copyright conflicts as/when/if they arise.

@CharliePoole
Copy link
Contributor Author

I guess I created it, so I'll close it.

@CharliePoole
Copy link
Contributor Author

As noted above, I closed this because nobody wanted to continue it and I felt I had been doing it as the chair of the @nunit/core-team so it wasn't my place for me to continue once @rprouse began to fill that role. This seems to be a bit of a problem, however, since we do not actually have a document that says (1) who holds copyright to what (2) how they got that copyright and (3) what to do about copyright when new projects or documentation get added.

There's no doubt that I'm an outlier in terms of how much attention I think should be paid to copyright. I think it's super important to us because copyright law is the engine that drives Open Source. It's only because we hold copyright to something that we have the power to decide who uses it and how. As I'm sure you all know, putting stuff into the public domain doesn't do that.

I'm writing this comment on the closed issue, but we could open a new issue if everyone prefers that. The specific thing that caused me to write that is that I just noticed that the legacy NUnit documents on the web site are shown as Copyright to myself and Rob, which is not what I thought we had decided. Looking at the discussion under this issue, it seems as if we decided it should be to the "NUnit Project."

Taking it a step further, I have never actually done anything to transfer my rights to the NUnit Project or (in the case of software) to Rob or Terje. We just changed the words in the files, which I suspect is insufficient. My memory (I can't find this documented so it may have been private discussion) is that we intended to wait until we had .NET Foundation support and possibly legal advice in order to resolve this.

I don't know if we are yet at that point or, if so, who the proper contact is on the Foundation side as well as our side - although I've been assuming that Rob is the sole point of contact for us in general.

Please comment about your memories of how we intended to handle the specific item (documentation) and what you think we need to do going forward.

@ChrisMaddock
Copy link
Member

My (vague) memories are that we planned to move copyright to Rob/Terje as an interim measure, until we were set up with the .NET foundation - to ensure the foundation joining process wasn’t blocking your ‘handover list’, Charlie. I’d assumed that changing the licence was all that was needed to handover (I am not a lawyer) - if there’s more, then I think we should do that.

On docs - it looks like Joseph was in the process of renaming to NUnit Project, until you suggested it should be the responsibility of whoever owns the docs in #12 (comment). Looks like the thread got lost there.

How do we get that moving again, is it just a matter of Rob and Terje giving the ok to update the copyrights? Who currently has holds copyright on the docs?

@ChrisMaddock ChrisMaddock reopened this Jan 21, 2018
@CharliePoole
Copy link
Contributor Author

My thinking on the legal stuff is that 99.9% of us programmers won't care one way or another, but that somebody in that 0.1% might find a loophole that allowed them to tie things up in a way that could be detrimental to NUnit. I'd like to make that impossible, even if it's tedious.

Regarding my comment that you linked, it refers to who should make the changes in each section of the wiki not what the content of the footers should be. I thought the Core Team was doing that. The reason it has to be section by section, of course, is that someone could contribute a project to which he wanted to retain copyright to the docs, just as I originally did for NUnit, releasing the software but not the docs as open source.

My original question, however, was about the docs section of the website, which contains the legacy documentation. Those are the docs that were always in my name and were never open source before. That is, they all said "Copyright Charlie Poole,. All Rights reserved." I was and am willing to release them more publicly, but that's not what the docs footer says on the site.

To get it moving again, I feel like we need some document that states who has the copyright to each thing and that each project should follow that. If that's not done, then we should just take each item on a case by case basis and figure it out - I hope starting with the issue I'm raising.

@ChrisMaddock
Copy link
Member

Sorry, I’d missed you said ‘legacy’ docs.

@rprouse
Copy link
Member

rprouse commented Jan 24, 2018

@CharliePoole I thought that we had agreed to CC-NC-SA for the legacy docs with the Non-Commercial being at your request, but I may be wrong. I also cannot find that email, issue or document. I probably mistook docs in this discussion to mean all docs, legacy and NUnit 3 since the NUnit 3 docs derive from the legacy docs.

Since you hold the copyright, I think it is appropriate that you decide how the legacy docs should be treated. If you don't feel that CC-NC-SA is appropriate, we will need to decide how that is represented on the website since the standard footer is CC-NC-SA.

My tendency is open by default and that is why most of what I do is MIT license, but I am also a strong advocate for copyright where appropriate, so I am fine with whatever you decide.

@CharliePoole
Copy link
Contributor Author

@rprouse Although I'm sure you know this, for the benefit of the entire team I need to state...

You can't release something under an open source license (or any license) unless you hold the copyright or somebody else who holds the copyright licenses you to do so.

So copyright and open source are not opposed, they go hand in hand. If the team or somebody on the team doesn't hold copyright, then you can't (among other things)

  • release the docs or software
  • challenge somebody else who makes improper use of the software.
  • change the license under which you release the software
  • give special "deals" to somebody to make use of the documentation or software

The CC-BY-NC-SA (I think that's what the website says) is exactly what I would choose.

I don't have any memory of deciding to include you as a copyright holder. If you remember it, please prompt me about what the reasons were. Was it related to not wanting to use the name of a non-existent entity on the docs? That may make some sense as it would allow you to do all of the things listed above in case something happened to me.

BTW I hope it's entirely obvious that it has nothing to do with your level of contribution, deservedness, etc. For me it's about how future decisions get made. If it were possible to make the "Core Team" (present and future) the holder of the copyright, that's what I'd want to do. Maybe those .NET Foundation lawyers will have something to say about that.

@CharliePoole
Copy link
Contributor Author

We discussed this from January 2017 to June 2018 and then stopped. There has been no discussion for the past two years. I had closed it at one point, believing it was done, but it was re-opened. Is there something that still is needed?

@ChrisMaddock
Copy link
Member

Whatever we discussed in the past, I think our current position is stable. How about we close this, and create a new issue if there's anything we want to change here in the future?

I reopened it 2 years ago, so I'll go ahead and close it now. Feel free to reopen if anyone disagrees.

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

No branches or pull requests

5 participants