Sun opens the Jini Licensing Model

A Conversation with Jim Hurley and Bob Scheifler

by Bill Venners
June 7, 2005

Summary
Jini technology has a new licensing model. Sun originally released Jini technology under the Sun Community Source License (SCSL), but recently opened the licensing model and began releasing their specifications and implementations under Apache 2. In this interview, Bill Venners discusses this change with Jini team members Jim Hurley and Bob Scheifler.

In 1998, Sun Microsystems released Jini network technology [1] under the Sun Community Source License (SCSL) [2]. The SCSL blended aspects of proprietary and open source licensing models. The license allowed source code to be shared among a community of developers, but required and enforced compatibility through compliance testing. Although the SCSL license enabled a community to grow around Jini technology, sometimes the license's complexity and constraints worked as a barrier to adoption for Jini. Recently, Sun changed the licensing model for Jini technology, and began releasing their standards specifications and implementations under the Apache 2 license [3]. In this interview, Bill Venners speaks with two members of Sun's Jini team, Jim Hurley and Bob Scheifler, about the licensing model change.

Jim Hurley is a Senior Engineering Manager at Sun. As the Jini Community Manager, Hurley helps to oversee the overall health and growth of the Jini Community. He serves as both a member of the Jini Technical Oversight Committee (TOC) [4] and the Community Executive. Bob Scheifler is a Sun Distinguished Engineer and architect in the Jini group. Scheifler, who led the development of the X Windows System, was more recently the driving force behind the design of Jini's security model, developed under the Davis project. Today he continues to provide technical leadership in Sun's Jini group and serves as a member of the Jini Community's TOC.

A new license model for Jini

Bill Venners: Jini has undergone a license model change. What are the details of this change, and what are the reasons behind it?

Bob Scheifler: Sun has opened up the licensing model for Jini technology, and in doing so, has given developers much broader freedoms in licensing their Jini technology works. We've moved from the Sun Community Source License (SCSL) model to one in which developers can decide if and how they want to license their research or commercial Jini technology-based code, specifications, or products. In order to accomplish this model change, Sun implemented three fundamental steps:

  • We enabled Jini SCSL licensees the freedom to choose their own license for Jini technology source code, object code, and specs that they've developed. This essentially frees Jini SCSL licensees from certain obligations they were restricted by under the Jini SCSL.

  • We re-licensed most of our Jini technology standards specs under the Apache 2 license, plus a separate Patent Non-Assert Covenant. [5], to enable greater freedoms in using and implementing these standards.

  • We released our latest version of the Jini Technology Starter Kit, version 2.1Beta [6] under the Apache 2 license to enable broader access, use, distribution, and creation of derivative works.

We're also committed to re-licensing the rest of our Jini technology standards and implementations under Apache 2.

The net result is a license model for Jini technology that is very open, and that gives developers and companies a great degree of freedom of choice.

Jim Hurley: One of the key reasons for this model change was to remove barriers to Jini technology. We've got this incredible technology, and for some the SCSL license was an inhibitor to both research and commercial efforts. Our goal is to have broader adoption, use, and technical advancement of Jini technology. This is a move to help facilitate that—essentially, make the license model broadly acceptable so that the focus can be on the technology and community (not the license). We think the greater openness, accessibility, and new opportunities created by this license model change will help fuel continued strong interest in Jini technology and activity in the Jini Community. We're very excited about it.

What about compatibility?

Bill Venners: My understanding is that the main reason Sun took the SCSL approach originally was to help ensure compatibility between different vendor's implementations of Jini technology. What does Jini being released under an open source license mean for compatibility?

Jim Hurley: Compatibility in commercial products was certainly a key component of the SCSL model, but I wouldn't classify it as the main reason for Sun designing the SCSL. If you go back to the early days of Jini technology—Bill Joy, Ken Arnold, and the rest of the Sun Jini team were trying to define a model which would help build a developer community around the technology. A community in which individual developers and commercial companies would be interested in engaging, sharing, and collaborating. There was a desire for experimental research to take place, and only when a company commercially sold or deployed a Jini-based solution would a requirement on compatibility be present. Looking back, I'd venture that the SCSL did help us get a great start on building a vibrant community.

