You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mynewt.apache.org by Christopher Collins <cc...@apache.org> on 2016/03/15 07:17:29 UTC

[VOTE] Release Apache Mynewt 0.8.0-incubating-b2

Hello all,

I am pleased to be calling this vote for the source release of
Apache Mynewt 0.8.0-incubating-b2.

Apache Mynewt is a community-driven, permissively licensed open source
initiative for constrained, embedded applications.  Mynewt provides a
real-time operating system, flash file system, network stacks, and
support utilities for real-world embedded systems.

For full release notes, please visit the Apache Mynewt Wiki:
https://cwiki.apache.org/confluence/display/MYNEWT/Release+Notes

For information about bugs fixed in beta 2, please view the Issue
Tracker Summary: 
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319221&version=12334805

This is the first source release of the "New" Newt.  More information on
the genesis of Newt, and a description can be found at:
http://mail-archives.apache.org/mod_mbox/incubator-mynewt-dev/201603.mbox/%3C56E21C13.9050303%40apache.org%3E

The full mynewt test suite for this release was executed via "newt test
all" with no failures.  This testing was performed on the following
platforms:
    * OS X 10.10.5
    * Linux 3.19.0 (Ubuntu 14.10)

In addition, all other currently-supported platforms were smoke tested.

The release candidate to be voted on is available at:
https://dist.apache.org/repos/dist/dev/incubator/mynewt/apache-mynewt-0.8.0-incubating-b2/

The commits under consideration are as follows:

blinky (formerly tadpole):
    repos: https://git-wip-us.apache.org/repos/asf/incubator-mynewt-blinky.git
    commit: 682385a1c0087f3e39942b7f677314a3bc35088f

core (formerly larva):
    repos: https://git-wip-us.apache.org/repos/asf/incubator-mynewt-core.git
    commit: 41f70c937339b27ff4f6257ccf3dd80163732b2d

newt:
    repos: https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git
    commit: 23a6f5ffae3ef517f8124b4a97ae34c83e3385d3

In addition, the following newt convenience binaries are available:
    linux: https://dist.apache.org/repos/dist/dev/incubator/mynewt/apache-mynewt-0.8.0-incubating-b2/apache-newt-bin-linux-0.8.0-incubating-b2.tgz
    osx: https://dist.apache.org/repos/dist/dev/incubator/mynewt/apache-mynewt-0.8.0-incubating-b2/apache-newt-bin-osx-0.8.0-incubating-b2.tgz

The release candidate is signed with a GPG key available at:
https://dist.apache.org/repos/dist/dev/incubator/mynewt/KEYS

The vote is open for at least 72 hours and passes if a majority of at
least three +1 PPMC votes are cast.

[ ] +1 Release this package
[ ]  0 I don't feel strongly about it, but don't object
[ ] -1 Do not release this package because...

Anyone can participate in testing and voting, not just committers,
please feel free to try out the release candidate and provide your
votes.

A separate [DISCUSS] thread will be opened to talk about this release
candidate.

Thanks,
Chris

Re: [VOTE] Release Apache Mynewt 0.8.0-incubating-b2

Posted by Sterling Hughes <st...@apache.org>.

On 3/15/16 10:56 PM, Christopher Collins wrote:
> On Wed, Mar 16, 2016 at 03:41:27PM +1100, Justin Mclean wrote:
>> Hi,
>>
>> Sorry -1 binding as:
> [...]
>
> Yikes!  Thanks for the thorough review, Justin.
>
>> - Contains source code (hashicorp) that is MPL licensed [2] this is not allowed in a source release.
>
> Darn, I failed to notice that the MPL is only valid in binary (not
> source) releases.  I am actually a bit confused by this; I was
> under the impression that a binary releas must not contain anything
> that is not included in the corresponding source release.  If that is
> true, then when is a "binary only" license applicable?
>
> I think we can resolve the rest of the issues fairly easily.  The MPL
> issue might pose a bit of a challenge.  In the meantime, I will cancel
> the vote.

