You are viewing a plain text version of this content. The canonical link for it is here.
Posted to legal-discuss@apache.org by Ran Ziv <ra...@gigaspaces.com> on 2017/06/20 09:21:27 UTC

A few questions about creating a release

I have a few quick questions about creating a release for a (Python)
incubator project:


1) According to these links: 1
<http://incubator.apache.org/guides/releasemanagement.html#podling-constraints>
 2 <http://incubator.apache.org/incubation/Incubation_Policy.html#Releases>
Incubating projects must have "Incubating" in the "final file name". I
might be missing something, but I assume the meaning is the final tarball
(source distribution) or wheel (binary distribution) file.
This is unconventional and not compatible with PyPI - and indeed it seems
like other Apache Incubator projects don't adhere to it (see Airflow
<https://pypi.python.org/pypi/apache-airflow>).
Am I missing something, or perhaps this is simply not relevant for Python
projects?


2) According to this
<http://www.apache.org/legal/release-policy.html#licensing-documentation>,
LICENSE and NOTICE must be located in all release packages, including
binary distributions. I've looked much into this and I couldn't find a good
way of bundling these files inside the wheel format - except for manually
pushing them inside after creating the wheel perhaps.
The section speaks of a "customary location for licensing materials" -
However, for the wheel format there's no such "customary location".
I tried looking into what other Apache projects do about this, and indeed
the libcloud project doesn't have these files in their wheel package.
Is this acceptable, or should we manually place these files inside the
wheel package - Or perhaps there's a different way to do this I have not
found?


3) Is the convention for a project X to be named on PyPI "apache-X"? Is
this mandatory? I haven't seen any explicit rules about this, but I might
have missed those.


Thank you,
Ran

Re: A few questions about creating a release

Posted by Ran Ziv <ra...@gigaspaces.com>.
Got it, thanks!

On Sun, Jun 25, 2017 at 2:09 PM, John D. Ament <jo...@apache.org>
wrote:

>
>
> On Sun, Jun 25, 2017 at 6:39 AM Ran Ziv <ra...@gigaspaces.com> wrote:
>
>> Ok, so according to your answers, it seems like:
>>
>> re (2), we'll manually insert the LICENSE, NOTICE and DISCLAIMER files
>> into the wheel archive (binary distribution).
>> re (3), we'll go with "apache-ariatosca".
>>
>>
>> I'm still not 100% clear about (1) though. To my understanding:
>>   a) "--version" output should have an "-incubator" suffix.
>>
>
> I'm not sure what ---version is, but the requirement is that your source
> archive includes "incubating" in the name.  In the java world, the place
> where it goes is the classifier.  In my talk at ACNA, I stated that the
> expected format is "apache"-"$podlingname"-"$version"-"incubating".  [1]
> for the verbatim text of the requirement.
>
> Note that your source archive must be downloadable from your podling's
> website.  You can include other installation mechanisms.
>
>
>
>>   b) PyPI files (source and binary distribution archives) do not need to
>> have the "-incubator" suffix, as that would require users to change their
>> dependency when the project graduates.
>>
>
> Correct, and I'll support you on this if anyone pushes back.  Groovy is
> another example, they didn't want -incubating in their "binary" release,
> but the source release pushed through the ASF included -incubating.  We
> have to remember, the artifacts pushed through pypi and other medium are
> the convenience binaries.  This is why I also stress that incubating isn't
> part of the version #.  Granted, you wouldn't link to a pypi package on
> your website (outside of how to install if you're using pypi)
>
>
>>   c) The canonical releases (those on apache.org/dist) should have the
>> "-incubator" suffix.
>>
>
> Yep, but I prefer -incubating; it's consistent with others.
>
>
>>
>> Will that suffice?
>>
>>
>> Thanks,
>> Ran
>>
>>
>>
> [1]: http://incubator.apache.org/incubation/Incubation_
> Policy.html#Releases
>
>
>
>>
>>
>>
>> On Fri, Jun 23, 2017 at 9:54 PM, Roman Shaposhnik <ro...@shaposhnik.org>
>> wrote:
>>
>>> It is difficult to discuss hypotheticals. Could you please provide
>>> examples of packaging/distribution systems you have in mind?
>>>
>>> Thanks,
>>> Roman.
>>>
>>> On Fri, Jun 23, 2017 at 1:36 AM, Rob Vesse <rv...@dotnetrdf.org> wrote:
>>> >
>>> >
>>> > From: <hy...@gmail.com> on behalf of Henri Yandell <
>>> henri@yandell.org>
>>> > Reply-To: <le...@apache.org>
>>> > Date: Thursday, 22 June 2017 21:48
>>> > To: ASF Legal Discuss <le...@apache.org>
>>> > Subject: Re: A few questions about creating a release
>>> >
>>> >
>>> >
>>> > Folk do not seem to be putting 'incubating' etc into Maven group names
>>> >
>>> >
>>> >
>>> > Historically I have seen projects place this in the Version number e.g.
>>> > X.Y.Z-incubating
>>> >
>>> >
>>> >
>>> > That is certainly supported with Maven versioning but may not be
>>> supported
>>> > and the other package management systems
>>> >
>>> >
>>> >
>>> > Rob
>>> >
>>> >
>>> >
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
>>> For additional commands, e-mail: legal-discuss-help@apache.org
>>>
>>>
>>

