@effekt-lang/effekt 0.23.0 → 0.24.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.
- package/bin/effekt +0 -0
- package/libraries/common/stream.effekt +11 -0
- package/libraries/llvm/rts.ll +103 -92
- package/licenses/eclipse public license, version 2.0 - epl-2.0.html +2 -2
- package/licenses/mit license - mit-license.html +26 -18
- package/licenses/the bsd license - bsd-license.html +27 -17
- package/licenses/the mit license - mit.html +26 -18
- package/package.json +1 -1
package/bin/effekt
CHANGED
|
Binary file
|
|
@@ -30,6 +30,17 @@ effect stop(): Nothing
|
|
|
30
30
|
def for[A] { stream: () => Unit / emit[A] } { action: A => Unit }: Unit =
|
|
31
31
|
returning::for[A, Unit]{stream}{action}
|
|
32
32
|
|
|
33
|
+
/// Runs the stream as a message queue,
|
|
34
|
+
/// handling each of its elements that can produce new elements ("messages"),
|
|
35
|
+
/// until a fixed point is reached.
|
|
36
|
+
def fix[T] { one: T => Unit / emit[T] } { stream: => Unit / emit[T] }: Unit =
|
|
37
|
+
try {
|
|
38
|
+
stream()
|
|
39
|
+
} with emit[T] { value =>
|
|
40
|
+
fix[T] {one} { one(value) }
|
|
41
|
+
resume(())
|
|
42
|
+
}
|
|
43
|
+
|
|
33
44
|
/// Turns a `list` into a producer of a push stream
|
|
34
45
|
/// by emitting each contained value left-to-right.
|
|
35
46
|
def each[A](list: List[A]): Unit / emit[A] =
|
package/libraries/llvm/rts.ll
CHANGED
|
@@ -144,14 +144,14 @@ define ccc %Neg @unbox(%Pos %input) {
|
|
|
144
144
|
|
|
145
145
|
define private %Prompt @currentPrompt(%Stack %stack) {
|
|
146
146
|
%prompt_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 3
|
|
147
|
-
%prompt = load %Prompt, ptr %prompt_pointer
|
|
147
|
+
%prompt = load %Prompt, ptr %prompt_pointer, !alias.scope !11, !noalias !21
|
|
148
148
|
ret %Prompt %prompt
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
define private %Prompt @freshPrompt() {
|
|
152
152
|
%promptSize = ptrtoint ptr getelementptr (%PromptValue, ptr null, i64 1) to i64
|
|
153
153
|
%prompt = call %Prompt @malloc(i64 %promptSize)
|
|
154
|
-
store %PromptValue zeroinitializer, %Prompt %prompt, !alias.scope !
|
|
154
|
+
store %PromptValue zeroinitializer, %Prompt %prompt, !alias.scope !13, !noalias !23
|
|
155
155
|
ret %Prompt %prompt
|
|
156
156
|
}
|
|
157
157
|
|
|
@@ -163,8 +163,8 @@ define private %Object @newObject(%Eraser %eraser, i64 %environmentSize) alwaysi
|
|
|
163
163
|
%object = call ptr @malloc(i64 %size)
|
|
164
164
|
%objectReferenceCount = getelementptr %Header, ptr %object, i64 0, i32 0
|
|
165
165
|
%objectEraser = getelementptr %Header, ptr %object, i64 0, i32 1
|
|
166
|
-
store %ReferenceCount 0, ptr %objectReferenceCount
|
|
167
|
-
store %Eraser %eraser, ptr %objectEraser
|
|
166
|
+
store %ReferenceCount 0, ptr %objectReferenceCount, !alias.scope !14, !noalias !24
|
|
167
|
+
store %Eraser %eraser, ptr %objectEraser, !alias.scope !14, !noalias !24
|
|
168
168
|
ret %Object %object
|
|
169
169
|
}
|
|
170
170
|
|
|
@@ -180,9 +180,9 @@ define private void @shareObject(%Object %object) alwaysinline {
|
|
|
180
180
|
|
|
181
181
|
next:
|
|
182
182
|
%objectReferenceCount = getelementptr %Header, ptr %object, i64 0, i32 0
|
|
183
|
-
%referenceCount = load %ReferenceCount, ptr %objectReferenceCount
|
|
183
|
+
%referenceCount = load %ReferenceCount, ptr %objectReferenceCount, !alias.scope !14, !noalias !24
|
|
184
184
|
%referenceCount.1 = add %ReferenceCount %referenceCount, 1
|
|
185
|
-
store %ReferenceCount %referenceCount.1, ptr %objectReferenceCount
|
|
185
|
+
store %ReferenceCount %referenceCount.1, ptr %objectReferenceCount, !alias.scope !14, !noalias !24
|
|
186
186
|
br label %done
|
|
187
187
|
|
|
188
188
|
done:
|
|
@@ -207,17 +207,17 @@ define private void @eraseObject(%Object %object) alwaysinline {
|
|
|
207
207
|
|
|
208
208
|
next:
|
|
209
209
|
%objectReferenceCount = getelementptr %Header, ptr %object, i64 0, i32 0
|
|
210
|
-
%referenceCount = load %ReferenceCount, ptr %objectReferenceCount
|
|
210
|
+
%referenceCount = load %ReferenceCount, ptr %objectReferenceCount, !alias.scope !14, !noalias !24
|
|
211
211
|
switch %ReferenceCount %referenceCount, label %decr [%ReferenceCount 0, label %free]
|
|
212
212
|
|
|
213
213
|
decr:
|
|
214
214
|
%referenceCount.1 = sub %ReferenceCount %referenceCount, 1
|
|
215
|
-
store %ReferenceCount %referenceCount.1, ptr %objectReferenceCount
|
|
215
|
+
store %ReferenceCount %referenceCount.1, ptr %objectReferenceCount, !alias.scope !14, !noalias !24
|
|
216
216
|
ret void
|
|
217
217
|
|
|
218
218
|
free:
|
|
219
219
|
%objectEraser = getelementptr %Header, ptr %object, i64 0, i32 1
|
|
220
|
-
%eraser = load %Eraser, ptr %objectEraser
|
|
220
|
+
%eraser = load %Eraser, ptr %objectEraser, !alias.scope !14, !noalias !24
|
|
221
221
|
%environment = call %Environment @objectEnvironment(%Object %object)
|
|
222
222
|
call void %eraser(%Environment %environment)
|
|
223
223
|
call void @free(%Object %object)
|
|
@@ -244,7 +244,7 @@ define void @eraseNegative(%Neg %val) alwaysinline {
|
|
|
244
244
|
|
|
245
245
|
define private %Stack @getStack(%Prompt %prompt) {
|
|
246
246
|
%stack_pointer = getelementptr %PromptValue, %Prompt %prompt, i64 0, i32 1
|
|
247
|
-
%stack = load %Stack, ptr %stack_pointer, !alias.scope !
|
|
247
|
+
%stack = load %Stack, ptr %stack_pointer, !alias.scope !13, !noalias !23
|
|
248
248
|
ret %Stack %stack
|
|
249
249
|
}
|
|
250
250
|
|
|
@@ -259,7 +259,7 @@ define private ptr @getVarPointer(%Reference %reference, %Stack %stack) {
|
|
|
259
259
|
|
|
260
260
|
define private %Reference @newReference(%Stack %stack) alwaysinline {
|
|
261
261
|
%stackPointer_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 1
|
|
262
|
-
%stackPointer = load %StackPointer, ptr %stackPointer_pointer
|
|
262
|
+
%stackPointer = load %StackPointer, ptr %stackPointer_pointer, !alias.scope !11, !noalias !21
|
|
263
263
|
|
|
264
264
|
%intStack = ptrtoint %StackPointer %stackPointer to i64
|
|
265
265
|
%intBase = ptrtoint %Stack %stack to i64
|
|
@@ -280,8 +280,8 @@ define private %Stack @checkLimit(%Stack %stack, i64 %n) alwaysinline {
|
|
|
280
280
|
%stackPointer_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 1
|
|
281
281
|
%limit_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 2
|
|
282
282
|
|
|
283
|
-
%currentStackPointer = load %StackPointer, ptr %stackPointer_pointer, !alias.scope !
|
|
284
|
-
%limit = load %Limit, ptr %limit_pointer, !alias.scope !
|
|
283
|
+
%currentStackPointer = load %StackPointer, ptr %stackPointer_pointer, !alias.scope !11, !noalias !21
|
|
284
|
+
%limit = load %Limit, ptr %limit_pointer, !alias.scope !11, !noalias !21
|
|
285
285
|
%nextStackPointer = getelementptr i8, %StackPointer %currentStackPointer, i64 %n
|
|
286
286
|
%isInside = icmp ule %StackPointer %nextStackPointer, %limit
|
|
287
287
|
br i1 %isInside, label %done, label %realloc
|
|
@@ -304,13 +304,13 @@ realloc:
|
|
|
304
304
|
%newStackPointer_pointer = getelementptr %StackValue, %Stack %newStack, i64 0, i32 1
|
|
305
305
|
%newLimit_pointer = getelementptr %StackValue, %Stack %newStack, i64 0, i32 2
|
|
306
306
|
|
|
307
|
-
store %StackPointer %newStackPointer, ptr %newStackPointer_pointer, !alias.scope !
|
|
308
|
-
store %Limit %newLimit, ptr %newLimit_pointer, !alias.scope !
|
|
307
|
+
store %StackPointer %newStackPointer, ptr %newStackPointer_pointer, !alias.scope !11, !noalias !21
|
|
308
|
+
store %Limit %newLimit, ptr %newLimit_pointer, !alias.scope !11, !noalias !21
|
|
309
309
|
|
|
310
310
|
%prompt_pointer = getelementptr %StackValue, %Stack %newStack, i64 0, i32 3
|
|
311
|
-
%prompt = load %Prompt, ptr %prompt_pointer
|
|
311
|
+
%prompt = load %Prompt, ptr %prompt_pointer, !alias.scope !11, !noalias !21
|
|
312
312
|
%promptStack = getelementptr %PromptValue, %Prompt %prompt, i64 0, i32 1
|
|
313
|
-
store %Stack %newStack, ptr %promptStack, !alias.scope !
|
|
313
|
+
store %Stack %newStack, ptr %promptStack, !alias.scope !13, !noalias !23
|
|
314
314
|
|
|
315
315
|
ret %Stack %newStack
|
|
316
316
|
}
|
|
@@ -319,26 +319,26 @@ define private %StackPointer @stackAllocate(%Stack %stack, i64 %n) alwaysinline
|
|
|
319
319
|
%stackPointer_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 1
|
|
320
320
|
%limit_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 2
|
|
321
321
|
|
|
322
|
-
%currentStackPointer = load %StackPointer, ptr %stackPointer_pointer, !alias.scope !
|
|
323
|
-
%limit = load %Limit, ptr %limit_pointer, !alias.scope !
|
|
322
|
+
%currentStackPointer = load %StackPointer, ptr %stackPointer_pointer, !alias.scope !11, !noalias !21
|
|
323
|
+
%limit = load %Limit, ptr %limit_pointer, !alias.scope !11, !noalias !21
|
|
324
324
|
%nextStackPointer = getelementptr i8, %StackPointer %currentStackPointer, i64 %n
|
|
325
325
|
|
|
326
|
-
store %StackPointer %nextStackPointer, ptr %stackPointer_pointer, !alias.scope !
|
|
326
|
+
store %StackPointer %nextStackPointer, ptr %stackPointer_pointer, !alias.scope !11, !noalias !21
|
|
327
327
|
ret %StackPointer %currentStackPointer
|
|
328
328
|
}
|
|
329
329
|
|
|
330
330
|
define private %StackPointer @stackDeallocate(%Stack %stack, i64 %n) {
|
|
331
331
|
%stackPointer_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 1
|
|
332
|
-
%stackPointer = load %StackPointer, ptr %stackPointer_pointer, !alias.scope !
|
|
332
|
+
%stackPointer = load %StackPointer, ptr %stackPointer_pointer, !alias.scope !11, !noalias !21
|
|
333
333
|
|
|
334
334
|
%limit_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 2
|
|
335
|
-
%limit = load %Limit, ptr %limit_pointer, !alias.scope !
|
|
335
|
+
%limit = load %Limit, ptr %limit_pointer, !alias.scope !11, !noalias !21
|
|
336
336
|
%isInside = icmp ule %StackPointer %stackPointer, %limit
|
|
337
337
|
call void @llvm.assume(i1 %isInside)
|
|
338
338
|
|
|
339
339
|
%o = sub i64 0, %n
|
|
340
340
|
%newStackPointer = getelementptr i8, %StackPointer %stackPointer, i64 %o
|
|
341
|
-
store %StackPointer %newStackPointer, ptr %stackPointer_pointer, !alias.scope !
|
|
341
|
+
store %StackPointer %newStackPointer, ptr %stackPointer_pointer, !alias.scope !11, !noalias !21
|
|
342
342
|
|
|
343
343
|
ret %StackPointer %newStackPointer
|
|
344
344
|
}
|
|
@@ -352,11 +352,11 @@ define private i64 @nextPowerOfTwo(i64 %x) {
|
|
|
352
352
|
|
|
353
353
|
define private void @assumeFrameHeaderWasPopped(%Stack %stack) alwaysinline {
|
|
354
354
|
%stackPointer_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 1
|
|
355
|
-
%stackPointer = load %StackPointer, ptr %stackPointer_pointer, !alias.scope !
|
|
355
|
+
%stackPointer = load %StackPointer, ptr %stackPointer_pointer, !alias.scope !11, !noalias !21
|
|
356
356
|
%oldStackPointer = getelementptr %FrameHeader, %StackPointer %stackPointer, i64 1
|
|
357
357
|
|
|
358
358
|
%limit_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 2
|
|
359
|
-
%limit = load %Limit, ptr %limit_pointer, !alias.scope !
|
|
359
|
+
%limit = load %Limit, ptr %limit_pointer, !alias.scope !11, !noalias !21
|
|
360
360
|
%isInside = icmp ule %StackPointer %oldStackPointer, %limit
|
|
361
361
|
call void @llvm.assume(i1 %isInside)
|
|
362
362
|
ret void
|
|
@@ -378,19 +378,19 @@ define private %Stack @reset(%Stack %oldStack) {
|
|
|
378
378
|
%stack.2 = insertvalue %StackValue %stack.1, %Prompt %prompt, 3
|
|
379
379
|
%stack.3 = insertvalue %StackValue %stack.2, %Stack %oldStack, 4
|
|
380
380
|
|
|
381
|
-
store %StackValue %stack.3, %Stack %stack
|
|
381
|
+
store %StackValue %stack.3, %Stack %stack, !alias.scope !11, !noalias !21
|
|
382
382
|
|
|
383
383
|
%promptStack = getelementptr %PromptValue, %Prompt %prompt, i64 0, i32 1
|
|
384
|
-
store %Stack %stack, ptr %promptStack, !alias.scope !
|
|
384
|
+
store %Stack %stack, ptr %promptStack, !alias.scope !13, !noalias !23
|
|
385
385
|
|
|
386
386
|
ret %Stack %stack
|
|
387
387
|
}
|
|
388
388
|
|
|
389
389
|
define private void @revalidate(%Stack %stack) {
|
|
390
390
|
%prompt_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 3
|
|
391
|
-
%prompt = load %Prompt, ptr %prompt_pointer
|
|
391
|
+
%prompt = load %Prompt, ptr %prompt_pointer, !alias.scope !11, !noalias !21
|
|
392
392
|
%stack_pointer = getelementptr %PromptValue, %Prompt %prompt, i64 0, i32 1
|
|
393
|
-
%promptStack = load %Stack, ptr %stack_pointer, !alias.scope !
|
|
393
|
+
%promptStack = load %Stack, ptr %stack_pointer, !alias.scope !13, !noalias !23
|
|
394
394
|
%isThis = icmp eq %Stack %promptStack, %stack
|
|
395
395
|
br i1 %isThis, label %done, label %continue
|
|
396
396
|
|
|
@@ -406,10 +406,10 @@ displace:
|
|
|
406
406
|
br label %update
|
|
407
407
|
|
|
408
408
|
update:
|
|
409
|
-
store %Stack %stack, ptr %stack_pointer, !alias.scope !
|
|
409
|
+
store %Stack %stack, ptr %stack_pointer, !alias.scope !13, !noalias !23
|
|
410
410
|
|
|
411
411
|
%next_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 4
|
|
412
|
-
%next = load %Stack, ptr %next_pointer
|
|
412
|
+
%next = load %Stack, ptr %next_pointer, !alias.scope !11, !noalias !21
|
|
413
413
|
tail call void @revalidate(%Stack %next)
|
|
414
414
|
ret void
|
|
415
415
|
}
|
|
@@ -418,11 +418,11 @@ update:
|
|
|
418
418
|
define private void @invalidate(%Stack %stack, %Stack %end) {
|
|
419
419
|
%prompt_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 3
|
|
420
420
|
%next_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 4
|
|
421
|
-
%prompt = load %Prompt, ptr %prompt_pointer
|
|
421
|
+
%prompt = load %Prompt, ptr %prompt_pointer, !alias.scope !11, !noalias !21
|
|
422
422
|
%stack_pointer = getelementptr %PromptValue, %Prompt %prompt, i64 0, i32 1
|
|
423
|
-
store %Stack null, ptr %stack_pointer, !alias.scope !
|
|
423
|
+
store %Stack null, ptr %stack_pointer, !alias.scope !13, !noalias !23
|
|
424
424
|
|
|
425
|
-
%next = load %Stack, ptr %next_pointer
|
|
425
|
+
%next = load %Stack, ptr %next_pointer, !alias.scope !11, !noalias !21
|
|
426
426
|
|
|
427
427
|
%isNull = icmp eq %Stack %next, null
|
|
428
428
|
br i1 %isNull, label %error, label %check
|
|
@@ -446,21 +446,21 @@ continue:
|
|
|
446
446
|
define private %Stack @resume(%Resumption %resumption, %Stack %oldStack) {
|
|
447
447
|
%uniqueResumption = call %Resumption @uniqueStack(%Resumption %resumption)
|
|
448
448
|
%rest_pointer = getelementptr %StackValue, %Resumption %uniqueResumption, i64 0, i32 4
|
|
449
|
-
%start = load %Stack, ptr %rest_pointer
|
|
449
|
+
%start = load %Stack, ptr %rest_pointer, !alias.scope !11, !noalias !21
|
|
450
450
|
call void @revalidate(%Stack %start)
|
|
451
451
|
|
|
452
|
-
store %Stack %oldStack, ptr %rest_pointer
|
|
452
|
+
store %Stack %oldStack, ptr %rest_pointer, !alias.scope !11, !noalias !21
|
|
453
453
|
|
|
454
454
|
ret %Stack %start
|
|
455
455
|
}
|
|
456
456
|
|
|
457
457
|
define private {%Resumption, %Stack} @shift(%Stack %stack, %Prompt %prompt) {
|
|
458
458
|
%resumpion_pointer = getelementptr %PromptValue, %Prompt %prompt, i64 0, i32 1
|
|
459
|
-
%resumption = load %Stack, ptr %resumpion_pointer, !alias.scope !
|
|
459
|
+
%resumption = load %Stack, ptr %resumpion_pointer, !alias.scope !13, !noalias !23
|
|
460
460
|
%next_pointer = getelementptr %StackValue, %Stack %resumption, i64 0, i32 4
|
|
461
|
-
%next = load %Stack, ptr %next_pointer
|
|
461
|
+
%next = load %Stack, ptr %next_pointer, !alias.scope !11, !noalias !21
|
|
462
462
|
|
|
463
|
-
store %Stack %stack, ptr %next_pointer
|
|
463
|
+
store %Stack %stack, ptr %next_pointer, !alias.scope !11, !noalias !21
|
|
464
464
|
|
|
465
465
|
%result.0 = insertvalue {%Resumption, %Stack} undef, %Resumption %resumption, 0
|
|
466
466
|
%result = insertvalue {%Resumption, %Stack} %result.0, %Stack %next, 1
|
|
@@ -469,12 +469,12 @@ define private {%Resumption, %Stack} @shift(%Stack %stack, %Prompt %prompt) {
|
|
|
469
469
|
|
|
470
470
|
define private void @erasePrompt(%Prompt %prompt) alwaysinline {
|
|
471
471
|
%referenceCount_pointer = getelementptr %PromptValue, %Prompt %prompt, i64 0, i32 0
|
|
472
|
-
%referenceCount = load %ReferenceCount, ptr %referenceCount_pointer, !alias.scope !
|
|
472
|
+
%referenceCount = load %ReferenceCount, ptr %referenceCount_pointer, !alias.scope !13, !noalias !23
|
|
473
473
|
switch %ReferenceCount %referenceCount, label %decrement [%ReferenceCount 0, label %free]
|
|
474
474
|
|
|
475
475
|
decrement:
|
|
476
476
|
%newReferenceCount = sub %ReferenceCount %referenceCount, 1
|
|
477
|
-
store %ReferenceCount %newReferenceCount, ptr %referenceCount_pointer, !alias.scope !
|
|
477
|
+
store %ReferenceCount %newReferenceCount, ptr %referenceCount_pointer, !alias.scope !13, !noalias !23
|
|
478
478
|
ret void
|
|
479
479
|
|
|
480
480
|
free:
|
|
@@ -484,9 +484,9 @@ free:
|
|
|
484
484
|
|
|
485
485
|
define private void @sharePrompt(%Prompt %prompt) alwaysinline {
|
|
486
486
|
%referenceCount_pointer = getelementptr %PromptValue, %Prompt %prompt, i64 0, i32 0
|
|
487
|
-
%referenceCount = load %ReferenceCount, ptr %referenceCount_pointer, !alias.scope !
|
|
487
|
+
%referenceCount = load %ReferenceCount, ptr %referenceCount_pointer, !alias.scope !13, !noalias !23
|
|
488
488
|
%newReferenceCount = add %ReferenceCount %referenceCount, 1
|
|
489
|
-
store %ReferenceCount %newReferenceCount, ptr %referenceCount_pointer, !alias.scope !
|
|
489
|
+
store %ReferenceCount %newReferenceCount, ptr %referenceCount_pointer, !alias.scope !13, !noalias !23
|
|
490
490
|
ret void
|
|
491
491
|
}
|
|
492
492
|
|
|
@@ -494,11 +494,11 @@ define private %Stack @underflowStack(%Stack %stack) {
|
|
|
494
494
|
%stackPrompt = getelementptr %StackValue, %Stack %stack, i64 0, i32 3
|
|
495
495
|
%stackRest = getelementptr %StackValue, %Stack %stack, i64 0, i32 4
|
|
496
496
|
|
|
497
|
-
%prompt = load %Prompt, ptr %stackPrompt
|
|
498
|
-
%rest = load %Stack, ptr %stackRest
|
|
497
|
+
%prompt = load %Prompt, ptr %stackPrompt, !alias.scope !11, !noalias !21
|
|
498
|
+
%rest = load %Stack, ptr %stackRest, !alias.scope !11, !noalias !21
|
|
499
499
|
|
|
500
500
|
%promptStack_pointer = getelementptr %PromptValue, %Prompt %prompt, i64 0, i32 1
|
|
501
|
-
store %Stack null, ptr %promptStack_pointer, !alias.scope !
|
|
501
|
+
store %Stack null, ptr %promptStack_pointer, !alias.scope !13, !noalias !23
|
|
502
502
|
|
|
503
503
|
call void @erasePrompt(%Prompt %prompt)
|
|
504
504
|
call void @free(%Stack %stack)
|
|
@@ -514,8 +514,8 @@ define private %Stack @copyStack(%Stack %stack) alwaysinline {
|
|
|
514
514
|
%stackPointer_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 1
|
|
515
515
|
%limit_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 2
|
|
516
516
|
|
|
517
|
-
%stackPointer = load %StackPointer, ptr %stackPointer_pointer
|
|
518
|
-
%limit = load %Limit, ptr %limit_pointer
|
|
517
|
+
%stackPointer = load %StackPointer, ptr %stackPointer_pointer, !alias.scope !11, !noalias !21
|
|
518
|
+
%limit = load %Limit, ptr %limit_pointer, !alias.scope !11, !noalias !21
|
|
519
519
|
|
|
520
520
|
%intStackPointer = ptrtoint %StackPointer %stackPointer to i64
|
|
521
521
|
%intBase = ptrtoint %Stack %stack to i64
|
|
@@ -532,17 +532,17 @@ define private %Stack @copyStack(%Stack %stack) alwaysinline {
|
|
|
532
532
|
%newStackPointer_pointer = getelementptr %StackValue, %Stack %newStack, i64 0, i32 1
|
|
533
533
|
%newLimit_pointer = getelementptr %StackValue, %Stack %newStack, i64 0, i32 2
|
|
534
534
|
|
|
535
|
-
store %StackPointer %newStackPointer, ptr %newStackPointer_pointer
|
|
536
|
-
store %Limit %newLimit, ptr %newLimit_pointer
|
|
535
|
+
store %StackPointer %newStackPointer, ptr %newStackPointer_pointer, !alias.scope !11, !noalias !21
|
|
536
|
+
store %Limit %newLimit, ptr %newLimit_pointer, !alias.scope !11, !noalias !21
|
|
537
537
|
|
|
538
538
|
call void @shareFrames(%StackPointer %newStackPointer)
|
|
539
539
|
|
|
540
540
|
%prompt_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 3
|
|
541
|
-
%prompt = load %Prompt, ptr %prompt_pointer
|
|
541
|
+
%prompt = load %Prompt, ptr %prompt_pointer, !alias.scope !11, !noalias !21
|
|
542
542
|
call void @sharePrompt(%Prompt %prompt)
|
|
543
543
|
|
|
544
544
|
%referenceCount_pointer = getelementptr %StackValue, %Stack %newStack, i64 0, i32 0
|
|
545
|
-
store i64 0, ptr %referenceCount_pointer
|
|
545
|
+
store i64 0, ptr %referenceCount_pointer, !alias.scope !11, !noalias !21
|
|
546
546
|
|
|
547
547
|
ret %Stack %newStack
|
|
548
548
|
}
|
|
@@ -552,7 +552,7 @@ define private %Resumption @uniqueStack(%Resumption %resumption) alwaysinline {
|
|
|
552
552
|
|
|
553
553
|
entry:
|
|
554
554
|
%referenceCount_pointer = getelementptr %StackValue, %Resumption %resumption, i64 0, i32 0
|
|
555
|
-
%referenceCount = load %ReferenceCount, ptr %referenceCount_pointer
|
|
555
|
+
%referenceCount = load %ReferenceCount, ptr %referenceCount_pointer, !alias.scope !11, !noalias !21
|
|
556
556
|
switch %ReferenceCount %referenceCount, label %copy [%ReferenceCount 0, label %done]
|
|
557
557
|
|
|
558
558
|
done:
|
|
@@ -560,12 +560,12 @@ done:
|
|
|
560
560
|
|
|
561
561
|
copy:
|
|
562
562
|
%newOldReferenceCount = sub %ReferenceCount %referenceCount, 1
|
|
563
|
-
store %ReferenceCount %newOldReferenceCount, ptr %referenceCount_pointer
|
|
563
|
+
store %ReferenceCount %newOldReferenceCount, ptr %referenceCount_pointer, !alias.scope !11, !noalias !21
|
|
564
564
|
|
|
565
565
|
%firstCopy = call %Stack @copyStack(%Stack %resumption)
|
|
566
566
|
|
|
567
567
|
%stack_pointer = getelementptr %StackValue, %Resumption %resumption, i64 0, i32 4
|
|
568
|
-
%stack = load %Stack, ptr %stack_pointer
|
|
568
|
+
%stack = load %Stack, ptr %stack_pointer, !alias.scope !11, !noalias !21
|
|
569
569
|
|
|
570
570
|
br label %check
|
|
571
571
|
|
|
@@ -582,40 +582,40 @@ loop:
|
|
|
582
582
|
|
|
583
583
|
%newCopy = call %Stack @copyStack(%Stack %current)
|
|
584
584
|
|
|
585
|
-
store %Stack %newCopy, ptr %rest_pointer
|
|
585
|
+
store %Stack %newCopy, ptr %rest_pointer, !alias.scope !11, !noalias !21
|
|
586
586
|
|
|
587
587
|
%next_pointer = getelementptr %StackValue, %Stack %current, i64 0, i32 4
|
|
588
|
-
%next = load %Stack, ptr %next_pointer
|
|
588
|
+
%next = load %Stack, ptr %next_pointer, !alias.scope !11, !noalias !21
|
|
589
589
|
|
|
590
590
|
br label %check
|
|
591
591
|
|
|
592
592
|
stop:
|
|
593
|
-
store %Stack %firstCopy, ptr %rest_pointer
|
|
593
|
+
store %Stack %firstCopy, ptr %rest_pointer, !alias.scope !11, !noalias !21
|
|
594
594
|
ret %Stack %firstCopy
|
|
595
595
|
}
|
|
596
596
|
|
|
597
597
|
define void @shareResumption(%Resumption %resumption) alwaysinline {
|
|
598
598
|
%referenceCount_pointer = getelementptr %StackValue, %Resumption %resumption, i64 0, i32 0
|
|
599
|
-
%referenceCount = load %ReferenceCount, ptr %referenceCount_pointer
|
|
599
|
+
%referenceCount = load %ReferenceCount, ptr %referenceCount_pointer, !alias.scope !11, !noalias !21
|
|
600
600
|
%referenceCount.1 = add %ReferenceCount %referenceCount, 1
|
|
601
|
-
store %ReferenceCount %referenceCount.1, ptr %referenceCount_pointer
|
|
601
|
+
store %ReferenceCount %referenceCount.1, ptr %referenceCount_pointer, !alias.scope !11, !noalias !21
|
|
602
602
|
ret void
|
|
603
603
|
}
|
|
604
604
|
|
|
605
605
|
define void @eraseResumption(%Resumption %resumption) alwaysinline {
|
|
606
606
|
%referenceCount_pointer = getelementptr %StackValue, %Resumption %resumption, i64 0, i32 0
|
|
607
|
-
%referenceCount = load %ReferenceCount, ptr %referenceCount_pointer
|
|
607
|
+
%referenceCount = load %ReferenceCount, ptr %referenceCount_pointer, !alias.scope !11, !noalias !21
|
|
608
608
|
switch %ReferenceCount %referenceCount, label %decr [%ReferenceCount 0, label %free]
|
|
609
609
|
|
|
610
610
|
decr:
|
|
611
611
|
%referenceCount.1 = sub %ReferenceCount %referenceCount, 1
|
|
612
|
-
store %ReferenceCount %referenceCount.1, ptr %referenceCount_pointer
|
|
612
|
+
store %ReferenceCount %referenceCount.1, ptr %referenceCount_pointer, !alias.scope !11, !noalias !21
|
|
613
613
|
ret void
|
|
614
614
|
|
|
615
615
|
free:
|
|
616
616
|
%stack_pointer = getelementptr %StackValue, %Resumption %resumption, i64 0, i32 4
|
|
617
|
-
%stack = load %Stack, ptr %stack_pointer
|
|
618
|
-
store %Stack null, ptr %stack_pointer
|
|
617
|
+
%stack = load %Stack, ptr %stack_pointer, !alias.scope !11, !noalias !21
|
|
618
|
+
store %Stack null, ptr %stack_pointer, !alias.scope !11, !noalias !21
|
|
619
619
|
call void @eraseStack(%Stack %stack)
|
|
620
620
|
ret void
|
|
621
621
|
}
|
|
@@ -625,17 +625,17 @@ define void @eraseStack(%Stack %stack) alwaysinline {
|
|
|
625
625
|
%prompt_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 3
|
|
626
626
|
%rest_pointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 4
|
|
627
627
|
|
|
628
|
-
%stackPointer = load %StackPointer, ptr %stackPointer_pointer
|
|
629
|
-
%prompt = load %Stack, ptr %prompt_pointer
|
|
630
|
-
%rest = load %Stack, ptr %rest_pointer
|
|
628
|
+
%stackPointer = load %StackPointer, ptr %stackPointer_pointer, !alias.scope !11, !noalias !21
|
|
629
|
+
%prompt = load %Stack, ptr %prompt_pointer, !alias.scope !11, !noalias !21
|
|
630
|
+
%rest = load %Stack, ptr %rest_pointer, !alias.scope !11, !noalias !21
|
|
631
631
|
|
|
632
632
|
%promptStack_pointer = getelementptr %PromptValue, %Prompt %prompt, i64 0, i32 1
|
|
633
|
-
%promptStack = load %Stack, ptr %promptStack_pointer, !alias.scope !
|
|
633
|
+
%promptStack = load %Stack, ptr %promptStack_pointer, !alias.scope !13, !noalias !23
|
|
634
634
|
%isThisStack = icmp eq %Stack %promptStack, %stack
|
|
635
635
|
br i1 %isThisStack, label %clearPrompt, label %free
|
|
636
636
|
|
|
637
637
|
clearPrompt:
|
|
638
|
-
store %Stack null, ptr %promptStack_pointer, !alias.scope !
|
|
638
|
+
store %Stack null, ptr %promptStack_pointer, !alias.scope !13, !noalias !23
|
|
639
639
|
br label %free
|
|
640
640
|
|
|
641
641
|
free:
|
|
@@ -656,7 +656,7 @@ done:
|
|
|
656
656
|
define private void @shareFrames(%StackPointer %stackPointer) alwaysinline {
|
|
657
657
|
%newStackPointer = getelementptr %FrameHeader, %StackPointer %stackPointer, i64 -1
|
|
658
658
|
%stackSharer = getelementptr %FrameHeader, %StackPointer %newStackPointer, i64 0, i32 1
|
|
659
|
-
%sharer = load %Sharer, ptr %stackSharer
|
|
659
|
+
%sharer = load %Sharer, ptr %stackSharer, !alias.scope !12, !noalias !22
|
|
660
660
|
tail call void %sharer(%StackPointer %newStackPointer)
|
|
661
661
|
ret void
|
|
662
662
|
}
|
|
@@ -664,7 +664,7 @@ define private void @shareFrames(%StackPointer %stackPointer) alwaysinline {
|
|
|
664
664
|
define private void @eraseFrames(%StackPointer %stackPointer) alwaysinline {
|
|
665
665
|
%newStackPointer = getelementptr %FrameHeader, %StackPointer %stackPointer, i64 -1
|
|
666
666
|
%stackEraser = getelementptr %FrameHeader, %StackPointer %newStackPointer, i64 0, i32 2
|
|
667
|
-
%eraser = load %Eraser, ptr %stackEraser
|
|
667
|
+
%eraser = load %Eraser, ptr %stackEraser, !alias.scope !12, !noalias !22
|
|
668
668
|
tail call void %eraser(%StackPointer %newStackPointer)
|
|
669
669
|
ret void
|
|
670
670
|
}
|
|
@@ -705,37 +705,37 @@ define private %Stack @withEmptyStack() {
|
|
|
705
705
|
%globals = call %Stack @reset(%Stack null)
|
|
706
706
|
|
|
707
707
|
%globalsStackPointer_pointer = getelementptr %StackValue, %Stack %globals, i64 0, i32 1
|
|
708
|
-
%globalsStackPointer = load %StackPointer, ptr %globalsStackPointer_pointer
|
|
708
|
+
%globalsStackPointer = load %StackPointer, ptr %globalsStackPointer_pointer, !alias.scope !11, !noalias !21
|
|
709
709
|
|
|
710
710
|
%returnAddressPointer.0 = getelementptr %FrameHeader, %StackPointer %globalsStackPointer, i64 0, i32 0
|
|
711
711
|
%sharerPointer.0 = getelementptr %FrameHeader, %StackPointer %globalsStackPointer, i64 0, i32 1
|
|
712
712
|
%eraserPointer.0 = getelementptr %FrameHeader, %StackPointer %globalsStackPointer, i64 0, i32 2
|
|
713
713
|
|
|
714
|
-
store ptr @globalsReturn, ptr %returnAddressPointer.0
|
|
715
|
-
store ptr @topLevelSharer, ptr %sharerPointer.0
|
|
716
|
-
store ptr @topLevelEraser, ptr %eraserPointer.0
|
|
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
717
|
|
|
718
718
|
%globalsStackPointer_2 = getelementptr %FrameHeader, %StackPointer %globalsStackPointer, i64 1
|
|
719
|
-
store %StackPointer %globalsStackPointer_2, ptr %globalsStackPointer_pointer
|
|
719
|
+
store %StackPointer %globalsStackPointer_2, ptr %globalsStackPointer_pointer, !alias.scope !11, !noalias !21
|
|
720
720
|
|
|
721
721
|
%stack = call %Stack @reset(%Stack %globals)
|
|
722
722
|
|
|
723
723
|
%globalStack = getelementptr %PromptValue, %Prompt @global, i64 0, i32 1
|
|
724
|
-
store %Stack %stack, ptr %globalStack, !alias.scope !
|
|
724
|
+
store %Stack %stack, ptr %globalStack, !alias.scope !13, !noalias !23
|
|
725
725
|
|
|
726
726
|
%stackStackPointer = getelementptr %StackValue, %Stack %stack, i64 0, i32 1
|
|
727
|
-
%stackPointer = load %StackPointer, ptr %stackStackPointer
|
|
727
|
+
%stackPointer = load %StackPointer, ptr %stackStackPointer, !alias.scope !11, !noalias !21
|
|
728
728
|
|
|
729
729
|
%returnAddressPointer = getelementptr %FrameHeader, %StackPointer %stackPointer, i64 0, i32 0
|
|
730
730
|
%sharerPointer = getelementptr %FrameHeader, %StackPointer %stackPointer, i64 0, i32 1
|
|
731
731
|
%eraserPointer = getelementptr %FrameHeader, %StackPointer %stackPointer, i64 0, i32 2
|
|
732
732
|
|
|
733
|
-
store %ReturnAddress @topLevel, ptr %returnAddressPointer
|
|
734
|
-
store %Sharer @topLevelSharer, ptr %sharerPointer
|
|
735
|
-
store %Eraser @topLevelEraser, ptr %eraserPointer
|
|
733
|
+
store %ReturnAddress @topLevel, ptr %returnAddressPointer, !alias.scope !12, !noalias !22
|
|
734
|
+
store %Sharer @topLevelSharer, ptr %sharerPointer, !alias.scope !12, !noalias !22
|
|
735
|
+
store %Eraser @topLevelEraser, ptr %eraserPointer, !alias.scope !12, !noalias !22
|
|
736
736
|
|
|
737
737
|
%stackPointer_2 = getelementptr %FrameHeader, %StackPointer %stackPointer, i64 1
|
|
738
|
-
store %StackPointer %stackPointer_2, ptr %stackStackPointer
|
|
738
|
+
store %StackPointer %stackPointer_2, ptr %stackStackPointer, !alias.scope !11, !noalias !21
|
|
739
739
|
|
|
740
740
|
ret %Stack %stack
|
|
741
741
|
}
|
|
@@ -743,7 +743,7 @@ define private %Stack @withEmptyStack() {
|
|
|
743
743
|
define void @resume_Int(%Stack %stack, %Int %argument) {
|
|
744
744
|
%stackPointer = call ccc %StackPointer @stackDeallocate(%Stack %stack, i64 24)
|
|
745
745
|
%returnAddressPointer = getelementptr %FrameHeader, %StackPointer %stackPointer, i64 0, i32 0
|
|
746
|
-
%returnAddress = load %ReturnAddress, ptr %returnAddressPointer
|
|
746
|
+
%returnAddress = load %ReturnAddress, ptr %returnAddressPointer, !alias.scope !12, !noalias !22
|
|
747
747
|
tail call tailcc void %returnAddress(%Int %argument, %Stack %stack)
|
|
748
748
|
ret void
|
|
749
749
|
}
|
|
@@ -751,7 +751,7 @@ define void @resume_Int(%Stack %stack, %Int %argument) {
|
|
|
751
751
|
define void @resume_Pos(%Stack %stack, %Pos %argument) {
|
|
752
752
|
%stackPointer = call ccc %StackPointer @stackDeallocate(%Stack %stack, i64 24)
|
|
753
753
|
%returnAddressPointer = getelementptr %FrameHeader, %StackPointer %stackPointer, i64 0, i32 0
|
|
754
|
-
%returnAddress = load %ReturnAddress, ptr %returnAddressPointer
|
|
754
|
+
%returnAddress = load %ReturnAddress, ptr %returnAddressPointer, !alias.scope !12, !noalias !22
|
|
755
755
|
tail call tailcc void %returnAddress(%Pos %argument, %Stack %stack)
|
|
756
756
|
ret void
|
|
757
757
|
}
|
|
@@ -764,7 +764,7 @@ define void @run(%Neg %f) {
|
|
|
764
764
|
%arrayPointer = extractvalue %Neg %f, 0
|
|
765
765
|
%object = extractvalue %Neg %f, 1
|
|
766
766
|
%functionPointerPointer = getelementptr ptr, ptr %arrayPointer, i64 0
|
|
767
|
-
%functionPointer = load ptr, ptr %functionPointerPointer
|
|
767
|
+
%functionPointer = load ptr, ptr %functionPointerPointer, !alias.scope !15, !noalias !25
|
|
768
768
|
|
|
769
769
|
; call
|
|
770
770
|
tail call tailcc %Pos %functionPointer(%Object %object, %Stack %stack)
|
|
@@ -779,7 +779,7 @@ define void @run_Int(%Neg %f, i64 %argument) {
|
|
|
779
779
|
%arrayPointer = extractvalue %Neg %f, 0
|
|
780
780
|
%object = extractvalue %Neg %f, 1
|
|
781
781
|
%functionPointerPointer = getelementptr ptr, ptr %arrayPointer, i64 0
|
|
782
|
-
%functionPointer = load ptr, ptr %functionPointerPointer
|
|
782
|
+
%functionPointer = load ptr, ptr %functionPointerPointer, !alias.scope !15, !noalias !25
|
|
783
783
|
|
|
784
784
|
; call
|
|
785
785
|
tail call tailcc %Pos %functionPointer(%Object %object, %Evidence 0, i64 %argument, %Stack %stack)
|
|
@@ -794,7 +794,7 @@ define void @run_Pos(%Neg %f, %Pos %argument) {
|
|
|
794
794
|
%arrayPointer = extractvalue %Neg %f, 0
|
|
795
795
|
%object = extractvalue %Neg %f, 1
|
|
796
796
|
%functionPointerPointer = getelementptr ptr, ptr %arrayPointer, i64 0
|
|
797
|
-
%functionPointer = load ptr, ptr %functionPointerPointer
|
|
797
|
+
%functionPointer = load ptr, ptr %functionPointerPointer, !alias.scope !15, !noalias !25
|
|
798
798
|
|
|
799
799
|
; call
|
|
800
800
|
tail call tailcc %Pos %functionPointer(%Object %object, %Evidence 0, %Pos %argument, %Stack %stack)
|
|
@@ -806,10 +806,21 @@ define void @run_Pos(%Neg %f, %Pos %argument) {
|
|
|
806
806
|
!0 = !{!"types"}
|
|
807
807
|
|
|
808
808
|
; Scopes
|
|
809
|
-
!1 = !{!"
|
|
810
|
-
!2 = !{!"
|
|
809
|
+
!1 = !{!"stackBase", !0}
|
|
810
|
+
!2 = !{!"stackPointer", !0}
|
|
811
|
+
!3 = !{!"prompt", !0}
|
|
812
|
+
!4 = !{!"object", !0}
|
|
813
|
+
!5 = !{!"vtable", !0}
|
|
811
814
|
|
|
812
815
|
; Scope lists
|
|
813
|
-
!
|
|
814
|
-
!
|
|
815
|
-
!
|
|
816
|
+
!11 = !{!1} ; stackBase
|
|
817
|
+
!12 = !{!2} ; stackPointer
|
|
818
|
+
!13 = !{!3} ; prompt
|
|
819
|
+
!14 = !{!4} ; object
|
|
820
|
+
!15 = !{!5} ; vtable
|
|
821
|
+
|
|
822
|
+
!21 = !{ !2, !3, !4, !5} ; not stackBase
|
|
823
|
+
!22 = !{!1, !3, !4, !5} ; not stackPointer
|
|
824
|
+
!23 = !{!1, !2, !4, !5} ; not prompt
|
|
825
|
+
!24 = !{!1, !2, !3, !5} ; not object
|
|
826
|
+
!25 = !{!1, !2, !3, !4 } ; not vtable
|
|
@@ -1,4 +1,4 @@
|
|
|
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=
|
|
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>
|
|
2
2
|
<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
3
|
<button>
|
|
4
4
|
<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">
|
|
@@ -59,5 +59,5 @@ open source software collaboration and innovation.</p></div><div class=mega-menu
|
|
|
59
59
|
<i class="fa-brands fa-linkedin-in fa-stack-1x fa-inverse" aria-hidden=true></i>
|
|
60
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
61
|
<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 © 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=
|
|
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 © 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
63
|
<script>(function(){})(jQuery,document)</script></div></body></html>
|
|
@@ -243,7 +243,7 @@ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15
|
|
|
243
243
|
<link rel='stylesheet' id='coblocks-frontend-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/dist/style-coblocks-1.css?ver=3.1.14' type='text/css' media='all' />
|
|
244
244
|
<link rel='stylesheet' id='coblocks-extensions-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/dist/style-coblocks-extensions.css?ver=3.1.14' type='text/css' media='all' />
|
|
245
245
|
<link rel='stylesheet' id='coblocks-animation-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/dist/style-coblocks-animation.css?ver=2677611078ee87eb3b1c' type='text/css' media='all' />
|
|
246
|
-
<link rel='stylesheet' id='contact-form-7-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.0.
|
|
246
|
+
<link rel='stylesheet' id='contact-form-7-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.0.5' type='text/css' media='all' />
|
|
247
247
|
<link rel='stylesheet' id='events-manager-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/events-manager/includes/css/events-manager.min.css?ver=6.6.4.4' type='text/css' media='all' />
|
|
248
248
|
<link rel='stylesheet' id='events-manager-pro-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/events-manager-pro/includes/css/events-manager-pro.css?ver=3.4.1' type='text/css' media='all' />
|
|
249
249
|
<style id='global-styles-inline-css' type='text/css'>
|
|
@@ -251,7 +251,7 @@ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15
|
|
|
251
251
|
:root :where(.wp-block-pullquote){font-size: clamp(0.984em, 0.984rem + ((1vw - 0.2em) * 0.645), 1.5em);line-height: 1.6;}
|
|
252
252
|
</style>
|
|
253
253
|
<link rel='stylesheet' id='comment_styles-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/wp-discourse/lib/../css/comments.css?ver=1734028771' type='text/css' media='all' />
|
|
254
|
-
<link rel='stylesheet' id='cmplz-general-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/complianz-gdpr/assets/css/cookieblocker.min.css?ver=
|
|
254
|
+
<link rel='stylesheet' id='cmplz-general-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/complianz-gdpr/assets/css/cookieblocker.min.css?ver=1741804769' type='text/css' media='all' />
|
|
255
255
|
<link rel='stylesheet' id='dashicons-css' href='https://c0.wp.com/c/6.7.2/wp-includes/css/dashicons.min.css' type='text/css' media='all' />
|
|
256
256
|
<link rel='stylesheet' id='wp-components-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/gutenberg/build/components/style.css?ver=20.4.0' type='text/css' media='all' />
|
|
257
257
|
<link rel='stylesheet' id='godaddy-styles-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/includes/Dependencies/GoDaddy/Styles/build/latest.css?ver=2.0.2' type='text/css' media='all' />
|
|
@@ -267,7 +267,7 @@ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15
|
|
|
267
267
|
|
|
268
268
|
.wp-block-cover { background-image:url()}
|
|
269
269
|
</style>
|
|
270
|
-
<link rel='stylesheet' id='genericons-css' href='https://
|
|
270
|
+
<link rel='stylesheet' id='genericons-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/jetpack/_inc/genericons/genericons/genericons.css?ver=3.1' type='text/css' media='all' />
|
|
271
271
|
<link rel='stylesheet' id='jetpack-social-menu-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-classic-theme-helper/src/social-menu/social-menu.css?ver=1.0' type='text/css' media='all' />
|
|
272
272
|
<style id='akismet-widget-style-inline-css' type='text/css'>
|
|
273
273
|
|
|
@@ -357,7 +357,7 @@ jQuery(function(jQuery){jQuery.datepicker.setDefaults({"closeText":"Close","curr
|
|
|
357
357
|
<script type="text/javascript" src="https://c0.wp.com/c/6.7.2/wp-includes/js/jquery/ui/dialog.min.js" id="jquery-ui-dialog-js"></script>
|
|
358
358
|
<script type="text/javascript" id="events-manager-js-extra">
|
|
359
359
|
/* <![CDATA[ */
|
|
360
|
-
var EM = {"ajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","locationajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php?action=locations_search","firstDay":"1","locale":"en","dateFormat":"yy-mm-dd","ui_css":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager\/includes\/css\/jquery-ui\/build.min.css","show24hours":"0","is_ssl":"1","autocomplete_limit":"10","calendar":{"breakpoints":{"small":560,"medium":908,"large":false}},"phone":"","datepicker":{"format":"Y-m-d"},"search":{"breakpoints":{"small":650,"medium":850,"full":false}},"url":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager","assets":{"input.em-uploader":{"js":{"em-uploader":{"url":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager\/includes\/js\/em-uploader.js","required":true,"event":"em_uploader_ready"}}}},"bookingInProgress":"Please wait while the booking is being submitted.","tickets_save":"Save Ticket","bookingajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","bookings_export_save":"Export Bookings","bookings_settings_save":"Save Settings","booking_delete":"Are you sure you want to delete?","booking_offset":"30","bookings":{"submit_button":{"text":{"default":"Submit Booking","free":"Submit Booking","payment":"Submit Booking - %s","processing":"Processing ..."}},"update_listener":""},"bb_full":"Sold Out","bb_book":"Book Now","bb_booking":"Booking...","bb_booked":"Booking Submitted","bb_error":"Booking Error. Try again?","bb_cancel":"Cancel","bb_canceling":"Canceling...","bb_cancelled":"Cancelled","bb_cancel_error":"Cancellation Error. Try again?","txt_search":"Search","txt_searching":"Searching...","txt_loading":"Loading...","cache":"1","api_nonce":"
|
|
360
|
+
var EM = {"ajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","locationajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php?action=locations_search","firstDay":"1","locale":"en","dateFormat":"yy-mm-dd","ui_css":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager\/includes\/css\/jquery-ui\/build.min.css","show24hours":"0","is_ssl":"1","autocomplete_limit":"10","calendar":{"breakpoints":{"small":560,"medium":908,"large":false}},"phone":"","datepicker":{"format":"Y-m-d"},"search":{"breakpoints":{"small":650,"medium":850,"full":false}},"url":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager","assets":{"input.em-uploader":{"js":{"em-uploader":{"url":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager\/includes\/js\/em-uploader.js","required":true,"event":"em_uploader_ready"}}}},"bookingInProgress":"Please wait while the booking is being submitted.","tickets_save":"Save Ticket","bookingajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","bookings_export_save":"Export Bookings","bookings_settings_save":"Save Settings","booking_delete":"Are you sure you want to delete?","booking_offset":"30","bookings":{"submit_button":{"text":{"default":"Submit Booking","free":"Submit Booking","payment":"Submit Booking - %s","processing":"Processing ..."}},"update_listener":""},"bb_full":"Sold Out","bb_book":"Book Now","bb_booking":"Booking...","bb_booked":"Booking Submitted","bb_error":"Booking Error. Try again?","bb_cancel":"Cancel","bb_canceling":"Canceling...","bb_cancelled":"Cancelled","bb_cancel_error":"Cancellation Error. Try again?","txt_search":"Search","txt_searching":"Searching...","txt_loading":"Loading...","cache":"1","api_nonce":"3aa8dee08e","attendance_api_url":"https:\/\/opensource.org\/wp-json\/events-manager\/v1\/attendance"};
|
|
361
361
|
/* ]]> */
|
|
362
362
|
</script>
|
|
363
363
|
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/events-manager/includes/js/events-manager.js?ver=6.6.4.4" id="events-manager-js"></script>
|
|
@@ -933,6 +933,15 @@ form.customize-unpreviewable {
|
|
|
933
933
|
.single-podcast .post--byline {
|
|
934
934
|
display: none;
|
|
935
935
|
}
|
|
936
|
+
|
|
937
|
+
/*Single podcast template - hide series information*/
|
|
938
|
+
.nelio-content-series-meta {
|
|
939
|
+
display: none;
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
.nelio-content-series-post-list__title {
|
|
943
|
+
display: none;
|
|
944
|
+
}
|
|
936
945
|
</style>
|
|
937
946
|
</head>
|
|
938
947
|
|
|
@@ -1087,6 +1096,7 @@ form.customize-unpreviewable {
|
|
|
1087
1096
|
<li id="menu-item-8859" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8859"><a href="https://opensource.org/bylaws">Bylaws</a></li>
|
|
1088
1097
|
<li id="menu-item-5432" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5432"><a href="https://opensource.org/history">History</a></li>
|
|
1089
1098
|
<li id="menu-item-25856" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-25856"><a href="https://opensource.org/trademark-guidelines">Trademark<br />Guidelines</a></li>
|
|
1099
|
+
<li id="menu-item-123421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-123421"><a href="https://opensource.org/press-mentions">Press mentions</a></li>
|
|
1090
1100
|
</ul></div></div></div>
|
|
1091
1101
|
</div></section><section class="widget_text wp-block-column widget custom_html-2 widget_custom_html"><div class="widget_text widget-inner"><div class="textwidget custom-html-widget"><section class="wp-block-column widget block-17 widget_block"><div class="widget-inner">
|
|
1092
1102
|
<div class="wp-block-group is-layout-constrained wp-block-group-is-layout-constrained">
|
|
@@ -1297,7 +1307,7 @@ var coblocksTinyswiper = {"carouselPrevButtonAriaLabel":"Previous","carouselNext
|
|
|
1297
1307
|
/* ]]> */
|
|
1298
1308
|
</script>
|
|
1299
1309
|
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/dist/js/coblocks-tinyswiper-initializer.js?ver=3.1.14" id="coblocks-tinyswiper-initializer-js"></script>
|
|
1300
|
-
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.0.
|
|
1310
|
+
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.0.5" id="swv-js"></script>
|
|
1301
1311
|
<script type="text/javascript" id="contact-form-7-js-before">
|
|
1302
1312
|
/* <![CDATA[ */
|
|
1303
1313
|
var wpcf7 = {
|
|
@@ -1309,7 +1319,7 @@ var wpcf7 = {
|
|
|
1309
1319
|
};
|
|
1310
1320
|
/* ]]> */
|
|
1311
1321
|
</script>
|
|
1312
|
-
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.0.
|
|
1322
|
+
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.0.5" id="contact-form-7-js"></script>
|
|
1313
1323
|
<script type="text/javascript" id="load_comments_js-js-extra">
|
|
1314
1324
|
/* <![CDATA[ */
|
|
1315
1325
|
var wpdc = {"commentsURL":"https:\/\/opensource.org\/wp-json\/wp-discourse\/v1\/discourse-comments"};
|
|
@@ -1326,11 +1336,11 @@ wp.jpI18nLoader.state = {"baseUrl":"https://opensource.org/wp-content/languages/
|
|
|
1326
1336
|
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/gutenberg/build/url/index.min.js?ver=1203626ff9ccb36dc17c" id="wp-url-js"></script>
|
|
1327
1337
|
<script type="text/javascript" id="jetpack-instant-search-js-before">
|
|
1328
1338
|
/* <![CDATA[ */
|
|
1329
|
-
var JetpackInstantSearchOptions=JSON.parse(decodeURIComponent("%7B%22overlayOptions%22%3A%7B%22colorTheme%22%3A%22light%22%2C%22enableInfScroll%22%3Atrue%2C%22enableFilteringOpensOverlay%22%3Atrue%2C%22enablePostDate%22%3Atrue%2C%22enableSort%22%3Atrue%2C%22highlightColor%22%3A%22%23fdd7b9%22%2C%22overlayTrigger%22%3A%22submit%22%2C%22resultFormat%22%3A%22expanded%22%2C%22showPoweredBy%22%3Atrue%2C%22defaultSort%22%3A%22relevance%22%2C%22excludedPostTypes%22%3A%5B%22attachment%22%5D%7D%2C%22homeUrl%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%22%2C%22locale%22%3A%22en-US%22%2C%22postsPerPage%22%3A12%2C%22siteId%22%3A210318891%2C%22postTypes%22%3A%7B%22post%22%3A%7B%22singular_name%22%3A%22Post%22%2C%22name%22%3A%22Posts%22%7D%2C%22page%22%3A%7B%22singular_name%22%3A%22Page%22%2C%22name%22%3A%22Pages%22%7D%2C%22attachment%22%3A%7B%22singular_name%22%3A%22Media%22%2C%22name%22%3A%22Media%22%7D%2C%22supporter%22%3A%7B%22singular_name%22%3A%22Supporter%22%2C%22name%22%3A%22Supporters%22%7D%2C%22board-member%22%3A%7B%22singular_name%22%3A%22Board%20Member%22%2C%22name%22%3A%22Board%20Members%22%7D%2C%22license%22%3A%7B%22singular_name%22%3A%22License%22%2C%22name%22%3A%22Licenses%22%7D%2C%22meeting-minutes%22%3A%7B%22singular_name%22%3A%22Meeting%20Minutes%22%2C%22name%22%3A%22Meeting%20Minutes%22%7D%2C%22press-mentions%22%3A%7B%22singular_name%22%3A%22Press%20mentions%22%2C%22name%22%3A%22Press%20mentions%22%7D%2C%22podcast%22%3A%7B%22singular_name%22%3A%22Episode%22%2C%22name%22%3A%22Episode%22%7D%7D%2C%22webpackPublicPath%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%5C%2Fwp-content%5C%2Fplugins%5C%2Fjetpack%5C%2Fjetpack_vendor%5C%2Fautomattic%5C%2Fjetpack-search%5C%2Fbuild%5C%2Finstant-search%5C%2F%22%2C%22isPhotonEnabled%22%3Atrue%2C%22isFreePlan%22%3Afalse%2C%22apiRoot%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%5C%2Fwp-json%5C%2F%22%2C%22apiNonce%22%3A%
|
|
1339
|
+
var JetpackInstantSearchOptions=JSON.parse(decodeURIComponent("%7B%22overlayOptions%22%3A%7B%22colorTheme%22%3A%22light%22%2C%22enableInfScroll%22%3Atrue%2C%22enableFilteringOpensOverlay%22%3Atrue%2C%22enablePostDate%22%3Atrue%2C%22enableSort%22%3Atrue%2C%22highlightColor%22%3A%22%23fdd7b9%22%2C%22overlayTrigger%22%3A%22submit%22%2C%22resultFormat%22%3A%22expanded%22%2C%22showPoweredBy%22%3Atrue%2C%22defaultSort%22%3A%22relevance%22%2C%22excludedPostTypes%22%3A%5B%22attachment%22%5D%7D%2C%22homeUrl%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%22%2C%22locale%22%3A%22en-US%22%2C%22postsPerPage%22%3A12%2C%22siteId%22%3A210318891%2C%22postTypes%22%3A%7B%22post%22%3A%7B%22singular_name%22%3A%22Post%22%2C%22name%22%3A%22Posts%22%7D%2C%22page%22%3A%7B%22singular_name%22%3A%22Page%22%2C%22name%22%3A%22Pages%22%7D%2C%22attachment%22%3A%7B%22singular_name%22%3A%22Media%22%2C%22name%22%3A%22Media%22%7D%2C%22supporter%22%3A%7B%22singular_name%22%3A%22Supporter%22%2C%22name%22%3A%22Supporters%22%7D%2C%22board-member%22%3A%7B%22singular_name%22%3A%22Board%20Member%22%2C%22name%22%3A%22Board%20Members%22%7D%2C%22license%22%3A%7B%22singular_name%22%3A%22License%22%2C%22name%22%3A%22Licenses%22%7D%2C%22meeting-minutes%22%3A%7B%22singular_name%22%3A%22Meeting%20Minutes%22%2C%22name%22%3A%22Meeting%20Minutes%22%7D%2C%22press-mentions%22%3A%7B%22singular_name%22%3A%22Press%20mentions%22%2C%22name%22%3A%22Press%20mentions%22%7D%2C%22podcast%22%3A%7B%22singular_name%22%3A%22Episode%22%2C%22name%22%3A%22Episode%22%7D%7D%2C%22webpackPublicPath%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%5C%2Fwp-content%5C%2Fplugins%5C%2Fjetpack%5C%2Fjetpack_vendor%5C%2Fautomattic%5C%2Fjetpack-search%5C%2Fbuild%5C%2Finstant-search%5C%2F%22%2C%22isPhotonEnabled%22%3Atrue%2C%22isFreePlan%22%3Afalse%2C%22apiRoot%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%5C%2Fwp-json%5C%2F%22%2C%22apiNonce%22%3A%223aa8dee08e%22%2C%22isPrivateSite%22%3Afalse%2C%22isWpcom%22%3Afalse%2C%22hasOverlayWidgets%22%3Atrue%2C%22widgets%22%3A%5B%7B%22filters%22%3A%5B%7B%22name%22%3A%22Post%20Types%22%2C%22type%22%3A%22post_type%22%2C%22count%22%3A6%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%2C%22filter_id%22%3A%22post_type_0%22%7D%2C%7B%22name%22%3A%22Categories%22%2C%22type%22%3A%22taxonomy%22%2C%22taxonomy%22%3A%22category%22%2C%22count%22%3A5%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%2C%22filter_id%22%3A%22taxonomy_1%22%7D%2C%7B%22name%22%3A%22Tags%22%2C%22type%22%3A%22taxonomy%22%2C%22taxonomy%22%3A%22post_tag%22%2C%22count%22%3A5%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%2C%22filter_id%22%3A%22taxonomy_2%22%7D%2C%7B%22name%22%3A%22Year%22%2C%22type%22%3A%22date_histogram%22%2C%22count%22%3A5%2C%22field%22%3A%22post_date%22%2C%22interval%22%3A%22year%22%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%2C%22filter_id%22%3A%22date_histogram_3%22%7D%5D%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%7D%5D%2C%22widgetsOutsideOverlay%22%3A%5B%5D%2C%22hasNonSearchWidgets%22%3Afalse%2C%22preventTrackingCookiesReset%22%3Afalse%7D"));
|
|
1330
1340
|
/* ]]> */
|
|
1331
1341
|
</script>
|
|
1332
|
-
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-search/build/instant-search/jp-search.js?minify=false&ver=
|
|
1333
|
-
<script data-service="jetpack-statistics" data-category="statistics" type="text/plain" data-cmplz-src="//stats.wp.com/w.js?ver=
|
|
1342
|
+
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-search/build/instant-search/jp-search.js?minify=false&ver=1ceb67ae376a9b5578cf" id="jetpack-instant-search-js"></script>
|
|
1343
|
+
<script data-service="jetpack-statistics" data-category="statistics" type="text/plain" data-cmplz-src="//stats.wp.com/w.js?ver=202512" id="jp-tracks-js"></script>
|
|
1334
1344
|
<script type="text/javascript" id="osi-theme-scripts-js-before">
|
|
1335
1345
|
/* <![CDATA[ */
|
|
1336
1346
|
const OSI_LICENSE_DB = {"ajaxURL":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","action":"osi_license_db"}
|
|
@@ -1340,23 +1350,21 @@ const OSI_LICENSE_DB = {"ajaxURL":"https:\/\/opensource.org\/wp-admin\/admin-aja
|
|
|
1340
1350
|
<script type="text/javascript" id="jetpack-stats-js-before">
|
|
1341
1351
|
/* <![CDATA[ */
|
|
1342
1352
|
_stq = window._stq || [];
|
|
1343
|
-
_stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"210318891\",\"post\":\"395\",\"tz\":\"0\",\"srv\":\"opensource.org\",\"hp\":\"atomic\",\"ac\":\"3\",\"amp\":\"0\",\"j\":\"1:14.
|
|
1353
|
+
_stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"210318891\",\"post\":\"395\",\"tz\":\"0\",\"srv\":\"opensource.org\",\"hp\":\"atomic\",\"ac\":\"3\",\"amp\":\"0\",\"j\":\"1:14.5-a.3\"}") ]);
|
|
1344
1354
|
_stq.push([ "clickTrackerInit", "210318891", "395" ]);
|
|
1345
1355
|
/* ]]> */
|
|
1346
1356
|
</script>
|
|
1347
|
-
<script data-service="jetpack-statistics" data-category="statistics" type="text/plain" data-cmplz-src="https://stats.wp.com/e-
|
|
1357
|
+
<script data-service="jetpack-statistics" data-category="statistics" type="text/plain" data-cmplz-src="https://stats.wp.com/e-202512.js" id="jetpack-stats-js" defer="defer" data-wp-strategy="defer"></script>
|
|
1348
1358
|
<script type="text/javascript" id="cmplz-cookiebanner-js-extra">
|
|
1349
1359
|
/* <![CDATA[ */
|
|
1350
|
-
var complianz = {"prefix":"cmplz_","user_banner_id":"1","set_cookies":[],"block_ajax_content":"","banner_version":"
|
|
1360
|
+
var complianz = {"prefix":"cmplz_","user_banner_id":"1","set_cookies":[],"block_ajax_content":"","banner_version":"75","version":"7.3.1","store_consent":"","do_not_track_enabled":"1","consenttype":"optin","region":"eu","geoip":"","dismiss_timeout":"","disable_cookiebanner":"1","soft_cookiewall":"","dismiss_on_scroll":"","cookie_expiry":"365","url":"https:\/\/opensource.org\/wp-json\/complianz\/v1\/","locale":"lang=en&locale=en_US","set_cookies_on_root":"","cookie_domain":"","current_policy_id":"16","cookie_path":"\/","categories":{"statistics":"statistics","marketing":"marketing"},"tcf_active":"","placeholdertext":"Click to accept {category} cookies and enable this content","css_file":"https:\/\/opensource.org\/wp-content\/uploads\/complianz\/css\/banner-{banner_id}-{type}.css?v=75","page_links":{"eu":{"cookie-statement":{"title":"","url":"https:\/\/opensource.org\/press-mentions\/making-good-on-the-promise-of-open-source-ai"}}},"tm_categories":"","forceEnableStats":"","preview":"","clean_cookies":"","aria_label":"Click to accept {category} cookies and enable this content"};
|
|
1351
1361
|
/* ]]> */
|
|
1352
1362
|
</script>
|
|
1353
|
-
<script defer type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/complianz-gdpr/cookiebanner/js/complianz.min.js?ver=
|
|
1363
|
+
<script defer type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/complianz-gdpr/cookiebanner/js/complianz.min.js?ver=1741804769" id="cmplz-cookiebanner-js"></script>
|
|
1354
1364
|
|
|
1355
|
-
<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'
|
|
1365
|
+
<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'921aebcb2e7707df',t:'MTc0MjE5ODA1My4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
|
|
1356
1366
|
</html>
|
|
1357
1367
|
<!--
|
|
1358
|
-
generated
|
|
1359
|
-
|
|
1360
|
-
served from batcache in 0.003 seconds
|
|
1361
|
-
expires in 292 seconds
|
|
1368
|
+
generated in 0.572 seconds
|
|
1369
|
+
131831 bytes batcached for 300 seconds
|
|
1362
1370
|
-->
|
|
@@ -243,7 +243,7 @@ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15
|
|
|
243
243
|
<link rel='stylesheet' id='coblocks-frontend-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/dist/style-coblocks-1.css?ver=3.1.14' type='text/css' media='all' />
|
|
244
244
|
<link rel='stylesheet' id='coblocks-extensions-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/dist/style-coblocks-extensions.css?ver=3.1.14' type='text/css' media='all' />
|
|
245
245
|
<link rel='stylesheet' id='coblocks-animation-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/dist/style-coblocks-animation.css?ver=2677611078ee87eb3b1c' type='text/css' media='all' />
|
|
246
|
-
<link rel='stylesheet' id='contact-form-7-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.0.
|
|
246
|
+
<link rel='stylesheet' id='contact-form-7-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.0.5' type='text/css' media='all' />
|
|
247
247
|
<link rel='stylesheet' id='events-manager-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/events-manager/includes/css/events-manager.min.css?ver=6.6.4.4' type='text/css' media='all' />
|
|
248
248
|
<link rel='stylesheet' id='events-manager-pro-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/events-manager-pro/includes/css/events-manager-pro.css?ver=3.4.1' type='text/css' media='all' />
|
|
249
249
|
<style id='global-styles-inline-css' type='text/css'>
|
|
@@ -251,7 +251,7 @@ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15
|
|
|
251
251
|
:root :where(.wp-block-pullquote){font-size: clamp(0.984em, 0.984rem + ((1vw - 0.2em) * 0.645), 1.5em);line-height: 1.6;}
|
|
252
252
|
</style>
|
|
253
253
|
<link rel='stylesheet' id='comment_styles-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/wp-discourse/lib/../css/comments.css?ver=1734028771' type='text/css' media='all' />
|
|
254
|
-
<link rel='stylesheet' id='cmplz-general-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/complianz-gdpr/assets/css/cookieblocker.min.css?ver=
|
|
254
|
+
<link rel='stylesheet' id='cmplz-general-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/complianz-gdpr/assets/css/cookieblocker.min.css?ver=1741804769' type='text/css' media='all' />
|
|
255
255
|
<link rel='stylesheet' id='dashicons-css' href='https://c0.wp.com/c/6.7.2/wp-includes/css/dashicons.min.css' type='text/css' media='all' />
|
|
256
256
|
<link rel='stylesheet' id='wp-components-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/gutenberg/build/components/style.css?ver=20.4.0' type='text/css' media='all' />
|
|
257
257
|
<link rel='stylesheet' id='godaddy-styles-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/includes/Dependencies/GoDaddy/Styles/build/latest.css?ver=2.0.2' type='text/css' media='all' />
|
|
@@ -267,7 +267,7 @@ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15
|
|
|
267
267
|
|
|
268
268
|
.wp-block-cover { background-image:url()}
|
|
269
269
|
</style>
|
|
270
|
-
<link rel='stylesheet' id='genericons-css' href='https://
|
|
270
|
+
<link rel='stylesheet' id='genericons-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/jetpack/_inc/genericons/genericons/genericons.css?ver=3.1' type='text/css' media='all' />
|
|
271
271
|
<link rel='stylesheet' id='jetpack-social-menu-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-classic-theme-helper/src/social-menu/social-menu.css?ver=1.0' type='text/css' media='all' />
|
|
272
272
|
<style id='akismet-widget-style-inline-css' type='text/css'>
|
|
273
273
|
|
|
@@ -357,7 +357,7 @@ jQuery(function(jQuery){jQuery.datepicker.setDefaults({"closeText":"Close","curr
|
|
|
357
357
|
<script type="text/javascript" src="https://c0.wp.com/c/6.7.2/wp-includes/js/jquery/ui/dialog.min.js" id="jquery-ui-dialog-js"></script>
|
|
358
358
|
<script type="text/javascript" id="events-manager-js-extra">
|
|
359
359
|
/* <![CDATA[ */
|
|
360
|
-
var EM = {"ajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","locationajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php?action=locations_search","firstDay":"1","locale":"en","dateFormat":"yy-mm-dd","ui_css":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager\/includes\/css\/jquery-ui\/build.min.css","show24hours":"0","is_ssl":"1","autocomplete_limit":"10","calendar":{"breakpoints":{"small":560,"medium":908,"large":false}},"phone":"","datepicker":{"format":"Y-m-d"},"search":{"breakpoints":{"small":650,"medium":850,"full":false}},"url":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager","assets":{"input.em-uploader":{"js":{"em-uploader":{"url":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager\/includes\/js\/em-uploader.js","required":true,"event":"em_uploader_ready"}}}},"bookingInProgress":"Please wait while the booking is being submitted.","tickets_save":"Save Ticket","bookingajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","bookings_export_save":"Export Bookings","bookings_settings_save":"Save Settings","booking_delete":"Are you sure you want to delete?","booking_offset":"30","bookings":{"submit_button":{"text":{"default":"Submit Booking","free":"Submit Booking","payment":"Submit Booking - %s","processing":"Processing ..."}},"update_listener":""},"bb_full":"Sold Out","bb_book":"Book Now","bb_booking":"Booking...","bb_booked":"Booking Submitted","bb_error":"Booking Error. Try again?","bb_cancel":"Cancel","bb_canceling":"Canceling...","bb_cancelled":"Cancelled","bb_cancel_error":"Cancellation Error. Try again?","txt_search":"Search","txt_searching":"Searching...","txt_loading":"Loading...","cache":"1","api_nonce":"
|
|
360
|
+
var EM = {"ajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","locationajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php?action=locations_search","firstDay":"1","locale":"en","dateFormat":"yy-mm-dd","ui_css":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager\/includes\/css\/jquery-ui\/build.min.css","show24hours":"0","is_ssl":"1","autocomplete_limit":"10","calendar":{"breakpoints":{"small":560,"medium":908,"large":false}},"phone":"","datepicker":{"format":"Y-m-d"},"search":{"breakpoints":{"small":650,"medium":850,"full":false}},"url":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager","assets":{"input.em-uploader":{"js":{"em-uploader":{"url":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager\/includes\/js\/em-uploader.js","required":true,"event":"em_uploader_ready"}}}},"bookingInProgress":"Please wait while the booking is being submitted.","tickets_save":"Save Ticket","bookingajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","bookings_export_save":"Export Bookings","bookings_settings_save":"Save Settings","booking_delete":"Are you sure you want to delete?","booking_offset":"30","bookings":{"submit_button":{"text":{"default":"Submit Booking","free":"Submit Booking","payment":"Submit Booking - %s","processing":"Processing ..."}},"update_listener":""},"bb_full":"Sold Out","bb_book":"Book Now","bb_booking":"Booking...","bb_booked":"Booking Submitted","bb_error":"Booking Error. Try again?","bb_cancel":"Cancel","bb_canceling":"Canceling...","bb_cancelled":"Cancelled","bb_cancel_error":"Cancellation Error. Try again?","txt_search":"Search","txt_searching":"Searching...","txt_loading":"Loading...","cache":"1","api_nonce":"3aa8dee08e","attendance_api_url":"https:\/\/opensource.org\/wp-json\/events-manager\/v1\/attendance"};
|
|
361
361
|
/* ]]> */
|
|
362
362
|
</script>
|
|
363
363
|
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/events-manager/includes/js/events-manager.js?ver=6.6.4.4" id="events-manager-js"></script>
|
|
@@ -933,6 +933,15 @@ form.customize-unpreviewable {
|
|
|
933
933
|
.single-podcast .post--byline {
|
|
934
934
|
display: none;
|
|
935
935
|
}
|
|
936
|
+
|
|
937
|
+
/*Single podcast template - hide series information*/
|
|
938
|
+
.nelio-content-series-meta {
|
|
939
|
+
display: none;
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
.nelio-content-series-post-list__title {
|
|
943
|
+
display: none;
|
|
944
|
+
}
|
|
936
945
|
</style>
|
|
937
946
|
</head>
|
|
938
947
|
|
|
@@ -1085,6 +1094,7 @@ form.customize-unpreviewable {
|
|
|
1085
1094
|
<li id="menu-item-8859" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8859"><a href="https://opensource.org/bylaws">Bylaws</a></li>
|
|
1086
1095
|
<li id="menu-item-5432" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5432"><a href="https://opensource.org/history">History</a></li>
|
|
1087
1096
|
<li id="menu-item-25856" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-25856"><a href="https://opensource.org/trademark-guidelines">Trademark<br />Guidelines</a></li>
|
|
1097
|
+
<li id="menu-item-123421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-123421"><a href="https://opensource.org/press-mentions">Press mentions</a></li>
|
|
1088
1098
|
</ul></div></div></div>
|
|
1089
1099
|
</div></section><section class="widget_text wp-block-column widget custom_html-2 widget_custom_html"><div class="widget_text widget-inner"><div class="textwidget custom-html-widget"><section class="wp-block-column widget block-17 widget_block"><div class="widget-inner">
|
|
1090
1100
|
<div class="wp-block-group is-layout-constrained wp-block-group-is-layout-constrained">
|
|
@@ -1295,7 +1305,7 @@ var coblocksTinyswiper = {"carouselPrevButtonAriaLabel":"Previous","carouselNext
|
|
|
1295
1305
|
/* ]]> */
|
|
1296
1306
|
</script>
|
|
1297
1307
|
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/dist/js/coblocks-tinyswiper-initializer.js?ver=3.1.14" id="coblocks-tinyswiper-initializer-js"></script>
|
|
1298
|
-
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.0.
|
|
1308
|
+
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.0.5" id="swv-js"></script>
|
|
1299
1309
|
<script type="text/javascript" id="contact-form-7-js-before">
|
|
1300
1310
|
/* <![CDATA[ */
|
|
1301
1311
|
var wpcf7 = {
|
|
@@ -1307,7 +1317,7 @@ var wpcf7 = {
|
|
|
1307
1317
|
};
|
|
1308
1318
|
/* ]]> */
|
|
1309
1319
|
</script>
|
|
1310
|
-
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.0.
|
|
1320
|
+
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.0.5" id="contact-form-7-js"></script>
|
|
1311
1321
|
<script type="text/javascript" id="load_comments_js-js-extra">
|
|
1312
1322
|
/* <![CDATA[ */
|
|
1313
1323
|
var wpdc = {"commentsURL":"https:\/\/opensource.org\/wp-json\/wp-discourse\/v1\/discourse-comments"};
|
|
@@ -1324,11 +1334,11 @@ wp.jpI18nLoader.state = {"baseUrl":"https://opensource.org/wp-content/languages/
|
|
|
1324
1334
|
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/gutenberg/build/url/index.min.js?ver=1203626ff9ccb36dc17c" id="wp-url-js"></script>
|
|
1325
1335
|
<script type="text/javascript" id="jetpack-instant-search-js-before">
|
|
1326
1336
|
/* <![CDATA[ */
|
|
1327
|
-
var JetpackInstantSearchOptions=JSON.parse(decodeURIComponent("%7B%22overlayOptions%22%3A%7B%22colorTheme%22%3A%22light%22%2C%22enableInfScroll%22%3Atrue%2C%22enableFilteringOpensOverlay%22%3Atrue%2C%22enablePostDate%22%3Atrue%2C%22enableSort%22%3Atrue%2C%22highlightColor%22%3A%22%23fdd7b9%22%2C%22overlayTrigger%22%3A%22submit%22%2C%22resultFormat%22%3A%22expanded%22%2C%22showPoweredBy%22%3Atrue%2C%22defaultSort%22%3A%22relevance%22%2C%22excludedPostTypes%22%3A%5B%22attachment%22%5D%7D%2C%22homeUrl%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%22%2C%22locale%22%3A%22en-US%22%2C%22postsPerPage%22%3A12%2C%22siteId%22%3A210318891%2C%22postTypes%22%3A%7B%22post%22%3A%7B%22singular_name%22%3A%22Post%22%2C%22name%22%3A%22Posts%22%7D%2C%22page%22%3A%7B%22singular_name%22%3A%22Page%22%2C%22name%22%3A%22Pages%22%7D%2C%22attachment%22%3A%7B%22singular_name%22%3A%22Media%22%2C%22name%22%3A%22Media%22%7D%2C%22supporter%22%3A%7B%22singular_name%22%3A%22Supporter%22%2C%22name%22%3A%22Supporters%22%7D%2C%22board-member%22%3A%7B%22singular_name%22%3A%22Board%20Member%22%2C%22name%22%3A%22Board%20Members%22%7D%2C%22license%22%3A%7B%22singular_name%22%3A%22License%22%2C%22name%22%3A%22Licenses%22%7D%2C%22meeting-minutes%22%3A%7B%22singular_name%22%3A%22Meeting%20Minutes%22%2C%22name%22%3A%22Meeting%20Minutes%22%7D%2C%22press-mentions%22%3A%7B%22singular_name%22%3A%22Press%20mentions%22%2C%22name%22%3A%22Press%20mentions%22%7D%2C%22podcast%22%3A%7B%22singular_name%22%3A%22Episode%22%2C%22name%22%3A%22Episode%22%7D%7D%2C%22webpackPublicPath%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%5C%2Fwp-content%5C%2Fplugins%5C%2Fjetpack%5C%2Fjetpack_vendor%5C%2Fautomattic%5C%2Fjetpack-search%5C%2Fbuild%5C%2Finstant-search%5C%2F%22%2C%22isPhotonEnabled%22%3Atrue%2C%22isFreePlan%22%3Afalse%2C%22apiRoot%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%5C%2Fwp-json%5C%2F%22%2C%22apiNonce%22%3A%
|
|
1337
|
+
var JetpackInstantSearchOptions=JSON.parse(decodeURIComponent("%7B%22overlayOptions%22%3A%7B%22colorTheme%22%3A%22light%22%2C%22enableInfScroll%22%3Atrue%2C%22enableFilteringOpensOverlay%22%3Atrue%2C%22enablePostDate%22%3Atrue%2C%22enableSort%22%3Atrue%2C%22highlightColor%22%3A%22%23fdd7b9%22%2C%22overlayTrigger%22%3A%22submit%22%2C%22resultFormat%22%3A%22expanded%22%2C%22showPoweredBy%22%3Atrue%2C%22defaultSort%22%3A%22relevance%22%2C%22excludedPostTypes%22%3A%5B%22attachment%22%5D%7D%2C%22homeUrl%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%22%2C%22locale%22%3A%22en-US%22%2C%22postsPerPage%22%3A12%2C%22siteId%22%3A210318891%2C%22postTypes%22%3A%7B%22post%22%3A%7B%22singular_name%22%3A%22Post%22%2C%22name%22%3A%22Posts%22%7D%2C%22page%22%3A%7B%22singular_name%22%3A%22Page%22%2C%22name%22%3A%22Pages%22%7D%2C%22attachment%22%3A%7B%22singular_name%22%3A%22Media%22%2C%22name%22%3A%22Media%22%7D%2C%22supporter%22%3A%7B%22singular_name%22%3A%22Supporter%22%2C%22name%22%3A%22Supporters%22%7D%2C%22board-member%22%3A%7B%22singular_name%22%3A%22Board%20Member%22%2C%22name%22%3A%22Board%20Members%22%7D%2C%22license%22%3A%7B%22singular_name%22%3A%22License%22%2C%22name%22%3A%22Licenses%22%7D%2C%22meeting-minutes%22%3A%7B%22singular_name%22%3A%22Meeting%20Minutes%22%2C%22name%22%3A%22Meeting%20Minutes%22%7D%2C%22press-mentions%22%3A%7B%22singular_name%22%3A%22Press%20mentions%22%2C%22name%22%3A%22Press%20mentions%22%7D%2C%22podcast%22%3A%7B%22singular_name%22%3A%22Episode%22%2C%22name%22%3A%22Episode%22%7D%7D%2C%22webpackPublicPath%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%5C%2Fwp-content%5C%2Fplugins%5C%2Fjetpack%5C%2Fjetpack_vendor%5C%2Fautomattic%5C%2Fjetpack-search%5C%2Fbuild%5C%2Finstant-search%5C%2F%22%2C%22isPhotonEnabled%22%3Atrue%2C%22isFreePlan%22%3Afalse%2C%22apiRoot%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%5C%2Fwp-json%5C%2F%22%2C%22apiNonce%22%3A%223aa8dee08e%22%2C%22isPrivateSite%22%3Afalse%2C%22isWpcom%22%3Afalse%2C%22hasOverlayWidgets%22%3Atrue%2C%22widgets%22%3A%5B%7B%22filters%22%3A%5B%7B%22name%22%3A%22Post%20Types%22%2C%22type%22%3A%22post_type%22%2C%22count%22%3A6%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%2C%22filter_id%22%3A%22post_type_0%22%7D%2C%7B%22name%22%3A%22Categories%22%2C%22type%22%3A%22taxonomy%22%2C%22taxonomy%22%3A%22category%22%2C%22count%22%3A5%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%2C%22filter_id%22%3A%22taxonomy_1%22%7D%2C%7B%22name%22%3A%22Tags%22%2C%22type%22%3A%22taxonomy%22%2C%22taxonomy%22%3A%22post_tag%22%2C%22count%22%3A5%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%2C%22filter_id%22%3A%22taxonomy_2%22%7D%2C%7B%22name%22%3A%22Year%22%2C%22type%22%3A%22date_histogram%22%2C%22count%22%3A5%2C%22field%22%3A%22post_date%22%2C%22interval%22%3A%22year%22%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%2C%22filter_id%22%3A%22date_histogram_3%22%7D%5D%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%7D%5D%2C%22widgetsOutsideOverlay%22%3A%5B%5D%2C%22hasNonSearchWidgets%22%3Afalse%2C%22preventTrackingCookiesReset%22%3Afalse%7D"));
|
|
1328
1338
|
/* ]]> */
|
|
1329
1339
|
</script>
|
|
1330
|
-
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-search/build/instant-search/jp-search.js?minify=false&ver=
|
|
1331
|
-
<script data-service="jetpack-statistics" data-category="statistics" type="text/plain" data-cmplz-src="//stats.wp.com/w.js?ver=
|
|
1340
|
+
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-search/build/instant-search/jp-search.js?minify=false&ver=1ceb67ae376a9b5578cf" id="jetpack-instant-search-js"></script>
|
|
1341
|
+
<script data-service="jetpack-statistics" data-category="statistics" type="text/plain" data-cmplz-src="//stats.wp.com/w.js?ver=202512" id="jp-tracks-js"></script>
|
|
1332
1342
|
<script type="text/javascript" id="osi-theme-scripts-js-before">
|
|
1333
1343
|
/* <![CDATA[ */
|
|
1334
1344
|
const OSI_LICENSE_DB = {"ajaxURL":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","action":"osi_license_db"}
|
|
@@ -1338,23 +1348,23 @@ const OSI_LICENSE_DB = {"ajaxURL":"https:\/\/opensource.org\/wp-admin\/admin-aja
|
|
|
1338
1348
|
<script type="text/javascript" id="jetpack-stats-js-before">
|
|
1339
1349
|
/* <![CDATA[ */
|
|
1340
1350
|
_stq = window._stq || [];
|
|
1341
|
-
_stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"210318891\",\"post\":\"373\",\"tz\":\"0\",\"srv\":\"opensource.org\",\"hp\":\"atomic\",\"ac\":\"3\",\"amp\":\"0\",\"j\":\"1:14.
|
|
1351
|
+
_stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"210318891\",\"post\":\"373\",\"tz\":\"0\",\"srv\":\"opensource.org\",\"hp\":\"atomic\",\"ac\":\"3\",\"amp\":\"0\",\"j\":\"1:14.5-a.3\"}") ]);
|
|
1342
1352
|
_stq.push([ "clickTrackerInit", "210318891", "373" ]);
|
|
1343
1353
|
/* ]]> */
|
|
1344
1354
|
</script>
|
|
1345
|
-
<script data-service="jetpack-statistics" data-category="statistics" type="text/plain" data-cmplz-src="https://stats.wp.com/e-
|
|
1355
|
+
<script data-service="jetpack-statistics" data-category="statistics" type="text/plain" data-cmplz-src="https://stats.wp.com/e-202512.js" id="jetpack-stats-js" defer="defer" data-wp-strategy="defer"></script>
|
|
1346
1356
|
<script type="text/javascript" id="cmplz-cookiebanner-js-extra">
|
|
1347
1357
|
/* <![CDATA[ */
|
|
1348
|
-
var complianz = {"prefix":"cmplz_","user_banner_id":"1","set_cookies":[],"block_ajax_content":"","banner_version":"
|
|
1358
|
+
var complianz = {"prefix":"cmplz_","user_banner_id":"1","set_cookies":[],"block_ajax_content":"","banner_version":"75","version":"7.3.1","store_consent":"","do_not_track_enabled":"1","consenttype":"optin","region":"eu","geoip":"","dismiss_timeout":"","disable_cookiebanner":"1","soft_cookiewall":"","dismiss_on_scroll":"","cookie_expiry":"365","url":"https:\/\/opensource.org\/wp-json\/complianz\/v1\/","locale":"lang=en&locale=en_US","set_cookies_on_root":"","cookie_domain":"","current_policy_id":"16","cookie_path":"\/","categories":{"statistics":"statistics","marketing":"marketing"},"tcf_active":"","placeholdertext":"Click to accept {category} cookies and enable this content","css_file":"https:\/\/opensource.org\/wp-content\/uploads\/complianz\/css\/banner-{banner_id}-{type}.css?v=75","page_links":{"eu":{"cookie-statement":{"title":"","url":"https:\/\/opensource.org\/press-mentions\/making-good-on-the-promise-of-open-source-ai"}}},"tm_categories":"","forceEnableStats":"","preview":"","clean_cookies":"","aria_label":"Click to accept {category} cookies and enable this content"};
|
|
1349
1359
|
/* ]]> */
|
|
1350
1360
|
</script>
|
|
1351
|
-
<script defer type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/complianz-gdpr/cookiebanner/js/complianz.min.js?ver=
|
|
1361
|
+
<script defer type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/complianz-gdpr/cookiebanner/js/complianz.min.js?ver=1741804769" id="cmplz-cookiebanner-js"></script>
|
|
1352
1362
|
|
|
1353
|
-
<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'
|
|
1363
|
+
<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'921aebca2dbe07df',t:'MTc0MjE5ODA1My4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
|
|
1354
1364
|
</html>
|
|
1355
1365
|
<!--
|
|
1356
|
-
generated
|
|
1357
|
-
generated in 0.
|
|
1366
|
+
generated 6 seconds ago
|
|
1367
|
+
generated in 0.511 seconds
|
|
1358
1368
|
served from batcache in 0.003 seconds
|
|
1359
|
-
expires in
|
|
1369
|
+
expires in 294 seconds
|
|
1360
1370
|
-->
|
|
@@ -243,7 +243,7 @@ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15
|
|
|
243
243
|
<link rel='stylesheet' id='coblocks-frontend-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/dist/style-coblocks-1.css?ver=3.1.14' type='text/css' media='all' />
|
|
244
244
|
<link rel='stylesheet' id='coblocks-extensions-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/dist/style-coblocks-extensions.css?ver=3.1.14' type='text/css' media='all' />
|
|
245
245
|
<link rel='stylesheet' id='coblocks-animation-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/dist/style-coblocks-animation.css?ver=2677611078ee87eb3b1c' type='text/css' media='all' />
|
|
246
|
-
<link rel='stylesheet' id='contact-form-7-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.0.
|
|
246
|
+
<link rel='stylesheet' id='contact-form-7-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.0.5' type='text/css' media='all' />
|
|
247
247
|
<link rel='stylesheet' id='events-manager-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/events-manager/includes/css/events-manager.min.css?ver=6.6.4.4' type='text/css' media='all' />
|
|
248
248
|
<link rel='stylesheet' id='events-manager-pro-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/events-manager-pro/includes/css/events-manager-pro.css?ver=3.4.1' type='text/css' media='all' />
|
|
249
249
|
<style id='global-styles-inline-css' type='text/css'>
|
|
@@ -251,7 +251,7 @@ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15
|
|
|
251
251
|
:root :where(.wp-block-pullquote){font-size: clamp(0.984em, 0.984rem + ((1vw - 0.2em) * 0.645), 1.5em);line-height: 1.6;}
|
|
252
252
|
</style>
|
|
253
253
|
<link rel='stylesheet' id='comment_styles-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/wp-discourse/lib/../css/comments.css?ver=1734028771' type='text/css' media='all' />
|
|
254
|
-
<link rel='stylesheet' id='cmplz-general-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/complianz-gdpr/assets/css/cookieblocker.min.css?ver=
|
|
254
|
+
<link rel='stylesheet' id='cmplz-general-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/complianz-gdpr/assets/css/cookieblocker.min.css?ver=1741804769' type='text/css' media='all' />
|
|
255
255
|
<link rel='stylesheet' id='dashicons-css' href='https://c0.wp.com/c/6.7.2/wp-includes/css/dashicons.min.css' type='text/css' media='all' />
|
|
256
256
|
<link rel='stylesheet' id='wp-components-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/gutenberg/build/components/style.css?ver=20.4.0' type='text/css' media='all' />
|
|
257
257
|
<link rel='stylesheet' id='godaddy-styles-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/includes/Dependencies/GoDaddy/Styles/build/latest.css?ver=2.0.2' type='text/css' media='all' />
|
|
@@ -267,7 +267,7 @@ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15
|
|
|
267
267
|
|
|
268
268
|
.wp-block-cover { background-image:url()}
|
|
269
269
|
</style>
|
|
270
|
-
<link rel='stylesheet' id='genericons-css' href='https://
|
|
270
|
+
<link rel='stylesheet' id='genericons-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/jetpack/_inc/genericons/genericons/genericons.css?ver=3.1' type='text/css' media='all' />
|
|
271
271
|
<link rel='stylesheet' id='jetpack-social-menu-css' href='https://149753425.v2.pressablecdn.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-classic-theme-helper/src/social-menu/social-menu.css?ver=1.0' type='text/css' media='all' />
|
|
272
272
|
<style id='akismet-widget-style-inline-css' type='text/css'>
|
|
273
273
|
|
|
@@ -357,7 +357,7 @@ jQuery(function(jQuery){jQuery.datepicker.setDefaults({"closeText":"Close","curr
|
|
|
357
357
|
<script type="text/javascript" src="https://c0.wp.com/c/6.7.2/wp-includes/js/jquery/ui/dialog.min.js" id="jquery-ui-dialog-js"></script>
|
|
358
358
|
<script type="text/javascript" id="events-manager-js-extra">
|
|
359
359
|
/* <![CDATA[ */
|
|
360
|
-
var EM = {"ajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","locationajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php?action=locations_search","firstDay":"1","locale":"en","dateFormat":"yy-mm-dd","ui_css":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager\/includes\/css\/jquery-ui\/build.min.css","show24hours":"0","is_ssl":"1","autocomplete_limit":"10","calendar":{"breakpoints":{"small":560,"medium":908,"large":false}},"phone":"","datepicker":{"format":"Y-m-d"},"search":{"breakpoints":{"small":650,"medium":850,"full":false}},"url":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager","assets":{"input.em-uploader":{"js":{"em-uploader":{"url":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager\/includes\/js\/em-uploader.js","required":true,"event":"em_uploader_ready"}}}},"bookingInProgress":"Please wait while the booking is being submitted.","tickets_save":"Save Ticket","bookingajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","bookings_export_save":"Export Bookings","bookings_settings_save":"Save Settings","booking_delete":"Are you sure you want to delete?","booking_offset":"30","bookings":{"submit_button":{"text":{"default":"Submit Booking","free":"Submit Booking","payment":"Submit Booking - %s","processing":"Processing ..."}},"update_listener":""},"bb_full":"Sold Out","bb_book":"Book Now","bb_booking":"Booking...","bb_booked":"Booking Submitted","bb_error":"Booking Error. Try again?","bb_cancel":"Cancel","bb_canceling":"Canceling...","bb_cancelled":"Cancelled","bb_cancel_error":"Cancellation Error. Try again?","txt_search":"Search","txt_searching":"Searching...","txt_loading":"Loading...","cache":"1","api_nonce":"
|
|
360
|
+
var EM = {"ajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","locationajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php?action=locations_search","firstDay":"1","locale":"en","dateFormat":"yy-mm-dd","ui_css":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager\/includes\/css\/jquery-ui\/build.min.css","show24hours":"0","is_ssl":"1","autocomplete_limit":"10","calendar":{"breakpoints":{"small":560,"medium":908,"large":false}},"phone":"","datepicker":{"format":"Y-m-d"},"search":{"breakpoints":{"small":650,"medium":850,"full":false}},"url":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager","assets":{"input.em-uploader":{"js":{"em-uploader":{"url":"https:\/\/opensource.org\/wp-content\/plugins\/events-manager\/includes\/js\/em-uploader.js","required":true,"event":"em_uploader_ready"}}}},"bookingInProgress":"Please wait while the booking is being submitted.","tickets_save":"Save Ticket","bookingajaxurl":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","bookings_export_save":"Export Bookings","bookings_settings_save":"Save Settings","booking_delete":"Are you sure you want to delete?","booking_offset":"30","bookings":{"submit_button":{"text":{"default":"Submit Booking","free":"Submit Booking","payment":"Submit Booking - %s","processing":"Processing ..."}},"update_listener":""},"bb_full":"Sold Out","bb_book":"Book Now","bb_booking":"Booking...","bb_booked":"Booking Submitted","bb_error":"Booking Error. Try again?","bb_cancel":"Cancel","bb_canceling":"Canceling...","bb_cancelled":"Cancelled","bb_cancel_error":"Cancellation Error. Try again?","txt_search":"Search","txt_searching":"Searching...","txt_loading":"Loading...","cache":"1","api_nonce":"3aa8dee08e","attendance_api_url":"https:\/\/opensource.org\/wp-json\/events-manager\/v1\/attendance"};
|
|
361
361
|
/* ]]> */
|
|
362
362
|
</script>
|
|
363
363
|
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/events-manager/includes/js/events-manager.js?ver=6.6.4.4" id="events-manager-js"></script>
|
|
@@ -933,6 +933,15 @@ form.customize-unpreviewable {
|
|
|
933
933
|
.single-podcast .post--byline {
|
|
934
934
|
display: none;
|
|
935
935
|
}
|
|
936
|
+
|
|
937
|
+
/*Single podcast template - hide series information*/
|
|
938
|
+
.nelio-content-series-meta {
|
|
939
|
+
display: none;
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
.nelio-content-series-post-list__title {
|
|
943
|
+
display: none;
|
|
944
|
+
}
|
|
936
945
|
</style>
|
|
937
946
|
</head>
|
|
938
947
|
|
|
@@ -1087,6 +1096,7 @@ form.customize-unpreviewable {
|
|
|
1087
1096
|
<li id="menu-item-8859" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8859"><a href="https://opensource.org/bylaws">Bylaws</a></li>
|
|
1088
1097
|
<li id="menu-item-5432" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5432"><a href="https://opensource.org/history">History</a></li>
|
|
1089
1098
|
<li id="menu-item-25856" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-25856"><a href="https://opensource.org/trademark-guidelines">Trademark<br />Guidelines</a></li>
|
|
1099
|
+
<li id="menu-item-123421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-123421"><a href="https://opensource.org/press-mentions">Press mentions</a></li>
|
|
1090
1100
|
</ul></div></div></div>
|
|
1091
1101
|
</div></section><section class="widget_text wp-block-column widget custom_html-2 widget_custom_html"><div class="widget_text widget-inner"><div class="textwidget custom-html-widget"><section class="wp-block-column widget block-17 widget_block"><div class="widget-inner">
|
|
1092
1102
|
<div class="wp-block-group is-layout-constrained wp-block-group-is-layout-constrained">
|
|
@@ -1297,7 +1307,7 @@ var coblocksTinyswiper = {"carouselPrevButtonAriaLabel":"Previous","carouselNext
|
|
|
1297
1307
|
/* ]]> */
|
|
1298
1308
|
</script>
|
|
1299
1309
|
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/coblocks/dist/js/coblocks-tinyswiper-initializer.js?ver=3.1.14" id="coblocks-tinyswiper-initializer-js"></script>
|
|
1300
|
-
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.0.
|
|
1310
|
+
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.0.5" id="swv-js"></script>
|
|
1301
1311
|
<script type="text/javascript" id="contact-form-7-js-before">
|
|
1302
1312
|
/* <![CDATA[ */
|
|
1303
1313
|
var wpcf7 = {
|
|
@@ -1309,7 +1319,7 @@ var wpcf7 = {
|
|
|
1309
1319
|
};
|
|
1310
1320
|
/* ]]> */
|
|
1311
1321
|
</script>
|
|
1312
|
-
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.0.
|
|
1322
|
+
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.0.5" id="contact-form-7-js"></script>
|
|
1313
1323
|
<script type="text/javascript" id="load_comments_js-js-extra">
|
|
1314
1324
|
/* <![CDATA[ */
|
|
1315
1325
|
var wpdc = {"commentsURL":"https:\/\/opensource.org\/wp-json\/wp-discourse\/v1\/discourse-comments"};
|
|
@@ -1326,11 +1336,11 @@ wp.jpI18nLoader.state = {"baseUrl":"https://opensource.org/wp-content/languages/
|
|
|
1326
1336
|
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/gutenberg/build/url/index.min.js?ver=1203626ff9ccb36dc17c" id="wp-url-js"></script>
|
|
1327
1337
|
<script type="text/javascript" id="jetpack-instant-search-js-before">
|
|
1328
1338
|
/* <![CDATA[ */
|
|
1329
|
-
var JetpackInstantSearchOptions=JSON.parse(decodeURIComponent("%7B%22overlayOptions%22%3A%7B%22colorTheme%22%3A%22light%22%2C%22enableInfScroll%22%3Atrue%2C%22enableFilteringOpensOverlay%22%3Atrue%2C%22enablePostDate%22%3Atrue%2C%22enableSort%22%3Atrue%2C%22highlightColor%22%3A%22%23fdd7b9%22%2C%22overlayTrigger%22%3A%22submit%22%2C%22resultFormat%22%3A%22expanded%22%2C%22showPoweredBy%22%3Atrue%2C%22defaultSort%22%3A%22relevance%22%2C%22excludedPostTypes%22%3A%5B%22attachment%22%5D%7D%2C%22homeUrl%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%22%2C%22locale%22%3A%22en-US%22%2C%22postsPerPage%22%3A12%2C%22siteId%22%3A210318891%2C%22postTypes%22%3A%7B%22post%22%3A%7B%22singular_name%22%3A%22Post%22%2C%22name%22%3A%22Posts%22%7D%2C%22page%22%3A%7B%22singular_name%22%3A%22Page%22%2C%22name%22%3A%22Pages%22%7D%2C%22attachment%22%3A%7B%22singular_name%22%3A%22Media%22%2C%22name%22%3A%22Media%22%7D%2C%22supporter%22%3A%7B%22singular_name%22%3A%22Supporter%22%2C%22name%22%3A%22Supporters%22%7D%2C%22board-member%22%3A%7B%22singular_name%22%3A%22Board%20Member%22%2C%22name%22%3A%22Board%20Members%22%7D%2C%22license%22%3A%7B%22singular_name%22%3A%22License%22%2C%22name%22%3A%22Licenses%22%7D%2C%22meeting-minutes%22%3A%7B%22singular_name%22%3A%22Meeting%20Minutes%22%2C%22name%22%3A%22Meeting%20Minutes%22%7D%2C%22press-mentions%22%3A%7B%22singular_name%22%3A%22Press%20mentions%22%2C%22name%22%3A%22Press%20mentions%22%7D%2C%22podcast%22%3A%7B%22singular_name%22%3A%22Episode%22%2C%22name%22%3A%22Episode%22%7D%7D%2C%22webpackPublicPath%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%5C%2Fwp-content%5C%2Fplugins%5C%2Fjetpack%5C%2Fjetpack_vendor%5C%2Fautomattic%5C%2Fjetpack-search%5C%2Fbuild%5C%2Finstant-search%5C%2F%22%2C%22isPhotonEnabled%22%3Atrue%2C%22isFreePlan%22%3Afalse%2C%22apiRoot%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%5C%2Fwp-json%5C%2F%22%2C%22apiNonce%22%3A%
|
|
1339
|
+
var JetpackInstantSearchOptions=JSON.parse(decodeURIComponent("%7B%22overlayOptions%22%3A%7B%22colorTheme%22%3A%22light%22%2C%22enableInfScroll%22%3Atrue%2C%22enableFilteringOpensOverlay%22%3Atrue%2C%22enablePostDate%22%3Atrue%2C%22enableSort%22%3Atrue%2C%22highlightColor%22%3A%22%23fdd7b9%22%2C%22overlayTrigger%22%3A%22submit%22%2C%22resultFormat%22%3A%22expanded%22%2C%22showPoweredBy%22%3Atrue%2C%22defaultSort%22%3A%22relevance%22%2C%22excludedPostTypes%22%3A%5B%22attachment%22%5D%7D%2C%22homeUrl%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%22%2C%22locale%22%3A%22en-US%22%2C%22postsPerPage%22%3A12%2C%22siteId%22%3A210318891%2C%22postTypes%22%3A%7B%22post%22%3A%7B%22singular_name%22%3A%22Post%22%2C%22name%22%3A%22Posts%22%7D%2C%22page%22%3A%7B%22singular_name%22%3A%22Page%22%2C%22name%22%3A%22Pages%22%7D%2C%22attachment%22%3A%7B%22singular_name%22%3A%22Media%22%2C%22name%22%3A%22Media%22%7D%2C%22supporter%22%3A%7B%22singular_name%22%3A%22Supporter%22%2C%22name%22%3A%22Supporters%22%7D%2C%22board-member%22%3A%7B%22singular_name%22%3A%22Board%20Member%22%2C%22name%22%3A%22Board%20Members%22%7D%2C%22license%22%3A%7B%22singular_name%22%3A%22License%22%2C%22name%22%3A%22Licenses%22%7D%2C%22meeting-minutes%22%3A%7B%22singular_name%22%3A%22Meeting%20Minutes%22%2C%22name%22%3A%22Meeting%20Minutes%22%7D%2C%22press-mentions%22%3A%7B%22singular_name%22%3A%22Press%20mentions%22%2C%22name%22%3A%22Press%20mentions%22%7D%2C%22podcast%22%3A%7B%22singular_name%22%3A%22Episode%22%2C%22name%22%3A%22Episode%22%7D%7D%2C%22webpackPublicPath%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%5C%2Fwp-content%5C%2Fplugins%5C%2Fjetpack%5C%2Fjetpack_vendor%5C%2Fautomattic%5C%2Fjetpack-search%5C%2Fbuild%5C%2Finstant-search%5C%2F%22%2C%22isPhotonEnabled%22%3Atrue%2C%22isFreePlan%22%3Afalse%2C%22apiRoot%22%3A%22https%3A%5C%2F%5C%2Fopensource.org%5C%2Fwp-json%5C%2F%22%2C%22apiNonce%22%3A%223aa8dee08e%22%2C%22isPrivateSite%22%3Afalse%2C%22isWpcom%22%3Afalse%2C%22hasOverlayWidgets%22%3Atrue%2C%22widgets%22%3A%5B%7B%22filters%22%3A%5B%7B%22name%22%3A%22Post%20Types%22%2C%22type%22%3A%22post_type%22%2C%22count%22%3A6%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%2C%22filter_id%22%3A%22post_type_0%22%7D%2C%7B%22name%22%3A%22Categories%22%2C%22type%22%3A%22taxonomy%22%2C%22taxonomy%22%3A%22category%22%2C%22count%22%3A5%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%2C%22filter_id%22%3A%22taxonomy_1%22%7D%2C%7B%22name%22%3A%22Tags%22%2C%22type%22%3A%22taxonomy%22%2C%22taxonomy%22%3A%22post_tag%22%2C%22count%22%3A5%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%2C%22filter_id%22%3A%22taxonomy_2%22%7D%2C%7B%22name%22%3A%22Year%22%2C%22type%22%3A%22date_histogram%22%2C%22count%22%3A5%2C%22field%22%3A%22post_date%22%2C%22interval%22%3A%22year%22%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%2C%22filter_id%22%3A%22date_histogram_3%22%7D%5D%2C%22widget_id%22%3A%22jetpack-search-filters-4%22%7D%5D%2C%22widgetsOutsideOverlay%22%3A%5B%5D%2C%22hasNonSearchWidgets%22%3Afalse%2C%22preventTrackingCookiesReset%22%3Afalse%7D"));
|
|
1330
1340
|
/* ]]> */
|
|
1331
1341
|
</script>
|
|
1332
|
-
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-search/build/instant-search/jp-search.js?minify=false&ver=
|
|
1333
|
-
<script data-service="jetpack-statistics" data-category="statistics" type="text/plain" data-cmplz-src="//stats.wp.com/w.js?ver=
|
|
1342
|
+
<script type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-search/build/instant-search/jp-search.js?minify=false&ver=1ceb67ae376a9b5578cf" id="jetpack-instant-search-js"></script>
|
|
1343
|
+
<script data-service="jetpack-statistics" data-category="statistics" type="text/plain" data-cmplz-src="//stats.wp.com/w.js?ver=202512" id="jp-tracks-js"></script>
|
|
1334
1344
|
<script type="text/javascript" id="osi-theme-scripts-js-before">
|
|
1335
1345
|
/* <![CDATA[ */
|
|
1336
1346
|
const OSI_LICENSE_DB = {"ajaxURL":"https:\/\/opensource.org\/wp-admin\/admin-ajax.php","action":"osi_license_db"}
|
|
@@ -1340,23 +1350,21 @@ const OSI_LICENSE_DB = {"ajaxURL":"https:\/\/opensource.org\/wp-admin\/admin-aja
|
|
|
1340
1350
|
<script type="text/javascript" id="jetpack-stats-js-before">
|
|
1341
1351
|
/* <![CDATA[ */
|
|
1342
1352
|
_stq = window._stq || [];
|
|
1343
|
-
_stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"210318891\",\"post\":\"395\",\"tz\":\"0\",\"srv\":\"opensource.org\",\"hp\":\"atomic\",\"ac\":\"3\",\"amp\":\"0\",\"j\":\"1:14.
|
|
1353
|
+
_stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"210318891\",\"post\":\"395\",\"tz\":\"0\",\"srv\":\"opensource.org\",\"hp\":\"atomic\",\"ac\":\"3\",\"amp\":\"0\",\"j\":\"1:14.5-a.3\"}") ]);
|
|
1344
1354
|
_stq.push([ "clickTrackerInit", "210318891", "395" ]);
|
|
1345
1355
|
/* ]]> */
|
|
1346
1356
|
</script>
|
|
1347
|
-
<script data-service="jetpack-statistics" data-category="statistics" type="text/plain" data-cmplz-src="https://stats.wp.com/e-
|
|
1357
|
+
<script data-service="jetpack-statistics" data-category="statistics" type="text/plain" data-cmplz-src="https://stats.wp.com/e-202512.js" id="jetpack-stats-js" defer="defer" data-wp-strategy="defer"></script>
|
|
1348
1358
|
<script type="text/javascript" id="cmplz-cookiebanner-js-extra">
|
|
1349
1359
|
/* <![CDATA[ */
|
|
1350
|
-
var complianz = {"prefix":"cmplz_","user_banner_id":"1","set_cookies":[],"block_ajax_content":"","banner_version":"
|
|
1360
|
+
var complianz = {"prefix":"cmplz_","user_banner_id":"1","set_cookies":[],"block_ajax_content":"","banner_version":"75","version":"7.3.1","store_consent":"","do_not_track_enabled":"1","consenttype":"optin","region":"eu","geoip":"","dismiss_timeout":"","disable_cookiebanner":"1","soft_cookiewall":"","dismiss_on_scroll":"","cookie_expiry":"365","url":"https:\/\/opensource.org\/wp-json\/complianz\/v1\/","locale":"lang=en&locale=en_US","set_cookies_on_root":"","cookie_domain":"","current_policy_id":"16","cookie_path":"\/","categories":{"statistics":"statistics","marketing":"marketing"},"tcf_active":"","placeholdertext":"Click to accept {category} cookies and enable this content","css_file":"https:\/\/opensource.org\/wp-content\/uploads\/complianz\/css\/banner-{banner_id}-{type}.css?v=75","page_links":{"eu":{"cookie-statement":{"title":"","url":"https:\/\/opensource.org\/press-mentions\/making-good-on-the-promise-of-open-source-ai"}}},"tm_categories":"","forceEnableStats":"","preview":"","clean_cookies":"","aria_label":"Click to accept {category} cookies and enable this content"};
|
|
1351
1361
|
/* ]]> */
|
|
1352
1362
|
</script>
|
|
1353
|
-
<script defer type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/complianz-gdpr/cookiebanner/js/complianz.min.js?ver=
|
|
1363
|
+
<script defer type="text/javascript" src="https://149753425.v2.pressablecdn.com/wp-content/plugins/complianz-gdpr/cookiebanner/js/complianz.min.js?ver=1741804769" id="cmplz-cookiebanner-js"></script>
|
|
1354
1364
|
|
|
1355
|
-
<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'
|
|
1365
|
+
<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'921aebcaae0b07df',t:'MTc0MjE5ODA1My4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
|
|
1356
1366
|
</html>
|
|
1357
1367
|
<!--
|
|
1358
|
-
generated
|
|
1359
|
-
|
|
1360
|
-
served from batcache in 0.003 seconds
|
|
1361
|
-
expires in 258 seconds
|
|
1368
|
+
generated in 0.513 seconds
|
|
1369
|
+
131831 bytes batcached for 300 seconds
|
|
1362
1370
|
-->
|