My understanding was - MPL binaries can be linked in to form the final 
binary (and presumably included alongside the source in the 
distribution), but their source must not be included, is how I read it. 
  I think in certain cases MPL source is allowed, and this code might 
even fall under those conditions (we're not modifying it, relatively few 
exposed APIs).  However, reviewing what we've included, it looks 
relatively small and easy to engineer out.  It is some log filtering 
code, and an unused configuration format that was supported by viper.

Sterling

Re: [VOTE] Release Apache Mynewt 0.8.0-incubating-b2

Posted by Justin Mclean <ju...@me.com>.
Hi,

> We only officially vote on the source release so if you wanted to release just the source artefacts here it would probably be OK (as I see nothing that would block that) and I would change my vote.

Sorry long day -  I meant to say once the MPL was fixed. 

Justin

Re: [VOTE] Release Apache Mynewt 0.8.0-incubating-b2

Posted by Justin Mclean <ju...@me.com>.
Hi,

> Darn, I failed to notice that the MPL is only valid in binary (not
> source) releases.

Always look at the Category A list on that legal FAQ page, if it’s in there it is comparable with the Apache license. If it’s Category B ( i.e. MPL or EPL) you can only included it in binary form and I’m fairly certain that would not be allowed in a source release in binary form. If it Category X (i.e. GPL)  it’s not allowed.

>  I am actually a bit confused by this; I was  under the impression that a binary releas must not contain anything
> that is not included in the corresponding source release.

All releases are treated the same [1], a binary release is just to help users and needs to be produced from the source release, but could contain additional non Apache code linked in [2].

We only officially vote on the source release so if you wanted to release just the source artefacts here it would probably be OK (as I see nothing that would block that) and I would change my vote.

Thanks,
Justin

1. http://www.apache.org/dev/licensing-howto.html#binary
2. http://www.apache.org/dev/release.html#what (last paragraph)

Re: [VOTE] Release Apache Mynewt 0.8.0-incubating-b2

Posted by Christopher Collins <cc...@apache.org>.
On Wed, Mar 16, 2016 at 03:41:27PM +1100, Justin Mclean wrote:
> Hi,
> 
> Sorry -1 binding as:
[...]

Yikes!  Thanks for the thorough review, Justin.

> - Contains source code (hashicorp) that is MPL licensed [2] this is not allowed in a source release.

Darn, I failed to notice that the MPL is only valid in binary (not
source) releases.  I am actually a bit confused by this; I was 
under the impression that a binary releas must not contain anything
that is not included in the corresponding source release.  If that is
true, then when is a "binary only" license applicable?

I think we can resolve the rest of the issues fairly easily.  The MPL
issue might pose a bit of a challenge.  In the meantime, I will cancel
the vote.

Thanks,
Chris

Re: [VOTE] Release Apache Mynewt 0.8.0-incubating-b2

Posted by Christopher Collins <cc...@apache.org>.
On Thu, Mar 17, 2016 at 10:02:01AM +1100, Justin Mclean wrote:
> > Blinky is a bit unusual in that it is not meant to be compilable nor
> > testable on its own
> 
> Any reason it has unittest as a target then? (as shown by mynewt info)

Well... it's an implementation detail that leaked out :).  The unittest
target is used internally by the "newt test" command.  In the latest
release candidate, the unittest target is hidden from the user in the
output of "newt info" and "newt target show".  The plan is to get rid of
this hack in the next release; then the unittest target won't exist at
all.

> > Are subdirectories generally not considered to be included in such a
> > reference?
> 
> All good I missed that subdirectory reference in LICENSE, so nothing needs to be done there.

Great, thanks!

Chris

Re: [VOTE] Release Apache Mynewt 0.8.0-incubating-b2

Posted by Justin Mclean <ju...@me.com>.
Hi,

> Blinky is a bit unusual in that it is not meant to be compilable nor
> testable on its own

