Skip to content

Update from 1989 MIT license text to modern MIT license text #556

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

Merged
merged 4 commits into from
Oct 4, 2023

Conversation

bradh352
Copy link
Member

Inconsistent MIT license verbiage. Some files used non-standard license text.

This update standardizes all instances to use the current recognized MIT license text.

@bradh352 bradh352 requested a review from bagder September 28, 2023 14:36
@bradh352
Copy link
Member Author

bradh352 commented Oct 1, 2023

hrm, this may not be proper as MIT apparently was the original source of ares which c-ares was a fork of, so it should stay in the copyright of any files containing any original source. That may be extremely hard to determine at this point, of course. I'm pretty sure we can actually place both copyrights in each file, legally, as different parts of the code may contain code written by different authors under different copyrights.

@bagder I really think we should move forward in some regard on this, at least any newly created code should be under the newer version of the license, so anything I've written I can authorize such a change. And if you'd let me change anything with your specific copyright I can do that too. Anything else, we'll probably need to do the "dual" license method so we don't violate anyone's rights.

@bagder
Copy link
Member

bagder commented Oct 2, 2023

The original ares MIT license seems to be the Old Style (no advertising without permission). But I can't find any SPDX identifier for this. It seems I was wrong to set it to MIT, clearly an assumption of mine that was not correct.

For anything that has my copyright we can just as well switch to the canonical MIT license version.

The original ares was written by Greg Hudson. Maybe we can reach out to him and see what he has to say. He at least used to be ghudson at MIT.EDU twenty years ago...

@bradh352
Copy link
Member Author

bradh352 commented Oct 2, 2023

Looks like he might be on github too :)

@greghudson are you the same Greg Hudson that was the original "ares" author? If so, can you comment on licensing? We would like to move away from the 1989 MIT license for c-ares to the currently recognized MIT license. We would also need to know if "MIT" needs to be maintained as one of the copyright holders, or if you personally are the copyright holder.

@greghudson
Copy link

I am the original author of ares. It was a work-for-hire (I wrote it as an employee of MIT, which I still am), so the copyright is owned by MIT. I am not sure what the "currently recognized MIT license" refers to, but I can authorize a switch to a 2-clause BSD license like MIT uses for current MIT krb5:

/*                                                                              
 * Copyright (C) 2023 by the Massachusetts Institute of Technology.             
 * All rights reserved.                                                         
 *                                                                              
 * Redistribution and use in source and binary forms, with or without           
 * modification, are permitted provided that the following conditions           
 * are met:                                                                     
 *                                                                              
 * * Redistributions of source code must retain the above copyright             
 *   notice, this list of conditions and the following disclaimer.              
 *                                                                              
 * * Redistributions in binary form must reproduce the above copyright          
 *   notice, this list of conditions and the following disclaimer in            
 *   the documentation and/or other materials provided with the                 
 *   distribution.                                                              
 *                                                                              
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS          
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT            
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS            
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE               
 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,                   
 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES           
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR           
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)           
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,          
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)                
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED          
 * OF THE POSSIBILITY OF SUCH DAMAGE.                                           
 */

@bradh352
Copy link
Member Author

bradh352 commented Oct 2, 2023

@greghudson The current license is identical to https://fedoraproject.org/wiki/Licensing:MIT#Old_Style_(no_advertising_without_permission)

Copyright 1989 Massachusetts Institute of Technology

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided
that the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of M.I.T. not be used in advertising
or publicity pertaining to distribution of the software without specific,
written prior permission.  M.I.T. makes no representations about the
suitability of this software for any purpose.  It is provided "as is"
without express or implied warranty.

We would like to update it to https://opensource.org/license/mit/ (https://spdx.org/licenses/MIT.html)

Copyright <YEAR> <COPYRIGHT HOLDER>

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the “Software”), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

While I don't have a problem with the 2-clause BSD license you said you could approve, that just adds to license sprawl that I'm trying to address here.

Can you approve the switch to this MIT license referenced above?

NOTE: edited new license to fit within 80-character lines.

