nunit / governance

This repository holds documentation about how the NUnit Project is governed
Other
7 stars 4 forks source link

Copyright for NUnit Projects #12

Closed CharliePoole closed 3 years ago

CharliePoole commented 7 years ago

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 commented 7 years ago

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 commented 7 years ago

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 commented 7 years ago

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 commented 7 years ago

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 commented 7 years ago

@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 commented 7 years ago

@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 commented 7 years ago

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

jnm2 commented 7 years ago

Looks good from here.

ChrisMaddock commented 7 years ago

Sounds good.

rprouse commented 7 years ago

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 commented 7 years ago

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 commented 7 years ago

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 commented 7 years ago

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

CharliePoole commented 7 years ago

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 commented 7 years ago

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 commented 7 years ago

@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 commented 7 years ago

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

rprouse commented 7 years ago

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 commented 7 years ago

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 commented 7 years ago

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

CharliePoole commented 7 years ago

@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 commented 7 years ago

@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 commented 7 years ago

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 commented 7 years ago

@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 commented 7 years ago

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 commented 7 years ago

"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 commented 7 years ago

The NUnit project sounds good to me.

CharliePoole commented 7 years ago

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 commented 7 years ago

@rprouse Which items were you doing PRs for, so we don't duplicate our efforts?

OsirisTerje commented 7 years ago

MIT is fine by me

rprouse commented 7 years ago

I think MIT is more correct for code. As for PRs, I misunderstood an earlier comment and thought you wanted me to hold off.

I am going on vacation tomorrow, but could probably knock off dotnet-test-nunit, nunit-portable, xamarin, templates before I leave. I would prefer all go to NUnit Project, none to me specifically if that is okay.

CharliePoole commented 7 years ago

Till we decided on what word to use... but now we know it's "Copyright (c) The NUnit Project"

If you can manage that's great. Should I wait till tonight and see what's done? I can move on with a few other things today.

jnm2 commented 7 years ago

Feel free to ignore this but I like © better than (c). Even though hardware keyboards tend not to have a key for this symbol, you can type it via Alt+ numpad 0169.

CharliePoole commented 7 years ago

I switched the samples to MIT and will do some PRs for them.

CharliePoole commented 7 years ago

Everything I have read from lawyers says to use (c). I used to use © but changed it everywhere after learning that. This really isn't an area where you go by personal preference.

jnm2 commented 7 years ago

@CharliePoole :-/ Everything I am finding seems to say, if anything, © is the canonical legal symbol. But I need to know because I use it. Can you point me to legal advice on this?

CharliePoole commented 7 years ago

I ended up doing the samples directly in master, since all I did was add the license file.

CharliePoole commented 7 years ago

@jnm2 I had explicit info in the way-back saying not to use that symbol because of issues on systems that use different character sets. It would not surprise me to see it different today, but I'm pretty sure our old copyright notices are still good - many works from the past continue to use it. I'm not inclined to change it at least till somebody gives us legal advice that says we should.

Much of the info I had was in books. As part of my current major change of life, I'm afraid I've gotten rid of almost all my technical books, so I can't give you a reference without doing major research.

rprouse commented 7 years ago

PRs are up for the four projects that I said I would update. Links above.

ChrisMaddock commented 7 years ago

@CharliePoole - there seems to be some left over bits and pieces in the samples repos. I'll PR them now, as I assume they were just missed - will leave you to double check before merging if that's ok.

ChrisMaddock commented 7 years ago

Actually - there's more to this than I thought.

Some of the samples files contain this copyright notice

// ****************************************************************
// This is free software licensed under the NUnit license. You
// may obtain a copy of the license as well as information regarding
// copyright ownership at http://nunit.org
// ****************************************************************

Given there's now an MIT licence in root - I assume we should remove that notice entirely?

rprouse commented 7 years ago

Given there's now an MIT licence in root - I assume we should remove that notice entirely?

I think so, those are left over from the license change between NUnit 2 and 3

ChrisMaddock commented 7 years ago

Ok, I'll run through them quickly now.

CharliePoole commented 7 years ago

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 commented 7 years ago

Ah - lucky I searched 'license' then!

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

ChrisMaddock commented 7 years ago

@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 commented 7 years ago

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

CharliePoole commented 7 years ago

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

ChrisMaddock commented 7 years ago

Yanks... rolls eyes

😉 Only joking! @CharliePoole - not sure if you saw my post from today, alongside my whining about spellings from last week? https://github.com/nunit/governance/issues/12#issuecomment-311637002

CharliePoole commented 7 years ago

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