Re: A few questions about creating a release

Posted by "John D. Ament" <jo...@apache.org>.
On Sun, Jun 25, 2017 at 6:39 AM Ran Ziv <ra...@gigaspaces.com> wrote:

> Ok, so according to your answers, it seems like:
>
> re (2), we'll manually insert the LICENSE, NOTICE and DISCLAIMER files
> into the wheel archive (binary distribution).
> re (3), we'll go with "apache-ariatosca".
>
>
> I'm still not 100% clear about (1) though. To my understanding:
>   a) "--version" output should have an "-incubator" suffix.
>

I'm not sure what ---version is, but the requirement is that your source
archive includes "incubating" in the name.  In the java world, the place
where it goes is the classifier.  In my talk at ACNA, I stated that the
expected format is "apache"-"$podlingname"-"$version"-"incubating".  [1]
for the verbatim text of the requirement.

Note that your source archive must be downloadable from your podling's
website.  You can include other installation mechanisms.



>   b) PyPI files (source and binary distribution archives) do not need to
> have the "-incubator" suffix, as that would require users to change their
> dependency when the project graduates.
>

Correct, and I'll support you on this if anyone pushes back.  Groovy is
another example, they didn't want -incubating in their "binary" release,
but the source release pushed through the ASF included -incubating.  We
have to remember, the artifacts pushed through pypi and other medium are
the convenience binaries.  This is why I also stress that incubating isn't
part of the version #.  Granted, you wouldn't link to a pypi package on
your website (outside of how to install if you're using pypi)


>   c) The canonical releases (those on apache.org/dist) should have the
> "-incubator" suffix.
>

Yep, but I prefer -incubating; it's consistent with others.


>
> Will that suffice?
>
>
> Thanks,
> Ran
>
>
>
[1]: http://incubator.apache.org/incubation/Incubation_Policy.html#Releases



>
>
>
> On Fri, Jun 23, 2017 at 9:54 PM, Roman Shaposhnik <ro...@shaposhnik.org>
> wrote:
>
>> It is difficult to discuss hypotheticals. Could you please provide
>> examples of packaging/distribution systems you have in mind?
>>
>> Thanks,
>> Roman.
>>
>> On Fri, Jun 23, 2017 at 1:36 AM, Rob Vesse <rv...@dotnetrdf.org> wrote:
>> >
>> >
>> > From: <hy...@gmail.com> on behalf of Henri Yandell <
>> henri@yandell.org>
>> > Reply-To: <le...@apache.org>
>> > Date: Thursday, 22 June 2017 21:48
>> > To: ASF Legal Discuss <le...@apache.org>
>> > Subject: Re: A few questions about creating a release
>> >
>> >
>> >
>> > Folk do not seem to be putting 'incubating' etc into Maven group names
>> >
>> >
>> >
>> > Historically I have seen projects place this in the Version number e.g.
>> > X.Y.Z-incubating
>> >
>> >
>> >
>> > That is certainly supported with Maven versioning but may not be
>> supported
>> > and the other package management systems
>> >
>> >
>> >
>> > Rob
>> >
>> >
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
>> For additional commands, e-mail: legal-discuss-help@apache.org
>>
>>
>

Re: A few questions about creating a release

Posted by Ran Ziv <ra...@gigaspaces.com>.
Ok, so according to your answers, it seems like:

re (2), we'll manually insert the LICENSE, NOTICE and DISCLAIMER files into
the wheel archive (binary distribution).
re (3), we'll go with "apache-ariatosca".


