Robert Burrell Donkin ha scritto:
On Sat, Mar 29, 2008 at 2:02 PM, Stefano Bagnara <[EMAIL PROTECTED]> wrote:
 So, what to do if junit.pom is under an unacceptable license? Should we
 create our own pom including almost the same informations and using the
 same groupId/artifactId ? Should we instead use different
 groupId/artifactIds

i'd be happy not ship poms and let maven download any meta-data it
needs. but i don't really understand why we need to shop poms so i'm
probably missing something important...

I would be happy too. I don't have any special preference. I like to have the stage in the distribution, but I'm also happy with no stage folder at all. I introduced the stage folder as you see it now because JAMES PMC required to have a distribution that could be built offline. I just want a solution that allow me to release jspf: I don't care of what we ship in addition to the main jar.

 >>  2) What licenses should we allow for pom.xml in order to make *legal*
 >>  the current use of the central maven repository?
 >
 > again, this question is too broad and open ended: any number of
 > licenses could be created to achieve this goal.
 >
 > apache policy is clear on this point: artifacts distributed from
 > apache should be under the apache license.

 I still don't understand if maven central is an ASF resource or not. It
 includes many non apache licensed products and many poms with unknown
 license.

if isn't hosted by apache on apache hardware then it isn't an apache
resource. AIUI the maven central repository is an offshore resource
used by maven rather than an apache resource.

Then maybe the main asf pom should not include central as the main repository, but some ASF specific repository that only include known artifacts that we know we can safely use in our projects. Unfortunately I understood that the use of the ASF repository (http://people.apache.org/repo/m2-ibiblio-rsync-repository/) is discouraged.

How can ASF improve this?

 Furthermore many ASF products include 3rd party artifacts: the 3rd party
 documents and the category A/B classification is exaclty for this, isn't it?

 If we find that junit.pom is a CPL licensed file we could include it as
 long as we don't alter it, right?

possibly: xml documents are the subject of some controversy.
personally speaking, i'm reasonably happy including them but this is
not a consensus opinion.

This is my opinion too. Unfortunately I guess the junit.pom has not been created by the junit authors and is unlikely a CPL artifact.

 >>  3) Can the license for the pom.xml be described in the xml itself or we
 >>  need the whole license header like the one we would prepend to any other
 >>  xml file? The pom.xml is often a redistributable "as is", without being
 >>  included in a package: does this need a special "license header" ?
 >
 > again, too broad and open ended
 >
 > a license header is just legal boiler plate that effectively describes
 > the license for the document

 All this legal stuff is boring: everything is too broad and open ended ;-)

 I really don't know how to make this question more specific: if JAMES is
 going to distribute a pom.xml for james as a standalone artifact (and
 not as part of a zip/package) what kind of header should we use?

answer: the standard apache boilerplate text

 The "standard ALv2" header is not ok IMHO because it make references to
 files that will not be there. IMHO a reference in the xml to an URL
 including the license or the full ALv2 LICENSE file are better solutions
 but IANAL, yet ;-)

the only file which isn't there is the NOTICE and that's not a big problem

ok.

 >>  The technical/procedural issues for the repository management are:
 >>
 >>  A) How to tweak the current procedures to avoid publishing of new
 >>  pom.xml without a license or without an acceptable license (BSD, MIT,
 >>  ASL, W3C..., depending on answers about #2 above)
 >
 > upload to the apache maven repository should be reasonably covered by
 > CCLAs, CLAs and JIRA but the audit trial is lacking and so it is
 > impossible to demonstrate that it's covered
 >
 > IMO the maven [EMAIL PROTECTED] should be under version control

 Let's make a step back: "apache maven repository" is the repository
 where we only place ASF products and that is rsynced to central, right?

yes

 The repository I was referring to is instead this one:
 http://repo1.maven.org/maven2/

this is not an apache repository

So this seems the main issue.
Let's say we can't use the junit.pom because it is in central but we don't know its license. At the same time we can use (and redistribute) the junit jar because CPL is declared compatible by the ASF 3rd party policy. Either we are able to replace the pom in central with one created by us, or we are able to create a new pom+jar in central under a different groupId/artifactId or we are unable to use the "maven way" to ship junit based products (I guess 99% of maven2 projects use that junit.pom during the build).

 >>  B) How to deal with the current poms not having a license.
 >
 > IMO asking uploaders to add a license header would not be unreasonable

 For new uploads this could be enforced by rejecting any file without a
 license: but what we can do to fix the current "mess"? There are
 thousands poms without license informations (like the junit one we are
 using in jspf): how can we fix this? Remove all of them from central?
 Who is responsible for repo1.maven.org/maven2/ ?

