This proposal seeks to create a project within the Apache Software
Foundation to continue the development and advancement of Jini 
technology. It has broad backing from the Jini Community, and 
includes core developers from Sun Microsystems (original developer 
of the technology) as well as Community technical leaders. 

Thank you for your consideration.


---------------------------------------------------------------------------
JiniProposal

*Proposal for new project Jini*

19 June 2006
---------------------------------------------------------------------------

(0) rationale

Jini technology is a service oriented architecture that defines a programming
model which both exploits and extends Java technology to enable the construction
of secure, distributed systems consisting of federations of services and
clients. Jini technology can be used to build adaptive network systems that are
scalable, evolvable and flexible as typically required in dynamic computing
environments.

Quoting from The Jini Specifications <http://java.sun.com/docs/books/jini/spec/>
book:
  "Jini technology is a simple infrastructure for providing services in a 
   network, and for creating spontaneous interactions between programs that 
   use these services. Services can join or leave the network in a robust 
   fashion, and clients can rely upon the availability of visible services, 
   or at least upon clear failure conditions. When you interact with a service, 
   you do so through a Java object provided by that service. This object is 
   downloaded into your program so that you can talk to the service even if 
   you have never seen its kind before - the downloaded object knows how to 
   do the talking. That's the whole system in a nutshell."

Sun Microsystems originally introduced the technology in January, 1999 by
providing a Jini Technology Starter Kit <http://starterkit.jini.org/>. This
includes a contributed implementation of all of the specifications, as well as
helpful utilities and tools. The source code was made available through the Sun
Community Source License (SCSL) as an attempt to make the code widely available
and accessible to both individuals and companies. Sun has continued to innovate
throughout the years, releasing many versions of the starter kit. The license
associated with the starter kit was changed
<http://archives.java.sun.com/cgi-bin/wa?A2=ind0503&L=jini-users&O=A&P=36217>
in March, 2005 to the Apache License, Version 2.0.

Since its beginning, there was desire and effort to form a developer community
around the technology. This has helped to create an interesting, active, and
passionate community - the Jini Community. This global Community has engaged on
technology projects, discussions and debates, events, and a decision making
process. It has contributed to, and helped influence the direction of the
starter kit. Some of the collaborative technology projects have led to key
contributions being used by other technology projects as well as commercial
products. One example is the Service UI API 
<http://www.artima.com/jini/serviceui/>, 
which is a way to attach user interfaces to Jini services.

Despite the obvious successes of the technology and Community, some changes are
in store as outlined in a recent note to the Community: "A New Day"
<http://archives.java.sun.com/cgi-bin/wa?A2=ind0604&L=jini-users&F=&S=&P=4029>.
The most critical part of the new plan is to find the right place for the future
development and advancement of the core Jini technology. We wanted an
environment that was synergistic with our exisiting Community culture -- so one
that is active, with open communication and collaboration, and a reputation for
producing high quality software. We think we've found that place with the Apache
Software Foundation.

(0.1) criteria

/Meritocracy:/

The Jini project will be meritocractic. The project will follow the guidelines
<http://apache.org/foundation/how-it-works.html#meritocracy> of the Apache
Software Foundation. In order to achieve this, we plan on proactively recruiting
individuals in the Community to get involved in the project: specifying work
that needs to be done, encouraging bug fixes, enhancements, and advancements,
and engaging in discussion on how the code works and is structured. In the end,
we are committed to creating an environment to foster a meritocracy.

/Community:/

There has been a diverse and active Community built around Jini technology since
it was first introduced in January, 1999. The Jini Community consists of a
global set of individuals, companies, non-profit organizations, and
universities. The Community has had a web center at Jini.org
<http://www.jini.org> (around 35K accounts, and over 100 projects) and primarily
communicated through various email lists: jini-users
<http://archives.java.sun.com/archives/jini-users.html> (~1800 subscriptions),
javaspaces-users <http://archives.java.sun.com/archives/javaspaces-users.html>
(~950 subscriptions), and community discuss list
<http://community.jini.org/servlets/SummarizeList?listName=discuss> (~200
subscriptions). There are a variety of events <http://www.jini.org/events> (for
example, Jini Community Meetings, Webinars, etc) that the Community has
leveraged to share ideas and come together. There are also many individuals in
the Community who have chosen to evangelize the technology at various
conferences, user groups, blogs, etc. In summary, while it isn't quite the same
as running an open source community, we believe we've developed an incredibly
strong base on which to build.

/Core Developers:/

Most of the initial core developers are key members of Sun's Jini development, 
test,
and Community management team. The other three (non Sun) initial core developers
are well recognized technology and thought leaders in the Jini Community,
including giving presentations
<http://www.jini.org/nonav/meetings/eighth/J8abstracts.html#Brouwer> at Jini
Community Meetings, and receiving the annual Jini Community Contributor's Award
<http://www.jini.org/Contrib_Award/> in recognition of their contributions to 
the Community. There are a number of other strong developers in the Community 
interested and we expect will prove themselves worthy committers in short order.

/Alignment:/

Jini is aligned well with Apache in terms of technologies and licensing. It fits
in well technologically with other Apache projects, which also focus on
clustering, web frameworks, and Java technolgies. Also, the starter kit build
framework is based on Ant. The license of the initial source being proposed is
already aligned as it is licensed under the Apache License, Version 2.0.


