Return-Path: X-Original-To: apmail-incubator-general-archive@www.apache.org Delivered-To: apmail-incubator-general-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0FA2417864 for ; Thu, 19 Mar 2015 22:21:55 +0000 (UTC) Received: (qmail 12245 invoked by uid 500); 19 Mar 2015 22:21:54 -0000 Delivered-To: apmail-incubator-general-archive@incubator.apache.org Received: (qmail 12060 invoked by uid 500); 19 Mar 2015 22:21:54 -0000 Mailing-List: contact general-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@incubator.apache.org Delivered-To: mailing list general@incubator.apache.org Received: (qmail 12045 invoked by uid 99); 19 Mar 2015 22:21:54 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Mar 2015 22:21:54 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of andrew.bayer@gmail.com designates 209.85.212.174 as permitted sender) Received: from [209.85.212.174] (HELO mail-wi0-f174.google.com) (209.85.212.174) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Mar 2015 22:21:50 +0000 Received: by wifj2 with SMTP id j2so2806745wif.1 for ; Thu, 19 Mar 2015 15:20:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=GoZ4/DmK+5g38+CS4PAOzZIcHGbcGzgWksO2R68TLr8=; b=R7RN50XSSErV7BVfWBrcK7BaArcXZV/zrw9d15/yYqAEToG9PcgyiWb5TBShjByzWS uQr1RuTG3W/jWxNU+DrhmI/51jsip4MHPH7iyGF7SODmBGlcOdYk0RzXZp1KYzOQUoRE HPpEX0ZeTWTDpSQLSVMdsHIs0BpggZmCVbT5yx9MuqqzmxcU34/znDg+52My7V/Rhrul CUkkNurFbbCkLzKVBcw/AH5Dc1F2CrP3GUYyY1qsFoaefnSlAub/nGU6iBFUuSpAkBec kTkp6Ds0RSwY7tHDiRBgdkweMban5oU7sf9VjonYYNHsETJCbJABb+ZHNXm3AnOQ8OKv cObQ== X-Received: by 10.194.57.170 with SMTP id j10mr83988868wjq.102.1426803644106; Thu, 19 Mar 2015 15:20:44 -0700 (PDT) MIME-Version: 1.0 Received: by 10.194.120.38 with HTTP; Thu, 19 Mar 2015 15:20:23 -0700 (PDT) In-Reply-To: <550B2E60.7080503@nanthrax.net> References: <550B2E60.7080503@nanthrax.net> From: Andrew Bayer Date: Thu, 19 Mar 2015 15:20:23 -0700 Message-ID: Subject: Re: [VOTE] Accept Groovy into the Apache Incubator To: "general@incubator.apache.org" Content-Type: multipart/alternative; boundary=047d7ba97fa65f11cd0511ab9c25 X-Virus-Checked: Checked by ClamAV on apache.org --047d7ba97fa65f11cd0511ab9c25 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable +1 (binding) A. On Thu, Mar 19, 2015 at 1:15 PM, Jean-Baptiste Onofr=C3=A9 wrote: > +1 (binding) > > Regards > JB > > > On 03/19/2015 07:55 AM, Roman Shaposhnik wrote: > >> Following the discussion earlier in the thread: >> http://s.apache.org/KWE >> >> I would like to call a VOTE for accepting Groovy >> as a new incubator project. >> >> The proposal is available at: >> https://wiki.apache.org/incubator/GroovyProposal >> and is also included at the bottom of this email. >> >> Vote is open until at least Saturday, 21st March 2015, 23:59:00 PST >> >> [ ] +1 accept Groovy in the Incubator >> [ ] =C2=B10 >> [ ] -1 because... >> >> Thanks, >> Roman. >> >> =3D=3D Abstract =3D=3D >> Groovy is an object-oriented programming language for the Java >> platform. It is a language with features similar to those of Python, >> Ruby, Java, Perl, and Smalltalk. >> Groovy, if accepted by Incubator, will be a first major programming >> language developed under the umbrella of Apache Software Foundation. >> >> =3D=3D Proposal =3D=3D >> Groovy is a programming language for the Java platform. It is a >> primarily dynamic language with features similar to those of Python, >> Ruby, Perl, and Smalltalk. It also has optional static type checking >> and static compilation facilities. It can be used as a scripting >> language for the Java Platform or to write complete applications, is >> compiled to Java Virtual Machine (JVM) bytecode, and interoperates >> with other Java code and libraries. Groovy uses a Java-like >> curly-bracket syntax. Most Java code is also syntactically valid >> Groovy, although semantics may be different. Groovy has long been >> developed under an Apache License v2.0 under an open governance >> community management process. However, so far Groovy has been a >> project mostly sponsored by a single company. This proposal aims at >> bringing Groovy community under the umbrella of the Apache Software >> Foundation. >> >> It must be explicitly noted, that a few sister projects such as Groovy >> Eclipse and others (some of them hosted under >> https://github.com/groovy and listed at >> http://groovy-lang.org/ecosystem.html) are not covered by this >> proposal. It is possible that these other projects will be joining ASF >> either independently or as sub-projects of Apache Groovy in the >> future. For now, we are only proposing groovy-core. >> >> =3D=3D Background =3D=3D >> Groovy 1.0 was released on January 2, 2007, and Groovy 2.0 in July, >> 2012. Groovy 2.5 is planned for release in 2015. Groovy 3.0 is planned >> for release in 2016, with support for a new Meta Object Protocol. >> Since version 2, Groovy can also be compiled statically, offering type >> inference and performance very close to that of Java. Groovy 2.4 will >> be the last major release under Pivotal Software's sponsorship, which >> is scheduled to end on March 31, 2015. >> >> =3D=3D Rationale =3D=3D >> Groovy is a pretty mature language. After 12 years of development, it >> has grown from being primarily a dynamic scripting language on the JVM >> to an optionally statically compiled language allowing the same >> performance level as Java applications. With the release of Groovy >> 2.4, the language targets the largest pool of mobile developers with >> native Android support. Groovy has been integrated in a large number >> of applications, including well known open-source projects like >> Jenkins, Gradle, ElasticSearch, Spring and more. >> >> There are multiple alternative languages on the JVM: Scala, Clojure, >> Ceylon, Kotlin, JRuby, Golo and others but Groovy is the only one >> which has proved to be very easy to integrate with Java in both ways: >> Groovy code using Java code, but also Java code using Groovy code. >> Groovy even provides a joint compiler which allows interdependent Java >> and Groovy classes to compile together. Groovy also supports dynamic >> code generation, that is to say classes at runtime, making it a >> perfect fit for scripting. With a very lightweight and malleable >> syntax, it is also easy to build internal Domain Specific Languages >> (DSLs) which integrate smoothly within applications. >> >> Groovy provides a number of unique features, like builders (Java 8 has >> lambdas but still has syntactic overhead and no notion of delegate), >> AST transformations (compile-time metaprogramming) or type checking >> extensions (which allows the developer to bring the compiler to levels >> of type checking and type inference that go far beyond what other >> languages do). Groovy also provides powerful integration options and >> customizations which set it apart from other languages. Groovy is also >> unique in the way it allows the developer to choose between various >> paradigms without compromise: functional vs object-oriented, >> statically compiled vs dynamic, scripting vs applications, etc. >> >> Despite all those advantages, and the fact that Groovy is widely >> adopted (4.5 million downloads in 2014 for Groovy alone), only a few >> Apache projects include Groovy and not a lot of them leverage its full >> power. Some developers tend to choose Scala for example to build DSLs >> without even knowing that the learning curve is much easier with >> Groovy, or that they can leverage powerful type inference in their own >> DSLs. >> >> Android development is also a domain where the weight of Java and >> old-style APIs is heavy. Groovy 2.4 has proved that Android >> development could benefit from its closures, extension methods and >> static compilation to build applications which are as fast as Java, >> but with code which is much more maintainable and decoupled from >> Android APIs. Code generation libraries like SwissKnife illustrate >> what Groovy can offer for Android development. However, without >> full-time development on this topic, Groovy has a very tough >> competition with languages like Kotlin being intensively (and >> privately) sponsored to target this platform. With Groovy joining >> Apache, we hope that more developers would be able to join the effort >> and help reduce the footprint of the language, build libraries that >> leverage the full power of Groovy while fostering the long-term future >> of the language. >> >> >> =3D=3D Initial Goals =3D=3D >> The initial goals of the Groovy transition under the ASF umbrella are >> to establish a new home for an already fully functioning project and >> also make sure that the entire development community governs itself in >> the "Apache Way". >> >> Please note that a sister project of Groovy -- Grails -- is not part >> of this proposal. If Grails community makes a decision to join ASF it >> will do so as an independent, albeit related, project. >> >> =3D=3D Current Status =3D=3D >> Currently Groovy provides a fully functional implementation licensed >> under ALv2. The project home is at http://groovy-lang.org/ and the >> majority of development is coordinated via GitHub >> https://github.com/groovy. The project sports a very mature >> documentation and ecosystem of projects leveraging it. In fact, quite >> a few existing ASF project have various plugins or subsystems written >> in Groovy (Bigtop, CloudStack, etc.). >> >> =3D=3D=3D Meritocracy =3D=3D=3D >> Groovy, up to this, has been run by a few core project members with a lo= t >> of >> contributions coming from a wide community of participants in the projec= t. >> >> We want to expand our diverse developer and user community and run the >> Groovy project in >> the Apache way clearly signaling not only the licensing, but also the >> governance choice. >> >> Users and new contributors will be treated with respect and welcomed; >> they will earn >> merit in the project by providing quality patches and support that >> move the project forward. >> >> Those with a proven support and quality patch track record will be >> encouraged to become committers. >> >> =3D=3D=3D Community =3D=3D=3D >> There are just a few core team members with over a hundred >> contributors to the project. If Groovy is accepted >> by the Incubator, transitioning the community to embrace the Apache >> Way of governance would be a primary initial goal. >> We would solicit major existing contributors to become committers on >> the project from the get go. >> >> =3D=3D=3D Core Developers =3D=3D=3D >> >> Core developers include folks who are extremely skilled in working in th= e >> openly >> governed communities on code bases license under the ALv2. The core >> developers are >> NOT currently affiliated with the ASF, although quite a few contributors >> are. >> >> =3D=3D=3D Alignment =3D=3D=3D >> >> Groovy has been integrated into Apache Bigtop, Apache CloudStack, >> Apache Ofbiz and quite a few other projects. >> >> =3D=3D Known Risks =3D=3D >> As noted above, development has been sponsored mostly by a single >> company and coordinated >> mostly by the core team so far. >> >> For Groovy to fully transition to an "Apache Way" governance model it >> needs to >> start embracing the meritocracy-centric way of growing the community >> of contributors >> while balancing it with the needs for extreme stability and coherency >> of the core >> language implementation. >> >> Groovy has historically been hosted at Codehaus. While the project has >> started >> to migrate off the Codehaus infrastructure, some critical tools of the >> project are >> still hosted there: JIRA, the mailing-list, and the deprecated wiki. >> Codehaus has >> announced end-of-support for mid-April, making the migration critical. >> >> =3D=3D=3D Orphaned products =3D=3D=3D >> >> The community proposing Groovy for incubation is a strong and vibrant >> open source >> project. Even though the sponsorship of the core team by Pivotal is >> ending on March 31st, >> the sheer size and diversity of the community is a guarantee against >> the project being orphaned. >> >> =3D=3D=3D Inexperience with Open Source =3D=3D=3D >> The majority of the proposers here have day jobs that has them working >> near >> full-time on open source projects. A few of us have helped carry >> other projects through the Incubator. Groovy to date has been developed >> as >> an open source project. >> >> =3D=3D=3D Homogeneous Developers =3D=3D=3D >> Now that Pivotal is ending its sponsorship, the initial group of >> committers >> is going to be extremely heterogeneous when it comes to corporate >> affiliations. >> The Groovy community is also extremely diverse in terms of geography and >> backgrounds of developers. >> >> =3D=3D=3D Reliance on Salaried Developers =3D=3D=3D >> Most of the contributors are paid to work in the Java ecosystem. >> While we might wander from our current employers, we probably won=E2=80= =99t >> go far from the Java family tree. >> >> =3D=3D=3D Relationships with Other Apache Products =3D=3D=3D >> Groovy currently has a few ASF projects as optional dependencies but >> otherwise doesn't depend on any ASF projects. A few >> ASF projects already depend on Groovy. >> >> =3D=3D=3D An Excessive Fascination with the Apache Brand =3D=3D=3D >> While we intend to leverage the Apache =E2=80=98branding=E2=80=99 when t= alking to other >> projects as testament of our project=E2=80=99s =E2=80=98neutrality=E2=80= =99, we have no plans >> for making use of Apache brand in press releases nor posting billboards >> advertising acceptance of Groovy into Apache Incubator. >> >> >> =3D=3D Documentation =3D=3D >> See [[http://www.groovy-lang.org/documentation.html|documentation]] >> for the current state of the Groovy >> documentation. >> >> A mature project website is also available at >> [[http://www.groovy-lang.org/|groovy-lang.org]]. >> >> =3D=3D Initial Source =3D=3D >> Initial source is available on GitHub under the ALv2 >> [[https://github.com/groovy/groovy-core|groovy-core]] >> >> >> =3D=3D Source and Intellectual Property Submission Plan =3D=3D >> We know of no legal encumberments in the way of transfer of source to >> Apache. In fact, given the >> series of corporate due diligence procedures performed on the source >> code during two of the >> acquisitions we expect the code base to be squeaky clean from an IP >> perspective. >> >> =3D=3D External Dependencies =3D=3D >> Embedded dependencies (relocated): >> >> * Antlr 2, ANTLR 2 License (development branch includes Antlr4 >> using BSD license) >> * ASM, BSD >> * Openbeans (ALv2) >> * Apache Commons CLI (ALv2) >> >> Module or optional dependencies: >> >> * Apache Ant (ALv2) >> * Apache Commons BSF (ALv2) >> * Apache Commons Logging (ALv2) >> * Apache Ivy (ALv2) >> * Apache Log4j (ALv2) >> * Apache Log4j 2 (ALv2) >> * JAnsi (ALv2) >> * JCommander (ALv2) >> * JLine 2 (BSD) >> * JUnit (EPL 1.0) >> * Logback (EPL 1.0) >> * QDox (ALv2) >> * SLF4J (MIT) >> * TestNG (ALv2) >> >> Build only dependencies: >> >> * bnd (ALv2) >> * jarjar (ALv2) >> * Checkstyle (LGPL) >> * Cobertura (GPL) >> * Gradle (ALv2) >> * Asciidoctor (MIT) >> * Simian (http://www.harukizaemon.com/simian/get_it_now.html) >> >> Test only dependencies: >> >> * Apache Commons HTTP Client (ALv2) >> * Apache Lucene (ALv2) >> * Eclipse OSGi (EPL 1.0) >> * GPars (ALv2) >> * HSQLDB (BSD) >> * JMock (jMock Project License) >> * OpenEJB (ALv2) >> * Spock (ALv2) >> * XMLUnit 1 (BSD) >> * XStream (BSD) >> >> Cryptography >> N/A >> >> =3D=3D Required Resources =3D=3D >> >> =3D=3D=3D Mailing lists =3D=3D=3D >> * private@groovy.incubator.apache.org (moderated subscriptions) >> * commits@groovy.incubator.apache.org >> * dev@groovy.incubator.apache.org >> * issues@groovy.incubator.apache.org >> * user@groovy.incubator.apache.org >> >> =3D=3D=3D Git Repository =3D=3D=3D >> https://git-wip-us.apache.org/repos/asf/incubator-groovy.git >> >> =3D=3D=3D Issue Tracking =3D=3D=3D >> JIRA Groovy (GROOVY) >> >> =3D=3D=3D Other Resources =3D=3D=3D >> >> A build server is currently sponsored by Jetbrains (TeamCity): >> http://ci.groovy-lang.org?guest=3D1 >> The CI server has a number of build plans including multiple JDKs (5 >> to 9), 3rd party joint builds and integration with the Groovy website >> (automatic deployment upon push). >> >> Means of setting up regular builds for Groovy on builds.apache.org >> >> =3D=3D Initial Committers =3D=3D >> * C=C3=A9dric Champeau >> * Guillaume Laforge >> * Jochen Theodorou >> * Paul King >> * Pascal Schumacher >> >> =3D=3D Affiliations =3D=3D >> * Pivotal: C=C3=A9dric Champeau, Jochen Theodorou >> * Restlet: Guillaume Laforge >> * ASERT: Paul King >> * Pascal Schumacher >> >> =3D=3D Sponsors =3D=3D >> >> =3D=3D=3D Champion =3D=3D=3D >> Roman Shaposhnik >> >> =3D=3D=3D Nominated Mentors =3D=3D=3D >> * Bertrand Delacretaz - Apache Member >> * Emmanuel Lecharny - Apache Member >> * Jim Jagielski - Apache Member >> * Roman Shaposhnik - Apache Member >> * Andrew Bayer - Apache Member >> * Konstantin Boudnik - IPMC Member >> >> Six mentors is plenty, we are not looking for more mentors at this time. >> >> =3D=3D=3D Sponsoring Entity =3D=3D=3D >> We would like to propose Apache incubator to sponsor this project. >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org >> For additional commands, e-mail: general-help@incubator.apache.org >> >> > -- > Jean-Baptiste Onofr=C3=A9 > jbonofre@apache.org > http://blog.nanthrax.net > Talend - http://www.talend.com > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org > For additional commands, e-mail: general-help@incubator.apache.org > > --047d7ba97fa65f11cd0511ab9c25--