Closed jnm2 closed 7 years ago
I believe that the .NET Foundation will require us to use their CLA bot. It asks users to sign a contribution agreement before pull requests are accepted. Once you sign it for any .NET Foundation project, you don't have to sign it again.
To me, this is a pro and one of the original reasons I started talking with Martin. It may discourage some people from submitting PR's though, so some of us may be against the idea. I would be curious if they have any stats on how many PRs are abandoned because people don't sign the agreement.
They also have two ways that @CharliePoole can turn over copyright of NUnit code. If I understood it right, he can either turn over copyright or assign a perpetual license allowing Charlie to continue to hold the original copyright.
The other reason I started talking with Martin was disaster planning. I would like the support of an organization to hold the passwords and ownership of things like domains, build servers, dns servers, web hosting and even the GitHub organization just in case anything happens to the core team. Charlie and I have been sharing access for that reason, so we are relatively safe, but the two of us could meet at a conference and get hit by a bus.
The following are my notes after talking with Martin last year,
I talked with Martin about how the Foundation works and what it can help us with. Some of the things we talked about are (in no order);
I talked to him about the copyright. We would hold the copyright and just assign the foundation a license. Our copyright headers would remain the same. You and I would also have a veto over any foundation decisions related to the project. This was apparently added to satisfy Miguel's concerns.
If things don't work out, because we maintain the copyright, we only have to contact the organization and ask to withdraw.
There is also very little the foundation requires of us. They want us to accept the code of conduct and recommend, but don't require, that we have a CLA in place. There is no governance process like with the Apache Foundation which was one of my concerns. More info on their governance process is at https://github.com/dotnet/home
Martin wants very much to make the foundation much more independent of Microsoft. The board is doing this by searching for additional corporate sponsors and limiting Microsoft open source projects.
I would be curious if they have any stats on how many PRs are abandoned because people don't sign the agreement.
@rprouse That happening would surprise me, but the data is open. cla-required: 4.0% of all PRs have not been signed yet. cla-required last active > 6 weeks ago: 4.1% of all PRs last active > 6 weeks ago have not been signed yet.
@jnm2 You should be aware that Rob and I have talked about using a CLA anyway.
Rob and I each talked (separately as it worked out) with Martin. I may post more when I dig out my notes, so I'll just add a few comments to Rob's.
Martin has been replaced by Jon Galloway. I can reach out to him and make sure that everything is still the same if people want. I could also ask him about transferring copyright in stages if you like. Or, if you prefer @CharliePoole, I can leave it to you.
On the subject of copyright, have you decided about the framework, console/engine and adapters @CharliePoole? I had always assumed that they would remain with NUnit, but I shouldn't jump to conclusions. We could start with those, plus the projects I wrote (Xamarin, dotnet-test-nunit, etc) and bring more in later as you decide.
I'd prefer to talk to him about the issues I have, since they relate to the copyrights. Just to be clear "transferring" or "assigning" copyright means giving the intellectual property to the .NET foundation. They will, if asked, license it back to the original owner. (Always assuming that hasn't changed since I met with Martin.) That is definitely not what I would do. Of course, that's also something lots of companies and individual devs are unwilling to do either, which is why they offer the option of taking it under license.
I'm not sure about your second question. What do you mean by "remain with NUnit?" Obviously, those things are the core of NUnit.
To my understanding (this is one of the things I want to check with Jon and probably their lawyers as well) it's the copyright holder who has to take an action to assign or license the software to the .NET Foundation. That's why (in the other issue) I'm making such a big deal about getting the copyright statements correct. I'm especially unsure about those things that you have written and labeled as "Copyright (c) nunit.org". Like... who is nunit.org and where does he live? Anyway, I'll find out whether that's a problem and propose an action in the copyright issue if one is needed.
I would like us to join, purely for NUnit to be a formal part of the biggest community of the rapidly growing .NET open source movement at the moment. All the other issues we're looking at (copyright, hosting, domains, long-term security), which the .NET Foundation could potentially solve for us, are simply added bonuses. 😄
@CharliePoole you probably already have it, but Jon's email is jon@dotnetfoundation.org
As for my second question, unless I misunderstood, you were talking about continuing to hold the copyright for one or more projects. I had always assumed those didn't include the framework, console, engine and adapters, so those would be candidates for transferring or licensing to the foundation if we decide to go that way.
As for the Copyright nunit.org, I think that was only done on some early projects. Would it be easier if the original author (probably me) submitted a PR to change that to your name? Or even change them all to my name in preparation for transfer or licensing? I guess those are the sorts of questions you need to ask Jon.
@ChrisMaddock I have my reservations but it's the best choice available once you realize that we need some sort of formal organization - one that exists legally. The next best options, to my mind, were to form a business entity and to form a foundation, both of which require work I don't want to do.
OTOH, you have to recognize that there is work to do if we want to be part of it. We know from prior discussions that they would love to have us. It would be a big boost to their reputation, more than to ours I think. However, we still have to meet the requirements listed in the link that @jnm2 posted. The work we are now doing in this repo is primarily for our own benefit but also will enable us to qualify.
@rprouse Thanks for the email.
OK... I thought you meant I might somehow be removing the projects from NUnit, which seemed odd. I'm definitely not doing that!
As to copyright... Based on what you were assuming I can see that requires a much longer answer, which will be better to do in the copyright issue itself.
I'll try for a short version here: Some things are copyrighted in my name due to my being the author and having spent a number of years removing most of the NUnit 2 code that I didn't write. Other things are in my name, however, on which I never did any work on at all. People just put my name on them as the logical person to hold the copyright. I'm happy to do whatever the original author or the group thinks best on those packages. It might be worthwhile changing the holder of copyright back to the author, who can eventually assign or license it to the .NET Foundation.
IIRC I found nunit.org on three projects. I'll recover that info and post it on the other issue.
I have had an email response from Jon at the .NET Foundation. He is telling me something different from what I had previously gotten from Martin. I've sent him a note asking for clarification and suggesting we talk on the phone for a speedier resolution. This note is so the team knows what is going on.
Specifically, Jon tells me that if we join the .NET Foundation, all of the projects we put under them will become "Copyright .NET Foundation" and that "The existing / previous copyright notices won’t matter."
This is a problem for me. In fact, it was this understanding that originally caused me to reject the .NET Foundation as an option. Rob convinced me to talk with Martin, who assured me that retention of the existing copyright was an option with the Foundation.
What I have done is make the contradiction known to Jon, so as to give him a chance to respond. It could be that their policy changed since we spoke with Martin. It could be that he was simply presenting the most common option because he wasn't aware of the earlier discussion. I'm waiting to hear back. If the info from him is negative from my point of view as the copyright holder, I'll contact Martin again to be sure. If this doesn't work out, we will need to talk more among ourselves.
@CharliePoole anything back from Jon or Martin on this? I find their change in policy to be odd. I am hoping it is just because Jon is new in the role.
Your style may vary, but I have found politely taking to Twitter to be motivating for people because it's so visible.
I haven't given it priority since I took the issue off the list of things to accomplish before vacation. I'll send something again and give twitter a shot, much as I detest that kind of shaming.
Here is the key info from the answer I got from the .NET Foundation. I'm forwarding the entire correspondence to the Core Team members.
It’s not a problem for NUnit to maintain the copyright and grant a license to .NET Foundation. I would be very happy to work with you and the other members of NUnit to get this set up, and to make sure that your project’s requirements are met.
Since it's posible to set up an arrangement, I'll go on the assumption that we will. I'm assuming that the new chair will take on this issue and work with me on the question of my copyrights.
I think everyone has stated that they are in favor of moving forward with this except for @OsirisTerje. Am I correct that you are still in favor @CharliePoole?
This is a pretty big decision, so I would prefer if we were all in agreement. If everyone likes the idea, I will get in touch with Jon and get the ball rolling.
I think so. It's not the perfect choice but it seems to beat all those available without setting up our own non-profit organization. The discussion will be about the details.
What I know from my discussions is that we don't have to give them every project at the same time. The agreement will have an addendum that lists the projects we are putting under them and we can update it over time.
Regarding copyright, we don't have to assign it to them, which is good since I don't want to. 😥
Didn't I chime in? I must have missed that, but I thought I expressed my positive opinion to joining the .net foundation long time ago. Well, well - at least, I can confirm it now :-)
We have decided to join the Foundation and I have started the process. I am going to close this issue and open a new one to track the progress of the process. I will be priming that issue with the joining process checklist from the foundation.
hmm @rprouse I would like some steps to make my XmlAbstraction project as part of the .NET Foundation as well if possible but what would the steps be?
@AraHaan, check out the. NET Foundation website and contact them about joining.
@AraHaan, I checked your library on NuGet. You will probably need to build up your downloads and usage before it will be a good candidate. You could try blogging about it and writing more documentation.
Alright, ye I plan to and also optimize a few key parts of it without changing functionality.
I like the idea of letting the .NET Foundation take as much load as possible off of us, so long as that doesn't mean giving up any freedom that is important to us. I'm not aware of any conflicts there, but let's discuss it.
Pros (from https://dotnetfoundation.org/about):
Each item takes some burden off us. Some items double as an assurance to NUnit's consumers that should an unlikely catastrophe strike all of us, the .NET foundation can provide for NUnit to continue.
The NUnit project would also be more directly on the radar of the technical steering, whatever influence or involvement that might mean.
Offloading what the .NET Foundation can do really well could be a clean way to focus on what we do really well: design, develop and support the NUnit software itself.