db-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anurag Gupta" <anurag.gu...@daffodildb.com>
Subject The Right way to start new project?
Date Tue, 14 Dec 2004 13:43:24 GMT
I wish to start an incubator project at ASF. The project details are listed
below. How should I proceed?

To the best of my knowledge, the candidate should be approved by a sponsor
to enter the incubator. 

Out of existing Apache projects, I found apache db as an appropriate (most
likely) sponsor for my project (database replication tool).

Is this the right way? Or I should make postings at incubator mailing list.
Open to your suggestions and comments.

Thanks in advance



Proposal to Open Source 'Daffodil Replicator'

(0.0):    Rationale <> 

(0.1):    Criteria <> 

(0.2):    Warning Signs <> 

(1.0):    Scope of the Project <> 

(2.0):    Identifying the Initial Source <> 





(0.0) Rationale

In the recent past, it has been a global phenomenon that the business
community has been leveraging technology to unwire organizations. Companies
are exploring enterprise mobility solutions which assure the availability of
corporate back-end databases at various disbursed platforms. Extending
enterprise data to remote locations increases employee productivity and
helps them focus on customer services more efficiently. It is also essential
to synchronize ones corporate database with local data residing at disbursed
sources, so that an enterprise data warehouse can be created for analytical


There is therefore the need for a tool that can easily synchronize data
between databases residing on distributed platforms and corporate databases.
A data Replicator has proved out to be of great help in such a challenging
situation. It is a tool that provides an application the capability to
synchronize data across multiple data sources by checking the data source at
regular intervals and updating the target data source with new or modified


The Daffodil Replicator project will provide developers a standardized tool
that synchronizes data between heterogeneous enterprise databases that
support JDBC drivers. A data replication tool that offers advanced features
such as publish and subscribe model, bi-directional data synchronization,
conflict detector and resolution algorithms, as also platform independence
will help developers to design innovative applications. Daffodil Replicator
helps to create a local database at different workstations and provides
instant access to data without the latency and unreliability of a constant
connection to the network. 

The initial contribution for the project will be from Daffodil Software
Limited, in the form of Daffodil Replicator. It is a powerful open source
data replication tool, hosted at SourceForge.net, and allows for
bi-directional data replication between heterogeneous databases.

The source code is available at
<http://sourceforge.net/projects/daffodilreplica/> SourceForge.net. 