@bradh352
Copy link
Member Author

bradh352 commented Oct 2, 2023

@greghudson, not sure if this is relevant, but I did find this page:
https://tlo.mit.edu/learn-about-intellectual-property/software-and-open-source-licensing/open-source-licensing

Which says:

MIT faculty adopted an Open Access Policy in 2009. In keeping with this policy,
the TLO has worked with MIT faculty and the Office of General Counsel (OGC) to
identify ideal licenses to use when releasing MIT-owned copyright through open
source.

...

RECOMMENDATIONS FOR POPULAR SOFTWARE LICENSES
Preferred:

Acceptable:

Not Recommended:

So we're looking to transfer to the only "Preferred" option on that page :)

@greghudson
Copy link

Sure, if the MIT TLO currently recommends that as the preferred license, I'm happy to authorize that as well.

@bradh352
Copy link
Member Author

bradh352 commented Oct 2, 2023

@greghudson awesome, thank you. I'll get this PR fixed up to properly provide attribution to MIT where relevant under the current MIT license text.

@bradh352
Copy link
Member Author

bradh352 commented Oct 2, 2023

Andrew Selivanov (@ki11roy), Christian Ammer (@ChristianAmmer), John Schember (@user-none), Gisle Vanem (@gvanem), Jakub Hrozek (@jhrozek), Daniela Sonnenschein (@lxdicted), Jérémy Lal (@kapouer), Marko Kreen (@markokr) :

You all have been identified as having provided significant contributions to c-ares in the past and are listed as copyright holders in one or more files in c-ares.

We are trying to update the MIT license version used in c-ares from the 1989 variant:
https://fedoraproject.org/wiki/Licensing:MIT#Old_Style_(no_advertising_without_permission)
to the currently widely recognized MIT license text:
https://opensource.org/license/mit/

We would appreciate confirmation (or decline) from each of the above listed contributors to re-license your contributions under the newer text. Please reply to this ticket.

Thanks!

@kapouer
Copy link
Contributor

kapouer commented Oct 2, 2023

Yes, go ahead.

@bradh352
Copy link
Member Author

bradh352 commented Oct 2, 2023

Dominick Meglio (@dcmeglio), do we have your permission as well to update to the latest MIT license text?

@dcmeglio
Copy link

dcmeglio commented Oct 3, 2023

Dominick Meglio (@dcmeglio), do we have your permission as well to update to the latest MIT license text?

Sure. No problem

@ki11roy
Copy link
Contributor

ki11roy commented Oct 3, 2023 via email

@user-none
Copy link
Contributor

I'm good with the change.

@bradh352 bradh352 changed the title Fix MIT license verbiage Update from 1989 MIT license text to modern license text Oct 3, 2023
@bradh352 bradh352 changed the title Update from 1989 MIT license text to modern license text Update from 1989 MIT license text to modern MIT license text Oct 3, 2023
@bradh352
Copy link
Member Author

bradh352 commented Oct 3, 2023

Great, that leaves acknowledgements needed from Christian Ammer (@ChristianAmmer), Gisle Vanem (@gvanem), Jakub Hrozek (@jhrozek), Daniela Sonnenschein (@lxdicted), and Marko Kreen (@markokr)

@ChristianAmmer
Copy link

Sure, fine for me.

@kapouer
Copy link
Contributor

kapouer commented Oct 3, 2023

BTW I don't really remember how I got my name into it. My contribution is so small, that I'd rather waive my rights to c-ares, if I had any :) That'll make one less people to ask when it comes to it !

@markokr
Copy link
Contributor

markokr commented Oct 3, 2023

Fine by me.

@gvanem
Copy link
Contributor

gvanem commented Oct 3, 2023

Fine. Go ahead.

@bradh352
Copy link
Member Author

bradh352 commented Oct 4, 2023

Alright, we're down to license acknowledgements needed from:

Jakub Hrozek (@jhrozek):

  • ares_parse_naptr_reply.c
  • ares_parse_txt_reply.c
  • ares_parse_srv_reply.c
  • ares_parse_uri_reply.c

