river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gregg Wonderly <ge...@cox.net>
Subject Re: svn commit: r1729654 - in /river/jtsk/trunk: LICENSE NOTICE build.xml
Date Fri, 12 Feb 2016 06:07:23 GMT
I suppose that one of the details of shipping binaries is that it creates “users” rather
than “community members”.  The interesting question from my perspective, is what value,
overall, is there in making that distinction.  That is, if you only provide source, then a
“user” has to “build”, and if they can build and have source, they can create diffs
and participate in the projects community by requesting their diffs become part of the project.
 While that is an important part making a community function, I think that there are people
who literally will never make use of something unless it’s already built for them.  It comes
down to how much time/money do you have to spend on technology.

I’d suggest that at least what it takes to build things is in a “document”.  Greg left
behind those details in comments for now.  It might be good to request people to “ask”
or “plead” for build artifacts on this list if it seems valuable to know if that is actually
a detriment to community participation.

Gregg


> On Feb 11, 2016, at 1:36 PM, Greg Trasuk <trasukg@stratuscom.com> wrote:
> 
> 
> One more data point - 
> 
> - Many Apache projects do not ship binaries.  Check out httpd.apache.org and subversion.apache.org.
 Both say they do not officially endorse any binaries (although they do point to committer-created
binaries).
> 
> Cheers,
> 
> Greg Trasuk
> 
>> On Feb 11, 2016, at 2:31 PM, Greg Trasuk <trasukg@stratuscom.com> wrote:
>> 
>> 
>> A little while ago I asked a question - “Does it make sense to release a binary
package”?  
>> 
>> I don’t think we need to.  Here are a few reasons:
>> 
>> - Apache’s products are source distributions.  Officially, if we build a binary
package, it’s a “convenience binary”, and not a released product.  i.e. Apache doesn’t
really recognize a binary package, but will insist that if we distribute a binary, the LICENSE
and NOTICE files need to correctly reflect the other libraries that are included in that binary.
>> - The build.xml has been modified so it uses Ivy to download the build-time dependencies
when you go to build.  That saves us from having to manage a “build-deps” library and
distribute it separately.  This means that _we_ are not distributing those dependencies, so
we don’t have to reference them in the NOTICE and LICENSE files.  Which is good, because
it doesn’t impose any requirements on downstream users of River who don’t use ‘asm’.

>> 	(I asked about this on the list - you asked me to go ahead and fix the issue with
distributing jars in the source package).
>> 
>> -  ‘classdep’ is built as part of the build process.  Prior to that, ‘build.xml’
calls ‘Ivy’ to download ‘asm’.  We don’t distribute ‘classdep’ through Maven
Central.  We don’t even recommend using it, why would we distribute it?
>> - As I explained before, the JTSK binary on its own doesn’t do anything.  You can’t
run “reggie” out of it, for example (this is one reason people find it so confusing to
startup using Jini).  All you can do with the JTSK distribution is run the tests.  If you
run the integration tests, it starts by recompiling, hence there’s no need for a binary
to run the integration tests.  
>> - We _do_ ship the generated jar files as artifacts in Maven Central, which is realistically
how developers will be using the jar files.  For example, you can build the examples project
without downloading or building the main River distribution.  Harvester gets its jars from
Maven Central.  I’m pretty sure that Rio does too (not sure if Rio uses Maven or Gradle
for its build, but either one uses Maven Central as the artifact repo).  The pom files include
the transitive dependency references.
>> 
>> I left my question as “how about if I comment out the bits that make the binary
release, and if anyone wants it badly enough they can do the work to build the binary properly”.
 That’s what I did.  There’s a note next to the commented-out part telling what work needs
to be done.  As it stands now, the ‘release’ target does not generate a binary release
artifact, just the source and doc artifacts.  As I’ve explained above, that makes sense
as far as I can tell.
>> 
>> On a practical level, if you desperately want the binary release, somebody who is
not me has to do the work to generate it properly and then manage the ‘3.0’ release. 
If we’re good to go without the binary artifact, I’ll be happy to spin the ‘3.0’ release
as soon as the vote on ‘2.2.3’ is finished.
>> 
>> Cheers,
>> 
>> Greg Trasuk
>> 
>>> On Feb 11, 2016, at 1:35 PM, Peter <jini@zeus.net.au> wrote:
>>> 
>>> 
>>> Greg,
>>> 
>>> Please revert this.
>>> 
>>> ASM licensed code exists in classdepend, which classdep uses, in the tools package.
>>> 
>>> As far as I'm aware were still releasing a binary for River 3, but you've found
an issue with how we currently do that?
>>> 
>>> Regards,
>>> 
>>> Peter.
>>> 
>>> Sent from my Samsung device.
>>> 
>>> Include original message
>>> ---- Original message ----
>>> From: Greg Trasuk <trasukg@stratuscom.com>
>>> Sent: 11/02/2016 02:57:35 am
>>> To: dev@river.apache.org
>>> Subject: Re: svn commit: r1729654 - in /river/jtsk/trunk: LICENSE NOTICE build.xml
>>> 
>>> 
>>> Just note - this change is on the trunk branch - anyone know if it’s possible
to change the commit message retroactively? 
>>> 
>>> Cheers, 
>>> 
>>> Greg 
>>> 
>>>> On Feb 10, 2016, at 11:55 AM, gtrasuk@apache.org wrote: 
>>>> 
>>>> Author: gtrasuk 
>>>> Date: Wed Feb 10 16:55:24 2016 
>>>> New Revision: 1729654 
>>>> 
>>>> URL: http://svn.apache.org/viewvc?rev=1729654&view=rev 
>>>> Log: 
>>>> The generated release artifacts for the 2.2 branch are now only the source
and documentation artifacts, and do not include the release tooling like 'roll_release.sh'.
 Those files are only used by the release manager, so shouldn't be in the source distribution.
 