(For more product information check


Daffodil Replicator in its present form has been tested with selected
databases such as Oracle, SQL-Sever, Postgre SQL, Daffodil DB and Derby. It
is believed that starting an incubation project at ASF will enhance the
Replicator's utility and benefit the 'Apache DB Project' community at large.
The developer community at SourceForge.net will provide a base for the
Replicator incubation project at ASF. However, it is also anticipated that
the project will attract developers associated with Apache Derby project.


Daffodil Replicator will start as an incubator project and adhere to the
guide lines mentioned in Incubation Policy. Once the project is successful
in engendering a successful community, and associated developers learn the
ASF's philosophy and guidelines for collaborative development, it will exit
the Incubation status to become a Top level project/Sub-project



Daffodil Replicator supports the following features:


1. Data Synchronization between heterogeneous enterprise databases
supporting JDBC and other key features such as triggers, procedures and auto


2. Publish and Subscribe model with a Publisher (Server) and Subscriber
(Client) architecture supporting delta changes or full snapshot changes. 


3. Bidirectional data synchronization with client-side initiating the
synchronization process.


4. Automatic conflict detector and resolution algorithms.


5. Comprehensive Reloads and incremental updates.


6. Platform independent synchronization: 100% Java client and server


(0.1) Criteria


This project fulfills the acceptance criteria on the following grounds:

(a) Meritocracy

The project will abide to Apache's system of Meritocracy. Currently, a team
of developers is working to continuously improve the product and the
decision to implement any changes in the source code is taken only after
reaching a consensus. These discussions have lead to valuable additions in
the product. The team is thus committed to move further from here in a
manner which promotes meritocracy. 


(b) Community


The community associated with Daffodil Replicator project at sourceforge.net
will be the source for generating the community for this ASF project. View
the existing community members at:



Till date, one (1) improved versions of Daffodil Replicator have been
released largely on the basis of suggestions and feedback received from the
community members. See the documentation and other necessary information at



We believe the present community will provide a solid base to build upon.
Moreover, the project's alignment with other Apache projects - Apache Derby
- will attract a strong developer community within Apache.  


(c) Core Developers


The Daffodil Replicator project was started by three (3) members; one of
them is also associated with other open source projects such as pklite SQL
Client. Since then the number of members associated with the project is
growing. Till data, twenty four (24) members have joined the core
developers' team and are actively engaged with the project. 


(d) Alignment


Daffodil Replicator can (potentially) support all database servers that
support JDBC drivers and features such as triggers, procedures and auto
increments. In its present state Daffodil Replicator has been tested with
the following four database servers:


1. Oracle

2. SQL Server

3. Postgre-SQL

4. Daffodil DB

5. Derby: Apache incubator project.


(0.2) Warning Signs 

(a) Orphaned Products:


Daffodil Replicator development team is making dedicated efforts towards
enhancing the product features of Daffodil Replicator. The latest version of
Daffodil Replicator (v1.5) is compatible with widely used heterogeneous
databases. The product has been evaluated by JARS.com - a Java user
community- and was rated in the top 25% products category.


 (b) Inexperienced with Open Source:


The community members at large are familiar with open source and understand
the working of the open source projects. Daffodil Replicator is an open
source data replication tool hosted at sourceforge.net. Visit the project



The developers are engaged in active discussions and make consensus based
decisions. Some of the members of Daffodil Replicator community hold
valuable experience in other open source projects, such as pklite SQL


(c) Homogeneous Developers:

The developers associated with this project holds working experience in
different organizations located in diverse geographies. As mentioned, we
plan to incorporate developers who have expressed interest in the Open
Source movement and who have prior experience with similar projects.


(d) Reliance on salaried developers:


Daffodil Replicator's development does not depends upon the salaried
developers but it has developers associated to it which works on open source
projects out of choice rather than compulsion or some monetary benefits. All
of them have participated in the project because it holds value for them.


 (e) No ties to other Apache products:


As mentioned under Alignment, the product is a value proposition for the
Derby: Apache incubator project.


(f) A fascination with the Apache brand:


Few of the Apache products such as Tomcat, Ant and Struts have been used by
the Replicators' developers in the past and they were highly satisfied with
the performance. The developers wish Daffodil Replicator should also achieve
the same performance level.


The goal is to expand the base of committers to get a robust and scalable
open source product. Apache has been chosen as the host community because
the predictable ties and collaboration of Daffodil Replicator with other
Apache projects will draw synergistic benefits for both, and NOT because of
a fascination with the brand Apache. 




(1.0) Scope of the Project


Through this project the developer's community is focusing on to:


1. Foster a healthy open source community to develop a standardized data
replication tool.


2. To develop an open source data replication tool which is easily available
to be used with open source/widely used heterogeneous databases.


3. Enhancing the database utility by extending enterprise data to users
working at remote networks.


4. Developing a Replicator which can easily integrate with the corporate


5. Increasing the field productivity by synchronizing the data across the
distributed platforms.


6. Empowering the Application Developers: The replication tool empowers the
application developers to add innovation in their product. Replicator's
compatibility with various databases enables application developers to
select the most appropriate database for their application. 


(2.0) Identifying the Initial Source


The initial source for the project will be contributed by Daffodil Software
Limited (Project Administrator for Daffodil Replicator at sourceforge.net).
Daffodil Software Limited is willing to contribute Replicator's code base,
test cases, build files, and documentation to ASF. Once at Apache, the
project will be licensed under the ASF license. View the source code of
Daffodil Replicator at:

291> &package_id=129291



(a) Replicator Installation

Daffodil Replicator works within client's current infrastructure, whether
using Oracle, Postgre SQL, SQL Server, Derby and Daffodil DB. It is capable
of replicating data from both servers and workstations with client
initiating the replication process. 


(b) Replicator Technology

Daffodil Replicator is a data replication tool that synchronizes data
residing on corporate backend databases and desktop databases operating in
the network. It is a powerful Java API which is connected to the databases
through JDBC driver. Daffodil Replicator performs data replication based on
Publish and Subscribe model (in client and server architecture). The
publications and subscriptions are defined using GUI and wizards or APIs
according to the users needs. Powerful, easy to use administration Wizards
makes replication a refined process. It supports a variety of
synchronization topologies, synchronization modes and synchronizes data
sources by using either TCP/IP or HTTP transfer protocols. 


(c) Replicator Working

To understand the working of Replicator and for more details, please go to:









View raw message