
The Jikes Research Virtual Machine project: Building an open-source research community B. Alpern & S. Augart S. M. Blackburn M. Butrico A. Cocchi P. Cheng J. Dolby S. Fink This paper describes the evolution of the Jikese Research Virtual Machine project from D. Grove an IBM internal research project, called Jalapen˜ o, into an open-source project. After M. Hind summarizing the original goals of the project, we discuss the motivation for releasing it K. S. McKinley as an open-source project and the activities performed to ensure the success of the M. Mergen project. Throughout, we highlight the unique challenges of developing and J. E. B. Moss maintaining an open-source project designed specifically to support a research T. Ngo community. V. Sarkar M. Trapp On October 15, 2001, IBM Research launched the promoting the system in the research community; Jikes* RVM (Research Virtual Machine) open-source and developing a community to maintain and project. Jikes RVM provides a novel virtual-machine enhance the system in the future. software infrastructure, suitable for research on modern programming language design and imple- The primary focus of the Jikes RVM project was the mentation techniques. Over the past three years, the development of a software platform designed to be a project has grown and made a significant impact on research testbed for the prototyping of new tech- the programming-language research community. nologies. In contrast, most open-source projects develop software products for use by the general This paper describes the evolution of Jikes RVM public. We focus on the implications of this from an IBM internal research project, called distinction throughout the paper. Jalapen˜o, into a full-fledged open-source project. The story provides an instructive case study on how The remainder of this paper is as follows. The next a small systems research project can grow into a section begins with a general discussion of issues shared project used by hundreds of researchers. The paper discusses a variety of challenges that arose in ÓCopyright 2005 by International Business Machines Corporation. Copying in printed form for private use is permitted without payment of royalty provided this process, including the technical enhancements that (1) each reproduction is done without alteration and (2) the Journal and software-engineering practices needed to ensure reference and IBM copyright notice are included on the first page. The title and abstract, but no other portions, of this paper may be copied or distributed the project’s success; dealing with intellectual royalty free without further permission by computer-based and other information-service systems. Permission to republish any other portion of the property, corporate process, and licensing issues; paper must be obtained from the Editor. 0018-8670/05/$5.00 Ó 2005 IBM IBM SYSTEMS JOURNAL, VOL 44, NO 2, 2005 ALPERN ET AL. 399 pertaining to a research-oriented open-source proj- publications and technical results, not produc- ect. The section ‘‘Motivation and history of the tion-quality software. However, it is desirable for Jalapen˜o project’’ discusses the Jalapen˜o project’s the research infrastructure to be as close to production quality as possible to strengthen the credibility of the research. & The majority of Jikes RVM users modify the system A related consequence is that our user commun- to produce interesting research ity has less motivation to add functionality. We results & believe that many open-source developers are initially motivated to contribute to a project by a desire to resolve some irritating deficiency with origin as an IBM internal project. The sections ‘‘The the system. For example, a user may want to use university releases’’ and ‘‘University activities’’ re- a favorite digital camera with an open-source view an intermediate phase, during which the photo editor; this could motivate the user to write software was made available to a small number of and contribute a device driver. In contrast, our universities under a restricted license. ‘‘Preparing user community generally seems content with the for open source’’ and ‘‘Project evolution’’ discuss the functionality provided by the system, which is preparation for, emergence, and first few years of sufficient for producing high-quality research Jikes RVM as a full-fledged, mature open-source results on common benchmark programs. If project. ‘‘Measuring impact’’ presents some metrics particular functionality is missing or broken, that document the system’s impact, and the paper most users can work around the problem and still concludes with some lessons learned from this case achieve their individual goals. study. 2. Open-source license requirements, including OPEN SOURCE FOR RESEARCH source-code availability, do not apply to research The majority of open-source projects develop soft- results. Many open-source projects effectively ware that is used primarily as a ‘‘black box,’’ that is, enforce community sharing by means of their a system used solely for its functionality, whose licenses, such as the GPL (General Public internal design is not of interest. Community License) and CPL (Common Public License). members adopt the software as a tool to perform These licenses, in differing ways, require that some function, and most users often do not care recipients who create and distribute derivative about the internal design and implementation of the works of open-source software must make the software. Examples of such software tools include source code of their derivative works available to most of the best known open-source projects, their recipients. However, these licenses do not 1,2 3,4 including operating system, word processors, require source code to be made available when a 5 6 integrated development environments, compilers, paper is published about a system because no 7,8 and graphical desktop environments. In contrast, distribution of the derived system is involved. the Jikes RVM project developed software that is Furthermore, many academics tend to keep intended to be used as a ‘‘white box,’’ a system research infrastructure private as a competitive whose internal design is of interest and enables advantage. The majority of researchers using the research. The overwhelming majority of Jikes RVM Jikes RVM choose not to make their code users modify the system in a nontrivial way to available. We present an argument against this produce interesting research results. This research approach in the section on conclusions and focus has major implications on the character of the lessons learned. open-source project as follows: 3. The research community tends to accept less 1. Most of our community members are professors polished software than the general public. The and graduate students, who use the system to Jikes RVM provides for many academic groups a advance an individual research agenda. This critical element of infrastructure that is crucial to community has different motivations than most their project’s success. Because of its perceived open-source software contributors; they are importance, the community will generally toler- primarily driven by the desire to produce ate a great deal of difficulty in learning and 400 ALPERN ET AL. IBM SYSTEMS JOURNAL, VOL 44, NO 2, 2005 installing the system in exchange for a system cations, an aggressive optimizing compiler, a state- that is easier to change and modify. Although the of-the-art adaptive optimization system, and a Jikes RVM is fairly robust and well-tested family of high-performance garbage collectors. The compared to the software of most research initial implementation ran on PowerPC* processors projects, the initial user experience is, for various running the AIX* operating system. reasons, less pleasant than that encountered when using commercial proprietary software Early on, Jalapen˜o researchers decided to develop such as a product Java** virtual machine. the system in a ‘‘clean room’’ manner, such that the developers would not have access to any non-IBM 4. Our user community requires extensive docu- source code for the Java virtual machine and mentation on the inner workings of the system, libraries. The Jalapen˜o virtual machine was written not just the exposed command line or application entirely with new code and used libraries developed programming interfaces (APIs). Documentation by IBM at the OTI (Object Technology International) and explanations of the inner workings of the laboratory. This decision maximized flexibility for system are crucial and constitute a key part of the the future evolution of the project by avoiding project’s products. Changes in internal structures potential intellectual property and copyright issues. can cause disruption in the user community and must be managed carefully. During 1998, the project team grew into two separate research groups: the runtime group and the MOTIVATION AND HISTORY OF THE JALAPEN˜ O optimizing-compiler group. The runtime group PROJECT focused on core VM functionality, such as threading, Sun Microsystems introduced the Java** program- the baseline compiler, the garbage collectors, JNI ming language in May 1995. It offered some (Java Native Interface), and the library interface. significant technical advantages over previous The optimizing compiler group focused on the commercial programming languages, including a optimizing compiler and adaptive optimization portable program representation and some safety system. At its peak the project included approx- guarantees. To support these features,
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages19 Page
-
File Size-