You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@incubator.apache.org by Julien Le Dem <ju...@ledem.net> on 2015/02/11 00:25:21 UTC

"-incubator" in versions of podling maven artifacts

Hi Incubator,
I'd like some context about the requirement of adding -incubating in the file name of podling releases.

http://incubator.apache.org/guides/releasemanagement.html
http://incubator.apache.org/guides/release-java.html#best-practice-maven

It seems we require adding -incubating in the version for maven artifacts which breaks Semantic versioning as hyphen is used for pre-releases.
It is also confusing as we vote on a version number but that's not what we use as the artifact version.
We are already publishing the source release in the incubator project and have incubating in its file name as well as DISCLAIMER files.
So it seems to me that adding it in the maven artifact is a bit overkill.
Every release as to get through the vote of the IPMC anyway so it's not like podlings releases are not vetted appropriately.

opinions from the IPMC?

Julien




Re: "-incubator" in versions of podling maven artifacts

Posted by Stian Soiland-Reyes <st...@apache.org>.
Agreed. Both podlings and graduated projects might release components that
are at different maturity levels.

So formally incubation status should "really" be indicated with a different
groupId, not as a version qualifier.

This would however cause unnecessary confusion if/when the project
graduates, as the groupId would suddenly change.

With different groupIds, Maven would not easily detect the duplicate if a
project somehow pulled in both an incubator and a graduate release

Downstream users would just see there were no further releases beyond the
last incubator one. (Maven renames help, but are still underutilized)

So personally, as a heavy Maven user, I very much still more prefer the
current norm of indicating the incubation status in the version field, even
though it is not quite technically correct by some measures.
On 11 Feb 2015 21:29, "Roman Shaposhnik" <ro...@shaposhnik.org> wrote:

> On Wed, Feb 11, 2015 at 1:01 AM, Stian Soiland-Reyes <st...@apache.org>
> wrote:
> > An incubator release is a kind of pre-release - community wise. But
> perhaps
> > you mean this is not ideal for mature projects who were codewise stable
> > before joining the incubator?
>
> To me the biggest signaling that needs to happen has little to do with
> the quality/maturity
> of the code (which is a subjective metric anyway) but with the fact
> that something coming
> out of org.apache.* groupID is NOT YET a full member of ASF family
> (and worse case
> scenario may never be).
>
> Thanks,
> Roman.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
> For additional commands, e-mail: general-help@incubator.apache.org
>
>

Re: "-incubator" in versions of podling maven artifacts

Posted by Roman Shaposhnik <ro...@shaposhnik.org>.
On Wed, Feb 11, 2015 at 1:01 AM, Stian Soiland-Reyes <st...@apache.org> wrote:
> An incubator release is a kind of pre-release - community wise. But perhaps
> you mean this is not ideal for mature projects who were codewise stable
> before joining the incubator?

To me the biggest signaling that needs to happen has little to do with
the quality/maturity
of the code (which is a subjective metric anyway) but with the fact
that something coming
out of org.apache.* groupID is NOT YET a full member of ASF family
(and worse case
scenario may never be).

Thanks,
Roman.

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Re: "-incubator" in versions of podling maven artifacts

Posted by Stian Soiland-Reyes <st...@apache.org>.
When you say break, do you mean some software is unable to compare version
numbers correctly, or that we don't comply with the text of
http://semver.org ?

> A pre-release version MAY be denoted by appending a hyphen and a series
of dot separated identifiers immediately following the patch version.
Identifiers MUST comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-].
Identifiers MUST NOT be empty. Numeric identifiers MUST NOT include leading
zeroes. Pre-release versions have a lower precedence than the associated
normal version. A pre-release version indicates that the version is
unstable and might not satisfy the intended compatibility requirements as
denoted by its associated normal version. Examples: 1.0.0-alpha,
1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92.

