<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Vote: yes</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div id="appendonsend"></div>
<div><br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="display: inline-block; width: 98%;">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<b>From:</b> announce <announce-retn@openjdk.org> on behalf of Sundararajan Athijegannathan <sundararajan.athijegannathan@oracle.com><br>
<b>Sent:</b> Wednesday, February 25, 2026 11:22 AM<br>
<b>To:</b> announce@openjdk.org <announce@openjdk.org><br>
<b>Subject:</b> CFV: New Project: Detroit </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="margin: 0px;" id="x_app">
<div style="margin: 0px;" id="x_appContainer">
<div style="margin: 0px;" id="x_mainApp">
<div style="margin: 0px; min-height: 0px;" id="x_MainModule">
<div style="margin: 0px 0px 0px 1px; min-width: 370px;" id="x_Skip">
<div style="margin: 0px;" id="x_ReadingPaneContainerId">
<div style="margin: 0px 0px 8px 8px; min-width: 300px;" id="x_ConversationReadingPaneContainer">
<div style="margin: 2px; padding: 6px 12px 12px; border-width: 1px; border-style: solid; border-color: transparent; border-radius: 4px;" id="x_focused">
<div style="margin: 12px 16px 0px 52px; padding-bottom: 2px;">
<div style="margin: 0px;" id="x_UniqueMessageBody_20">
<div style="direction: ltr; font-size: 11pt;">I hereby propose the (re)creation of the Detroit Project, with myself as<br>
the Lead and the Compiler Group as the sponsoring Group.<br>
<br>
The Detroit Project was originally created in February 2018 [1], with<br>
the intent to develop an implementation of the JCP-standard javax.script<br>
API [2][3] based on the V8 JavaScript engine [4].  This would enable<br>
JavaScript to be used as an extension language for Java applications,<br>
and likewise Java libraries to be accessed from JavaScript applications.<br>
The Project never got off the ground, however, so it was dissolved in<br>
September 2024 [5].<br>
<br>
Here in February 2026, there is still interest in using Java and<br>
JavaScript together.  With the rise of AI, moreover, there is also<br>
interest in accessing AI functionality written in Python from Java<br>
applications.<br>
<br>
Some colleagues and I have therefore revived the original prototype<br>
JavaScript script engine based on V8, and have also prototyped a Python<br>
script engine based on CPython [6].  Using widely-adopted JavaScript<br>
and Python implementations, rather than re-implementing JavaScript and<br>
Python from scratch, ensures both low long-term maintenance costs and<br>
compatibility for existing JavaScript and Python code.<br>
<br>
We would like to move these prototypes into a proper OpenJDK Project<br>
in order to accelerate development.  We expect to leverage and push<br>
the boundaries of the FFM API [7], so this work will likely influence<br>
Project Panama.  Over time, the Project may consider implementing<br>
script engines for additional languages.<br>
<br>
The initial Committers will be:<br>
<br>
  Jim Laskey<br>
  Sundararajan Athijegannathan<br>
  Jorn Vernee<br>
  Mikael Vidstedt<br>
  Henry Jen<br>
  Maurizio Cimadamore<br>
  Alan Bateman<br>
  Hannes Wallnöfer<br>
  Jan Lahoda<br>
  Jaikiran Pai<br>
<br>
Votes are due by midnight UTC on Wednesday, 11 March.<br>
<br>
Only current OpenJDK Members [8] are eligible to vote on this motion.<br>
Votes must be cast in the open on the discuss list.  Replying to this<br>
message is sufficient if your mail program honors the Reply-To header.<br>
<br>
For Lazy Consensus voting instructions, see [9].<br>
<br>
Sundar<br>
<br>
<br>
[1] <a style="margin: 0px;" data-linkindex="0" data-auth="NotApplicable" title="https://mail.openjdk.org/pipermail/announce/2018-February/000244.html" class="x_OWAAutoLink" id="OWAe78b66c1-154c-0597-e7f1-059176789aee" href="https://mail.openjdk.org/pipermail/announce/2018-February/000244.html">
https://mail.openjdk.org/pipermail/announce/2018-February/000244.html</a><br>
[2] <a style="margin: 0px;" data-linkindex="1" data-auth="NotApplicable" title="https://docs.oracle.com/en/java/javase/25/docs/api/java.scripting/javax/script/package-summary.html" class="x_OWAAutoLink" id="OWAa8ab0766-3671-5f29-df63-57c8aa92e74d" href="https://docs.oracle.com/en/java/javase/25/docs/api/java.scripting/javax/script/package-summary.html">
https://docs.oracle.com/en/java/javase/25/docs/api/java.scripting/javax/script/package-summary.html</a><br>
[3] <a style="margin: 0px;" data-linkindex="2" data-auth="NotApplicable" title="https://jcp.org/en/jsr/detail?id=223" class="x_OWAAutoLink" id="OWAf45d62ab-9057-ae7e-d4f8-056ac96d679e" href="https://jcp.org/en/jsr/detail?id=223">
https://jcp.org/en/jsr/detail?id=223</a><br>
[4] <a style="margin: 0px;" data-linkindex="3" data-auth="NotApplicable" title="https://v8.dev" class="x_OWAAutoLink" id="OWA16e17a33-4b8f-2e4d-22d3-8874d9b886d3" href="https://v8.dev">
https://v8.dev</a><br>
[5] <a style="margin: 0px;" data-linkindex="4" data-auth="NotApplicable" title="https://mail.openjdk.org/pipermail/compiler-dev/2024-September/027645.html" class="x_OWAAutoLink" id="OWAf516f93c-a80e-1682-4708-c9c09de0de3e" href="https://mail.openjdk.org/pipermail/compiler-dev/2024-September/027645.html">
https://mail.openjdk.org/pipermail/compiler-dev/2024-September/027645.html</a><br>
[6] <a style="margin: 0px;" data-linkindex="5" data-auth="NotApplicable" title="https://github.com/python/cpython" class="x_OWAAutoLink" id="OWAe0dd0c5f-27a8-99c9-7722-7ecf11456a09" href="https://github.com/python/cpython">
https://github.com/python/cpython</a><br>
[7] <a style="margin: 0px;" data-linkindex="6" data-auth="NotApplicable" title="https://openjdk.org/jeps/454" class="x_OWAAutoLink" id="OWAc5a7d0c9-cf86-ebbf-9d3f-0cc38020929e" href="https://openjdk.org/jeps/454">
https://openjdk.org/jeps/454</a><br>
[8] <a style="margin: 0px;" data-linkindex="7" data-auth="NotApplicable" title="http://openjdk.java.net/census#members" class="x_OWAAutoLink" id="OWA0be0dc25-5f1c-7d55-73be-47666a75b724" href="http://openjdk.java.net/census#members">
http://openjdk.java.net/census#members</a><br>
[9] <a style="margin: 0px;" data-linkindex="8" data-auth="NotApplicable" title="http://openjdk.java.net/projects/#new-project-vote" class="x_OWAAutoLink" id="OWAa9404357-760c-ef93-1bea-52f100531b10" href="http://openjdk.java.net/projects/#new-project-vote">
http://openjdk.java.net/projects/#new-project-vote</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="margin: 0px;" id="x_FlexPane_Overflow_Container">
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
</body>
</html>