<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Vote: yes</div>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
/ Christian</div>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="mail-editor-reference-message-container" style="color: inherit; background-color: inherit;">
<div dir="ltr" class="ms-outlook-mobile-reference-message skipProofing"></div>
<div class="ms-outlook-mobile-reference-message skipProofing" style="text-align: left; padding: 3pt 0in 0in; border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(181, 196, 223) currentcolor currentcolor; font-family: Aptos; font-size: 12pt; color: black;">
<b>From: </b>announce <announce-retn@openjdk.org> on behalf of Sundararajan Athijegannathan <sundararajan.athijegannathan@oracle.com><br>
<b>Date: </b>Wednesday, February 25, 2026 at 7:35 AM<br>
<b>To: </b>announce@openjdk.org <announce@openjdk.org><br>
<b>Subject: </b>CFV: New Project: Detroit<br>
<br>
</div>
<div class="elementToProof" id="app" style="margin: 0px; color: inherit; background-color: inherit;">
<div class="elementToProof" id="appContainer" style="margin: 0px; color: inherit; background-color: inherit;">
<div class="elementToProof" id="mainApp" style="margin: 0px; color: inherit; background-color: inherit;">
<div class="elementToProof" id="MainModule" style="margin: 0px; min-height: 0px; color: inherit; background-color: inherit;">
<div class="elementToProof" id="Skip to message-region" style="margin: 0px 0px 0px 1px; min-width: 370px; color: inherit; background-color: inherit;">
<div class="elementToProof" id="ReadingPaneContainerId" style="margin: 0px; color: inherit; background-color: inherit;">
<div class="elementToProof" id="ConversationReadingPaneContainer" style="margin: 0px 0px 8px 8px; min-width: 300px; color: inherit; background-color: inherit;">
<div class="elementToProof" id="focused" style="margin: 2px; padding: 6px 12px 12px; border-width: 1px; border-style: solid; border-color: transparent; border-radius: 4px; color: inherit; background-color: inherit;">
<div style="margin: 12px 16px 0px 52px; padding-bottom: 2px;">
<div class="elementToProof" id="UniqueMessageBody_20" style="margin: 0px; color: inherit; background-color: inherit;">
<div style="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 href="https://mail.openjdk.org/pipermail/announce/2018-February/000244.html" target="_blank" id="OWA3fd5b554-f3fb-b295-c6b5-0ea8216d8a67" class="OWAAutoLink" title="https://mail.openjdk.org/pipermail/announce/2018-February/000244.html" rel="noopener noreferrer" data-linkindex="0" data-auth="NotApplicable" data-outlook-id="f46eab1f-7097-4718-984a-0f0c7cefc4d6" style="margin: 0px;">
https://mail.openjdk.org/pipermail/announce/2018-February/000244.html</a><br>
[2] <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.scripting/javax/script/package-summary.html" target="_blank" id="OWA6b9d177c-d869-2b0d-881e-0ff62b4e9df7" class="OWAAutoLink" title="https://docs.oracle.com/en/java/javase/25/docs/api/java.scripting/javax/script/package-summary.html" rel="noopener noreferrer" data-linkindex="1" data-auth="NotApplicable" data-outlook-id="a2599f9c-e4d3-4711-a470-d9f3b1e9c5de" style="margin: 0px;">
https://docs.oracle.com/en/java/javase/25/docs/api/java.scripting/javax/script/package-summary.html</a><br>
[3] <a href="https://jcp.org/en/jsr/detail?id=223" target="_blank" id="OWA5a4454f1-8e87-9b84-50e1-a8b9e5883ba1" class="OWAAutoLink" title="https://jcp.org/en/jsr/detail?id=223" rel="noopener noreferrer" data-linkindex="2" data-auth="NotApplicable" data-outlook-id="3785ac9c-037a-4d85-abe1-5a456c88bdcf" style="margin: 0px;">
https://jcp.org/en/jsr/detail?id=223</a><br>
[4] <a href="https://v8.dev" target="_blank" id="OWAb00106c1-df56-ff48-1ef4-456fe6de5eac" class="OWAAutoLink" title="https://v8.dev" rel="noopener noreferrer" data-linkindex="3" data-auth="NotApplicable" data-outlook-id="84ce80b1-b464-4f75-a157-905e9b4aacbd" style="margin: 0px;">
https://v8.dev</a><br>
[5] <a href="https://mail.openjdk.org/pipermail/compiler-dev/2024-September/027645.html" target="_blank" id="OWA1b1522ab-f774-cc79-3134-70a61fc2ee26" class="OWAAutoLink" title="https://mail.openjdk.org/pipermail/compiler-dev/2024-September/027645.html" rel="noopener noreferrer" data-linkindex="4" data-auth="NotApplicable" data-outlook-id="f91ca9e1-04e8-4d47-9344-50502ac23c02" style="margin: 0px;">
https://mail.openjdk.org/pipermail/compiler-dev/2024-September/027645.html</a><br>
[6] <a href="https://github.com/python/cpython" target="_blank" id="OWA75bddd70-bf0f-77ec-7fec-a2e786bb57a5" class="OWAAutoLink" title="https://github.com/python/cpython" rel="noopener noreferrer" data-linkindex="5" data-auth="NotApplicable" data-outlook-id="6a16c0c1-6f1e-45e6-80f9-0448104e5825" style="margin: 0px;">
https://github.com/python/cpython</a><br>
[7] <a href="https://openjdk.org/jeps/454" target="_blank" id="OWA3164a9ba-9e14-ccc3-e969-4e36dd2da588" class="OWAAutoLink" title="https://openjdk.org/jeps/454" rel="noopener noreferrer" data-linkindex="6" data-auth="NotApplicable" data-outlook-id="1f2da988-50e6-441d-b610-504acbda1d5d" style="margin: 0px;">
https://openjdk.org/jeps/454</a><br>
[8] <a href="http://openjdk.java.net/census#members" target="_blank" id="OWA23a0deeb-8c7a-19b4-19fb-5d7f403fa0cb" class="OWAAutoLink" title="http://openjdk.java.net/census#members" rel="noopener noreferrer" data-linkindex="7" data-auth="NotApplicable" data-outlook-id="fe6bad0e-064a-4f21-aeb4-7ce8bbe5d24b" style="margin: 0px;">
http://openjdk.java.net/census#members</a><br>
[9] <a href="http://openjdk.java.net/projects/#new-project-vote" target="_blank" id="OWA5378a1b1-86dc-5d7b-02b0-d0948b37e5aa" class="OWAAutoLink" title="http://openjdk.java.net/projects/#new-project-vote" rel="noopener noreferrer" data-linkindex="8" data-auth="NotApplicable" data-outlook-id="bed05697-9856-4e08-a6f4-5d46254e003b" style="margin: 0px;">
http://openjdk.java.net/projects/#new-project-vote</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="elementToProof" id="FlexPane_Overflow_Container" style="margin: 0px; color: inherit; background-color: inherit;" dir="ltr">
<div dir="ltr" class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
</div>
<div dir="ltr" class="ms-outlook-mobile-reference-message skipProofing" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
</div>
</body>
</html>