Re: Towards making your first Apache release
incubator-nuttx/boards/sim/sim/sim/include/board.h board.h consists only of 3 line: 1 / 2 * boards/sim/sim/sim/include/board.h 3 It is effectively an empty file. incubator-nuttx/arch/arm/src/cxd56xx/hardware/cxd5602_isop.h This is an auto-generated file created with "xxd -i" incubator-nuttx/boards/sim/sim/sim/include/nsh_romfsimg.h incubator-nuttx/boards/arm/sama5/sama5d4-ek/include/nsh_romfsimg.h incubator-nuttx/boards/arm/stm32l4/stm32l4r9ai-disco/include/nsh_romfsimg.h incubator-nuttx/boards/arm/stm32l4/stm32l476vg-disco/include/nsh_romfsimg.h The nsh_romfsimg.h files are auto-generated as well. Those are just file system image files created with xxd -i. incubator-nuttx/tools/noteinfo.c This is another auto-generated file created with "xxd -i" All the rest have various issues beyond than just missing licensing.
Re: Towards making your first Apache release
If we start adding them, can we also start adding SPDX headers as well. This will make it a whole lot easier to audit going forward. This is kind of an industry standard now and makes the legal people in companies a lot happier as well. --Brennan On Sun, Jan 19, 2020 at 12:30 PM Gregory Nutt wrote: > > > Then maybe > > > > find . -name Kconfig | xargs sed -i -e "' 1i \ > > Licensed to the Apache Software Foundation (ASF) under one\ > > or more contributor license agreements. See the NOTICE file\ > > distributed with this work for additional information\ > > regarding copyright ownership. The ASF licenses this file\ > > to you under the Apache License, Version 2.0 (the\ > > "License"); you may not use this file except in compliance\ > > with the License. You may obtain a copy of the License at\ > > \ > > http://www.apache.org/licenses/LICENSE-2.0\ > > \ > > Unless required by applicable law or agreed to in writing,\ > > software distributed under the License is distributed on an\ > > "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\ > > KIND, either express or implied. See the License for the\ > > specific language governing permissions and limitations\ > > under the License. > > > Do you want me to do the PR? > > >
Re: Towards making your first Apache release
Let's not get too sucked into how to apply the header. I'm just trying to clarify what we need to get headers on where we are missing data. Here are more files that are missing license information: H files over 0 bytes no license detected incubator-nuttx/boards/sim/sim/sim/include/board.h incubator-nuttx/arch/arm/src/cxd56xx/hardware/cxd5602_isop.h incubator-nuttx/arch/arm/src/imxrt/hardware/rt102x/imxrt102x_xbar.h incubator-nuttx/arch/arm/src/imxrt/hardware/rt105x/imxrt105x_xbar.h incubator-nuttx/arch/arm/src/imxrt/hardware/rt106x/imxrt106x_xbar.h incubator-nuttx/include/nuttx/wireless/ieee80211/mmc_sdio.h incubator-nuttx/boards/sim/sim/sim/include/nsh_romfsimg.h incubator-nuttx/boards/arm/sama5/sama5d4-ek/include/nsh_romfsimg.h incubator-nuttx/boards/arm/stm32l4/stm32l4r9ai-disco/include/nsh_romfsimg.h incubator-nuttx/boards/arm/stm32l4/stm32l476vg-disco/include/nsh_romfsimg.h C files over 0 bytes no license detected incubator-nuttx/libs/libc/math/lib_round.c incubator-nuttx/libs/libc/math/lib_roundf.c incubator-nuttx/libs/libc/math/lib_roundl.c incubator-nuttx/arch/arm/src/lpc43xx/lpc43_emc.c incubator-nuttx/tools/noteinfo.c incubator-nuttx/boards/arm/samd5e5/metro-m4/scripts/nvm.c sh files over 0 bytes no license detected incubator-nuttx/boards/arm/lpc43xx/lpc4357-evb/scripts/bin_checksum_hex.sh incubator-nuttx/boards/arm/stm32/maple/tools/dfu.sh incubator-nuttx/boards/avr/at32uc3/avr32dev1/tools/doisp.sh incubator-nuttx/boards/arm/stm32/maple/tools/env.sh incubator-nuttx/boards/arm/lpc31xx/olimex-lpc-h3131/tools/mklpc.sh incubator-nuttx/boards/arm/lpc31xx/ea3152/tools/mklpc.sh incubator-nuttx/boards/arm/lpc31xx/ea3131/tools/mklpc.sh incubator-nuttx/boards/arm/sama5/sama5d3-xplained/helpers/netusb-up.sh incubator-nuttx/boards/arm/str71x/olimex-strp711/scripts/oocd.sh incubator-nuttx/boards/arm/samv7/same70-xplained/tools/oocd.sh incubator-nuttx/boards/arm/lpc31xx/olimex-lpc-h3131/tools/oocd.sh incubator-nuttx/boards/arm/lpc31xx/ea3152/tools/oocd.sh incubator-nuttx/boards/arm/lpc31xx/ea3131/tools/oocd.sh incubator-nuttx/boards/arm/tiva/lm4f120-launchpad/tools/oocd.sh incubator-nuttx/boards/arm/tiva/tm4c1294-launchpad/tools/oocd.sh incubator-nuttx/boards/arm/tiva/tm4c123g-launchpad/tools/oocd.sh incubator-nuttx/boards/arm/lpc17xx_40xx/lx_cpu/tools/oocd.sh incubator-nuttx/boards/arm/stm32/shenzhou/tools/oocd.sh incubator-nuttx/boards/arm/stm32/cloudctrl/tools/oocd.sh incubator-nuttx/boards/arm/stm32/stm3210e-eval/tools/oocd.sh incubator-nuttx/boards/arm/stm32/stm3220g-eval/tools/oocd.sh bat files over 0 bytes no license detected incubator-nuttx/boards/arm/lpc43xx/lpc4370-link2/scripts/flash.bat incubator-nuttx/boards/arm/lpc43xx/lpc4337-ws/scripts/flash.bat The fossology api is fighting me a bit, so I might be missing some things here. --Brennan On Sun, Jan 19, 2020 at 12:26 PM Gregory Nutt wrote: > > Then maybe > > find . -name Kconfig | xargs sed -i -e "' 1i \ > Licensed to the Apache Software Foundation (ASF) under one\ > or more contributor license agreements. See the NOTICE file\ > distributed with this work for additional information\ > regarding copyright ownership. The ASF licenses this file\ > to you under the Apache License, Version 2.0 (the\ > "License"); you may not use this file except in compliance\ > with the License. You may obtain a copy of the License at\ > \ > http://www.apache.org/licenses/LICENSE-2.0\ > \ > Unless required by applicable law or agreed to in writing,\ > software distributed under the License is distributed on an\ > "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\ > KIND, either express or implied. See the License for the\ > specific language governing permissions and limitations\ > under the License. > > >
Re: Towards making your first Apache release
Then maybe find . -name Kconfig | xargs sed -i -e "' 1i \ Licensed to the Apache Software Foundation (ASF) under one\ or more contributor license agreements. See the NOTICE file\ distributed with this work for additional information\ regarding copyright ownership. The ASF licenses this file\ to you under the Apache License, Version 2.0 (the\ "License"); you may not use this file except in compliance\ with the License. You may obtain a copy of the License at\ \ http://www.apache.org/licenses/LICENSE-2.0\ \ Unless required by applicable law or agreed to in writing,\ software distributed under the License is distributed on an\ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\ KIND, either express or implied. See the License for the\ specific language governing permissions and limitations\ under the License. Do you want me to do the PR?
Re: Towards making your first Apache release
Then maybe find . -name Kconfig | xargs sed -i -e "' 1i \ Licensed to the Apache Software Foundation (ASF) under one\ or more contributor license agreements. See the NOTICE file\ distributed with this work for additional information\ regarding copyright ownership. The ASF licenses this file\ to you under the Apache License, Version 2.0 (the\ "License"); you may not use this file except in compliance\ with the License. You may obtain a copy of the License at\ \ http://www.apache.org/licenses/LICENSE-2.0\ \ Unless required by applicable law or agreed to in writing,\ software distributed under the License is distributed on an\ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\ KIND, either express or implied. See the License for the\ specific language governing permissions and limitations\ under the License.
Re: Towards making your first Apache release
Hi, > If we used SPDX one-liner, it could be done with a simple find and sed. That would be against current ASF policy on headers. [1] We could ask for an exception if the project wanted to do this. Thanks, Justin 1. https://www.apache.org/legal/src-headers.html#headers
Re: Towards making your first Apache release
HI, > I tend to agree with the way Linux does things. Kconfig files require manual > effort to generate and maintain and are a work that should be protected. > defconfig files, on the other hand, are auto-generated and you want people to > be free to use them. In general copyright doesn’t apply to Auto-generated files. You will note however that the ASF header doesn’t include a copyright line. See [1]. Also as I explained before the is ASF policy [2] which goes further than what is just legally required. Thanks, Justin 1. https://www.apache.org/legal/src-headers.html#faq-exceptions 2. https://www.apache.org/legal/src-headers.html#faq-nonasf
Re: Towards making your first Apache release
I share this opinion as well. What should we do about getting license information on the Kconfig files? If we used SPDX one-liner, it could be done with a simple find and sed. Maybe like: find . -name Kconfig | xargs sed -i -e "' 1i \ # SPDX blablabla" This could handle a multiple line header too. Greg
Re: Towards making your first Apache release
I share this opinion as well. What should we do about getting license information on the Kconfig files? --Brennan On Sun, Jan 19, 2020, 11:01 AM Gregory Nutt wrote: > > > What about the Kconfig files and the defconf files? > > I see Linux now has license information (but not copyrights) in their > Kconfig files. For example > https://elixir.bootlin.com/linux/latest/source/Kconfig : > > # SPDX-License-Identifier: GPL-2.0 > # > # For a description of the syntax of this configuration file, > # see Documentation/kbuild/kconfig-language.rst. > # > > But defconfig files do not. For example, > > https://elixir.bootlin.com/linux/v5.4.13/source/arch/arm/configs/am200epdkit_defconfig > . > > I tend to agree with the way Linux does things. Kconfig files require > manual effort to generate and maintain and are a work that should be > protected. defconfig files, on the other hand, are auto-generated and > you want people to be free to use them. And how would you copyright or > license and auto-generated file that anyone can create/re-create by > running a tool. Certainly, if they re-created the identical file (as > the tool would with idential selections), that identical file would not > have derived for the original defconfig in any way. > > And since the defconfig file is auto generated, it would have to have an > auto generated license and copyright. That is, I think the wrong way to > go. But that is just an opinion. > > > >
Re: Towards making your first Apache release
What about the Kconfig files and the defconf files? I see Linux now has license information (but not copyrights) in their Kconfig files. For example https://elixir.bootlin.com/linux/latest/source/Kconfig : # SPDX-License-Identifier: GPL-2.0 # # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.rst. # But defconfig files do not. For example, https://elixir.bootlin.com/linux/v5.4.13/source/arch/arm/configs/am200epdkit_defconfig . I tend to agree with the way Linux does things. Kconfig files require manual effort to generate and maintain and are a work that should be protected. defconfig files, on the other hand, are auto-generated and you want people to be free to use them. And how would you copyright or license and auto-generated file that anyone can create/re-create by running a tool. Certainly, if they re-created the identical file (as the tool would with idential selections), that identical file would not have derived for the original defconfig in any way. And since the defconfig file is auto generated, it would have to have an auto generated license and copyright. That is, I think the wrong way to go. But that is just an opinion.
Re: Towards making your first Apache release
After looking into this more with Fossology I think I would be a good idea to use it to track all of this rather than relying on home grown greps. It's probably better to do the tracking not on my installation, but on something run by INFRA (mine is backed up for what it's worth). Justin, how would we go about getting this resource? There are some c and h files that I found missing license information that have copyrights so we likely need to get them cleaned up. There are also a few shell scripts that have no copyright information on them. I can generate the list. What about the Kconfig files and the defconf files? --Brennan
Re: Towards making your first Apache release
Hi, > That is kind of offensive. I would never do something like that. I have > never intentionally violated a license. I always give credit when credit is > due. You're misunderstanding me, I’m describing the conditions under which we can change the headers to ALv2. In some cases you have taken a 3rd party file, modified it and you added your BSD header on them, that fine, but depending on the extent of the changes we would either replace your header with an ASF one or remove your header and leave the original 3rd party header. This is not that you’ve done something incorrectly or haven’t given credit, just that ASF policy differs to how you’ve been working in the past. Thanks, Justin
Re: Towards making your first Apache release
In general, BSD licensed files with "Copyright (C) 20XX Gregory Nutt” would have the ASF header on them, but we may need to double check that they are not a 3rd party file that’s just had some changes to it or been reformatted. That is kind of offensive. I would never do something like that. I have never intentionally violated a license. I always give credit when credit is due. Greg
Re: Towards making your first Apache release
Hi, In general, BSD licensed files with "Copyright (C) 20XX Gregory Nutt” would have the ASF header on them, but we may need to double check that they are not a 3rd party file that’s just had some changes to it or been reformatted. Thanks, Justin
Re: Towards making your first Apache release
Hi, > So for the OS BSD headers we would need to keep them on the file as well as > include it in the NOTICE file? No you would generally not add to NOTICE, only some things are added to NOTICE. See [1] > What happens when someone modifies one of these old files once the project > makes the APL transition? If some modifications have been done then keep the old license, significant changes have to be made to change the license. Just reformatting to another style doesn’t count as a change. [2] BTW I put some of these links in the GitHub issues and have mention them before on this list. Thanks, Justin 1. http://www.apache.org/dev/licensing-howto.html 2. https://www.apache.org/legal/src-headers.html#3party
Re: Towards making your first Apache release
On Sat, Jan 18, 2020, 7:11 PM Justin Mclean wrote: > Hi, > > > Is there some docs to guide us in making this licencing transition? I > would > > be happy to start the processing of adding spdx headers based on what is > in > > the code if that would help, but I don't know how to transition files to > > Apache 2 under this project. > > It’s easy enough: > - Add ASF headers to file that are not 3rd party but part of teh project > - Leave 3rd party headers as they are > So for the OS BSD headers we would need to keep them on the file as well as include it in the NOTICE file? What happens when someone modifies one of these old files once the project makes the APL transition? What is the license requirements of that source now? --Brennan >
Re: Towards making your first Apache release
Hi, > Is there some docs to guide us in making this licencing transition? I would > be happy to start the processing of adding spdx headers based on what is in > the code if that would help, but I don't know how to transition files to > Apache 2 under this project. It’s easy enough: - Add ASF headers to file that are not 3rd party but part of teh project - Leave 3rd party headers as they are We will need to make a list of all 3rd party licenses and put them somewhere (a directory called licenses is how it’s usually done) and point to them from the license file. > I also know that while most of the OS code is in the Category A licences we > do have some cases of Category X specifically BSD-4 (ppp code if I remember > correctly is an example). We’ll need to take a look at that, but if it from the University of California, it been rescinded back in 1999, so should not be an issue. > I was planning on putting together a doc in confluence to start tracking > the release "requirements" and we can try to move toward them each release. As I’ve suggested before Fossology [1] might bee a good way to track all of this, we can set up an instance on a VM. It's easy to run locally in docker as well. Thanks, Justin 1. https://www.fossology.org
Re: Towards making your first Apache release
Justin, Is there some docs to guide us in making this licencing transition? I would be happy to start the processing of adding spdx headers based on what is in the code if that would help, but I don't know how to transition files to Apache 2 under this project. I also know that while most of the OS code is in the Category A licences we do have some cases of Category X specifically BSD-4 (ppp code if I remember correctly is an example) I was planning on putting together a doc in confluence to start tracking the release "requirements" and we can try to move toward them each release. Thanks Brennan On Sat, Jan 18, 2020, 4:47 PM Justin Mclean wrote: > Hi, > > It would be great if some people start working on these issues otherwise > it will hold up making a release. I raised a couple of Github issues for > the most urgent ones e.g having a LICENSE, NOTICE and DISCLAIMER and > putting ASF headers on files. > > Thanks, > Justin
Re: Towards making your first Apache release
Hi, It would be great if some people start working on these issues otherwise it will hold up making a release. I raised a couple of Github issues for the most urgent ones e.g having a LICENSE, NOTICE and DISCLAIMER and putting ASF headers on files. Thanks, Justin
Re: Towards making your first Apache release
I'm also willing to take this on or help someone else for the first release. Can't rush the code, but it would be nice to get the other bits in place for a release. --Brennan On Wed, Jan 15, 2020, 3:37 PM Justin Mclean wrote: > HI, > > > I cannot determine what the capabilities are that are needed and what > the impact in hours will be? > > Hard to estimate hours but it should be more than a few hours week, the > first release generally take some time to get together 2 to 4 weeks is > typically, but some projects do it quicker and some take months. > > > > And I would need guidance I have a strong passion about Nuttx, but > maybe thats not enough… > > Mentors are here to help. I created and reviewed 100’s of release (about > 500 I think) so know the process and what issues you may run into. > > This little presentation (I've given a few times) help as well, [1] > > Thanks, > Justin > > 1. > https://github.com/apache/incubator-training/tree/master/content/ApacheWay/IncubatorReleases > 2. > https://github.com/apache/incubator-training/blob/master/content/ApacheWay/IncubatorReleases/src/main/asciidoc/index.adoc > > >
Re: Towards making your first Apache release
HI, > I cannot determine what the capabilities are that are needed and what the > impact in hours will be? Hard to estimate hours but it should be more than a few hours week, the first release generally take some time to get together 2 to 4 weeks is typically, but some projects do it quicker and some take months. > And I would need guidance I have a strong passion about Nuttx, but maybe > thats not enough… Mentors are here to help. I created and reviewed 100’s of release (about 500 I think) so know the process and what issues you may run into. This little presentation (I've given a few times) help as well, [1] Thanks, Justin 1. https://github.com/apache/incubator-training/tree/master/content/ApacheWay/IncubatorReleases 2. https://github.com/apache/incubator-training/blob/master/content/ApacheWay/IncubatorReleases/src/main/asciidoc/index.adoc
Re: Towards making your first Apache release
Is anyone willing to be the first release manager? My understanding is that the release manager does not necessarily do the release, but is the point of contact and coordinator for releases and needs to sign releases. Is that true? So the job should not sound as scary as the title implies. At one point in the past, Duo Zhang mentioned a set of tools this his project used to automatically generate ReleaseNotes and other parts of the release. If Duo is still listening in, can you refresh that memory? Greg
Re: Towards making your first Apache release
I have been reading: http://www.apache.org/dev/release-publishing.html Verstuurd vanaf mijn iPhone > Op 15 jan. 2020 om 23:52 heeft Justin Mclean het > volgende geschreven: > > Hi, > > Is anyone willing to be the first release manager? > > Thanks, > Justin
Re: Towards making your first Apache release
Hello Justin, I cannot determine what the capabilities are that are needed and what the impact in hours will be? And I would need guidance I have a strong passion about Nuttx, but maybe thats not enough... Ben Verstuurd vanaf mijn iPhone > Op 15 jan. 2020 om 23:52 heeft Justin Mclean het > volgende geschreven: > > Hi, > > Is anyone willing to be the first release manager? > > Thanks, > Justin
Re: Towards making your first Apache release
Hi, Is anyone willing to be the first release manager? Thanks, Justin