Hi Collin, > I would like to sync glibc's obstack.h with Gnulib's obstack.in.h in > order to fix the undefined behavior sanitizer > nullptr-with-nonzero-offset errors that were fixed in Gnulib, but not in > glibc [1].
When doing such syncs back to glibc, please sync selected patches. Don't just copy the entire file, because usually that will not work, due to many coding conventions that are different in glibc than in gnulib. > commit 0f9fb7c2598355f23117a257eae3e594afafc3cb > Author: Bruno Haible <br...@clisp.org> > Date: Fri Jun 4 20:55:53 2021 +0200 > > Put LGPLv3+ notices in source files where appropriate. > > * lib/**.{h,c}: Use LGPLv3+ notice whenever the module description > says > so. Before 2021, we were using a GPL license header even in files that were under LGPL. This was too confusing. So, since 2021, the file's license header and the module description agree with each other. > Upon copying the file to make necessary manual changes, I noticed that > the glibc's file is LGPLv2.1+ and Gnulib's is LGPLv3+. > ... > The real issue here, I think, is that: > > $ gnulib-tool --extract-license obstack > LGPL > > should have been LGPLv2+ in the module file. When we added this "License: LGPL" notice in modules/obstack in 2004, LGPL meant the same as LGPLv2+. This changed in 2007, when the GPL v3 and LGPL v3 were released; since that time, LGPL means LGPLv3+. > Can you check my findings? I don't want to be changing licenses > incorrectly... Your finding is correct. You cannot just take a patch that I (or any Gnulib contributor) contributed under LGPLv3+ and put it in a different project under a weaker license, such as LGPLv2+. You need to ask for permission. I hereby give permission to take any patch that I contributed to Gnulib and give it to GNU libc under the LGPLv2+ license. Bruno