I'm still not 100% clear about (1) though. To my understanding:
  a) "--version" output should have an "-incubator" suffix.
  b) PyPI files (source and binary distribution archives) do not need to
have the "-incubator" suffix, as that would require users to change their
dependency when the project graduates.
  c) The canonical releases (those on apache.org/dist) should have the
"-incubator" suffix.

Will that suffice?


Thanks,
Ran





On Fri, Jun 23, 2017 at 9:54 PM, Roman Shaposhnik <ro...@shaposhnik.org>
wrote:

> It is difficult to discuss hypotheticals. Could you please provide
> examples of packaging/distribution systems you have in mind?
>
> Thanks,
> Roman.
>
> On Fri, Jun 23, 2017 at 1:36 AM, Rob Vesse <rv...@dotnetrdf.org> wrote:
> >
> >
> > From: <hy...@gmail.com> on behalf of Henri Yandell <henri@yandell.org
> >
> > Reply-To: <le...@apache.org>
> > Date: Thursday, 22 June 2017 21:48
> > To: ASF Legal Discuss <le...@apache.org>
> > Subject: Re: A few questions about creating a release
> >
> >
> >
> > Folk do not seem to be putting 'incubating' etc into Maven group names
> >
> >
> >
> > Historically I have seen projects place this in the Version number e.g.
> > X.Y.Z-incubating
> >
> >
> >
> > That is certainly supported with Maven versioning but may not be
> supported
> > and the other package management systems
> >
> >
> >
> > Rob
> >
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
> For additional commands, e-mail: legal-discuss-help@apache.org
>
>

Re: A few questions about creating a release

Posted by Roman Shaposhnik <ro...@shaposhnik.org>.
It is difficult to discuss hypotheticals. Could you please provide
examples of packaging/distribution systems you have in mind?

Thanks,
Roman.

On Fri, Jun 23, 2017 at 1:36 AM, Rob Vesse <rv...@dotnetrdf.org> wrote:
>
>
> From: <hy...@gmail.com> on behalf of Henri Yandell <he...@yandell.org>
> Reply-To: <le...@apache.org>
> Date: Thursday, 22 June 2017 21:48
> To: ASF Legal Discuss <le...@apache.org>
> Subject: Re: A few questions about creating a release
>
>
>
> Folk do not seem to be putting 'incubating' etc into Maven group names
>
>
>
> Historically I have seen projects place this in the Version number e.g.
> X.Y.Z-incubating
>
>
>
> That is certainly supported with Maven versioning but may not be supported
> and the other package management systems
>
>
>
> Rob
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org


Re: A few questions about creating a release

Posted by Konstantin Boudnik <co...@apache.org>.
IANAL, but I don't think it is ever been a requirement. Or it should be.
--
  Take care,
Konstantin (Cos) Boudnik
2CAC 8312 4870 D885 8616  6115 220F 6980 1F27 E622

Disclaimer: Opinions expressed in this email are those of the author,
and do not necessarily represent the views of any company the author
might be affiliated with at the moment of writing.


On Fri, Jun 23, 2017 at 1:36 AM, Rob Vesse <rv...@dotnetrdf.org> wrote:
>
>
> From: <hy...@gmail.com> on behalf of Henri Yandell <he...@yandell.org>
> Reply-To: <le...@apache.org>
> Date: Thursday, 22 June 2017 21:48
> To: ASF Legal Discuss <le...@apache.org>
> Subject: Re: A few questions about creating a release
>
>
>
> Folk do not seem to be putting 'incubating' etc into Maven group names
>
>
>
> Historically I have seen projects place this in the Version number e.g.
> X.Y.Z-incubating
>
>
>
> That is certainly supported with Maven versioning but may not be supported
> and the other package management systems
>
>
>
> Rob
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org


Re: A few questions about creating a release

Posted by Rob Vesse <rv...@dotnetrdf.org>.
 

From: <hy...@gmail.com> on behalf of Henri Yandell <he...@yandell.org>
Reply-To: <le...@apache.org>
Date: Thursday, 22 June 2017 21:48
To: ASF Legal Discuss <le...@apache.org>
Subject: Re: A few questions about creating a release

 

Folk do not seem to be putting 'incubating' etc into Maven group names

 

Historically I have seen projects place this in the Version number e.g. X.Y.Z-incubating

 

 That is certainly supported with Maven versioning but may not be supported and the other package management systems

 

