Return-Path: Delivered-To: apmail-maven-dev-archive@www.apache.org Received: (qmail 99119 invoked from network); 4 Aug 2010 16:58:01 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 4 Aug 2010 16:58:01 -0000 Received: (qmail 17930 invoked by uid 500); 4 Aug 2010 16:58:00 -0000 Delivered-To: apmail-maven-dev-archive@maven.apache.org Received: (qmail 17812 invoked by uid 500); 4 Aug 2010 16:58:00 -0000 Mailing-List: contact dev-help@maven.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Maven Developers List" Reply-To: "Maven Developers List" Delivered-To: mailing list dev@maven.apache.org Received: (qmail 17804 invoked by uid 99); 4 Aug 2010 16:58:00 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Aug 2010 16:58:00 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jason@sonatype.com designates 63.246.20.110 as permitted sender) Received: from [63.246.20.110] (HELO sonatype01.sonatype.com) (63.246.20.110) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Aug 2010 16:57:53 +0000 Received: (qmail 3523 invoked by uid 89); 4 Aug 2010 16:57:32 -0000 Received: from unknown (HELO ?10.0.1.201?) (jason@maven.org@99.225.12.75) by 63-246-20-110.contegix.com with ESMTPA; 4 Aug 2010 16:57:32 -0000 From: Jason van Zyl Mime-Version: 1.0 (Apple Message framework v1081) Content-Type: multipart/alternative; boundary=Apple-Mail-9--161342868 Subject: Re: Merging in our Aether and Guice changes to Maven 3.x Date: Wed, 4 Aug 2010 12:57:31 -0400 In-Reply-To: <4C598D2B.8040109@commonjava.org> To: "Maven Developers List" References: <24390739-080D-4A16-B2A7-47FE2B6E791D@sonatype.com> <4C597AC1.3090003@commonjava.org> <7BF98E69-832F-44A8-8945-EFAAB1E87B20@sonatype.com> <4C598D2B.8040109@commonjava.org> Message-Id: X-Mailer: Apple Mail (2.1081) --Apple-Mail-9--161342868 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On Aug 4, 2010, at 11:54 AM, John Casey wrote: >>>=20 >>>=20 >>> Having a stable set of specifications define their interaction with = Maven would make plugin development and embedding MUCH better. In fact, = I think establishing this practice might be the single best contribution = we can make to Maven in the near term. >>>=20 >=20 > All due respect, but that dodges the question of separating and = standardizing the API from the implementation. It also dodges the = discussion about who sets the design of the repository format and the = API spec used to access it. >=20 To me that's sounds like a bunch of busy work without much value. It = works, and it's going to evolve by having people use it. The ultimate = API will never be arrived at without lots of integrators. That's how = everything evolves. > You're asking the Maven community to give up one of its greatest = creations - the repository format that has become a de facto standard - = and become completely dependent on a project whose future may be = uncertain. It's easy to talk about companies as these fixtures in the = market, but the fact is we're talking about giving complete control over = the Maven repository API / format to a start-up. I can't make you, or anyone else, do anything you don't want to do. Vote = against it, implement your own library, I'm not putting a gun to your = head. I've done what I feel is best, I've laid out what I think is best. = You can disagree and take action accordingly. > Start-ups are not known for their stability. Then, the company in = control _may_ decide (unilaterally) to move the whole shebang to = Eclipse. There's absolutely no role for Maven developers in this model, = unless they go out and re-establish their merit on a new project. >=20 First, the code is ASL so if we rolled over tomorrow then take it. = That's really not a problem. Second, yes we created it so if we want to = take it to Eclipse we can do that. People who do the work get to make = choices like that. Eclipse is solid place to do OSS work. I'm tired of the endless debates about infrastructure, release process, = using git, and I honestly think Aether not being here is the best thing = for getting others involved.=20 > I'm not talking about the merit to contribute implementation details - = though the ASF concept of non-expiring merit argues strongly against = losing access to that. What I'm talking about is the right to contribute = to the design of the repository format, API, and SPI (now that I notice = that's separate from the API). The language we use to share artifacts = and metadata should not be under the sole control of a private entity. That honestly has nothing to do with where the code is. If we shut = everyone out, we'd just be shooting ourselves in the face and ruin any = reputation we have of being meaningful contributors to the Maven = ecosystem. That doesn't do Sonatype any good. The argument that the only = place that can be done is simply not true. >=20 > Sure, there haven't been too many contributors to Maven 3. But how = much of that has to do with the velocity of work done and paid for by = Sonatype, It has a great deal to do with that. No one can keep up with full-time = people but that doesn't mean contributions should fall off to zero which = is what's pretty much happened. Kristian and Olivier being the = exceptions. > the dramatic and repeated shift in direction by those paid = contributions (mercury for example), That was not a dramatic shift at all. We attempted to make an artifact = resolution API and the first attempt failed. No shift, a second more = successful attempt. > the need to chase code from SVN to GitHub, to still other GitHub = repositories, and the lack of discussion of the design of any of it? It was not developed here, you do not have to accept it. I posit we = would have been in endless debate, no one would have contributed and = we'd be in the same boat. My conjecture possibly, but no different then = your view which is also conjecture. The fact is right now we have a = working library and a way forward. Anyone here who feels I'm limited = their choice can blame themselves for not participating previously. Yes, = I felt it would be more expedient to just do it because this project = needs to get on the rails again and I believe this is one of the = critical steps. Aether was implemented in a very short period of time. = There's code there, it works and now people can provide feedback. I = honestly feel that works better. Yes I told some people about it and not = others and that was purely a judgement I made based on what people have = been contributing lately. That's why I didn't develop here because that = mode of operation is looked dimly upon here so I didn't do it here. And = I want the velocity to continue, and that just is not going to happen = here based on my cumulative experience of over 10 years here. I wanted = to try something different and this is the result. You may not like it, = you don't have to agree, but you can't make me do what you feel is = right. >=20 > It makes me uneasy to see how much this has become a skunkworks type = of project, where much of the development takes place behind closed = doors and then gets dumped on the Maven community. You're entitled to your point of view. I'm interested at this point in = the efficacy of execution and the survival of the project. Not whether = everyone has the warm fuzzies. Apart from the Maven 1.x to Maven 2.x = I've tried not to fuck users and doing so now wouldn't serve my = commercial or non-commercial efforts. >=20 > Maven contributors established the foundational concepts (and code, = from what I can tell) for Aether; Aether is a refactoring of that = essential design and format. If you expect Maven to use Aether, then the = Maven community deserves some say in the future of the format and API. = That's my opinion. >=20 Just because the code base is not here does not stop you from = participating. I think that's just something you're going to have to = reconcile yourself to. I believe the code needs a chance to live outside = these walls. And Aether is a very different design, sure it borrows = things from all over the place including here but it's definitely not a = refactoring. There isn't just the Apache Way and nothing else. As I've stated before = Maven 3.0 is an effort at backward compatibility with a way forward. We = have not gone and secretly and radically changed Maven and dropped Maven = 4 in your laps. We made a library, yes an important one, but it's a = library nonetheless. I've said that all new features developed in the = core and that's not going to change. And guess what? There are no new = features and we've basically be doing the shit work of writing tests for = 2 years that no one has helped with. We made Aether and made it = compatible, turfed Plexus to be more sensitive to users being confronted = with my one-off IoC and made it work with all existing code. I don't = think anyone understands how much work that was. The project would never = move forward and it would be in a "good enough" state which would leave = it to be trampled by the competition. I'm just not going to let that = happen. Some work like what we've done is just never going to happen = here, and it's definitely not going to happen without millions of = dollars of concerted effort. Which is where Sonatype is at this point. I = love that I've been fortunate enough to provide the work that's been = done. It was the exact same thing with Maven 2.x. If I hadn't start = Mergere do you think Maven 2.x would exist? I honestly doubt it. I try = to balance what I think is necessary, and what I can reasonably do at = Apache and when what I think needs to be done falls outside of those = parameters I opt out instead of trying to force my opinions on everyone = here.=20 There are things I believe work best here, like when we start discussion = outward facing features for Maven 3.1. I don't think that can happen any = place but here with a lot of discussion as painful as I think that's = going to be this is the right place to do that. For the bits that are = really, really hard require dedicated people, talking on the phone 5 = times a day and pretty much every other violation of what would be = considered the Apache Way. Every commercial company involved here = probably does lots of things like we do but they don't attempt to = contribute it back. I don't want a disparity in my working life where = the OSS stuff I work on is good enough and then I have to build around = it to make something great on the commercial side. I want Maven to be = great and this is how I approach it. I'm doing what I think is best for Maven users. If you disagree I'm not = going to fault you, and I encourage you to do what you think is right. I = wouldn't ask anything less of anyone involved here. >=20 > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org > For additional commands, e-mail: dev-help@maven.apache.org >=20 Thanks, Jason ---------------------------------------------------------- Jason van Zyl Founder, Apache Maven http://twitter.com/jvanzyl --------------------------------------------------------- happiness is like a butterfly: the more you chase it, the more it will elude you, but if you turn your attention to other things, it will come and sit softly on your shoulder ... -- Thoreau=20 --Apple-Mail-9--161342868--