(0.2) warning signs

/Orphaned products:/

The project being proposed is a natural evolution of the technology and
Community. Sun has shepherded both since 1999, and in recent years the Jini
Community has been pressing to be more involved and empowered. Once the license
for Jini technology was opened up and the Apache License, Version 2.0 was chosen
for Sun's contributions
<http://archives.java.sun.com/cgi-bin/wa?A2=ind0503&L=jini-users&O=A&P=36217>,
an open development model was the obvious next step. The response from the Jini
Community on this direction has been very positive, with many Community members
anxious to get active. This is a proposal we're making with a full committment
to construct an active and successful project.

/Inexperience with open source:/

The initial committers have varying degrees of experience with open source
projects. All have been involved with source code that has been released under
an open source license, but there is limited experience developing code with an
open source development process. We do not, however, expect any difficulty in
executing under normal meritocracy rules.

/Homogenous developers:/

Since the Jini Technology Starter Kit has been mainly developed to date by Sun
Microsystems, the vast majority of initial committers to the project are from
Sun. Over the years, Sun has received bug fixes and enhancements from other
developers which have been incorporated into the code. Our plan is to work with
these other developers and add them as committers as we progress. There are
three other initial committers (non Sun): Bill Venners, Dan Creswell, and Mark
Brouwer. Bill is the lead of the Service UI API work, Dan has been involved with
much Jini-based development, including an implementation of the JavaSpaces
service called Blitz <http://www.dancres.org/blitz/>, and Mark is veteran of 
much Jini-based development, including commercial work at Virgil
<http://www.virgil.nl> as well as leading the open source Cheiron
<http://www.cheiron.org> project.

/Reliance on salaried developers:/

It is expected that Jini development will occur on both salaried time and on
volunteer time, after hours. While there is reliance on salaried developers
(currently from Sun, but it's expected that other company's salaried developers
will also be involved), the Jini Community is very active and things should
balance out fairly quickly. In the meantime, Sun will support the project in the
future by dedicating 'work time' to Jini, so that there is a smooth transition.

/No ties to other Apache products:/

Currently the only tie to Apache projects is the starter kit's use of the Ant
build tool. There are potential future ties (http server, database backend, etc)
that will be explored.

/A fascination with the Apache brand:/

Many of us have been working on advancing Jini technology and developing the
Jini Community for many years. We care deeply about it and want the technology
and Commutity to continue to flourish. As we considered options for where/how to
move Jini technology to an open source development model, our respect and
admiration for the work done by the Apache Software Foundation drove us to
choose this as our best option. As a Java-based infrastructure for building
systems, Jini fits in well with the other projects at Apache, and the Community
we've built shares many philosophies (open communication, fairness, diversity,
etc). We believe there are strong synergies here.


(1) scope of the project

The scope of the Jini project would be the continued development of Jini
technology core infrastructure software, including the implementation of Jini
specifications, related utilities and tools. The development would include
adding new features and improving performance, scalability, quality, and
extensibility.


(2) identify the initial source from which the project is to be populated

The initial resources would be garnered from:
    * Jini Technology Starter Kit
      <http://starterkit.jini.org/downloads/2.1/> project on Jini.org,
    * Service UI implementation
      <http://www.artima.com/jini/serviceui/CodeAccess.html> from Artima.com, 
    * QATests <http://qatests.jini.org> project on Jini.org


(3) identify the ASF resources to be created

(3.1) mailing list(s)
    * jini-ppmc (with moderated subscriptions)
    * jini-dev
    * jini-commits
    * jini-user


(3.2) Subversion or CVS repositories

Jini would like to use a Subversion repository.

(3.3) Jira (issue tracking)

Since Jini would have its own release cycle, it should have its own JIRA project
    * Project Name: Jini
    * Project Key: Jini


(4) identify the initial set of committers

    * Dan Creswell ([EMAIL PROTECTED]) 
    * Bill Venners ([EMAIL PROTECTED])
    * Mark Brouwer ([EMAIL PROTECTED])
    * Geir Magnusson Jr ([EMAIL PROTECTED])
    * Bob Scheifler ([EMAIL PROTECTED])
    * Jim Waldo ([EMAIL PROTECTED]) 
    * John McClain ([EMAIL PROTECTED]) 
    * Brian Murphy ([EMAIL PROTECTED]) 
    * Peter Jones ([EMAIL PROTECTED]) 
    * Juan Ramirez ([EMAIL PROTECTED]) 
    * Frank Barnaby ([EMAIL PROTECTED]) 
    * Nigel Daley ([EMAIL PROTECTED]) 
    * Fred Oliver ([EMAIL PROTECTED]) 
    * Robert Resendes ([EMAIL PROTECTED] 
    * Vinod Johnson ([EMAIL PROTECTED]) 
    * Ron Mann ([EMAIL PROTECTED]) 
    * Jim Hurley ([EMAIL PROTECTED])

(5) identify apache sponsoring individual

* Champion
    - Geir Magnusson Jr.

* Mentor 
    - Geir Magnusson Jr.

---------------------------------------------------------------------------

/last edited 2006-06-19 9:27:33 by Jim Hurley/

---------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to