Re: LICENSE and NOTICE contents / headers

2016-02-19 Thread Christopher Collins
On Sat, Feb 20, 2016 at 09:40:40AM +1100, Justin Mclean wrote:
> I think the LICENSE is still missing a number of things, do you look
> at my email when I went through the repos and listed what was
> contained in them? I know things have changed a little in
> tadpole/larval repos but everythink that is bundled needs to be
> accounted for. e.g. Baselibc for instance has several files in it that
> are licensed under other terms. [1]

OK, I believe I have removed the Apache license from all the
"otherwise-licensed" files, and added corresponding pointers to the
larva LICENSE file.  Everything from your earlier email ("Larva content
review for license" sent on 2016-02-04) should now be accounted for.  I
did see your note about checking the FatFS license, but larva does not
contain any FatFS files, so I did not make any mention of it in the
LICENSE file.  Larva's LICENSE file has become quite a monster, I'm
afraid.

> If it helps I can go through and list out what I think they are missing.
> 
> Also I thought we were removing anything with the "MCD-ST Liberty SW
> License”? (It’s not a comparable licence) See larval
> ./hw/mcu/stm/stm32f4xx/include/mcu/system_stm32f4xx.h

I have replaced this file with a more recent version from STM. The new
version has a BSD license.

There is one nagging issue, however.  Larva includes some files from
CMSIS-CORE which lack any license information.  In subsequent releases,
ARM added the BSD license text to these files.  However, we have made
modifications to the original files, so incorporating newer versions of
these files into Larva won't be trivial.  We will fix this issue, but I
am hoping we can take care of this between the first and second release.
In the meantime, I have added a note about this to the larva LICENSE
file.

If you could take another look at where we are, it would be much
appreciated.  Once again, thanks for your unflagging patience!

Chris


Re: incubator-mynewt-larva git commit: Updated version of system_stm32f4xx with more permissive license.

2016-02-19 Thread Christopher Collins
Hi Justin,

[system_stm32f4xx]

On Sat, Feb 20, 2016 at 10:10:57AM +1100, Justin Mclean wrote:
> Would it be correct to assume this is a different version of the file
> by STMicroelectronics issued under a different license by them?

Yes, that is the case.  It appears STM opted for a more permissive
license in recent versions of STM32CubeF4.

Thanks,
Chris


Re: incubator-mynewt-larva git commit: Updated version of system_stm32f4xx with more permissive license.

2016-02-19 Thread Justin Mclean
Hi,

Would it be correct to assume this is a different version of the file by 
STMicroelectronics issued under a different license by them?

Thanks,
Justin

> On 20 Feb 2016, at 9:55 am, ccoll...@apache.org wrote:
> 
> Repository: incubator-mynewt-larva
> Updated Branches:
>  refs/heads/master 312a26f76 -> 37ed7322e
> 
> 
> Updated version of system_stm32f4xx with more permissive license.
> 
> 
> Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/repo
> Commit: 
> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/commit/37ed7322
> Tree: 
> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/tree/37ed7322
> Diff: 
> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/diff/37ed7322
> 
> Branch: refs/heads/master
> Commit: 37ed7322e52bc15081f2dcf27b97dc18df2c7b7d
> Parents: 312a26f
> Author: Christopher Collins 
> Authored: Fri Feb 19 14:55:09 2016 -0800
> Committer: Christopher Collins 
> Committed: Fri Feb 19 14:55:09 2016 -0800
> 
> --
> .../stm32f4xx/include/mcu/system_stm32f4xx.h| 51 ++--
> 1 file changed, 35 insertions(+), 16 deletions(-)
> --
> 
> 
> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/37ed7322/hw/mcu/stm/stm32f4xx/include/mcu/system_stm32f4xx.h
> --
> diff --git a/hw/mcu/stm/stm32f4xx/include/mcu/system_stm32f4xx.h 
> b/hw/mcu/stm/stm32f4xx/include/mcu/system_stm32f4xx.h
> index 3558bb0..e3a3b0d 100755
> --- a/hw/mcu/stm/stm32f4xx/include/mcu/system_stm32f4xx.h
> +++ b/hw/mcu/stm/stm32f4xx/include/mcu/system_stm32f4xx.h
> @@ -2,28 +2,38 @@
>   
> **
>   * @filesystem_stm32f4xx.h
>   * @author  MCD Application Team
> -  * @version V1.1.0
> -  * @date11-January-2013
> +  * @version V2.0.0
> +  * @date18-February-2014
>   * @brief   CMSIS Cortex-M4 Device System Source File for STM32F4xx devices. 
>   
>   
> **
>   
>   * @attention
>   *
> -  * © COPYRIGHT 2013 STMicroelectronics
> +  * © COPYRIGHT(c) 2014 STMicroelectronics
>   *
> -  * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
> -  * You may not use this file except in compliance with the License.
> -  * You may obtain a copy of the License at:
> +  * Redistribution and use in source and binary forms, with or without 
> modification,
> +  * are permitted provided that the following conditions are met:
> +  *   1. Redistributions of source code must retain the above copyright 
> notice,
> +  *  this list of conditions and the following disclaimer.
> +  *   2. 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.
> +  *   3. Neither the name of STMicroelectronics nor the names of its 
> contributors
> +  *  may be used to endorse or promote products derived from this 
> software
> +  *  without specific prior written permission.
>   *
> -  *http://www.st.com/software_license_agreement_liberty_v2
> +  * 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.
>   *
> -  * 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.
> -  *
> -  
> **
>   
> -  */ 
> +  
> **
> +  */
> 
> /** @addtogroup CMSIS
>   * @{
> @@ -55,7 +65,14 @@
> /** @addtogroup STM32F4xx_System_Exported_types
>   * @{
>   */
> -
> +  /* This variable is updated in three ways:
> +  1) by calli

Re: LICENSE and NOTICE contents / headers

2016-02-19 Thread Justin Mclean
Hi,

> OK, thanks for the heads up.  Is this something we should deal with
> immediately, or can we fix it between now and our next release?

Best to fix now IMO, otherwise the incubator release may not pass. I’d say the 
risk is low but it’s there. That being said an incubating release doesn’t have 
to be perfect so up to you.

> Yes, I believe so.  Thanks again!

I think the LICENSE is still missing a number of things, do you look at my 
email when I went through the repos and listed what was contained in them? I 
know things have changed a little in tadpole/larval repos but everythink that 
is bundled needs to be accounted for. e.g. Baselibc for instance has several 
files in it that are licensed under other terms. [1]

If it helps I can go through and list out what I think they are missing.

Also I thought we were removing anything with the "MCD-ST Liberty SW License”? 
(It’s not a comparable licence) See larval 
./hw/mcu/stm/stm32f4xx/include/mcu/system_stm32f4xx.h

Thanks,
Justin

1. http://www.apache.org/dev/licensing-howto.html#guiding-principle

Re: LICENSE and NOTICE contents / headers

2016-02-19 Thread Christopher Collins
On Sat, Feb 20, 2016 at 09:05:58AM +1100, Justin Mclean wrote:
> > The rest of them are from files which contain the Apache license text at
> > the top of the file.  In these files, we retained the original copyright
> > notice below the Apache license.  Do you think this is problematic?
> 
> That's incorrect.while you can license the whole as Apache, each file
> needs to keep their original header and not have two headers.
> 
> The only case where this might come up is if we’re heavily modified
> the file in question.

OK, thanks for the heads up.  Is this something we should deal with
immediately, or can we fix it between now and our next release?

> Other than the above issue is it in a state that I can take another look?

Yes, I believe so.  Thanks again!

Chris


Re: LICENSE and NOTICE contents / headers

2016-02-19 Thread Justin Mclean
Hi,

> The rest of them are from files which contain the Apache license text at
> the top of the file.  In these files, we retained the original copyright
> notice below the Apache license.  Do you think this is problematic?

That's incorrect.while you can license the whole as Apache, each file needs to 
keep their original header and not have two headers.

The only case where this might come up is if we’re heavily modified the file in 
question.

Other than the above issue is it in a state that I can take another look?

Thanks,
Justin

Re: LICENSE and NOTICE contents / headers

2016-02-19 Thread Christopher Collins
Thanks a lot for looking at this, Justin.

On Fri, Feb 19, 2016 at 06:16:22PM +1100, Justin Mclean wrote:
> Newt repo still has:
> ./.git/hooks/pre-rebase.sample

I believe this file is not actually in the repository.  When a git repo
is cloned, the .git directory is populated with the contents of the
user's template directory, as specified by the "[init] templatedir" git
setting.  On my machine, the default templatedir is
/usr/local/share/git-core/templates.

> And a number of files (mostly .go files) still have "Copyright 2015
> Runtime Inc.”

Good catch.  I will fix this.

> Larval has a number of files with copyright that is this presumably licensed 
> under something, for example:
> Copyright (C) 2004  Kustaa Nyholm
> Copyright (C) 2010  CJlano
> Copyright (C) 2011  Petteri Aimonen
> Copyright (c) 2004,2012 Kustaa Nyholm / SpareTimeLabs
> Copyright (c) 2007, 2008, 2009, 2010 Dado Sutter and Bogdan Marinescu
> Copyright (c) 2007, 2008, 2009, 2010, 2011 Dado Sutter and Bogdan Marinescu
> Copyright (c) 2012 Petteri Aimonen 
> Copyright (c) 2015, Nordic Semiconductor ASA
> 
> See my previous email of this for all the licenses and files.
> 
> As does tadpole, for instance:
>  * Copyright (c) 1982, 1986, 1988, 1991, 1993
>  * Copyright (c) 1991, 1993
>  * Copyright (c) 1995-2001 Kungliga Tekniska Högskolan
>  * Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH
> # Copyright (c) 2006, 2008 Junio C Hamano

I believe these are all accounted for in the larva LICENSE file. Some of
these copyrighted files are from the following sources:

tinyprintf (BSD)
eLua (MIT)
queue.h (BSD)

The rest of them are from files which contain the Apache license text at
the top of the file.  In these files, we retained the original copyright
notice below the Apache license.  Do you think this is problematic?

That said, you are entirely correct about tadpole - I forgot to add the
necessary pointers to its LICENSE file.

Thanks,
Chris


Re: [BLE] Questions about BLE on Apache Mynewt

2016-02-19 Thread Sterling Hughes

Hi Quang,

No problem, that's exciting!

Documentation on Mynewt is located here: 
http://mynewt.incubator.apache.org/documentation/


It's good that you're working on the Nordic platform, we've spent a lot 
of time supporting that chip.


We are currently in the middle of our first beta -- if you are looking 
to adopt, I would say it's probably best to get started next Monday / 
Tuesday, as we'll be revving the documentation between now and then to 
reflect some of the changes.  I've also attached some preliminary 
instructions on how to use the Nordic chipsets.


If you have any questions or comments while you're trying to get Mynewt 
up & running: don't hesitate to ask the list.  We'll find the feedback 
very useful, and help debug any issues you have.


Best,

Sterling


STEPS:

# 1. Create the "mynewt" directory in your home directory.
[ccollins@ccollins-mac:~]$ mkdir ~/mynewt

# 2. Grab the larva repository from the apache server.
[ccollins@ccollins-mac:~]$ cd ~/mynewt
[ccollins@ccollins-mac:~/mynewt]$ git clone 
https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git larva

Cloning into 'larva'...
remote: Counting objects: 14729, done.
remote: Compressing objects: 100% (4408/4408), done.
remote: Total 14729 (delta 8765), reused 14556 (delta 8620)
Receiving objects: 100% (14729/14729), 3.83 MiB | 4.22 MiB/s, done.
Resolving deltas: 100% (8765/8765), done.
Checking connectivity... done.
[ccollins@ccollins-mac:~/mynewt]$ cd larva
[ccollins@ccollins-mac:~/mynewt/larva]$

# 3. Create some required newt targets by running the attached
# "create-targets.sh" script (this step assumes the script is in the
# current directory).
[ccollins@ccollins-mac:~/mynewt/larva]$ ./create-targets.sh
Creating target bleprph-nrf51-16kbram
Target bleprph-nrf51-16kbram successfully created!
Target bleprph-nrf51-16kbram successfully set arch to cortex_m0
Target bleprph-nrf51-16kbram successfully set bsp to hw/bsp/nrf51dk
Target bleprph-nrf51-16kbram successfully set compiler to 
arm-none-eabi-m0

Target bleprph-nrf51-16kbram successfully set project to bleprph
Target bleprph-nrf51-16kbram successfully set compiler_def to debug
Target bleprph-nrf51-16kbram successfully set cflags to 
-DNIMBLE_OPT_ROLE_CENTRAL=0 -DNIMBLE_OPT_ROLE_OBSERVER=0 
-DNIMBLE_OPT_GATT_DISC_ALL_DSCS=0 -DNIMBLE_OPT_GATT_READ=0 
-DNIMBLE_OPT_GATT_READ_UUID=0 -DNIMBLE_OPT_GATT_READ_LONG=0 
-DNIMBLE_OPT_GATT_READ_MULT=0 -DNIMBLE_OPT_GATT_WRITE_NO_RSP=0 
-DNIMBLE_OPT_GATT_SIGNED_WRITE=0 -DNIMBLE_OPT_GATT_WRITE=0 
-DNIMBLE_OPT_GATT_WRITE_LONG=0 -DNIMBLE_OPT_GATT_WRITE_RELIABLE=0

Creating target bletiny-nrf51-16kbram
Target bletiny-nrf51-16kbram successfully created!
Target bletiny-nrf51-16kbram successfully set arch to cortex_m0
Target bletiny-nrf51-16kbram successfully set bsp to 
hw/bsp/nrf51dk-16kbram
Target bletiny-nrf51-16kbram successfully set compiler to 
arm-none-eabi-m0

Target bletiny-nrf51-16kbram successfully set project to bletiny
Target bletiny-nrf51-16kbram successfully set compiler_def to debug
Target bletiny-nrf51-16kbram successfully set cflags to 
-DNIMBLE_OPT_ROLE_CENTRAL=0 -DNIMBLE_OPT_ROLE_OBSERVER=0 
-DNIMBLE_OPT_GATT_DISC_ALL_DSCS=0 -DNIMBLE_OPT_GATT_READ=0 
-DNIMBLE_OPT_GATT_READ_UUID=0 -DNIMBLE_OPT_GATT_READ_LONG=0 
-DNIMBLE_OPT_GATT_READ_MULT=0 -DNIMBLE_OPT_GATT_WRITE_NO_RSP=0 
-DNIMBLE_OPT_GATT_SIGNED_WRITE=0 -DNIMBLE_OPT_GATT_WRITE=0 
-DNIMBLE_OPT_GATT_WRITE_LONG=0 -DNIMBLE_OPT_GATT_WRITE_RELIABLE=0

Creating target boot-nrf51-16kbram
Target boot-nrf51-16kbram successfully created!
Target boot-nrf51-16kbram successfully set arch to cortex_m0
Target boot-nrf51-16kbram successfully set bsp to 
hw/bsp/nrf51dk-16kbram
Target boot-nrf51-16kbram successfully set compiler to 
arm-none-eabi-m0

Target boot-nrf51-16kbram successfully set project to boot
Target boot-nrf51-16kbram successfully set compiler_def to 
optimized


# 4. Now you should have four newt targets (bin2img,
# bleprph-nrf51-16kbram, bletiny-nrf51-16kbram, and boot-nrf51-16kbram).
# Make sure they are all there.
[ccollins@ccollins-mac:~/mynewt/larva]$ newt target show
bin2img
arch=sim
bsp=hw/bsp/native
compiler=sim
compiler_def=debug
name=bin2img
project=bin2img
bleprph-nrf51-16kbram
arch=cortex_m0
bsp=hw/bsp/nrf51dk
cflags=-DNIMBLE_OPT_ROLE_CENTRAL=0 
-DNIMBLE_OPT_ROLE_OBSERVER=0 -DNIMBLE_OPT_GATT_DISC_ALL_DSCS=0 
-DNIMBLE_OPT_GATT_READ=0 -DNIMBLE_OPT_GATT_READ_UUID=0 
-DNIMBLE_OPT_GATT_READ_LONG=0 -DNIMBLE_OPT_GATT_READ_MULT=0 
-DNIMBLE_OPT_GATT_WRITE_NO_RSP=0 -DNIMBLE_OPT_GATT_SIGNED_WRITE=0 
-DNIMBLE_OPT_GATT_WRITE=0 -DNIMBLE_OPT_GATT_WRI

Re: Release dependant on LGPL

2016-02-19 Thread Sterling Hughes


On 2/19/16 6:15 AM, Bertrand Delacretaz wrote:

On Sun, Feb 14, 2016 at 5:46 AM, Greg Stein  wrote:

...Speaking as an IPMC Member, and a Mynewt Mentor … yes, this is fine with a
disclaimer in the release notes


Except we don't have a standard for release notes, so how about we
require a mention in the DISCLAIMER file that incubating releases are
required to include?

Something like "This release is not fully compliant with Apache
release policy and includes..." in that file.




That would be fine with us. The main point of this release was to 
familiarize ourself with the process, and find out all the warts. We 
have a beta2 planned shortly afterwards, where we will clean up 
everything we found going through beta1 (which seems doable.)


We'd like to go ahead, just so we've put it through the paces prior to 
our next beta, and we have the full list of things we need to improve.


As a quick summary on the license front, we've found:

- We have some Go LGPL dependencies in our build tool that need to ... 
go...  This is a day's worth of work, unfortunately because of where 
they are in the dependency chain.


- (more serious) Some of the chip vendor license headers have a modified 
3-clause BSD license for their driver headers.  They end up being some 
derivant of: 
http://www.st.com/web/en/resource/legal/legal_agreement/license_agreement/ultimate-liberty-v2.txt?sc=software_license_agreement_liberty_v2


"4.	This software, including modifications and/or derivative works of 
this software, must execute solely and exclusively on microcontroller or 
microprocessor devices manufactured by or for STMicroelectronics."


That's obviously not kosher.  We have two potential remedies, which 
we'll need to work through prior to next release:


1- Many of these vendors seem to have the same header files licensed 
many ways, depending on version and phase of the moon.  Sometimes the 
exact same files are available straight up BSD.  We'll move to those 
where possible.


2- For ones that aren't, Newt has a package search and install tool. 
These files are in packages that only need to be included when building 
for that platform (and therefore compliant with the license.)  We can 
break these out and host them on Github, and people can search for and 
install them.We've done this with one of the packages as a test for this 
release: https://github.com/runtimeinc/mynewt_stm32f3


3- We'll work with the chip vendors and ask them to re-license their 
files.  This will be a slower process, but many of them are actually 
excited about Mynewt, and may be receptive.


Thanks,

Sterling


Re: Release dependant on LGPL

2016-02-19 Thread Bertrand Delacretaz
On Sun, Feb 14, 2016 at 5:46 AM, Greg Stein  wrote:
> ...Speaking as an IPMC Member, and a Mynewt Mentor … yes, this is fine with a
> disclaimer in the release notes

Except we don't have a standard for release notes, so how about we
require a mention in the DISCLAIMER file that incubating releases are
required to include?

Something like "This release is not fully compliant with Apache
release policy and includes..." in that file.

-Bertrand


Re: Release dependant on LGPL

2016-02-19 Thread Jim Jagielski
I would say that for this single request and this single release, a one-time
exception is warranted.

> On Feb 15, 2016, at 6:01 PM, Craig Russell  wrote:
> 
> I agree that an incubating release does not need to be fully compliant with 
> the proscription against mandatory LGPL dependencies for Apache releases.
> 
> Clearly the podling is well aware of the need to replace the LGPL dependency 
> before graduation. And I agree with Greg that a podling learning the 
> requirements of release and turning the crank is most important.
> 
> Craig
> 
>> On Feb 15, 2016, at 1:49 PM, Marvin Humphrey  wrote:
>> 
>> On Mon, Feb 15, 2016 at 1:16 PM, Luciano Resende  
>> wrote:
>>> Apache Toree had a similar issue, and we have discussed this in
>>> legal-discuss, and here is the feedback from Jim, VP of Legal
>>> 
>>> http://mail-archives.apache.org/mod_mbox/www-legal-discuss/201602.mbox/%3C2A8B931C-1AD6-4230-B2DE-0B33361B3A2B%40jaguNET.com%3E
>> 
>> The LGPL's reverse engineering provisions make it more difficult to
>> understand the licensing obligations of any ostensibly
>> Apache-2-licensed product with an LGPL-licensed mandatory runtime
>> dependency.  Jim speaks for many of us in that thread.
>> 
>> However, one of the reasons we have the "incubating" label is to let
>> people know that "incubating" releases may not be fully compliant with
>> all Apache policies.
>> 
>> See https://issues.apache.org/jira/browse/LEGAL-86 for an example of
>> where incubating releases were allowed with a runtime dependency on a
>> non-approved license.  Just as Greg laid out, a plan was proposed for
>> removing the dependency before graduation and the VP Legal at the
>> time, Sam Ruby, gave his OK.
>> 
>> With LEGAL-86, VP Legal's approval was sought in advance, and in
>> general podlings should should be aware of resources like the
>> legal-discuss@apache list and should learn when and how to utilize
>> them. However, unless Greg advises Mynewt to consult VP Legal (and I'm
>> all but certain he won't), that won't be necessary in this case.
>> 
>> Marvin Humphrey
>> 
>> -
>> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
>> For additional commands, e-mail: general-h...@incubator.apache.org
>> 
> 
> 
> -
> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
> For additional commands, e-mail: general-h...@incubator.apache.org
>