An incubator release is a kind of pre-release - community wise. But perhaps
you mean this is not ideal for mature projects who were codewise stable
before joining the incubator?
On 10 Feb 2015 23:29, "Julien Le Dem" <ju...@ledem.net> wrote:

> Hi Incubator,
> I'd like some context about the requirement of adding -incubating in the
> file name of podling releases.
>
> http://incubator.apache.org/guides/releasemanagement.html
> http://incubator.apache.org/guides/release-java.html#best-practice-maven
>
> It seems we require adding -incubating in the version for maven artifacts
> which breaks Semantic versioning as hyphen is used for pre-releases.
> It is also confusing as we vote on a version number but that's not what we
> use as the artifact version.
> We are already publishing the source release in the incubator project and
> have incubating in its file name as well as DISCLAIMER files.
> So it seems to me that adding it in the maven artifact is a bit overkill.
> Every release as to get through the vote of the IPMC anyway so it's not
> like podlings releases are not vetted appropriately.
>
> opinions from the IPMC?
>
> Julien
>
>
>
>

Re: "-incubator" in versions of podling maven artifacts

Posted by Niclas Hedhman <ni...@hedhman.org>.
IIRC, that was discussed back in the days when Maven started to become
popular. And since ASF projects/podlings like to provide those convenience
artifacts, and that most Maven users never see the source tarballs, it was
concluded that those Maven artifacts needed the 'mark'.

//Niclas

On Wed, Feb 11, 2015 at 10:50 AM, Benson Margulies <bi...@gmail.com>
wrote:

> Since the only official release is the source release, perhaps that's
> the only place where we in fact need a policy?
>
> On Tue, Feb 10, 2015 at 9:39 PM, Niclas Hedhman <ni...@hedhman.org>
> wrote:
> > On Wed, Feb 11, 2015 at 7:49 AM, Stian Soiland-Reyes <st...@apache.org>
> > wrote:
> >
> >> I think formally the requirement is just that there is "incubating"
> >> somewhere in the released downloadables, it doesn't have to be part of
> >> the version number
> >>
> >
> > Originally it was a matter of the user can't avoid notice that the
> project
> > is incubating. So anywhere, he/she can enter it as a dependency it needed
> > to be present. Since many uses Maven, that meant it had to be part of
> > group, artifact, version or classifier. If the project only releases a
> > source tarball, then it needs to go onto that, and so on.
> >
> >
> > Cheers
> > --
> > Niclas Hedhman, Software Developer
> > http://www.qi4j.org - New Energy for Java
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
> For additional commands, e-mail: general-help@incubator.apache.org
>
>


-- 
Niclas Hedhman, Software Developer
http://www.qi4j.org - New Energy for Java

Re: "-incubator" in versions of podling maven artifacts

Posted by Ted Dunning <te...@gmail.com>.
On Tue, Feb 10, 2015 at 9:56 PM, Roman Shaposhnik <ro...@shaposhnik.org>
wrote:

> On Tue, Feb 10, 2015 at 6:50 PM, Benson Margulies <bi...@gmail.com>
> wrote:
> > Since the only official release is the source release, perhaps that's
> > the only place where we in fact need a policy?
>
> I would really encourage us to keep this for Maven. Especially for Maven
> where you may have no clue about the status of the project. And honestly,
> I don't see what's the big deal of having -incubating in a version string.


+1.

This is a very useful practice.  One of the first actions of a newly
top-level project should be to make a release and that is a perfect time to
remove the mark.

It's a great transition ritual.

Re: "-incubator" in versions of podling maven artifacts

Posted by Roman Shaposhnik <ro...@shaposhnik.org>.
On Tue, Feb 10, 2015 at 6:50 PM, Benson Margulies <bi...@gmail.com> wrote:
> Since the only official release is the source release, perhaps that's
> the only place where we in fact need a policy?

I would really encourage us to keep this for Maven. Especially for Maven
where you may have no clue about the status of the project. And honestly,
I don't see what's the big deal of having -incubating in a version string.