Any reason it has unittest as a target then? (as shown by mynewt info)

> Are subdirectories generally not considered to be included in such a
> reference?

All good I missed that subdirectory reference in LICENSE, so nothing needs to be done there.

Thanks,
Justin

Re: [VOTE] Release Apache Mynewt 0.8.0-incubating-b2

Posted by Christopher Collins <cc...@apache.org>.
Hi Justin,

I had a few more questions about your findings, if you don't mind.  I
have snipped most of your comments, as there is no doubt about how to
address them.

On Wed, Mar 16, 2016 at 03:41:27PM +1100, Justin Mclean wrote:
> Blinky:
> - README should including instructions on how to compile (but managed
> to compile)
> - not sure that unit test info is correct as newt build unittest gives
> "Error: Target does not specify an app package (target.app)” and newt
> test doesn’t seem to do anything

I just wanted to add a clarification regarding blinky:

Blinky is a bit unusual in that it is not meant to be compilable nor
testable on its own;  it depends on libraries in the apache-mynewt-core
package.  Blinky is actually just a project skeleton that gets
downloaded by the "newt new" command.  This is likely why the "newt test
all" command did not seem to do anything when you ran it - blinky by
itself does not contain any tests.

The point is well taken: we need to make all of the above information
clear in blinky's README.

> Core:
> - LICENSE is missing a number of files. For example  from [1] as most
> of those files have BSD licenses but only a small number are listed in
> LICENSE.