>>>> 
>>>> The LICENSE and NOTICE files also are no longer duplicated to 'LICENSE.TXT'
and 'NOTICE.txt', as per Apache release recommendations.   
>>>> 
>>>> LICENSE and NOTICE files have been modified to reflect the fact that 'asm'
and 'animal-sniffer' are no longer distributed with the source, but are downloaded at build
time. 
>>>> 
>>>> Modified: 
>>>>   river/jtsk/trunk/LICENSE 
>>>>   river/jtsk/trunk/NOTICE 
>>>>   river/jtsk/trunk/build.xml 
>>>> 
>>>> Modified: river/jtsk/trunk/LICENSE 
>>>> URL: http://svn.apache.org/viewvc/river/jtsk/trunk/LICENSE?rev=1729654&r1=1729653&r2=1729654&view=diff

>>>> ==============================================================================

>>>> --- river/jtsk/trunk/LICENSE (original) 
>>>> +++ river/jtsk/trunk/LICENSE Wed Feb 10 16:55:24 2016 
>>>> @@ -199,39 +199,3 @@ 
>>>>   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. 
>>>> - 
>>>> - 
>>>> -APACHE RIVER SUBCOMPONENTS: 
>>>> - 
>>>> -Apache River includes some external software components. Your use of these

>>>> -components is subject to the terms and conditions of the following licenses:

>>>> - 
>>>> -ASM libraries (tools/asm-5.0.1.jar and tools/asm-commons-5.0.1.jar) 
>>>> - 
>>>> -   ASM: a very small and fast Java bytecode manipulation framework 
>>>> -   Copyright (c) 2000-20011 INRIA, France Telecom 
>>>> -   All rights reserved. 
>>>> - 
>>>> -   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 the copyright holders nor the names of its 
>>>> -      contributors may be used to endorse or promote products derived from

>>>> -      this software without specific prior written permission. 
>>>> - 
>>>> -   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 OWNER 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. 
>>>> 
>>>> Modified: river/jtsk/trunk/NOTICE 
>>>> URL: http://svn.apache.org/viewvc/river/jtsk/trunk/NOTICE?rev=1729654&r1=1729653&r2=1729654&view=diff

>>>> ==============================================================================

>>>> --- river/jtsk/trunk/NOTICE (original) 
>>>> +++ river/jtsk/trunk/NOTICE Wed Feb 10 16:55:24 2016 
>>>> @@ -23,11 +23,3 @@ The original two releases of the Service 
>>>> and code, are available from: 
>>>> 
>>>>    http://www.artima.com/jini/serviceui/index.html 
>>>> - 
>>>> -Copyright (c) 2000-2005 INRIA, France Telecom 
>>>> -This product includes the ASM library (http://asm.ow2.org/) 
>>>> - 
>>>> -This product includes the animal-sniffer library from codehaus.org. 
>>>> -The original software is available from http://mojo.codehaus.org/animal-sniffer/

>>>> -Licensed under the MIT license. 
>>>> - 
>>>> 
>>>> Modified: river/jtsk/trunk/build.xml 
>>>> URL: http://svn.apache.org/viewvc/river/jtsk/trunk/build.xml?rev=1729654&r1=1729653&r2=1729654&view=diff

>>>> ==============================================================================

>>>> --- river/jtsk/trunk/build.xml (original) 
>>>> +++ river/jtsk/trunk/build.xml Wed Feb 10 16:55:24 2016 
>>>> @@ -87,7 +87,7 @@ 
>>>>    </target> 
>>>> 
>>>>    <target name="release" description="Create source and binary release
packages" 
>>>> -        depends="clean, all.build, release-src, release-bin, release-doc">

>>>> +        depends="clean, all.build, release-src, release-doc"> 
>>>>    </target> 
>>>> 
>>>>    <fileset id="river.bin.files" dir="${basedir}"> 
>>>> @@ -117,7 +117,13 @@ 
>>>>        <include name="README*"/> 
>>>>    </fileset>--> 
>>>> 
>>>> -    <target name="release-bin" description="Create a binary release"
depends="all.build"> 
>>>> +    <!-- This target is unused - the distribution doesn't have functionality
on its 
>>>> +    own, so there's no point in having a binary distribution.  If someone
wants to 
>>>> +    reactivate the binary distribution, they will also need to create the
appropriate  
>>>> +    license and notice files that cover the binaries (no other products
are  
>>>> +    distributed with the source distribution). 
>>>> +    --> 
>>>> +    <target name="unused-release-bin" description="Create a binary release"
depends="all.build"> 
>>>>        <!-- TODO: add depends: javadoc-internals and remove from ci-build
--> 
>>>> 
>>>>        <mkdir dir="${dist.dir}"/> 
>>>> @@ -149,6 +155,8 @@ 
>>>>        <exclude name="nbproject/**"/> 
>>>>        <exclude name="build.properties"/> 
>>>>        <exclude name="tar_release_test/**"/> 
>>>> +        <exclude name="roll_release.sh"/> 
>>>> +        <exclude name="release.xml"/> 
>>>>        <!-- 
>>>>        TODO: why were these excluded from the source archive? 
>>>>        <exclude name="${doc}/release-notes/new.html"/> 
>>>> 
>>>> 
>>> 
>>> 
>>> 
>> 
> 


Mime
View raw message