Thanks,
Roman.

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Re: "-incubator" in versions of podling maven artifacts

Posted by Benson Margulies <bi...@gmail.com>.
Since the only official release is the source release, perhaps that's
the only place where we in fact need a policy?

On Tue, Feb 10, 2015 at 9:39 PM, Niclas Hedhman <ni...@hedhman.org> wrote:
> On Wed, Feb 11, 2015 at 7:49 AM, Stian Soiland-Reyes <st...@apache.org>
> wrote:
>
>> I think formally the requirement is just that there is "incubating"
>> somewhere in the released downloadables, it doesn't have to be part of
>> the version number
>>
>
> Originally it was a matter of the user can't avoid notice that the project
> is incubating. So anywhere, he/she can enter it as a dependency it needed
> to be present. Since many uses Maven, that meant it had to be part of
> group, artifact, version or classifier. If the project only releases a
> source tarball, then it needs to go onto that, and so on.
>
>
> Cheers
> --
> Niclas Hedhman, Software Developer
> http://www.qi4j.org - New Energy for Java

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Re: "-incubator" in versions of podling maven artifacts

Posted by Niclas Hedhman <ni...@hedhman.org>.
On Wed, Feb 11, 2015 at 7:49 AM, Stian Soiland-Reyes <st...@apache.org>
wrote:

> I think formally the requirement is just that there is "incubating"
> somewhere in the released downloadables, it doesn't have to be part of
> the version number
>

Originally it was a matter of the user can't avoid notice that the project
is incubating. So anywhere, he/she can enter it as a dependency it needed
to be present. Since many uses Maven, that meant it had to be part of
group, artifact, version or classifier. If the project only releases a
source tarball, then it needs to go onto that, and so on.


Cheers
-- 
Niclas Hedhman, Software Developer
http://www.qi4j.org - New Energy for Java

Re: "-incubator" in versions of podling maven artifacts

Posted by Stian Soiland-Reyes <st...@apache.org>.
Agree about the worry about breaking semantic versioning. OSGi-wise
for example this is a bit tricky, where you have to do
0.5.3.incubating instead to ensure "incubating" is a qualifier rather
than part of the 3.


But if the project is publishing Maven artifacts, then I believe it's
pretty clean if a project release time-line goes like this:

(groupId:artifactId:version)

org.apache.thingie:thingie-api:0.5.0-incubating
org.apache.thingie:thingie-api:0.6.0-incubating
org.apache.thingie:thingie-api:0.6.1
org.apache.thingie:thingie-api:1.0.0

.. rather than varying the groupId or artifactId before/after
graduation. Here 0.6.1 is still a patch release from 0.6.0-incubating
(so not breaking anything), but community-wise it is sending a
stronger signal.

I think formally the requirement is just that there is "incubating"
somewhere in the released downloadables, it doesn't have to be part of
the version number.

On 10 February 2015 at 23:25, Julien Le Dem <ju...@ledem.net> wrote:
> Hi Incubator,
> I'd like some context about the requirement of adding -incubating in the file name of podling releases.
>
> http://incubator.apache.org/guides/releasemanagement.html
> http://incubator.apache.org/guides/release-java.html#best-practice-maven
>
> It seems we require adding -incubating in the version for maven artifacts which breaks Semantic versioning as hyphen is used for pre-releases.
> It is also confusing as we vote on a version number but that's not what we use as the artifact version.
> We are already publishing the source release in the incubator project and have incubating in its file name as well as DISCLAIMER files.
> So it seems to me that adding it in the maven artifact is a bit overkill.
> Every release as to get through the vote of the IPMC anyway so it's not like podlings releases are not vetted appropriately.
>
> opinions from the IPMC?
>
> Julien
>
>
>



-- 
Stian Soiland-Reyes
Apache Taverna (incubating)
http://orcid.org/0000-0001-9842-9718

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org