Bob Scheifler: To clarify one other part of your question, "Jini being released under an open source license," isn't totally accurate. Sun has opened up the licensing model for Jini technology, and has chosen an open source license, Apache 2, for our contributions, but others have the freedom to choose whatever license they want for their Jini technology works. We hope the common choice is an open source license—and Apache 2 to be specific—but there may be reasons certain individuals or companies decide on other licensing terms for their shared works.

Jim Hurley: But getting back to answer your compatibility question: Compatibility still remains very important for Jini technology and the community. We have eliminated the license-enforced aspect of compatibility of commercial solutions, but Sun does believe that compatibility is still of great importance and have been told by many in the community that they share that belief.

Bob Scheifler: There are multiple aspects to compatibility to consider. For example, one possible goal is to have portability (across vendors over time), another is to have network interoperability (between vendors at the same time). Compatibility can help define and shape the community, and it can also be used to create value for a brand. You can think about compatibility with individual standards, or with an aggregation of standards into some form of platform or environment. Social and economic pressures can still be used to promote and maintain compatibility in all of these dimensions. We'll continue to provide the tests that were included in the licensed-enforced Technology Compatibility Kit [7], and we encourage everyone to hold vendors accountable for passing them. And we're interested in community discussions about what else can be done.

Response from the Jini Community

Bill Venners: What response have you received from the community about the license model change?

Jim Hurley: The response from the Jini Community has really been fantastic. I'd characterize it as—excitement and anticipation. A couple notes to our users list have expressed this:

The screams of joy and acclamation are still echoing in my head and through the hallways.

and

Thanks to Sun for listening to your Jini team ;-), and congratulations to us all. That this may mark a new era for the Jini Technology and community!

The part I like best about the last one is "congratulations to us all!" It illustrates how the community was part of the overall process in determining the license change.

Bob Scheifler: That was definitely a critical part of this whole thing, openly working within the community to forge the right path forward. There was a lot of great debate and dialogue, and in the end, I think the entire community is psyched about the direction and possibilities.

Jim Hurley: We've made some important steps to enable this change, but there is still much to do. We've got to align our Jini Community Decision Process (JDP) [8], update our Jini.org site [9] to make it an open source-style site, re-license Sun's other contributions (for example, Surrogate, Rio, etc) under the Apache 2 license, help Jini.org projects who want to re-license their works, etc. This is all going to going to take a little time to work through, so stay tuned.

Bob Scheifler: Overall, we're very happy with the license model change. Freedom and choice win in the end, and we're really excited by the prospects of growth and technical advancement this brings to the Jini Community.

Resources

[1] Jini Network Technology:
http://www.sun.com/software/jini/

[2] Sun Community Source License (SCSL):
http://www.sun.com/software/jini/licensing/overview.xml

[3] Apache 2 license:
http://www.apache.org/licenses/LICENSE-2.0.html

[4] Jini Technical Oversight Committee (TOC):
http://toc.jini.org/

[5] Jini Community Standards Patent Non-Assertion Covenant:
http://www.jini.org/standards/docs/jcs-pna-covenant.txt

[6] Jini Technology Starter Kit:
http://java.sun.com/developer/products/jini/index.jsp

[7] Technology Compatibility Kit:
http://starterkit.jini.org/downloads/index.html

[8] Jini Community Decision Process (JDP):
http://www.jini.org/jdp/

[9] Jini.org:
http://www.jini.org/

[See also] Jini Network Technology - Licensing:
http://www.sun.com/software/jini/licensing/

Talk back!

Have an opinion? Be the first to post a comment about this article.

About the author

Bill Venners is president of Artima Software, Inc. and editor-in-chief of Artima Developer. He is author of the book, Inside the Java Virtual Machine, a programmer-oriented survey of the Java platform's architecture and internals. His popular columns in JavaWorld magazine covered Java internals, object-oriented design, and Jini. Bill has been active in the Jini Community since its inception. He led the Jini Community's ServiceUI project, whose ServiceUI API became the de facto standard way to associate user interfaces to Jini services. Bill also serves as an elected member of the Jini Community's initial Technical Oversight Committee (TOC), and in this role helped to define the governance process for the community.