Daniela Sonnenschein (@lxdicted):

  • ares_parse_caa_reply.c

@jhrozek
Copy link
Contributor

jhrozek commented Oct 4, 2023

I'm ok with relicensing any and all of my contributions to cares

@bradh352
Copy link
Member Author

bradh352 commented Oct 4, 2023

@jhrozek, we'll only be changing the version of the MIT license in use. You'll still be attributed.

@bradh352
Copy link
Member Author

bradh352 commented Oct 4, 2023

Due to not having valid contact information for Daniela Sonnenschein (@lxdicted) -- both email addresses I have bounced, I have put both license blocks on ares_parse_caa_reply.c.

At this point, I've received confirmation from every author who directly contributed to c-ares and put their name in a copyright header, so I think this PR is on solid legal grounds.

@bradh352 bradh352 merged commit 6d07783 into c-ares:main Oct 4, 2023
@bradh352 bradh352 deleted the license branch October 4, 2023 16:55
arnout pushed a commit to buildroot/buildroot that referenced this pull request Feb 24, 2024
- Fix CVE-2024-21892, CVE-2024-22019, CVE-2024-21896, CVE-2024-22017,
  CVE-2023-46809, CVE-2024-21891, CVE-2024-21890 and CVE-2024-22025

- LICENSE hash changed due to two things:
  * c-ares vendored dependency license got updated [1]. This is unused
    by buildroot though anyway
  * base64 vendored library license updated copyright years and sorted
    contributor names [2], [3]

- This bump will fix the following build failure raised since bump of
  python to version 3.12.1 in commit 36e635d
  thanks to
  nodejs/node@95534ad
  nodejs/node@6557c1c:

Traceback (most recent call last):
  File "/home/autobuild/autobuild/instance-2/output-1/build/host-nodejs-src-20.9.0/configure.py", line 17, in <module>
    from distutils.version import StrictVersion
ModuleNotFoundError: No module named 'distutils'

https://github.com/nodejs/node/blob/v20.11.1/CHANGELOG.md

[1] c-ares/c-ares#556
[2] aklomp/base64@2e8ad2a
[3] aklomp/base64@d7bca2b

Fixes: 36e635d
 - http://autobuild.buildroot.org/results/8b38bc4b7879a0349c1305e2fcb458a0cfd04a93

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Reviewed-By: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
arnout pushed a commit to buildroot/buildroot that referenced this pull request Mar 17, 2024
- Fix CVE-2024-21892, CVE-2024-22019, CVE-2024-21896, CVE-2024-22017,
  CVE-2023-46809, CVE-2024-21891, CVE-2024-21890 and CVE-2024-22025

- LICENSE hash changed due to two things:
  * c-ares vendored dependency license got updated [1]. This is unused
    by buildroot though anyway
  * base64 vendored library license updated copyright years and sorted
    contributor names [2], [3]

- This bump will fix the following build failure raised since bump of
  python to version 3.12.1 in commit 36e635d
  thanks to
  nodejs/node@95534ad
  nodejs/node@6557c1c:

Traceback (most recent call last):
  File "/home/autobuild/autobuild/instance-2/output-1/build/host-nodejs-src-20.9.0/configure.py", line 17, in <module>
    from distutils.version import StrictVersion
ModuleNotFoundError: No module named 'distutils'

https://github.com/nodejs/node/blob/v20.11.1/CHANGELOG.md

[1] c-ares/c-ares#556
[2] aklomp/base64@2e8ad2a
[3] aklomp/base64@d7bca2b

Fixes: 36e635d
 - http://autobuild.buildroot.org/results/8b38bc4b7879a0349c1305e2fcb458a0cfd04a93

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Reviewed-By: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 02ecb09)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
gjasny added a commit to gjasny/c-ares that referenced this pull request Dec 7, 2024
gjasny added a commit to gjasny/c-ares that referenced this pull request Dec 7, 2024
While fixing c-ares#556 and re-licensing to the new MIT license
text some files were forgotten to be updated.
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

Successfully merging this pull request may close these issues.