([1]=hw/mcu/stm/stm32f4xx/include/mcu/*)

The core LICENSE file references the following directory as part of
STM32CubeF4 (3-clause BSD):
    * hw/mcu/stm/stm32f4xx/include/

Are subdirectories generally not considered to be included in such a
reference?  It is not a big deal in this case, as the above path only
contains a single entry (the mcu subdirectory).  However, I ask because
there are other references in the core LICENSE file that are meant to
include all child subdirectories.

Thanks,
Chris

Re: [VOTE] Release Apache Mynewt 0.8.0-incubating-b2

Posted by Sterling Hughes <st...@apache.org>.
I'll leave the license stuff for Chris to address, it all seems 
reasonable to me.  I was holding on my +1 for that, this time btw :=)

It looks like we'll need to remove the hashicorp stuff.  bummer. 
luckily it looks easy enough to strip out, unlike the yaml stuff which 
was a pain.

I wanted to address the installation from source.  Have you looked at 
the INSTALLING.md?  That document should work, but as you point, is not 
compiling and installing from source tarball, but I wanted to double 
check you didn't have an error with this.

Regarding source tarball, I agree we need installation instructions for 
that: I believe you need to do a godeps restore if you want to compile 
from source tarball -- Chris did this portion, so I'll let him chime in. 
  But this really should just be updating the README.

Sterling

> For Mynewt if I copy the source release to $GOPATH/src/mynewt.apache.org/ and try and compile I get this:
> Fetching https://mynewt.apache.org/newt/newt/cli?go-get=1
> ignoring https fetch with status code 404
> Fetching http://mynewt.apache.org/newt/newt/cli?go-get=1
> Parsing meta tags from http://mynewt.apache.org/newt/newt/cli?go-get=1 (status code 404)
> import "mynewt.apache.org/newt/newt/cli": parse http://mynewt.apache.org/newt/newt/cli?go-get=1: no go-import meta tags
> package mynewt.apache.org/newt/newt/cli: unrecognized import path "mynewt.apache.org/newt/newt/cli"
> Fetching https://mynewt.apache.org/newt/util?go-get=1
> ignoring https fetch with status code 404
> Fetching http://mynewt.apache.org/newt/util?go-get=1
> Parsing meta tags from http://mynewt.apache.org/newt/util?go-get=1 (status code 404)
> import "mynewt.apache.org/newt/util": parse http://mynewt.apache.org/newt/util?go-get=1: no go-import meta tags
> package mynewt.apache.org/newt/util: unrecognized import path "mynewt.apache.org/newt/util"
>
> Thanks,
> Justin
>
> 1. hw/mcu/stm/stm32f4xx/include/mcu/*
> 2. http://www.apache.org/legal/resolved.html#category-b
>

Re: [VOTE] Release Apache Mynewt 0.8.0-incubating-b2

Posted by Justin Mclean <ju...@classsoftware.com>.
Hi,

Sorry -1 binding as:
- LICENSE, NOTICE and DISCLAIMER are missing from the convenience binary releases
- Newt source release contains MPL code (hashicorp). This is a category B licence and can not be included in source form in an Apache release.
- I’d also like to see instructions on how to compile the source packages in the releases, without checking out the latest code from github, as this was brought up last release.

I checked:
- incubating in release names
- hashes and signatures good
- DISCLAIMER exists in source releases
- LICENSE and NOTICE good
- no unexpected binaries in source releases
- all expected source files have headers 
- not sure how to compile core or mynewt for the source packages

Blinky:
- .rat-excludes mentions files not in the release
- README should including instructions on how to compile (but managed to compile)
- not sure that unit test info is correct as newt build unittest gives "Error: Target does not specify an app package (target.app)” and newt test doesn’t seem to do anything

OS X binary:
- Missing LICENSE, NOTICE and DISCLAIMER. These are require for both source and convenience binary releases. Note that as the contents of the binary are different to the source package, the LICENSE and NOTICE will likely need to be different.
- "newt version" gives "Newt version: 0.8.0” IMO would be better if it was “Apache Newt (incubating) version: 0.8.0”

Linux binary
- Missing LICENSE, NOTICE and DISCLAIMER
- Did not test

Core:
- LICENSE is missing a number of files. For example  from [1] as most of those files have BSD licenses but only a small number are listed in LICENSE.
- Missing instruction on how to compile source package. For a (P)PMC member to vote +1 they need be be able to compile from the source package.
- I’d remove exact dates in the RELEASE_NOTES about future releases

Mynewt:
- Contains source code (hashicorp) that is MPL licensed [2] this is not allowed in a source release.
- Instructions for compiling may not be correct
- Unable to compile from source package
- NOTICE is missing mention of Runtime Inc.

For Mynewt if I copy the source release to $GOPATH/src/mynewt.apache.org/ and try and compile I get this:
Fetching https://mynewt.apache.org/newt/newt/cli?go-get=1
ignoring https fetch with status code 404
Fetching http://mynewt.apache.org/newt/newt/cli?go-get=1
Parsing meta tags from http://mynewt.apache.org/newt/newt/cli?go-get=1 (status code 404)
import "mynewt.apache.org/newt/newt/cli": parse http://mynewt.apache.org/newt/newt/cli?go-get=1: no go-import meta tags
package mynewt.apache.org/newt/newt/cli: unrecognized import path "mynewt.apache.org/newt/newt/cli"
Fetching https://mynewt.apache.org/newt/util?go-get=1
ignoring https fetch with status code 404
Fetching http://mynewt.apache.org/newt/util?go-get=1
Parsing meta tags from http://mynewt.apache.org/newt/util?go-get=1 (status code 404)
import "mynewt.apache.org/newt/util": parse http://mynewt.apache.org/newt/util?go-get=1: no go-import meta tags
package mynewt.apache.org/newt/util: unrecognized import path "mynewt.apache.org/newt/util"

Thanks,
Justin

1. hw/mcu/stm/stm32f4xx/include/mcu/*
2. http://www.apache.org/legal/resolved.html#category-b

Re: [VOTE] Release Apache Mynewt 0.8.0-incubating-b2

Posted by Christopher Collins <cc...@apache.org>.
On Mon, Mar 14, 2016 at 11:17:29PM -0700, Christopher Collins wrote:
> [X] +1 Release this package
> [ ]  0 I don't feel strongly about it, but don't object
> [ ] -1 Do not release this package because...