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

SharpTreeView: Last First-Party Component Being Non-MIT #1904

Closed
christophwille opened this issue Jan 9, 2020 · 12 comments
Closed

SharpTreeView: Last First-Party Component Being Non-MIT #1904

christophwille opened this issue Jan 9, 2020 · 12 comments
Assignees

Comments

@christophwille
Copy link
Member

As stated in https://github.com/icsharpcode/ILSpy/blob/master/doc/ILSpyAboutPage.txt SharpTreeView is the only remaining first-party component inside the repo that is not MIT licensed.

History: Together with other parts (eg AvalonEdit) it was copied verbatim from SharpDevelop at the time ILSpy was started. AvalonEdit source code was later swapped for AvalonEdit NuGet, which was re-licensed to MIT (please see https://web.archive.org/web/20160718043001/http://community.sharpdevelop.net/blogs/christophwille/archive/2014/01/26/license-change-for-sharpdevelop-5.aspx for the relicensing of SharpDevelop to MIT).

Options

  • leave it is as is
  • take the latest MIT-licensed code from the SharpDevelop repository and replace our LGPL copy with the new MIT-licensed copy. However, we have fixed stuff in our repo that never happened in SharpDevelop (new project format, bug fixes, et cetera).
  • re-license our LGPL copy to MIT. See the history https://github.com/icsharpcode/ILSpy/commits/master/SharpTreeView - changes have been contributed by developers w/out JCA to the copied code. We'd need to get their ok.
@christophwille christophwille added the Feedback Needed This issue requires user feedback label Jan 9, 2020
@christophwille
Copy link
Member Author

Regarding re-licensing (last bullet point): we could do something similar to icsharpcode/SharpZipLib#103 (comment)

@tamlin-mike
Copy link

we have fixed stuff in our repo that never happened in SharpDevelop ( ... bug fixes ...

Provided it's feasible, perhaps it could be beneficial to PR them upstream?

@siegfriedpammer
Copy link
Member

At some point Daniel tried to merge the changes back to ILSpy, but I think it didn't really work out because there were too many differences. (I can no longer find the branch for this... was deleted some time ago, iirc)

@christophwille
Copy link
Member Author

Yes the branch was deleted. For me, the question is mostly - do we want everything to be consistently one single license, or will we continue to be fine having one that is different (I personally don't think it creates too much friction, I only see accidential copying happening).

dgrunwald added a commit that referenced this issue Apr 4, 2020
7edf1c4f1 fix focusing bug in SharpTreeView
60b89bb14 Changed behavior for 'Key.Space' in SharpTreeView.cs, instead of 'double click', now it sets 'IsChecked'.
103aff080 Set e.Handled = true in SharpTreeView.OnKeyDown()
c928f88b5 Fix F2/Escape for editable SharpTreeNodes.
6b01d6f55 Fix #354: "+" icon in SharpTreeView is missing right border in 120DPI mode
@christophwille
Copy link
Member Author

We decided to cherry-pick from SharpDevelop and drop the sharptreeview branch (full merge). We will try to get in touch with all ILSpy SharpTreeView contributors to complete a re-license to MIT.

@christophwille christophwille self-assigned this Apr 4, 2020
@christophwille christophwille added Documentation and removed Feedback Needed This issue requires user feedback labels Apr 4, 2020
@christophwille
Copy link
Member Author

As stated above, we have decided to try to re-license the SharpTreeView code to MIT (from LGPL) as-is in this repository. How does this work?

All contributors of SharpDevelop had JCAs (please see https://github.com/icsharpcode/SharpDevelop/wiki/Joining-the-Team) - and that's where SharpTreeView's original code came from. So @dgrunwald, @siegfriedpammer and @christophwille contributions in this repository are qualified for automatic relicensing (JCA).

Everyone else's contributions are listed at https://github.com/icsharpcode/ILSpy/commits/master/SharpTreeView. The aforementioned Wiki page had the patch clause (less than eight lines), but we want to be very conscious even though the main part of ILSpy always was MIT-licensed (maybe some contributors didn't even realize that SharpTreeView was different; additionally, the contributors listed here also contributed to the MIT part of ILSpy)

Yes, csproj-"only" changes are listed, but in a DevOps world build code counts too.

In the spirit of icsharpcode/SharpZipLib#103 (comment) (SharpZipLib relicensing) I'd like to ask

@EdHarvey @sharwell @clairernovotny

to reply in this thread with

I certify that I own, and have sufficient rights to contribute, all source code and related material for my contributions to SharpTreeView intended to be compiled or integrated with the source code for the ILSpy open source product (the "Contribution"). My Contribution is licensed under the MIT License.

Once those are on file, we can relicense - and I will lock this thread so no entries can be modified later on.

Thanks.

@sharwell
Copy link
Contributor

sharwell commented Apr 5, 2020

I do not agree with the idea that the changes listed above (commits 4908b12, 996e040, ea930e0) would result in me having a copyright claim to the project. My changes were volunteered without any strings (i.e. public domain).

@christophwille
Copy link
Member Author

I never thought of wording it that way, but yes, if someone else wants to OK the license change that way - definitely. I really only copied the SharpZipLib paragraph because it was what I already had.

@clairernovotny
Copy link
Contributor

clairernovotny commented Apr 5, 2020

I certify that I own, and have sufficient rights to contribute, all source code and related material for my contributions to SharpTreeView intended to be compiled or integrated with the source code for the ILSpy open source product (the "Contribution"). My Contribution is licensed under the MIT License.

@clairernovotny
Copy link
Contributor

clairernovotny commented Apr 5, 2020

@sharwell IANAL but unless it's otherwise stated and explicitly disclaimed, every author has copyright to their contributions automatically. That's why CLA bots are so important.

@EdHarvey
Copy link
Member

I certify that I own, and have sufficient rights to contribute, all source code and related material for my contributions to SharpTreeView intended to be compiled or integrated with the source code for the ILSpy open source product (the "Contribution"). My Contribution is licensed under the MIT License.

@christophwille
Copy link
Member Author

Thanks everyone, we can now switch SharpTreeView to MIT. See the additional issue for further action. I am now closing & locking this issue as previously announced.

@icsharpcode icsharpcode locked as resolved and limited conversation to collaborators Apr 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants