I was taking with Alex on slack earlier today brainstorming ideas and two that 
might work are using a git submodule to reference the code by git hash, so no 
release needed, or using jitpack.io to be able to pull the jar down by git hash 
without doing a release.

Does anyone find either of those options more appealing than 1/2/3?

-Jeremiah

> On Apr 16, 2020, at 6:14 PM, David Capwell <dcapw...@gmail.com> wrote:
> 
> Not a fan of 2 or 3.  For #2 there is also talk about getting rid of the
> jars in /lib so that would complicate things.
> 
> I think frequent releases with snapshots per commit is good.  Agree with
> Nate we should document this so we have something we can always point to.
> 
>> On Thu, Apr 16, 2020 at 2:54 PM Nate McCall <zznat...@gmail.com> wrote:
>> 
>> (1) sounds reasonable to me. I'd like us to document the vote cycle and
>> release train specifics on cassandra.a.o somewhere (developer and releases
>> pages maybe?). Nothing exhaustive, just 'we do X with Y'.
>> 
>> 
>> On Thu, Apr 16, 2020 at 11:03 PM Oleksandr Petrov <
>> oleksandr.pet...@gmail.com> wrote:
>> 
>>> I've posted the question on the legal-discussion mailing list, and got
>> some
>>> helpful responses.
>>> 
>>> We can't work around the vote, best we can do is make it shorter (3 +1
>>> votes / 24 hours). We have several options now:
>>> 
>>> 1. Release SNAPSHOT builds prefixed with in-jvm dtest commit SHAs and cut
>>> release every week or so (release-train if you wish)
>>> 2. Avoid using Apache repository for releases altogether, and just push
>>> jars to Cassandra repository
>>> 3. Make this code "unofficial" (publish and manage outside Apache)
>>> 
>>> I'm not a big fan of (2), since we already tried that with Python and
>> Java
>>> drivers, also I'm not sure about binaries in git. As regards (3), I'm not
>>> sure if this makes it harder for the folks who rely on Apache legal
>>> framework for contributions.
>>> 
>>> Unless there are strong opinions against (1), which seems to be a
>>> reasonable middle ground, we can do it. Please let me know if you also
>> have
>>> other ideas.
>>> 
>>> Thank you,
>>> -- Alex
>>> 
>>> On Wed, Apr 15, 2020 at 10:33 PM Jeremiah D Jordan <
>> jerem...@datastax.com>
>>> wrote:
>>> 
>>>> I think as long as we don’t publish the artifacts to maven central or
>>> some
>>>> other location that is for “anyone” we do not need a formal release.
>> Even
>>>> then since the artifact is only meant for use by people developing C*
>>> that
>>>> might be fine.
>>>> 
>>>> If artifacts are only for use by individuals actively participating in
>>> the
>>>> development process, then no formal release is needed.  See the
>>> definition
>>>> of “release” and “publication” found here:
>>>> 
>>>> http://www.apache.org/legal/release-policy.html#release-definition
>>>>> DEFINITION OF "RELEASE" <
>>>> http://www.apache.org/legal/release-policy.html#release-definition>
>>>>> Generically, a release is anything that is published beyond the group
>>>> that owns it. For an Apache project, that means any publication outside
>>> the
>>>> development community, defined as individuals actively participating in
>>>> development or following the dev list.
>>>>> 
>>>>> More narrowly, an official Apache release is one which has been
>>> endorsed
>>>> as an "act of the Foundation" by a PMC.
>>>>> 
>>>>> 
>>>> 
>>>>> PUBLICATION <
>>> http://www.apache.org/legal/release-policy.html#publication
>>>>> 
>>>>> Projects SHALL publish official releases and SHALL NOT publish
>>>> unreleased materials outside the development community.
>>>>> 
>>>>> During the process of developing software and preparing a release,
>>>> various packages are made available to the development community for
>>>> testing purposes. Projects MUST direct outsiders towards official
>>> releases
>>>> rather than raw source repositories, nightly builds, snapshots, release
>>>> candidates, or any other similar packages. The only people who are
>>> supposed
>>>> to know about such developer resources are individuals actively
>>>> participating in development or following the dev list and thus aware
>> of
>>>> the conditions placed on unreleased materials.
>>>>> 
>>>> 
>>>> 
>>>> -Jeremiah
>>>> 
>>>>> On Apr 15, 2020, at 3:05 PM, Nate McCall <zznat...@gmail.com> wrote:
>>>>> 
>>>>> Open an issue with the LEGAL jira project and ask there.
>>>>> 
>>>>> I'm like 62% sure they will say nope. The vote process and the time
>> for
>>>>> such is to allow for PMC to review the release to give the ASF a
>>>> reasonable
>>>>> degree of assurance for indemnification. However, we might have a
>> fair
>>>>> degree of leeway so long as we do 'vote', it's test scope (as Mick
>>>> pointed
>>>>> out) and the process for such is published somewhere?
>>>>> 
>>>>> Cheers,
>>>>> -Nate
>>>>> 
>>>>> On Thu, Apr 16, 2020 at 7:20 AM Oleksandr Petrov <
>>>> oleksandr.pet...@gmail.com>
>>>>> wrote:
>>>>> 
>>>>>> The most important thing for the purposes of what we’re trying to
>>>> achieve
>>>>>> is to have a unique non overridable version. In principle, a unique
>>> tag
>>>>>> with release timestamp should be enough, as long as we can uniquely
>>>>>> reference it.
>>>>>> 
>>>>>> However, even then, I’d say release frequency (establishing “base”)
>>> for
>>>>>> releases should be at least slightly relaxed compared to Cassandra
>>>> itself.
>>>>>> 
>>>>>> I will investigate whether it is possible to avoid voting for test
>>> only
>>>>>> dependencies, since I’d much rather have it under Apache umbrella,
>> as
>>> I
>>>> was
>>>>>> previously skeptical of a dependency that I believed shouldn’t have
>>> been
>>>>>> locked under contributor’s GitHub.
>>>>>> 
>>>>>> If test only no-vote option isn’t possible due to legal reasons, we
>>> can
>>>>>> proceed with snapshot+timestamp and release-rebase with a 24h
>>> simplified
>>>>>> vote.
>>>>>> 
>>>>>> Thanks,
>>>>>> —Alex
>>>>>> 
>>>>>> On Wed 15. Apr 2020 at 19:24, Mick Semb Wever <m...@apache.org>
>> wrote:
>>>>>> 
>>>>>>>> Apache release rules were made for first-class projects. I would
>>> like
>>>>>> to
>>>>>>>> propose simplifying voting rules for in-jvm-dtest-api project [1].
>>>>>>> 
>>>>>>> 
>>>>>>> I am not sure the PMC can simply vote away the ASF release rules
>>> here.
>>>>>>> But it should be possible to implement the proposal by stepping
>> away
>>>>>>> from what the ASF considers a release and work with "nightlies" or
>>>>>>> snapshots. The purpose of an "ASF release" has little value to
>>>>>>> in-jvm-dtest-api, IIUC.
>>>>>>> 
>>>>>>> For example you can't put artifacts into a public maven repository
>>>>>>> without a formal release vote. AFAIK the vote process is there for
>>> the
>>>>>>> sake of the legal protections the ASF extends to all its projects,
>>>>>>> over any notion of technical quality of the release cut.
>>>>>>> 
>>>>>>> And we are not supposed to be including binaries in the source code
>>>>>>> artifacts, at least not for anything that runtime code depends on.
>>>>>>> 
>>>>>>> Solutions to this could be…
>>>>>>> - allowing snapshot versions of test scope dependencies*,
>> downloaded
>>>>>>> from the ASF's snapshot repository⁽¹⁾
>>>>>>> - making an exception for a binary if only used in test scope (i
>>>>>>> believe this is ok),
>>>>>>> - move in-jvm-dtest-api out of ASF (just have it as a github
>> project,
>>>>>>> and publish as needed to a maven repo)
>>>>>>> 
>>>>>>> You could also keep using `mvn release:prepare` to cut the
>> versions,
>>>>>>> but just not deploy them to ASF's distribution channels.
>>>>>>> 
>>>>>>> This whole area of ASF procedures is quite extensive, so i'd
>>>>>>> definitely appreciate being correctly contradicted :-)
>>>>>>> 
>>>>>>> My vote would be to take the approach of using the snapshot
>>>>>>> repository. Semantic versioning has limited value here, and you
>> would
>>>>>>> be able to have a jenkins build push the latest in-jvm-dtest-api
>>>>>>> artifact into the snapshot repository using a uniqueVersion so that
>>> it
>>>>>>> can be referenced safely in the build.xml (avoiding having to check
>>>>>>> the jar file into the cassandra/lib/ folder).
>>>>>>> 
>>>>>>> regards,
>>>>>>> Mick
>>>>>>> 
>>>>>>> ⁽¹⁾ https://repository.apache.org/content/groups/snapshots/
>>>>>>> 
>>>>>>> 
>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
>>>>>>> For additional commands, e-mail: dev-h...@cassandra.apache.org
>>>>>>> 
>>>>>>> --
>>>>>> alex p
>>>>>> 
>>>> 
>>>> 
>>> 
>>> --
>>> alex p
>>> 
>> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
For additional commands, e-mail: dev-h...@cassandra.apache.org

Reply via email to