NMaven Proposal

The following presents the proposal for creating an NMaven project at the Apache Software Foundation, as a subproject of the Apache Maven project.

Abstract

NMaven develops plugins and integration for Maven to make building and using .NET languages a first-class citizen in Maven.

Proposal

NMaven (http://nmaven.sourceforge.net/) is a set of Maven 2.x plugins for assembling .NET applications. While it targets the .NET platform, it is still authored in Java running on the JVM like other Maven plugins. This has the advantage of making it easier for existing Maven developers to review development without requiring as much detailed knowledge of the .NET platform.

Maven already has a pre-alpha implementation in it's sandbox, however has not attracted further contributors until recently.

It is our desire to bring NMaven to the ASF and merge the existing code into it to consolidate efforts, and to harness the current interest in the projects to increase the number of active developers.

NMaven will support the Windows .NET platform, the Mono platform, and DotGNU.

Rationale

There is increasing demand for Maven to support .NET-based projects, and to support mixed-language projects.

Initial Goals

The initial tasks of the project will be to:

  • Move the existing Maven codebase to the incubator SVN
  • Import the NMaven codebase to a separate module and proceed with IP clearance
  • Import the plexus-compiler-csharp codebase to a separate module and proceed with IP clearance
  • To begin consolidating the codebase and encouraging additional contributors

Current Status

Meritocracy and Community

Existing members of the Maven community will be participating and overseeing the project to ensure that it is operating as a meritocracy and in a fashion that is suitable for graduating to the Maven TLP.

Core Developers

Currently each effort only has a small number of developers (1 or 2), being the main reason for combining efforts.

We would aim to have 3-5 developers *regularly* committing to the project before looking to graduate the podling.

We would give all of the current Maven plugin committers automatic access to the podling.

Alignment

This proposal is specifically targetted at the Apache Maven TLP.

Known Risks

Orphaned products

Given the small number of developers on each codebase there is a risk of the code being orphaned. We will make it a priority to consolidate the work and grow the number of active committers to prevent this.

Homogenous Developers

All initial committers work for different companies.

Reliance on Salaried Developers

None of the initial committers are directly paid to contribute to this project, rather being a side effect of their regular work, so the risk of being orphaned is no greater than already stated above.

Source and Intellectual Property Submission Plan

Existing sources are all ASLv2 and MIT/X. NMaven will submit a software grant and CLA for its contributors.

The Plexus compiler is the work of existing Maven contributors and will be committed with that information.

External Dependencies

Other than the .NET framework executables which are run as separate processes, the project has only an external dependency on nunit, which is licensed under the zlib/libpng license.

Required Resources

Mailing Lists

The project will set up -private (all initial committers will be part of the PPMC), -dev and -commits lists:

  • nmaven-private@incubator.apache.org
  • nmaven-dev@incubator.apache.org
  • nmaven-commits@incubator.apache.org

Subversion Directory

https://svn.apache.org/repos/asf/incubator/nmaven

Issue Tracking

Some existing issues are in Maven's JIRA instance, so we will setup a JIRA project there and move those issues into it.

Initial Committers

  • Shane Isbell (shane.isbell AT gmail DOT com)
  • Dan Fabulich (dfabulic AT bea DOT com) - Current Maven committer
  • Chris Stevenson (chris.stevenson AT gmail DOT com) - Current Maven committer
  • James Strachan (james.strachan AT gmail DOT com) - Current Maven committer
  • Trygve Laugstol (trygvis AT apache DOT org) - Current Maven committer
  • Jason van Zyl (jvanzyl AT maven DOT org) - Current Maven committer
  • Brett Porter (brett AT apache DOT org) - Current Maven committer

Sponsors

Champion

  • Jason van Zyl
  • Brett Porter

Nominated Mentors

  • Jason van Zyl
  • Brett Porter

Sponsoring Entity

The Apache Maven PMC