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 98D21DB03 for ; Wed, 29 May 2013 07:33:41 +0000 (UTC) Received: (qmail 48440 invoked by uid 500); 29 May 2013 07:33:39 -0000 Delivered-To: apmail-incubator-general-archive@incubator.apache.org Received: (qmail 46807 invoked by uid 500); 29 May 2013 07:33:30 -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 46719 invoked by uid 99); 29 May 2013 07:33:27 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 May 2013 07:33:27 +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 ant.elder@gmail.com designates 209.85.215.54 as permitted sender) Received: from [209.85.215.54] (HELO mail-la0-f54.google.com) (209.85.215.54) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 May 2013 07:33:23 +0000 Received: by mail-la0-f54.google.com with SMTP id eg20so8326120lab.27 for ; Wed, 29 May 2013 00:33:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=fZtbJihslQGtS3qm1zmneleAAG6x67mobpTO4zV98x8=; b=UD142mIURvMDsH2VGNdxIqZJ5z4HR907swJQpdnXqvaqW51JHWxk660HYmugFks1Rc QKT1C1W7RppQqtFIq3tJo1t2vjBYsMK1RjNydkeeu/XVdZFMy+/ZSDWl20qtGg0hlvJ3 r6Uq3k5M678VUM7QKsIq5YEzxXfMmrNn/ijjfV4CSUrjXLwY0czyYQ06RwQ3Le8GiUGz FxSRFjMtX2RIA/L5a4dST8Dzc50drwVlDRncZWdL7+w9CqGO4IazQZI7gzGIJISBSUmX nuyLhX98xHtF5YQcqDZVfRna3CJoiZuFQGcXwuxnesdCGsn+Bgv6tNswJHIn1CSGsaAJ xEoQ== MIME-Version: 1.0 X-Received: by 10.112.5.7 with SMTP id o7mr942787lbo.64.1369812781614; Wed, 29 May 2013 00:33:01 -0700 (PDT) Received: by 10.112.3.136 with HTTP; Wed, 29 May 2013 00:33:01 -0700 (PDT) In-Reply-To: References: Date: Wed, 29 May 2013 08:33:01 +0100 Message-ID: Subject: Re: [PROPOSAL] MetaModel for the Apache Incubator From: ant elder To: general@incubator.apache.org Content-Type: multipart/alternative; boundary=14dae94ed60341cd7304ddd6642b X-Virus-Checked: Checked by ClamAV on apache.org --14dae94ed60341cd7304ddd6642b Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable >From the subject line I thought this was going to be another attempt to sort out the incubator :-/ ...ant On Tue, May 28, 2013 at 7:20 PM, Henry Saputra wro= te: > Dear ASF members, > > We would like to propose MetaModel for the incubator. > > Matt Franklin will be the Champion for this project and the proposal draf= t > is available at: > > https://wiki.apache.org/incubator/MetaModelProposal > > Looking forward to all of your suggestions and feedback. > > Thanks, > > Henry Saputra > > > > ------------------------------------------------- > > =3D MetaModel =96 uniform data access across datastores =3D > > Proposal for Apache Incubator > > =3D=3D Abstract =3D=3D > > MetaModel is a data access framework, providing a common interface for > exploration and querying of different types of datastores. > > =3D=3D Proposal =3D=3D > > MetaModel provides a uniform meta-model for exploring and querying the > structure of datastores, covering but not limited to relational databases= , > various data file formats, NoSQL databases, Salesforce.com, SugarCRM and > more. The scope of the project is to stay domain-agnostic, so the > meta-model will be concerned with schemas, tables, columns, rows, > relationships etc. > > On top of this meta-model a rich querying API is provided which resembles > SQL, but built using compiler-checked Java language constructs. For > datastores that do not have a native SQL-compatible query engine, the > MetaModel project also includes an abstract Java-based query engine > implementation which individual datastore-modules can adapt to fit the > concrete datastore. > > =3D=3D=3D Background =3D=3D=3D > > The MetaModel project was initially developed by eobject.dk to service th= e > DataCleaner application (http://datacleaner.org). The main requirement wa= s > to perform data querying and modification operations on a wide range of > quite different datastores. Furthermore a programmatic query model was > needed in order to allow different components to influence the query plan= . > > In 2009, Human Inference acquired the eobjects projects including > MetaModel. Since then MetaModel has been put to extensive use in the Huma= n > Inference products. The open source nature of the project was reinforced, > leading to a significant growth in the community. > > MetaModel has successfully been used in a number of other open source > projects as well as mission critical commercial software from Human > Inference. Currently MetaModel is hosted at http://metamodel.eobjects.org= . > > =3D=3D=3D Rationale =3D=3D=3D > > Different types of datastores have different characteristics, which alway= s > lead to the interfaces for these being different from one another. > Standards like JDBC and the SQL language attempt to standardize data > access, but for some datastore types like flat files, spreadsheets, NoSQL > databases and more, such standards are not even implementable. > > Specialization in interfaces obviously has merit for optimized usage, but > for integration tools, batch applications and or generic data modificatio= n > tools, this myriad of specialized interfaces is a big pain. Furthermore, > being able to query every datastore with a basic set of SQL-like features > can be a great productivity boost for a wide range of applications. > > =3D=3D=3D Initial goals =3D=3D=3D > > MetaModel is already a stable project, so initial goals are more oriented > towards an adaption to the Apache ecosystem than about functional changes= . > > We are constantly adding more datastore types to the portfolio, but the > core modules have not had drastic changes for some time. > > Our focus will be on making ties with other Apache projects (such as POI, > Gora, HBase and CouchDB) and potentially renaming the =91MetaModel=92 pro= ject > to something more rememberable. > This includes comply with Apache Software Foundation license for third > party dependencies. > > =3D=3D Current status =3D=3D > > =3D=3D=3D Meritocracy =3D=3D=3D > > We intend to do everything we can to encourage a meritocracy in the > development of MetaModel. Currently most important development and design > decisions have been made at Human Inference, but with an open window for > anyone to participate on mailing lists and discussion forums. We believe > that the approach going forward should be more encouraging by sharing all > the design ideas and discussions in the open, not only just the topics th= at > have been =93dragged=94 into the open by third parties. We believe that > meritocracy will be further stimulated by granting the control of the > project to an independent committee. > > =3D=3D=3D Community =3D=3D=3D > > The community around MetaModel already exists, but we believe it will gro= w > substantially by becoming an Apache project. With MetaModel used in a wid= e > range of both open and closed source application, both at Human Inference > (HIquality MDM), it=92s open source projects DataCleaner, SassyReader and > AnalyzerBeans and by other parties (such as the Quipo data warehouse > automation project), we believe that the critical mass to sustain a > community is there. > > =3D=3D=3D Core developers =3D=3D=3D > > MetaModel was founded by Kasper S=F8rensen in 2009. Later it was incorpor= ated > as a core library by Human Inference, meaning that more than 20 developer= s > have been involved in its making in this commercial setting. Furthermore = a > smaller number of contributors have submitted patches for the library. > Others have started building other interesting data-oriented libraries on > top of MetaModel, for instance the =91vasc=92 open source project by Will= em > Cazander, which is an implementation of the Java Persistence API (JPA) fo= r > all the datastores supported by MetaModel. > > =3D=3D=3D Alignment =3D=3D=3D > > MetaModel already makes good usage of existing Apache projects such as PO= I, > CouchDB and OpenOffice. Furthermore developers from the Apache Gora proje= ct > have indicated a need for a project like MetaModel to solve specific > uniform datastore access needs. > > =3D=3D Known risks =3D=3D > > =3D=3D=3D Orphaned products =3D=3D=3D > > The contributors and the contributing organization (Human Inference) have= a > very strong dependence on MetaModel already and will continue to have tha= t > for a long time. The continued need for this vendor to support new types = of > datastores and maintain existing functionality will ensure that MetaModel > is not in the risk of being orphaned. > > =3D=3D=3D Inexperience with Open Source =3D=3D=3D > > MetaModel is already open source, and has been so for many years. Main > contributors of the project have also contributed to other open source > projects such as DataCleaner and Apache Mahout. The openness of Apache is > arguably more extensive, but we are only encouraged and delighted to be > handling the project in a more open manner. > > =3D=3D=3D Homogenous Developers =3D=3D=3D > > Frequent committers are currently located in Denmark, The Netherlands and > India. They are used to working in a distributed environment. > > =3D=3D=3D Reliance on Salaried Developers =3D=3D=3D > > Initial committers for MetaModel will depends on salaried based developer= s > to contribute to this project, but given the dependence on MetaModel from > both commercial and open source projects, the project would continue > without issue if no salaried developers contributed to the project. > > The goal is build diverse community to contribute back to MetaModel > project. > > =3D=3D=3D Relationship with Other Apache Products =3D=3D=3D > > MetaModel depends on several Apache products including: commons-lang, > commons-io, commons-codec, http-components, POI, CouchDB, OpenOffice and > XMLBeans. > > Furthermore MetaModel is built by Apache Maven. > > =3D=3D=3D An Excessive Fascination with the Apache Brand =3D=3D=3D > > The ASF has a strong brand, and that brand is in itself very attractive. > > We are interested in joining the ASF in order to increase our contacts an= d > visibility in the open source world. > Furthermore, we have been enthusiastic users of Apache Software Foundatio= n > projects, and would feel honored by getting the opportunity to join and > contribute back to the community. > > =3D=3D Documentation =3D=3D > > Information on MetaModel can be found at: http://metamodel.eobjects.org > > =3D=3D=3D Initial source =3D=3D=3D > > MetaModel has been developed since 2009 and have undergone a couple of > major changes (indicated by the 2.x and 3.x versions). > > The code is used in mission critical systems and is considered very stabl= e > and high performing. > > The source includes a fork of the xBaseJ project=92s code, which will be > removed upon incubation. This code was originally GPL licensed, but grant= ed > with a special license to MetaModel to be forked and relicensed using the > current LPGL license of MetaModel. > > Removal of the xBaseJ code will effectively mean that the Apache variant = of > MetaModel will not have support for dBase database files. We imagine that > the dBase module could live on as a separate pluggable module under the > LGPL license, outside of Apache. > > =3D=3D=3D External dependencies =3D=3D=3D > > The dependencies all have Apache compatible licenses. These include BSD a= nd > MIT licensed dependencies. > > =3D=3D Required resources =3D=3D > > =3D=3D=3D Mailing lists =3D=3D=3D > > * metamodel-private (with moderated subscription) > * metamodel-dev > * metamodel-commits > > =3D=3D=3D Subversion directory =3D=3D=3D > A subversion (http://svn.apache.org/repos/asf/incubator/metamodel/trunk/) > or git (https://git-wip-us.apache.org/repos/asf/incubator-metamodel.git) > repository is needed. > > Currently MetaModel=92s code is hosted at > http://eobjects.org/svn/MetaModelbut will be moved to an Apache > repository. > > =3D=3D=3D Issue tracking =3D=3D=3D > > JIRA MetaModel (METAMODEL) > > =3D=3D=3D Other resources =3D=3D=3D > > We would like to have wiki page located at: > http://wiki.apache.org/MetaModel > > In later development phase a set of database servers (specifically MongoD= B, > CouchDB, MySQL, PostgreSQL, MS SQL Server (Express), Firebird) should be > made available for integration testing. > Currently this is done internally at Human Inference. > > =3D=3D=3D Initial committers =3D=3D=3D > > Kasper S=F8rensen (i.am.kasper.sorensen [at] gmail.com), Project Founder, > works at Human Inference > > Ankit Kumar (ak.ankitkumar [at] gmail.com), works at Human Inference > > Sameer Arora (sameer11sep [at] gmail.com) > > Henry Saputra (hsaputra [at] apache.org) > > Juan Jos=E9 van der Linden (delostilos [at] gmail.com), works for Quipu > > Arvind Prabhakar (arvind at apache dot org) > > Matt Franklin (mfranklin at apache dot org) > > > =3D=3D Sponsors =3D=3D > > =3D=3D=3D Champion =3D=3D=3D > > Matt Franklin (mfranklin at apache dot org) > > =3D=3D=3D Nominated mentors =3D=3D=3D > > Henry Saputra (hsaputra at apache dot org) > > Arvind Prabhakar (arvind at apache dot org) > > Matt Franklin (mfranklin at apache dot org) > > =3D=3D=3D Sponsoring entity =3D=3D=3D > > The Apache Incubator. > --14dae94ed60341cd7304ddd6642b--