AIUI maven.org is not an apache repository. i'm not involved with the
admin of maven.org so i don't know for sure.

Do you think we should care of this? Maven is an ASF product and use that repository as the "central". Is this an issue we should care of?

 Who is sued by the author of junit.pom if this file had all right
 reserved and repo1.maven.org is redistributing it?

AIUI it's the US, so the basic rule is sue everybody involved and let
the courts sort out liability. in practice (though) a takedown notice
would be issued and the contentious IP removed from the site and the
original uploder persued.

It is not clear who "the original uploader" is here. I guess both who uploaded to MAVENUPLOAD JIRA and who published the file to repo1.maven.org have their responsibilities, but more likely the second one.

I think this very person (and if I'm not wrong he is an ASF member, too, so easier to contact) should be made aware of this responsibility he takes by publishing content under unknown copyright/license. Maybe this responsibility is the key to a real solution.

 >>  C) What to do when a pom is already published in a 3rd party repository
 >>  under an incompatible license: we cannot copy it, and probably is not a
 >>  good practice to create another pom with the same artifactId/groupId but
 >>  with different informations.
 >
 > either create a new clean pom or accept that we can't ship a pom for
 > that artifact

 clean pom make sense: same artifactId/groupId or different one?
 Most time a pom is really simple and contains basic informations:
 creating a new pom with the same artifactId/groupId will OFTEN result in
 a file identical to the original one.
 In our specific case junit pom is really simple: excluding the
 "<description>" tag I think that everything else would be created
 exactly as is in a new pom. They are simply metadata that we write using
 a standard format.
 I can create a new pom for junit.
 The main issue is the artifactId/groupId issue: if we reuse the same
 artifactId/groupId then we end up with different poms for the same
 identifier and maven will not be happy with this. At the same time if we
  use different artifactId/groupId we end up with many duplicates and
 big issues in manually managing transitive dependencies by replacing
 "origianl" artifactId/groupId with our "fairly licensed"
 artifactId/groupIds.

 Is my doubt clear?

yes

we need to ship those transitive dependencies so this isn't such a worry to me

I don't understand.
I add another info: every pom used is installed in the local repository by maven, so it is important that a given groupId:artifactId:version:specifier identificator always results in the same pom or a pom with identical informations to the one published in the central repository (that is what maven declare as official by using it by default). So if we ship our own junit.pom using the same artifactId/groupId but with different dependencies (in this case there are no dependencies, but I'd like to better analyze anyway this scenario anyway) we will probably brake other maven2 builds (no good)

 >>  D) How to "evangelize" projects to make sure that future pom.xml (and
 >>  other resources like site.xml) includes the license header (e.g: make
 >>  sure maven plugins bugs are solved ASAP and high priority)
 >
 > step up and code the required changes...?

 I don't have (currently) enough knowledge of the maven internals to
 manage this. My main concern is that my impression is that the maven
 core team is not aware of this specific issues and they simply are
 scared of everyone in the ASF telling their own interpretation of what
 maven have to do or not.
 If the ASF as a whole could *summarize* what are the minimal "required"
 steps to make maven usage *legal* and compliant to ASF policies I bet
 they would be happy to prove that maven can fix this in few changes.

different organisations see legal risk in different ways. apache is a
long way towards the conservation end of the spectrum: we try to avoid
legal action by operating clearly and transparently in a lawful and
ethical manner.

it's a tradeoff. in order to protect release managers at apache, time,
effort, rules and paperwork are required. apache is often rightly
criticised for being slow and unagile. this is the price paid. it's
fine for people to start stuff offshore in a more agile environment:
the risks are probably minimal or at least it's a reasonably tradeoff.

- robert

I clearly understand this, but this doesn't change my opinion about ASF as a whole should help maven (an ASF product used by many ASF projects) to be able to make releases protecting ASF committers.

Stefano


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to