On 6/26/05, Bruno Aranda <[EMAIL PROTECTED]> wrote: > And, returning to the developer POV, you might want the sources for two > things: > > 1. Take a glance to the code to see how something is implemented. > 2. Develop and/or build from sources. > > IMO, for both cases is easier to download the jars using the script. > Probably, for #1 jars are not essential, so the checkout is faster and > you can get to the code sooner. If you want to do #2, you will have to > execute the build.xml file, so it is acceptable to download the > dependencies at this stage. I only see one disadvantage (and many > advantages) in this approach: you need to execute the build.xml being > online, at least the first time. > > By the way, bandwith would be divided between the source repository > (ASF) and the binary repository (Ibiblio or similar). It is obvious > than, as Craig pointed, in the jars-in-SVN approach Apache might have > many copies of the same commons-whathever lib (one or more for every > project, the same version or a different one), while the binary > repository would contain only one per version. >
You so *totally* don't get it. If the JAR files are checked in to the CVS or SVN repository, then ***100%*** of the bandwith costs for downloading those binary JARs goes to the Apache Software Foundation, because doing a "cvs update" or "svn update" to update your source repository will *always* download the copy in the source repository (i.e. using ASF's bandwidth). There is no opportunity for the bandwidth costs to be shared, because nobody downloading from the source repository will ever be redirected to a mirror (where the bandwidth charges might be redirected). The technical and process reasons for not putting generated artifacts into source repositories are still relevant (which, independent of the cost issue, are sufficient to argue against such a practice) ... but what you are proposing is that the ASF should pay for ***you*** (who are checking out sources, presumably because you want to work on them) can be lazy. I'm not at ***all*** sympathetic -- I want the money that is contributed to ASF's bandwidth to go towards supporting ***users*** of the software being downloaded. Interestingly, this is a place where the ASF culture of meritocracy plays a positive role ... if you can't figure out what dependencies you need to download separately, in order to compile the source, then there is either a problem with the documentation for that project's build environment, or laziness on the part of the developer in following the provided instructions. If you won't even read the directions, then the problem is definitely in your court :-). If you read them but don't like them, then maybe the world doesn't really need whatever contributions you might have made to the world had you been able to compile that particular project. NOTE -- most open source releases include a pointer to the corresponding source distributions (or the source is embedded in a binary release), which users can load into the relevant IDEs they are using (to provide code completion and/or javadocs). In addition, the relevant ASF binary release packages we are talking about generally include all the corresponding binary dependencies (unless there are license related issues), so this thread ends up being totally about developers who want to download the raw source code from the appropriate CVS or SVN repository -- if that's you, then please get used to downloading your own dependencies (or cajoling the committers on the project in question to providing some easy mechanism to do this). Craig