Rob

 

 


Re: A few questions about creating a release

Posted by Henri Yandell <he...@yandell.org>.
On Thu, Jun 22, 2017 at 11:55 AM, Daniel Shahaf <d....@daniel.shahaf.name>
wrote:

> Ran Ziv wrote on Tue, 20 Jun 2017 12:21 +0300:
> > I have a few quick questions about creating a release for a (Python)
> > incubator project:
> >
> >
> > 1) According to these links: 1
> > <http://incubator.apache.org/guides/releasemanagement.html#
> podling-constraints>
> >  2 <http://incubator.apache.org/incubation/Incubation_Policy.
> html#Releases>
> > Incubating projects must have "Incubating" in the "final file name". I
> > might be missing something, but I assume the meaning is the final tarball
> > (source distribution) or wheel (binary distribution) file.
> > This is unconventional and not compatible with PyPI - and indeed it seems
> > like other Apache Incubator projects don't adhere to it (see Airflow
> > <https://pypi.python.org/pypi/apache-airflow>).
> > Am I missing something, or perhaps this is simply not relevant for Python
> > projects?
>
> I'm aware of no exception for python here.  AIUI the tarball filename,
> '--version' output, etc should include a "-incubating" caveat.  But
> then, these are incubator policies, not ASF-wide ones, so it'd be better
> to discuss them on the incubator lists than here.
>

That makes sense for standalone tarballs (be it the canonical source
tarball or a standalone binary install).

For the pip install, I would follow the practices with Maven. Folk do not
seem to be putting 'incubating' etc into Maven group names, so it shouldn't
appear in pip names, Java packages etc.

As a general principle - Users should not have to change their code when a
project graduates from the Incubator.


>
> > 2) [...] should we manually place these files inside the
> > wheel package - Or perhaps there's a different way to do this I have not
> > found?
>
> (I don't know)
>

Finding a way to keep the LICENSE file in each distribution however is
something you should be doing.


>
> > 3) Is the convention for a project X to be named on PyPI "apache-X"? Is
> > this mandatory? I haven't seen any explicit rules about this, but I might
> > have missed those.
>
> I'm not aware of specific policies for PyPI; there is
>     https://www.apache.org/foundation/marks/resources
> and there are the generic release policy docs (the various /dev/*html
> pages that document the requirements for PGP signatures, etc)
>

On the Maven side, we started with apache-xyz as naming, then when Maven
added group namespaces we moved to org.apache and xyz. For PyPI, apache-xyz
makes sense to me as a mandatory standard (same for NPM, cocoapods etc). At
least, I can't think of reasons not to, other than to stop users having to
change their systems when code moves from outside-Apache to Apache, which
we generally do want them to have to make a change for.

Hen

Re: A few questions about creating a release

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Ran Ziv wrote on Tue, 20 Jun 2017 12:21 +0300:
> I have a few quick questions about creating a release for a (Python)
> incubator project:
> 
> 
> 1) According to these links: 1
> <http://incubator.apache.org/guides/releasemanagement.html#podling-constraints>
>  2 <http://incubator.apache.org/incubation/Incubation_Policy.html#Releases>
> Incubating projects must have "Incubating" in the "final file name". I
> might be missing something, but I assume the meaning is the final tarball
> (source distribution) or wheel (binary distribution) file.
> This is unconventional and not compatible with PyPI - and indeed it seems
> like other Apache Incubator projects don't adhere to it (see Airflow
> <https://pypi.python.org/pypi/apache-airflow>).
> Am I missing something, or perhaps this is simply not relevant for Python
> projects?

I'm aware of no exception for python here.  AIUI the tarball filename,
'--version' output, etc should include a "-incubating" caveat.  But
then, these are incubator policies, not ASF-wide ones, so it'd be better
to discuss them on the incubator lists than here.

> 2) [...] should we manually place these files inside the
> wheel package - Or perhaps there's a different way to do this I have not
> found?

(I don't know)

> 3) Is the convention for a project X to be named on PyPI "apache-X"? Is
> this mandatory? I haven't seen any explicit rules about this, but I might
> have missed those.

I'm not aware of specific policies for PyPI; there is
    https://www.apache.org/foundation/marks/resources
and there are the generic release policy docs (the various /dev/*html
pages that document the requirements for PGP signatures, etc)

Cheers,

Daniel

---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org