@effekt-lang/effekt 0.24.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,69 +1,79 @@
1
-
2
- // Common Runtime
3
- // --------------
4
- function Cell(init, region) {
5
- const cell = {
6
- value: init,
7
- backup: function() {
8
- const _backup = cell.value;
9
- // restore function (has a STRONG reference to `this`)
10
- return () => { cell.value = _backup; return cell }
11
- }
12
- }
13
- return cell;
1
+ // Complexity of state:
2
+ //
3
+ // get: O(1)
4
+ // set: O(1)
5
+ // capture: O(1)
6
+ // restore: O(|write operations since capture|)
7
+ const Mem = null
8
+
9
+ function Arena() {
10
+ const s = {
11
+ root: { value: Mem },
12
+ generation: 0,
13
+ fresh: (v) => {
14
+ const r = {
15
+ value: v,
16
+ generation: s.generation,
17
+ store: s,
18
+ set: (v) => {
19
+ const s = r.store
20
+ const r_gen = r.generation
21
+ const s_gen = s.generation
22
+
23
+ if (r_gen == s_gen) {
24
+ r.value = v;
25
+ } else {
26
+ const root = { value: Mem }
27
+ // update store
28
+ s.root.value = { ref: r, value: r.value, generation: r_gen, root: root }
29
+ s.root = root
30
+ r.value = v
31
+ r.generation = s_gen
32
+ }
33
+ }
34
+ };
35
+ return r
36
+ },
37
+ // not implemented
38
+ newRegion: () => s
39
+ };
40
+ return s
14
41
  }
15
42
 
16
- const global = {
17
- fresh: Cell
43
+ function snapshot(s) {
44
+ const snap = { store: s, root: s.root, generation: s.generation }
45
+ s.generation = s.generation + 1
46
+ return snap
18
47
  }
19
48
 
20
- function Arena(_region) {
21
- const region = _region;
22
- return {
23
- fresh: function(init) {
24
- const cell = Cell(init);
25
- // region keeps track what to backup, but we do not need to backup unreachable cells
26
- region.push(cell) // new WeakRef(cell))
27
- return cell;
28
- },
29
- region: _region,
30
- newRegion: function() {
31
- // a region aggregates weak references
32
- const nested = Arena([])
33
- // this doesn't work yet, since Arena.backup doesn't return a thunk
34
- region.push(nested) //new WeakRef(nested))
35
- return nested;
36
- },
37
- backup: function() {
38
- const _backup = []
39
- let nextIndex = 0;
40
- for (const ref of region) {
41
- const cell = ref //.deref()
42
- // only backup live cells
43
- if (cell) {
44
- _backup[nextIndex] = cell.backup()
45
- nextIndex++
46
- }
47
- }
48
- function restore() {
49
- const region = []
50
- let nextIndex = 0;
51
- for (const restoreCell of _backup) {
52
- region[nextIndex] = restoreCell() // new WeakRef(restoreCell())
53
- nextIndex++
54
- }
55
- return Arena(region)
56
- }
57
- return restore;
58
- }
59
- }
49
+ function reroot(n) {
50
+ if (n.value === Mem) return;
51
+
52
+ const diff = n.value
53
+ const r = diff.ref
54
+ const v = diff.value
55
+ const g = diff.generation
56
+ const n2 = diff.root
57
+ reroot(n2)
58
+ n.value = Mem
59
+ n2.value = { ref: r, value: r.value, generation: r.generation, root: n}
60
+ r.value = v
61
+ r.generation = g
60
62
  }
61
63
 
64
+ function restore(store, snap) {
65
+ // linear in the number of modifications...
66
+ reroot(snap.root)
67
+ store.root = snap.root
68
+ store.generation = snap.generation + 1
69
+ }
62
70
 
71
+ // Common Runtime
72
+ // --------------
63
73
  let _prompt = 1;
64
74
 
65
75
  const TOPLEVEL_K = (x, ks) => { throw { computationIsDone: true, result: x } }
66
- const TOPLEVEL_KS = { prompt: 0, arena: Arena([]), rest: null }
76
+ const TOPLEVEL_KS = { prompt: 0, arena: Arena(), rest: null }
67
77
 
68
78
  function THUNK(f) {
69
79
  f.thunk = true
@@ -80,9 +90,6 @@ function CAPTURE(body) {
80
90
 
81
91
  const RETURN = (x, ks) => ks.rest.stack(x, ks.rest)
82
92
 
83
- // const r = ks.arena.newRegion(); body
84
- // const x = r.alloc(init); body
85
-
86
93
  // HANDLE(ks, ks, (p, ks, k) => { STMT })
87
94
  function RESET(prog, ks, k) {
88
95
  const prompt = _prompt++;
@@ -90,13 +97,6 @@ function RESET(prog, ks, k) {
90
97
  return prog(prompt, { prompt, arena: Arena([]), rest }, RETURN)
91
98
  }
92
99
 
93
- function DEALLOC(ks) {
94
- const arena = ks.arena
95
- if (!!arena) {
96
- arena.length = arena.length - 1
97
- }
98
- }
99
-
100
100
  function SHIFT(p, body, ks, k) {
101
101
 
102
102
  // TODO avoid constructing this object
@@ -104,13 +104,15 @@ function SHIFT(p, body, ks, k) {
104
104
  let cont = null
105
105
 
106
106
  while (!!meta && meta.prompt !== p) {
107
- cont = { stack: meta.stack, prompt: meta.prompt, backup: meta.arena.backup(), rest: cont }
107
+ let store = meta.arena
108
+ cont = { stack: meta.stack, prompt: meta.prompt, arena: store, backup: snapshot(store), rest: cont }
108
109
  meta = meta.rest
109
110
  }
110
111
  if (!meta) { throw `Prompt not found ${p}` }
111
112
 
112
113
  // package the prompt itself
113
- cont = { stack: meta.stack, prompt: meta.prompt, backup: meta.arena.backup(), rest: cont }
114
+ let store = meta.arena
115
+ cont = { stack: meta.stack, prompt: meta.prompt, arena: store, backup: snapshot(store), rest: cont }
114
116
  meta = meta.rest
115
117
 
116
118
  const k1 = meta.stack
@@ -123,7 +125,8 @@ function RESUME(cont, c, ks, k) {
123
125
  let meta = { stack: k, prompt: ks.prompt, arena: ks.arena, rest: ks.rest }
124
126
  let toRewind = cont
125
127
  while (!!toRewind) {
126
- meta = { stack: toRewind.stack, prompt: toRewind.prompt, arena: toRewind.backup(), rest: meta }
128
+ restore(toRewind.arena, toRewind.backup)
129
+ meta = { stack: toRewind.stack, prompt: toRewind.prompt, arena: toRewind.arena, rest: meta }
127
130
  toRewind = toRewind.rest
128
131
  }
129
132
 
@@ -13,8 +13,6 @@
13
13
  #include "bytearray.c"
14
14
  #include "io.c"
15
15
  #include "panic.c"
16
- #include "ref.c"
17
- #include "array.c"
18
16
 
19
17
 
20
18
  extern void effektMain();
@@ -678,14 +678,7 @@ define private void @freeStack(%StackPointer %stackPointer) alwaysinline {
678
678
  ; RTS initialization
679
679
 
680
680
  define private tailcc void @topLevel(%Pos %val, %Stack %stack) {
681
- %rest = call %Stack @underflowStack(%Stack %stack)
682
- ; rest holds global variables
683
- call void @resume_Pos(%Stack %rest, %Pos %val)
684
- ret void
685
- }
686
-
687
- define private tailcc void @globalsReturn(%Pos %val, %Stack %stack) {
688
- %rest = call %Stack @underflowStack(%Stack %stack)
681
+ call %Stack @underflowStack(%Stack %stack)
689
682
  ret void
690
683
  }
691
684
 
@@ -699,29 +692,8 @@ define private void @topLevelEraser(%Environment %environment) {
699
692
  ret void
700
693
  }
701
694
 
702
- @global = private global { i64, %Stack } { i64 0, %Stack null }
703
-
704
695
  define private %Stack @withEmptyStack() {
705
- %globals = call %Stack @reset(%Stack null)
706
-
707
- %globalsStackPointer_pointer = getelementptr %StackValue, %Stack %globals, i64 0, i32 1
708
- %globalsStackPointer = load %StackPointer, ptr %globalsStackPointer_pointer, !alias.scope !11, !noalias !21
709
-
710
- %returnAddressPointer.0 = getelementptr %FrameHeader, %StackPointer %globalsStackPointer, i64 0, i32 0
711
- %sharerPointer.0 = getelementptr %FrameHeader, %StackPointer %globalsStackPointer, i64 0, i32 1
712
- %eraserPointer.0 = getelementptr %FrameHeader, %StackPointer %globalsStackPointer, i64 0, i32 2
713
-
714
- store ptr @globalsReturn, ptr %returnAddressPointer.0, !alias.scope !12, !noalias !22
715
- store ptr @topLevelSharer, ptr %sharerPointer.0, !alias.scope !12, !noalias !22
716
- store ptr @topLevelEraser, ptr %eraserPointer.0, !alias.scope !12, !noalias !22
717
-
718
- %globalsStackPointer_2 = getelementptr %FrameHeader, %StackPointer %globalsStackPointer, i64 1
719
- store %StackPointer %globalsStackPointer_2, ptr %globalsStackPointer_pointer, !alias.scope !11, !noalias !21
720
-
721
- %stack = call %Stack @reset(%Stack %globals)
722
-
723
- %globalStack = getelementptr %PromptValue, %Prompt @global, i64 0, i32 1
724
- store %Stack %stack, ptr %globalStack, !alias.scope !13, !noalias !23
696
+ %stack = call %Stack @reset(%Stack null)
725
697
 
726
698
  %stackStackPointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 1
727
699
  %stackPointer = load %StackPointer, ptr %stackStackPointer, !alias.scope !11, !noalias !21
@@ -1,4 +1,5 @@
1
- <!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><title>Eclipse Public License 2.0 (EPL) | The Eclipse Foundation</title><meta property="og:title" content="Eclipse Public License 2.0 (EPL) | The Eclipse Foundation"><meta name=twitter:title content="Eclipse Public License 2.0 (EPL) | The Eclipse Foundation"><meta name=description content="The Eclipse Foundation provides our global community of individuals and organisations with a mature, scalable, and business-friendly environment for open source …"><meta property="og:description" content="The Eclipse Foundation provides our global community of individuals and organisations with a mature, scalable, and business-friendly environment for open source …"><meta name=twitter:description content="The Eclipse Foundation provides our global community of individuals and organisations with a mature, scalable, and business-friendly environment for open source …"><meta name=author content="Wayne Beaton"><link href=/favicon.ico rel=icon type=image/x-icon><meta property="og:image" content="https://www.eclipse.org/images/logos/eclipse-foundation-400x400.png"><meta name=twitter:image content="https://www.eclipse.org/images/logos/eclipse-foundation-400x400.png"><meta name=twitter:card content="summary"><meta name=twitter:site content="@eclipsefdn"><meta name=twitter:creator content="@eclipsefdn"><meta property="og:url" content="https://www.eclipse.org/legal/epl-2.0/"><meta property="og:type" content="website"><meta property="og:site_name" content="Eclipse Foundation"><meta name=keywords content="epl,epl-2.0,legal,foundation,eclipse,eclipse public license,license,licenses"><meta name=generator content="Hugo 0.110.0"><link rel=canonical href=https://www.eclipse.org/legal/epl-2.0/><link rel=alternate href=/legal/epl-2.0/index.xml type=application/rss+xml title><link rel=stylesheet href="/public/css/styles.css?v=1742148967"><script>(function(e,t,n,s,o){e[s]=e[s]||[],e[s].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var a=t.getElementsByTagName(n)[0],i=t.createElement(n),r=s!="dataLayer"?"&l="+s:"";i.async=!0,i.src="https://www.googletagmanager.com/gtm.js?id="+o+r,a.parentNode.insertBefore(i,a)})(window,document,"script","dataLayer","GTM-5WLCZXC")</script><script>var tableClasses="table"</script><link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel=stylesheet type=text/css></head><body><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5WLCZXC" height=0 width=0 style=display:none;visibility:hidden></iframe></noscript><a class=sr-only href=#content>Skip to main content</a><header class="header-wrapper header-wrapper" id=header><div class=header-toolbar><div class=container><div class=header-toolbar-row><div class="toolbar-btn toolbar-search-btn dropdown"><button class=dropdown-toggle id=toolbar-search type=button data-toggle=dropdown tabindex=0 aria-label=Search>
1
+ <!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><title>Eclipse Public License 2.0 (EPL) | The Eclipse Foundation</title>
2
+ <meta property="og:title" content="Eclipse Public License 2.0 (EPL) | The Eclipse Foundation"><meta name=twitter:title content="Eclipse Public License 2.0 (EPL) | The Eclipse Foundation"><meta name=description content="The Eclipse Foundation provides our global community of individuals and organisations with a mature, scalable, and business-friendly environment for open source …"><meta property="og:description" content="The Eclipse Foundation provides our global community of individuals and organisations with a mature, scalable, and business-friendly environment for open source …"><meta name=twitter:description content="The Eclipse Foundation provides our global community of individuals and organisations with a mature, scalable, and business-friendly environment for open source …"><meta name=author content="Wayne Beaton"><link href=/favicon.ico rel=icon type=image/x-icon><meta property="og:image" content="https://www.eclipse.org/images/logos/eclipse-foundation-400x400.png"><meta name=twitter:image content="https://www.eclipse.org/images/logos/eclipse-foundation-400x400.png"><meta name=twitter:card content="summary"><meta name=twitter:site content="@eclipsefdn"><meta name=twitter:creator content="@eclipsefdn"><meta property="og:url" content="https://www.eclipse.org/legal/epl-2.0/"><meta property="og:type" content="website"><meta property="og:site_name" content="Eclipse Foundation"><meta name=keywords content="epl,epl-2.0,legal,foundation,eclipse,eclipse public license,license,licenses"><meta name=generator content="Hugo 0.144.2"><link rel=canonical href=https://www.eclipse.org/legal/epl-2.0/><link rel=alternate href=/legal/epl-2.0/index.xml type=application/rss+xml title><link rel=stylesheet href="/public/css/styles.css?v=1744568130"><script>(function(e,t,n,s,o){e[s]=e[s]||[],e[s].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var a=t.getElementsByTagName(n)[0],i=t.createElement(n),r=s!="dataLayer"?"&l="+s:"";i.async=!0,i.src="https://www.googletagmanager.com/gtm.js?id="+o+r,a.parentNode.insertBefore(i,a)})(window,document,"script","dataLayer","GTM-5WLCZXC")</script><script>var tableClasses="table"</script><link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel=stylesheet type=text/css></head><body><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5WLCZXC" height=0 width=0 style=display:none;visibility:hidden></iframe></noscript><a class=sr-only href=#content>Skip to main content</a><header class="header-wrapper header-wrapper" id=header><div class=header-toolbar><div class=container><div class=header-toolbar-row><div class="toolbar-btn toolbar-search-btn dropdown"><button class=dropdown-toggle id=toolbar-search type=button data-toggle=dropdown tabindex=0 aria-label=Search>
2
3
  <i class="fa fa-search fa-lg" aria-role=none></i></button><div class="toolbar-search-bar-wrapper dropdown-menu dropdown-menu-right" aria-labelledby=toolbar-search><form action=https://www.eclipse.org/home/search method=get><div class=search-bar><input class=search-bar-input name=q placeholder=Search>
3
4
  <button>
4
5
  <i class="fa fa-search" type=submit></i></button></div></form></div></div><div class="toolbar-btn toolbar-user-menu-btn dropdown"><button class=dropdown-toggle id=toolbar-user-menu type=button data-toggle=dropdown tabindex=0 aria-label="User Menu">
@@ -11,38 +12,38 @@ Supporters</button></li><li class=navbar-nav-links-item><button class="nav-link-
11
12
  Collaborations</button></li><li class=navbar-nav-links-item><button class="nav-link-js btn-link link-unstyled" type=button aria-expanded=true data-menu-target=resources-menu>
12
13
  Resources</button></li><li class=navbar-nav-links-item><button class="nav-link-js btn-link link-unstyled" type=button aria-expanded=true data-menu-target=the-foundation-menu>
13
14
  The Foundation</button></li></ul></nav><div class=header-navbar-end><a class="header-navbar-end-download-btn btn btn-primary" href=/downloads/ id=download-now-top-nav-20250207><i class=fa aria-hidden=true></i>
14
- Download</a>
15
- <button class=mobile-menu-btn aria-label="Toggle mobile navigation menu" aria-expanded=false>
15
+ Download
16
+ </a><button class=mobile-menu-btn aria-label="Toggle mobile navigation menu" aria-expanded=false>
16
17
  <i class="fa fa-bars fa-xl"></i></button></div></div></div></div><nav class="mobile-menu hidden" aria-expanded=false><ul><li class=mobile-menu-dropdown><a class="mobile-menu-item mobile-menu-dropdown-toggle" data-target=projects-menu><span>Projects</span>
17
18
  <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu hidden" id=projects-menu><li class=mobile-menu-dropdown><a data-target=projects-technologies-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Technologies</span>
18
- <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=projects-technologies-sub-menu><li><a class=mobile-menu-item href=/topics/ide/>Developer Tools & IDEs</a></li><li><a class=mobile-menu-item href=/topics/cloud-native/>Cloud Native</a></li><li><a class=mobile-menu-item href=/topics/edge-and-iot>Edge & IoT</a></li><li><a class=mobile-menu-item href=/topics/automotive-and-mobility/>Automotive & Mobility</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=projects-projects-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Projects</span>
19
- <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=projects-projects-sub-menu><li><a class=mobile-menu-item href=https://projects.eclipse.org/>Project Finder</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/projects/project_activity.php>Project Activity</a></li><li><a class=mobile-menu-item href=/projects/resources>Project Resources</a></li><li><a class=mobile-menu-item href=/specifications>Specifications</a></li><li><a class=mobile-menu-item href=/contribute/>Contribute</a></li></ul></div></li></ul></div></li><li class=mobile-menu-dropdown><a class="mobile-menu-item mobile-menu-dropdown-toggle" data-target=supporters-menu><span>Supporters</span>
19
+ <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=projects-technologies-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/topics/ide/>Developer Tools & IDEs</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/topics/cloud-native/>Cloud Native</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/topics/edge-and-iot/>Edge & IoT</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/topics/automotive-and-mobility/>Automotive & Mobility</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=projects-projects-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Projects</span>
20
+ <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=projects-projects-sub-menu><li><a class=mobile-menu-item href=https://projects.eclipse.org/>Project Finder</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/projects/project_activity.php>Project Activity</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/projects/resources/>Project Resources</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/specifications/>Specifications</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/contribute/>Contribute</a></li></ul></div></li></ul></div></li><li class=mobile-menu-dropdown><a class="mobile-menu-item mobile-menu-dropdown-toggle" data-target=supporters-menu><span>Supporters</span>
20
21
  <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu hidden" id=supporters-menu><li class=mobile-menu-dropdown><a data-target=supporters-membership-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Membership</span>
21
- <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=supporters-membership-sub-menu><li><a class=mobile-menu-item href=/membership/explore-membership/>Our Members</a></li><li><a class=mobile-menu-item href=/membership/>Member Benefits</a></li><li><a class=mobile-menu-item href=/membership/#tab-levels>Membership Levels & Fees</a></li><li><a class=mobile-menu-item href=/membership/#tab-membership>Membership Application</a></li><li><a class=mobile-menu-item href=/membership/#tab-resources>Member Resources</a></li><li><a class=mobile-menu-item href=https://membership.eclipse.org/portal>Member Portal</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=supporters-sponsorship-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Sponsorship</span>
22
- <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=supporters-sponsorship-sub-menu><li><a class=mobile-menu-item href=/sponsor/>Sponsor</a></li><li><a class=mobile-menu-item href=/org/corporate_sponsors>Corporate Sponsorship</a></li><li><a class=mobile-menu-item href=/sponsor/collaboration/>Sponsor a Collaboration</a></li></ul></div></li></ul></div></li><li class=mobile-menu-dropdown><a class="mobile-menu-item mobile-menu-dropdown-toggle" data-target=collaborations-menu><span>Collaborations</span>
22
+ <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=supporters-membership-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/membership/explore-membership/>Our Members</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/membership/>Member Benefits</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/membership/#tab-levels>Membership Levels & Fees</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/membership/#tab-membership>Membership Application</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/membership/#tab-resources>Member Resources</a></li><li><a class=mobile-menu-item href=https://membership.eclipse.org/portal>Member Portal</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=supporters-sponsorship-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Sponsorship</span>
23
+ <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=supporters-sponsorship-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/sponsor/>Sponsor</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/sponsor/collaboration/>Sponsor a Collaboration</a></li></ul></div></li></ul></div></li><li class=mobile-menu-dropdown><a class="mobile-menu-item mobile-menu-dropdown-toggle" data-target=collaborations-menu><span>Collaborations</span>
23
24
  <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu hidden" id=collaborations-menu><li class=mobile-menu-dropdown><a data-target=collaborations-industry-collaborations-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Industry Collaborations</span>
24
- <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=collaborations-industry-collaborations-sub-menu><li><a class=mobile-menu-item href=/collaborations/>About Industry Collaborations</a></li><li><a class=mobile-menu-item href=/org/workinggroups/explore.php>Current Collaborations</a></li><li><a class=mobile-menu-item href=/org/workinggroups/about.php>About Working Groups</a></li><li><a class=mobile-menu-item href=/collaborations/interest-groups/>About Interest Groups</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=collaborations-research-collaborations-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Research Collaborations</span>
25
- <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=collaborations-research-collaborations-sub-menu><li><a class=mobile-menu-item href=/research/>Research @ Eclipse</a></li></ul></div></li></ul></div></li><li class=mobile-menu-dropdown><a class="mobile-menu-item mobile-menu-dropdown-toggle" data-target=resources-menu><span>Resources</span>
25
+ <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=collaborations-industry-collaborations-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/collaborations/>About Industry Collaborations</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/org/workinggroups/explore.php>Current Collaborations</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/org/workinggroups/about.php>About Working Groups</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/collaborations/interest-groups/>About Interest Groups</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=collaborations-research-collaborations-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Research Collaborations</span>
26
+ <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=collaborations-research-collaborations-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/research/>Research @ Eclipse</a></li></ul></div></li></ul></div></li><li class=mobile-menu-dropdown><a class="mobile-menu-item mobile-menu-dropdown-toggle" data-target=resources-menu><span>Resources</span>
26
27
  <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu hidden" id=resources-menu><li class=mobile-menu-dropdown><a data-target=resources-open-source-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Open Source for Business</span>
27
- <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=resources-open-source-sub-menu><li><a class=mobile-menu-item href=/org/value/>Business Value of Open Source</a></li><li><a class=mobile-menu-item href=/os4biz/services/>Professional Services</a></li><li><a class=mobile-menu-item href=/os4biz/ospo/>Open Source Program Offices</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=resources-happening-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>What's Happening</span>
28
- <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=resources-happening-sub-menu><li><a class=mobile-menu-item href=https://newsroom.eclipse.org/>News</a></li><li><a class=mobile-menu-item href=https://events.eclipse.org/>Events</a></li><li><a class=mobile-menu-item href=/community/eclipse_newsletter/>Newsletter</a></li><li><a class=mobile-menu-item href=https://newsroom.eclipse.org/news/press-releases>Press Releases</a></li><li><a class=mobile-menu-item href=/org/foundation/eclipseawards/>Awards & Recognition</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=resources-developer-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Developer Resources</span>
29
- <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=resources-developer-sub-menu><li><a class=mobile-menu-item href=https://eclipse.org/forums/>Forum</a></li><li><a class=mobile-menu-item href=https://accounts.eclipse.org/mailing-list>Mailing Lists</a></li><li><a class=mobile-menu-item href=/blogs-and-videos/>Blogs & Videos</a></li><li><a class=mobile-menu-item href=/resources/marketplaces/>Marketplaces</a></li></ul></div></li></ul></div></li><li class=mobile-menu-dropdown><a class="mobile-menu-item mobile-menu-dropdown-toggle" data-target=the-foundation-menu><span>The Foundation</span>
28
+ <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=resources-open-source-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/org/value/>Business Value of Open Source</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/os4biz/ospo/>Open Source Program Offices</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=resources-happening-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>What's Happening</span>
29
+ <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=resources-happening-sub-menu><li><a class=mobile-menu-item href=https://newsroom.eclipse.org/>News</a></li><li><a class=mobile-menu-item href=https://events.eclipse.org/>Events</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/community/eclipse_newsletter/>Newsletter</a></li><li><a class=mobile-menu-item href=https://newsroom.eclipse.org/news/press-releases>Press Releases</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/org/foundation/eclipseawards/>Awards & Recognition</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=resources-developer-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Developer Resources</span>
30
+ <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=resources-developer-sub-menu><li><a class=mobile-menu-item href=https://eclipse.org/forums/>Forum</a></li><li><a class=mobile-menu-item href=https://accounts.eclipse.org/mailing-list>Mailing Lists</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/blogs-and-videos/>Blogs & Videos</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/resources/marketplaces/>Marketplaces</a></li></ul></div></li></ul></div></li><li class=mobile-menu-dropdown><a class="mobile-menu-item mobile-menu-dropdown-toggle" data-target=the-foundation-menu><span>The Foundation</span>
30
31
  <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu hidden" id=the-foundation-menu><li class=mobile-menu-dropdown><a data-target=the-foundation-about-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>About</span>
31
- <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=the-foundation-about-sub-menu><li><a class=mobile-menu-item href=/org/>About the Eclipse Foundation</a></li><li><a class=mobile-menu-item href=/org/governance>Board & Governance</a></li><li><a class=mobile-menu-item href=/org/foundation/staff/>Staff</a></li><li><a class=mobile-menu-item href=/org/services>Services</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=the-foundation-legal-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Legal</span>
32
- <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=the-foundation-legal-sub-menu><li><a class=mobile-menu-item href=/legal/>Legal Policies</a></li><li><a class=mobile-menu-item href=/legal/privacy/>Privacy Policy</a></li><li><a class=mobile-menu-item href=/legal/terms-of-use/>Terms of Use</a></li><li><a class=mobile-menu-item href=/legal/compliance>Compliance</a></li><li><a class=mobile-menu-item href=/legal/epl-2.0/>Eclipse Public License</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=the-foundation-more-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>More</span>
33
- <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=the-foundation-more-sub-menu><li><a class=mobile-menu-item href=https://newsroom.eclipse.org/news/press-releases>Press Releases</a></li><li><a class=mobile-menu-item href=/careers/>Careers</a></li><li><a class=mobile-menu-item href=/org/artwork/>Logos & Artwork</a></li><li><a class=mobile-menu-item href=/org/foundation/contact.php>Contact Us</a></li></ul></div></li></ul></div></li></ul></nav><div class=eclipsefdn-mega-menu><div class="mega-menu-submenu container hidden" data-menu-id=projects-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>Projects</p><p class=mega-menu-submenu-featured-story-text>The Eclipse Foundation is home to the Eclipse IDE, Jakarta EE, and
32
+ <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=the-foundation-about-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/org/>About the Eclipse Foundation</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/org/governance/>Board & Governance</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/org/foundation/staff.php>Staff</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/org/services/>Services</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=the-foundation-legal-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Legal</span>
33
+ <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=the-foundation-legal-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/legal/>Legal Policies</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/legal/privacy/>Privacy Policy</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/legal/terms-of-use/>Terms of Use</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/legal/compliance/>Compliance</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/legal/epl-2.0/>Eclipse Public License</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=the-foundation-more-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>More</span>
34
+ <i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=the-foundation-more-sub-menu><li><a class=mobile-menu-item href=https://newsroom.eclipse.org/news/press-releases>Press Releases</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/careers/>Careers</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/org/artwork/>Logos & Artwork</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/org/foundation/contact.php>Contact Us</a></li></ul></div></li></ul></div></li></ul></nav><div class=eclipsefdn-mega-menu><div class="mega-menu-submenu container hidden" data-menu-id=projects-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>Projects</p><p class=mega-menu-submenu-featured-story-text>The Eclipse Foundation is home to the Eclipse IDE, Jakarta EE, and
34
35
  hundreds of open source projects, including runtimes, tools,
35
36
  specifications, and frameworks for cloud and edge applications, IoT, AI,
36
- automotive, systems engineering, open processor designs, and many others.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>Technologies</p><ul><li><a href=/topics/ide/>Developer Tools & IDEs</a></li><li><a href=/topics/cloud-native/>Cloud Native</a></li><li><a href=/topics/edge-and-iot>Edge & IoT</a></li><li><a href=/topics/automotive-and-mobility/>Automotive & Mobility</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Projects</p><ul><li><a href=https://projects.eclipse.org/>Project Finder</a></li><li><a href=https://www.eclipse.org/projects/project_activity.php>Project Activity</a></li><li><a href=/projects/resources>Project Resources</a></li><li><a href=/specifications>Specifications</a></li><li><a href=/contribute/>Contribute</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div><div class="mega-menu-submenu container hidden" data-menu-id=supporters-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>Supporters</p><p class=mega-menu-submenu-featured-story-text>The Eclipse Foundation is an international non-profit association
37
+ automotive, systems engineering, open processor designs, and many others.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>Technologies</p><ul><li><a href=https://www.eclipse.org/topics/ide/>Developer Tools & IDEs</a></li><li><a href=https://www.eclipse.org/topics/cloud-native/>Cloud Native</a></li><li><a href=https://www.eclipse.org/topics/edge-and-iot/>Edge & IoT</a></li><li><a href=https://www.eclipse.org/topics/automotive-and-mobility/>Automotive & Mobility</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Projects</p><ul><li><a href=https://projects.eclipse.org/>Project Finder</a></li><li><a href=https://www.eclipse.org/projects/project_activity.php>Project Activity</a></li><li><a href=https://www.eclipse.org/projects/resources/>Project Resources</a></li><li><a href=https://www.eclipse.org/specifications/>Specifications</a></li><li><a href=https://www.eclipse.org/contribute/>Contribute</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div><div class="mega-menu-submenu container hidden" data-menu-id=supporters-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>Supporters</p><p class=mega-menu-submenu-featured-story-text>The Eclipse Foundation is an international non-profit association
37
38
  supported by our members, including industry leaders who value open
38
- source as a key enabler for their business strategies.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>Membership</p><ul><li><a href=/membership/explore-membership/>Our Members</a></li><li><a href=/membership/>Member Benefits</a></li><li><a href=/membership/#tab-levels>Membership Levels & Fees</a></li><li><a href=/membership/#tab-membership>Membership Application</a></li><li><a href=/membership/#tab-resources>Member Resources</a></li><li><a href=https://membership.eclipse.org/portal>Member Portal</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Sponsorship</p><ul><li><a href=/sponsor/>Sponsor</a></li><li><a href=/org/corporate_sponsors>Corporate Sponsorship</a></li><li><a href=/sponsor/collaboration/>Sponsor a Collaboration</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div><div class="mega-menu-submenu container hidden" data-menu-id=collaborations-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>Collaborations</p><p class=mega-menu-submenu-featured-story-text>Whether you intend on contributing to Eclipse technologies that are
39
+ source as a key enabler for their business strategies.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>Membership</p><ul><li><a href=https://www.eclipse.org/membership/explore-membership/>Our Members</a></li><li><a href=https://www.eclipse.org/membership/>Member Benefits</a></li><li><a href=https://www.eclipse.org/membership/#tab-levels>Membership Levels & Fees</a></li><li><a href=https://www.eclipse.org/membership/#tab-membership>Membership Application</a></li><li><a href=https://www.eclipse.org/membership/#tab-resources>Member Resources</a></li><li><a href=https://membership.eclipse.org/portal>Member Portal</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Sponsorship</p><ul><li><a href=https://www.eclipse.org/sponsor/>Sponsor</a></li><li><a href=https://www.eclipse.org/sponsor/collaboration/>Sponsor a Collaboration</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div><div class="mega-menu-submenu container hidden" data-menu-id=collaborations-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>Collaborations</p><p class=mega-menu-submenu-featured-story-text>Whether you intend on contributing to Eclipse technologies that are
39
40
  important to your product strategy, or simply want to explore a specific
40
41
  innovation area with like-minded organisations, the Eclipse Foundation is
41
- the open source home for industry collaboration.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>Industry Collaborations</p><ul><li><a href=/collaborations/>About Industry Collaborations</a></li><li><a href=/org/workinggroups/explore.php>Current Collaborations</a></li><li><a href=/org/workinggroups/about.php>About Working Groups</a></li><li><a href=/collaborations/interest-groups/>About Interest Groups</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Research Collaborations</p><ul><li><a href=/research/>Research @ Eclipse</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div><div class="mega-menu-submenu container hidden" data-menu-id=resources-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>Resources</p><p class=mega-menu-submenu-featured-story-text>The Eclipse community consists of individual developers and organisations
42
+ the open source home for industry collaboration.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>Industry Collaborations</p><ul><li><a href=https://www.eclipse.org/collaborations/>About Industry Collaborations</a></li><li><a href=https://www.eclipse.org/org/workinggroups/explore.php>Current Collaborations</a></li><li><a href=https://www.eclipse.org/org/workinggroups/about.php>About Working Groups</a></li><li><a href=https://www.eclipse.org/collaborations/interest-groups/>About Interest Groups</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Research Collaborations</p><ul><li><a href=https://www.eclipse.org/research/>Research @ Eclipse</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div><div class="mega-menu-submenu container hidden" data-menu-id=resources-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>Resources</p><p class=mega-menu-submenu-featured-story-text>The Eclipse community consists of individual developers and organisations
42
43
  spanning many industries. Stay up to date on our open source community
43
- and find resources to support your journey.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>Open Source for Business</p><ul><li><a href=/org/value/>Business Value of Open Source</a></li><li><a href=/os4biz/services/>Professional Services</a></li><li><a href=/os4biz/ospo/>Open Source Program Offices</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>What's Happening</p><ul><li><a href=https://newsroom.eclipse.org/>News</a></li><li><a href=https://events.eclipse.org/>Events</a></li><li><a href=/community/eclipse_newsletter/>Newsletter</a></li><li><a href=https://newsroom.eclipse.org/news/press-releases>Press Releases</a></li><li><a href=/org/foundation/eclipseawards/>Awards & Recognition</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Developer Resources</p><ul><li><a href=https://eclipse.org/forums/>Forum</a></li><li><a href=https://accounts.eclipse.org/mailing-list>Mailing Lists</a></li><li><a href=/blogs-and-videos/>Blogs & Videos</a></li><li><a href=/resources/marketplaces/>Marketplaces</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div><div class="mega-menu-submenu container hidden" data-menu-id=the-foundation-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>The Foundation</p><p class=mega-menu-submenu-featured-story-text>The Eclipse Foundation provides our global community of individuals and
44
+ and find resources to support your journey.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>Open Source for Business</p><ul><li><a href=https://www.eclipse.org/org/value/>Business Value of Open Source</a></li><li><a href=https://www.eclipse.org/os4biz/ospo/>Open Source Program Offices</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>What's Happening</p><ul><li><a href=https://newsroom.eclipse.org/>News</a></li><li><a href=https://events.eclipse.org/>Events</a></li><li><a href=https://www.eclipse.org/community/eclipse_newsletter/>Newsletter</a></li><li><a href=https://newsroom.eclipse.org/news/press-releases>Press Releases</a></li><li><a href=https://www.eclipse.org/org/foundation/eclipseawards/>Awards & Recognition</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Developer Resources</p><ul><li><a href=https://eclipse.org/forums/>Forum</a></li><li><a href=https://accounts.eclipse.org/mailing-list>Mailing Lists</a></li><li><a href=https://www.eclipse.org/blogs-and-videos/>Blogs & Videos</a></li><li><a href=https://www.eclipse.org/resources/marketplaces/>Marketplaces</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div><div class="mega-menu-submenu container hidden" data-menu-id=the-foundation-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>The Foundation</p><p class=mega-menu-submenu-featured-story-text>The Eclipse Foundation provides our global community of individuals and
44
45
  organisations with a mature, scalable, and vendor-neutral environment for
45
- open source software collaboration and innovation.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>About</p><ul><li><a href=/org/>About the Eclipse Foundation</a></li><li><a href=/org/governance>Board & Governance</a></li><li><a href=/org/foundation/staff/>Staff</a></li><li><a href=/org/services>Services</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Legal</p><ul><li><a href=/legal/>Legal Policies</a></li><li><a href=/legal/privacy/>Privacy Policy</a></li><li><a href=/legal/terms-of-use/>Terms of Use</a></li><li><a href=/legal/compliance>Compliance</a></li><li><a href=/legal/epl-2.0/>Eclipse Public License</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>More</p><ul><li><a href=https://newsroom.eclipse.org/news/press-releases>Press Releases</a></li><li><a href=/careers/>Careers</a></li><li><a href=/org/artwork/>Logos & Artwork</a></li><li><a href=/org/foundation/contact.php>Contact Us</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div></div></header><main><div class="container padding-bottom-30"><div class=row><div class=col-md-18><div class="default-breadcrumbs hidden-print" id=breadcrumb><div><div class=row><div class=col-sm-24><ol aria-label=Breadcrumb class=breadcrumb><li><a href=https://www.eclipse.org/>Home</a></li><li><a href=https://www.eclipse.org/legal/>Eclipse Foundation Legal Resources</a></li><li class=active aria-current=page><a href=https://www.eclipse.org/legal/epl-2.0/>Eclipse Public License 2.0 (EPL)</a></li></ol></div></div></div></div><div id=content></div><script async src=/public/js/generate-body-content.js type=text/javascript></script></div><div class="col-md-6 padding-bottom-30"><aside class=main-sidebar-default-margin id=main-sidebar><ul class=ul-left-nav id=leftnav role=tablist aria-multiselectable=true><li class="main-sidebar-main-item main-sidebar-item-indented separator"><a class="main-sidebar-heading link-unstyled" href=/legal>Legal</a></li><li class="main-sidebar-item main-sidebar-item-indented"><li class="main-sidebar-item main-sidebar-item-indented"><a class=link-unstyled role=button data-toggle=collapse href=#legal-eca aria-expanded=false aria-controls=legal-eca><span>ECA</span>
46
+ open source software collaboration and innovation.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>About</p><ul><li><a href=https://www.eclipse.org/org/>About the Eclipse Foundation</a></li><li><a href=https://www.eclipse.org/org/governance/>Board & Governance</a></li><li><a href=https://www.eclipse.org/org/foundation/staff.php>Staff</a></li><li><a href=https://www.eclipse.org/org/services/>Services</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Legal</p><ul><li><a href=https://www.eclipse.org/legal/>Legal Policies</a></li><li><a href=https://www.eclipse.org/legal/privacy/>Privacy Policy</a></li><li><a href=https://www.eclipse.org/legal/terms-of-use/>Terms of Use</a></li><li><a href=https://www.eclipse.org/legal/compliance/>Compliance</a></li><li><a href=https://www.eclipse.org/legal/epl-2.0/>Eclipse Public License</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>More</p><ul><li><a href=https://newsroom.eclipse.org/news/press-releases>Press Releases</a></li><li><a href=https://www.eclipse.org/careers/>Careers</a></li><li><a href=https://www.eclipse.org/org/artwork/>Logos & Artwork</a></li><li><a href=https://www.eclipse.org/org/foundation/contact.php>Contact Us</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div></div></header><main><div class="container padding-bottom-30"><div class=row><div class=col-md-18><div class="default-breadcrumbs hidden-print" id=breadcrumb><div><div class=row><div class=col-sm-24><ol aria-label=Breadcrumb class=breadcrumb><li><a href=https://www.eclipse.org/>Home</a></li><li><a href=https://www.eclipse.org/legal/>Eclipse Foundation Legal Resources</a></li><li class=active aria-current=page><a href=https://www.eclipse.org/legal/epl-2.0/>Eclipse Public License 2.0 (EPL)</a></li></ol></div></div></div></div><div id=content></div><script async src=/public/js/generate-body-content.js type=text/javascript></script></div><div class="col-md-6 padding-bottom-30"><aside class=main-sidebar-default-margin id=main-sidebar><ul class=ul-left-nav id=leftnav role=tablist aria-multiselectable=true><li class="main-sidebar-main-item main-sidebar-item-indented separator"><a class="main-sidebar-heading link-unstyled" href=/legal>Legal</a></li><li class="main-sidebar-item main-sidebar-item-indented"><li class="main-sidebar-item main-sidebar-item-indented"><a class=link-unstyled role=button data-toggle=collapse href=#legal-eca aria-expanded=false aria-controls=legal-eca><span>ECA</span>
46
47
  <i class="main-sidebar-item-icon fa fa-chevron-down" aria-hidden=true></i></a><div class=collapse id=legal-eca><ul class="main-sidebar-item-submenu list-unstyled"><li class=submenu-item><a class=link-unstyled href=/legal/eca target=_self>About</a></li><li class=submenu-item><a class=link-unstyled href=https://accounts.eclipse.org/user/eca target=_self>Sign</a></li><li class=submenu-item><a class=link-unstyled href=https://accounts.eclipse.org/user/eca target=_self>Validation Tool</a></li></ul></div></li></li><li class="main-sidebar-item main-sidebar-item-indented"><li class="main-sidebar-item main-sidebar-item-indented"><a class=link-unstyled role=button data-toggle=collapse href=#legal-epl-20 aria-expanded=false aria-controls=legal-epl-20><span>EPL-2.0</span>
47
48
  <i class="main-sidebar-item-icon fa fa-chevron-down" aria-hidden=true></i></a><div class=collapse id=legal-epl-20><ul class="main-sidebar-item-submenu list-unstyled"><li class=submenu-item><a class=link-unstyled href=/legal/epl-2.0/ target=_self>About</a></li><li class=submenu-item><a class=link-unstyled href=/org/documents/epl-2.0/EPL-2.0.html target=_self>Plain HTML</a></li><li class=submenu-item><a class=link-unstyled href=/org/documents/epl-2.0/EPL-2.0.txt target=_self>Plain Text</a></li><li class=submenu-item><a class=link-unstyled href=/org/documents/epl-2.0/EPL-2.0.pdf target=_self>PDF</a></li><li class=submenu-item><a class=link-unstyled href=/legal/epl-2.0/faq/ target=_self>FAQ</a></li></ul></div></li></li><li class="main-sidebar-item main-sidebar-item-indented"><li class="main-sidebar-item main-sidebar-item-indented"><a class=link-unstyled role=button data-toggle=collapse href=#legal-epl-10 aria-expanded=false aria-controls=legal-epl-10><span>EPL-1.0</span>
48
49
  <i class="main-sidebar-item-icon fa fa-chevron-down" aria-hidden=true></i></a><div class=collapse id=legal-epl-10><ul class="main-sidebar-item-submenu list-unstyled"><li class=submenu-item><a class=link-unstyled href=/org/documents/epl-v10.php target=_self>About</a></li><li class=submenu-item><a class=link-unstyled href=/org/documents/epl-v10.html target=_self>Plain HTML</a></li><li class=submenu-item><a class=link-unstyled href=/org/documents/epl-1.0/EPL-1.0.txt target=_self>Plain Text</a></li><li class=submenu-item><a class=link-unstyled href=/legal/epl/faq target=_self>FAQ</a></li></ul></div></li></li><li class="main-sidebar-item main-sidebar-item-indented"><li class="main-sidebar-item main-sidebar-item-indented"><a class=link-unstyled role=button data-toggle=collapse href=#legal-licenses aria-expanded=false aria-controls=legal-licenses><span>Licenses</span>
@@ -57,7 +58,6 @@ open source software collaboration and innovation.</p></div><div class=mega-menu
57
58
  <i class="fa-brands fa-youtube fa-stack-1x fa-inverse" aria-hidden=true></i>
58
59
  <span class=sr-only>Youtube account</span></span></a></li><li><a class=link-unstyled href=https://www.linkedin.com/company/eclipse-foundation title="Linkedin account"><span class=fa-stack><i class="fa-solid fa-circle fa-stack-2x" aria-hidden=true></i>
59
60
  <i class="fa-brands fa-linkedin-in fa-stack-1x fa-inverse" aria-hidden=true></i>
60
- <span class=sr-only>Linkedin account</span></span></a></li></ul></div></div><div class="footer-sections row equal-height-md font-bold"><div class=col-md-15><div class=row><section id=footer-eclipse-foundation class="footer-section col-sm-8"><div class=menu-heading>Eclipse Foundation</div><ul class=nav><li><a href=https://www.eclipse.org/org/>About</a></li><li><a href=https://projects.eclipse.org/>Projects</a></li><li><a href=https://www.eclipse.org/collaborations/>Collaborations</a></li><li><a href=https://www.eclipse.org/membership/>Membership</a></li><li><a href=https://www.eclipse.org/sponsor/>Sponsor</a></li></ul></section><section id=footer-legal class="footer-section col-sm-8"><div class=menu-heading>Legal</div><ul class=nav><li><a href=https://www.eclipse.org/legal/privacy/>Privacy Policy</a></li><li><a href=https://www.eclipse.org/legal/terms-of-use/>Terms of Use</a></li><li><a href=https://www.eclipse.org/legal/compliance/>Compliance</a></li><li><a href=https://www.eclipse.org/org/documents/Community_Code_of_Conduct.php>Code of Conduct</a></li><li><a href=https://www.eclipse.org/legal/>Legal Resources</a></li><li><a class=toolbar-manage-cookies href=# onclick=event.preventDefault()>Manage Cookies</a></li></ul></section><section id=footer-more class="footer-section col-sm-8"><div class=menu-heading>More</div><ul class=nav><li><a href=https://www.eclipse.org/security/>Report a Vulnerability</a></li><li><a href=https://status.eclipse.org/>Service Status</a></li><li><a href=https://www.eclipse.org/org/foundation/contact.php>Contact Us</a></li><li><a href=https://www.eclipse.org/projects/support/>Support</a></li></ul></section></div></div><div id=footer-end class="footer-section col-md-8 col-md-offset-1 col-sm-24"><div class=footer-end-newsletter><form id=mc-embedded-subscribe-form action="https://eclipse.us6.list-manage.com/subscribe/post?u=eaf9e1f06f194eadc66788a85&id=e7538485cd&f_id=00f9c2e1f0" method=post novalidate target=_blank><label class=footer-end-newsletter-label for=email>Subscribe to our Newsletter</label><div class=footer-end-newsletter-input-wrapper><input class=footer-end-newsletter-input type=email id=email name=EMAIL autocomplete=email placeholder="Enter your email address">
61
+ <span class=sr-only>Linkedin account</span></span></a></li></ul></div></div><div class="footer-sections row equal-height-md font-bold"><div class=col-md-15><div class=row><section id=footer-eclipse-foundation class="footer-section col-sm-8"><div class=menu-heading>Eclipse Foundation</div><ul class=nav><li><a href=https://www.eclipse.org/org/>About</a></li><li><a href=https://projects.eclipse.org/>Projects</a></li><li><a href=https://www.eclipse.org/collaborations/>Collaborations</a></li><li><a href=https://www.eclipse.org/membership/>Membership</a></li><li><a href=https://www.eclipse.org/sponsor/>Sponsor</a></li></ul></section><section id=footer-legal class="footer-section col-sm-8"><div class=menu-heading>Legal</div><ul class=nav><li><a href=https://www.eclipse.org/legal/privacy/>Privacy Policy</a></li><li><a href=https://www.eclipse.org/legal/terms-of-use/>Terms of Use</a></li><li><a href=https://www.eclipse.org/legal/compliance/>Compliance</a></li><li><a href=https://www.eclipse.org/org/documents/Community_Code_of_Conduct.php>Code of Conduct</a></li><li><a href=https://www.eclipse.org/legal/>Legal Resources</a></li><li><a class=toolbar-manage-cookies href=# onclick=event.preventDefault()>Manage Cookies</a></li></ul></section><section id=footer-more class="footer-section col-sm-8"><div class=menu-heading>More</div><ul class=nav><li><a href=https://www.eclipse.org/security/>Report a Vulnerability</a></li><li><a href=https://status.eclipse.org/>Service Status</a></li><li><a href=https://www.eclipse.org/org/foundation/contact.php>Contact Us</a></li><li><a href=https://www.eclipse.org/projects/support/>Support</a></li></ul></section></div></div><div id=footer-end class="footer-section col-md-8 col-md-offset-1 col-sm-24"><div class=footer-end-newsletter><form id=mc-embedded-subscribe-form action="https://eclipse.us6.list-manage.com/subscribe/post?u=eaf9e1f06f194eadc66788a85&amp;id=e7538485cd&amp;f_id=00f9c2e1f0" method=post novalidate target=_blank><label class=footer-end-newsletter-label for=email>Subscribe to our Newsletter</label><div class=footer-end-newsletter-input-wrapper><input class=footer-end-newsletter-input type=email id=email name=EMAIL autocomplete=email placeholder="Enter your email address">
61
62
  <button class="footer-end-newsletter-submit btn btn-link" id=mc-embedded-subscribe type=submit name=subscribe>
62
- <i class="fa fa-solid fa-envelope fa-lg" aria-hidden=true></i></button></div></form></div></div></div><div class="col-sm-24 margin-top-20"><div class=row><div id=copyright class=col-md-16><p id=copyright-text>Copyright &copy; Eclipse Foundation AISBL. All Rights Reserved.</p></div></div></div><a href=# class=scrollup>Back to the top</a></div></footer><div id=footer-js><script src="/public/js/main.js?v1.0?v=1742148967"></script>
63
- <script>(function(){})(jQuery,document)</script></div></body></html>
63
+ <i class="fa fa-solid fa-envelope fa-lg" aria-hidden=true></i></button></div></form></div></div></div><div class="col-sm-24 margin-top-20"><div class=row><div id=copyright class=col-md-16><p id=copyright-text>Copyright &copy; Eclipse Foundation AISBL. All Rights Reserved.</p></div></div></div><a href=# class=scrollup>Back to the top</a></div></footer><div id=footer-js><script src="/public/js/main.js?v1.0?v=1744568130"></script><script>(function(){})(jQuery,document)</script></div></body></html>