Evening, Morning, Hello,

I'm wondering if their is a roadmap for repository
design/functionality. I'm thinking something along the lines of
Debian's repository structure and standards.

I've been working with Maven since 2005 usually in Off-Line
environments, where Companies question using it because it is open
source so where do they purchase support and how secure is it.

Overview of Suggested Changes

1) sha256 Checksum
  - Start using sha256 as the default checksum, as md5 can be forged
given enough cpu power.

2) Include Checksum & Signature of Artifacts in Published POM's
   - Currently each published file is independently verified by
checksum and signature. This means pom's and artifacts can be changed
without anything be detected. When a pom is published the details of
artifacts being published are injected into the released pom.

3) Repository Hierarchy
   - Merge snapshot and release repos and split central into sub directories
   - Strict publishing requirements for new core release repo
   - Relaxed publishing requirements for open repo(s)
   - Point pom to single repo and define what you are willing to accept
   - repo/core/release states to clients, only accept valid checksum
and signatures
   - repo/open/release states to client, warn if checksum are missing
or invalid and continue if you accept that risk

e.g. repo defined in pom http://repo.maven.org/repo/
   repo/
   -> core/
      -> snapshot/
      -> release/
   -> main
       -> snapshot/
       -> release/
   -> open
       -> snapshot/
       -> release/
   -> 3rdparty
       -> snapshot/
       -> release/

4) Core Publishing Requirements
   - Everything must be Signed
   - Everything mush have valid Checksum
   - Everything must publish JavaDoc (if appropriate, e.g. for
jar/war/ear packaged artifact)
   - Everything must publish Source (if appropriate, e.g. for
jar/war/ear packaged artifact)
   - Everything mush have Open Source License
   - Group ID must match project url,
   - Everything for only core functionality e.g. "mvn clean install
deploy site" using any "org.apache.maven.plugins".

5) Main Publishing Requirements
    - Same requirements as (4) Core but ignoring the core functionality comment

6) Open Publishing Requirements
    - Everything accepted and also treated as untrusted.

7) 3rdparty Publishing Requirements
    - Probably wrong name, contains pom that are signed and checksum
themself and refer to artifacts that can't be published to maven due
to export/license restrictions.
    - Example is Oracle JDBC, or WebLogic jars. Lost of enterprise
projects use these and everything includes them in different ways. A
pom is defined which includes the checksum of the artifact, so when
people talk about ojdbc 14, every know it is
com.oracle.java.database.drivers:ojdbc:1.4:jar.

8) DNSSEC Integration
   - I realise dns sec is still being rolled out but getting maven
trusting it might lead to more trust towards maven from the corporate
world.



I would really appreciate feedback regarding these suggestion.

John

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

Reply via email to