From ab088ad878245464206d9d5fb86a912abe7d6c45 Mon Sep 17 00:00:00 2001 From: Ben Sturmfels Date: Tue, 24 Feb 2026 12:50:43 +1100 Subject: [PATCH] Add initial snapshot of https://2025.fossy.us/ --- README.md | 53 + about/index.html | 275 + attend/code-of-conduct.html | 282 + attend/code-of-conduct/index.html | 282 + attend/health-and-safety/index.html | 260 + attend/terms-and-conditions/index.html | 315 + attend/tickets/index.html | 272 + attend/volunteer.html | 254 + attend/volunteer/index.html | 254 + call-for-proposals/index.html | 251 + credits/index.html | 245 + index.html | 284 + pages/tracks/index.html | 301 + schedule/conference.ics | 2408 ++++++ schedule/conference.json | 3843 ++++++++++ schedule/index.html | 6455 +++++++++++++++++ schedule/presentation/282/index.html | 293 + schedule/presentation/284/index.html | 291 + schedule/presentation/285/index.html | 289 + schedule/presentation/286/index.html | 285 + schedule/presentation/287/index.html | 285 + schedule/presentation/288/index.html | 290 + schedule/presentation/289/index.html | 294 + schedule/presentation/292/index.html | 289 + schedule/presentation/294/index.html | 291 + schedule/presentation/295/index.html | 300 + schedule/presentation/296/index.html | 291 + schedule/presentation/297/index.html | 291 + schedule/presentation/298/index.html | 298 + schedule/presentation/299/index.html | 292 + schedule/presentation/301/index.html | 297 + schedule/presentation/302/index.html | 291 + schedule/presentation/305/index.html | 287 + schedule/presentation/306/index.html | 297 + schedule/presentation/308/index.html | 305 + schedule/presentation/311/index.html | 288 + schedule/presentation/312/index.html | 290 + schedule/presentation/313/index.html | 289 + schedule/presentation/314/index.html | 289 + schedule/presentation/316/index.html | 289 + schedule/presentation/318/index.html | 287 + schedule/presentation/319/index.html | 287 + schedule/presentation/320/index.html | 285 + schedule/presentation/321/index.html | 301 + schedule/presentation/323/index.html | 283 + schedule/presentation/324/index.html | 289 + schedule/presentation/325/index.html | 290 + schedule/presentation/326/index.html | 293 + schedule/presentation/327/index.html | 306 + schedule/presentation/328/index.html | 295 + schedule/presentation/329/index.html | 293 + schedule/presentation/330/index.html | 291 + schedule/presentation/333/index.html | 309 + schedule/presentation/334/index.html | 286 + schedule/presentation/335/index.html | 289 + schedule/presentation/336/index.html | 289 + schedule/presentation/338/index.html | 299 + schedule/presentation/341/index.html | 312 + schedule/presentation/342/index.html | 294 + schedule/presentation/343/index.html | 289 + schedule/presentation/344/index.html | 291 + schedule/presentation/345/index.html | 296 + schedule/presentation/346/index.html | 293 + schedule/presentation/347/index.html | 292 + schedule/presentation/348/index.html | 289 + schedule/presentation/350/index.html | 286 + schedule/presentation/351/index.html | 295 + schedule/presentation/352/index.html | 306 + schedule/presentation/353/index.html | 289 + schedule/presentation/354/index.html | 286 + schedule/presentation/355/index.html | 291 + schedule/presentation/356/index.html | 301 + schedule/presentation/357/index.html | 291 + schedule/presentation/358/index.html | 287 + schedule/presentation/359/index.html | 345 + schedule/presentation/360/index.html | 297 + schedule/presentation/361/index.html | 365 + schedule/presentation/362/index.html | 304 + schedule/presentation/363/index.html | 287 + schedule/presentation/364/index.html | 289 + schedule/presentation/365/index.html | 336 + schedule/presentation/366/index.html | 294 + schedule/presentation/367/index.html | 307 + schedule/presentation/368/index.html | 286 + speaker/create/index.html | 330 + speaker/profile/409/index.html | 274 + speaker/profile/410/index.html | 276 + speaker/profile/411/index.html | 281 + speaker/profile/412/index.html | 280 + speaker/profile/413/index.html | 281 + speaker/profile/414/index.html | 278 + speaker/profile/416/index.html | 281 + speaker/profile/418/index.html | 276 + speaker/profile/421/index.html | 280 + speaker/profile/422/index.html | 287 + speaker/profile/424/index.html | 274 + speaker/profile/427/index.html | 276 + speaker/profile/428/index.html | 280 + speaker/profile/429/index.html | 278 + speaker/profile/432/index.html | 291 + speaker/profile/433/index.html | 278 + speaker/profile/435/index.html | 274 + speaker/profile/436/index.html | 278 + speaker/profile/437/index.html | 278 + speaker/profile/438/index.html | 281 + speaker/profile/441/index.html | 280 + speaker/profile/442/index.html | 277 + speaker/profile/447/index.html | 278 + speaker/profile/448/index.html | 278 + speaker/profile/450/index.html | 289 + speaker/profile/452/index.html | 280 + speaker/profile/454/index.html | 280 + speaker/profile/455/index.html | 278 + speaker/profile/456/index.html | 274 + speaker/profile/458/index.html | 280 + speaker/profile/460/index.html | 274 + speaker/profile/462/index.html | 280 + speaker/profile/463/index.html | 277 + speaker/profile/465/index.html | 279 + speaker/profile/467/index.html | 279 + speaker/profile/468/index.html | 276 + speaker/profile/473/index.html | 274 + speaker/profile/476/index.html | 276 + speaker/profile/480/index.html | 276 + speaker/profile/482/index.html | 296 + speaker/profile/483/index.html | 277 + speaker/profile/484/index.html | 278 + speaker/profile/485/index.html | 278 + speaker/profile/486/index.html | 281 + speaker/profile/488/index.html | 287 + speaker/profile/490/index.html | 278 + speaker/profile/491/index.html | 276 + speaker/profile/492/index.html | 278 + speaker/profile/494/index.html | 278 + speaker/profile/495/index.html | 279 + speaker/profile/498/index.html | 278 + speaker/profile/499/index.html | 278 + speaker/profile/502/index.html | 274 + speaker/profile/505/index.html | 281 + speaker/profile/506/index.html | 287 + speaker/profile/507/index.html | 278 + speaker/profile/508/index.html | 276 + speaker/profile/509/index.html | 287 + speaker/profile/511/index.html | 278 + speaker/profile/512/index.html | 278 + speaker/profile/513/index.html | 274 + speaker/profile/517/index.html | 280 + speaker/profile/520/index.html | 282 + speaker/profile/522/index.html | 280 + speaker/profile/523/index.html | 276 + speaker/profile/524/index.html | 278 + speaker/profile/525/index.html | 276 + speaker/profile/526/index.html | 280 + speaker/profile/527/index.html | 274 + speaker/profile/528/index.html | 280 + speaker/profile/529/index.html | 274 + speaker/profile/532/index.html | 278 + speaker/profile/534/index.html | 280 + speaker/profile/537/index.html | 280 + speaker/profile/538/index.html | 274 + speaker/profile/539/index.html | 274 + sponsorship/index.html | 279 + .../bootstrap/js/bootstrap.bundle.min.js | 7 + static/build/img/bluesky.svg | 1 + static/build/img/conservancy_logo.svg | 53 + .../build/img/conservancy_logo_tall_mono.svg | 136 + static/build/img/favicon.ico | Bin 0 -> 2702 bytes static/build/img/psu-smsu.jpg | Bin 0 -> 211165 bytes static/build/js/app.js | 186 + static/build/js/jquery.formset.js | 210 + static/build/js/luxon.min.js | 1 + static/build/js/schedule.js | 206 + static/build/scss/app.css | 6 + streaming/index.html | 330 + travel/index.html | 263 + 175 files changed, 59301 insertions(+) create mode 100644 README.md create mode 100644 about/index.html create mode 100644 attend/code-of-conduct.html create mode 100644 attend/code-of-conduct/index.html create mode 100644 attend/health-and-safety/index.html create mode 100644 attend/terms-and-conditions/index.html create mode 100644 attend/tickets/index.html create mode 100644 attend/volunteer.html create mode 100644 attend/volunteer/index.html create mode 100644 call-for-proposals/index.html create mode 100644 credits/index.html create mode 100644 index.html create mode 100644 pages/tracks/index.html create mode 100644 schedule/conference.ics create mode 100644 schedule/conference.json create mode 100644 schedule/index.html create mode 100644 schedule/presentation/282/index.html create mode 100644 schedule/presentation/284/index.html create mode 100644 schedule/presentation/285/index.html create mode 100644 schedule/presentation/286/index.html create mode 100644 schedule/presentation/287/index.html create mode 100644 schedule/presentation/288/index.html create mode 100644 schedule/presentation/289/index.html create mode 100644 schedule/presentation/292/index.html create mode 100644 schedule/presentation/294/index.html create mode 100644 schedule/presentation/295/index.html create mode 100644 schedule/presentation/296/index.html create mode 100644 schedule/presentation/297/index.html create mode 100644 schedule/presentation/298/index.html create mode 100644 schedule/presentation/299/index.html create mode 100644 schedule/presentation/301/index.html create mode 100644 schedule/presentation/302/index.html create mode 100644 schedule/presentation/305/index.html create mode 100644 schedule/presentation/306/index.html create mode 100644 schedule/presentation/308/index.html create mode 100644 schedule/presentation/311/index.html create mode 100644 schedule/presentation/312/index.html create mode 100644 schedule/presentation/313/index.html create mode 100644 schedule/presentation/314/index.html create mode 100644 schedule/presentation/316/index.html create mode 100644 schedule/presentation/318/index.html create mode 100644 schedule/presentation/319/index.html create mode 100644 schedule/presentation/320/index.html create mode 100644 schedule/presentation/321/index.html create mode 100644 schedule/presentation/323/index.html create mode 100644 schedule/presentation/324/index.html create mode 100644 schedule/presentation/325/index.html create mode 100644 schedule/presentation/326/index.html create mode 100644 schedule/presentation/327/index.html create mode 100644 schedule/presentation/328/index.html create mode 100644 schedule/presentation/329/index.html create mode 100644 schedule/presentation/330/index.html create mode 100644 schedule/presentation/333/index.html create mode 100644 schedule/presentation/334/index.html create mode 100644 schedule/presentation/335/index.html create mode 100644 schedule/presentation/336/index.html create mode 100644 schedule/presentation/338/index.html create mode 100644 schedule/presentation/341/index.html create mode 100644 schedule/presentation/342/index.html create mode 100644 schedule/presentation/343/index.html create mode 100644 schedule/presentation/344/index.html create mode 100644 schedule/presentation/345/index.html create mode 100644 schedule/presentation/346/index.html create mode 100644 schedule/presentation/347/index.html create mode 100644 schedule/presentation/348/index.html create mode 100644 schedule/presentation/350/index.html create mode 100644 schedule/presentation/351/index.html create mode 100644 schedule/presentation/352/index.html create mode 100644 schedule/presentation/353/index.html create mode 100644 schedule/presentation/354/index.html create mode 100644 schedule/presentation/355/index.html create mode 100644 schedule/presentation/356/index.html create mode 100644 schedule/presentation/357/index.html create mode 100644 schedule/presentation/358/index.html create mode 100644 schedule/presentation/359/index.html create mode 100644 schedule/presentation/360/index.html create mode 100644 schedule/presentation/361/index.html create mode 100644 schedule/presentation/362/index.html create mode 100644 schedule/presentation/363/index.html create mode 100644 schedule/presentation/364/index.html create mode 100644 schedule/presentation/365/index.html create mode 100644 schedule/presentation/366/index.html create mode 100644 schedule/presentation/367/index.html create mode 100644 schedule/presentation/368/index.html create mode 100644 speaker/create/index.html create mode 100644 speaker/profile/409/index.html create mode 100644 speaker/profile/410/index.html create mode 100644 speaker/profile/411/index.html create mode 100644 speaker/profile/412/index.html create mode 100644 speaker/profile/413/index.html create mode 100644 speaker/profile/414/index.html create mode 100644 speaker/profile/416/index.html create mode 100644 speaker/profile/418/index.html create mode 100644 speaker/profile/421/index.html create mode 100644 speaker/profile/422/index.html create mode 100644 speaker/profile/424/index.html create mode 100644 speaker/profile/427/index.html create mode 100644 speaker/profile/428/index.html create mode 100644 speaker/profile/429/index.html create mode 100644 speaker/profile/432/index.html create mode 100644 speaker/profile/433/index.html create mode 100644 speaker/profile/435/index.html create mode 100644 speaker/profile/436/index.html create mode 100644 speaker/profile/437/index.html create mode 100644 speaker/profile/438/index.html create mode 100644 speaker/profile/441/index.html create mode 100644 speaker/profile/442/index.html create mode 100644 speaker/profile/447/index.html create mode 100644 speaker/profile/448/index.html create mode 100644 speaker/profile/450/index.html create mode 100644 speaker/profile/452/index.html create mode 100644 speaker/profile/454/index.html create mode 100644 speaker/profile/455/index.html create mode 100644 speaker/profile/456/index.html create mode 100644 speaker/profile/458/index.html create mode 100644 speaker/profile/460/index.html create mode 100644 speaker/profile/462/index.html create mode 100644 speaker/profile/463/index.html create mode 100644 speaker/profile/465/index.html create mode 100644 speaker/profile/467/index.html create mode 100644 speaker/profile/468/index.html create mode 100644 speaker/profile/473/index.html create mode 100644 speaker/profile/476/index.html create mode 100644 speaker/profile/480/index.html create mode 100644 speaker/profile/482/index.html create mode 100644 speaker/profile/483/index.html create mode 100644 speaker/profile/484/index.html create mode 100644 speaker/profile/485/index.html create mode 100644 speaker/profile/486/index.html create mode 100644 speaker/profile/488/index.html create mode 100644 speaker/profile/490/index.html create mode 100644 speaker/profile/491/index.html create mode 100644 speaker/profile/492/index.html create mode 100644 speaker/profile/494/index.html create mode 100644 speaker/profile/495/index.html create mode 100644 speaker/profile/498/index.html create mode 100644 speaker/profile/499/index.html create mode 100644 speaker/profile/502/index.html create mode 100644 speaker/profile/505/index.html create mode 100644 speaker/profile/506/index.html create mode 100644 speaker/profile/507/index.html create mode 100644 speaker/profile/508/index.html create mode 100644 speaker/profile/509/index.html create mode 100644 speaker/profile/511/index.html create mode 100644 speaker/profile/512/index.html create mode 100644 speaker/profile/513/index.html create mode 100644 speaker/profile/517/index.html create mode 100644 speaker/profile/520/index.html create mode 100644 speaker/profile/522/index.html create mode 100644 speaker/profile/523/index.html create mode 100644 speaker/profile/524/index.html create mode 100644 speaker/profile/525/index.html create mode 100644 speaker/profile/526/index.html create mode 100644 speaker/profile/527/index.html create mode 100644 speaker/profile/528/index.html create mode 100644 speaker/profile/529/index.html create mode 100644 speaker/profile/532/index.html create mode 100644 speaker/profile/534/index.html create mode 100644 speaker/profile/537/index.html create mode 100644 speaker/profile/538/index.html create mode 100644 speaker/profile/539/index.html create mode 100644 sponsorship/index.html create mode 100644 static/build/bootstrap/js/bootstrap.bundle.min.js create mode 100644 static/build/img/bluesky.svg create mode 100644 static/build/img/conservancy_logo.svg create mode 100644 static/build/img/conservancy_logo_tall_mono.svg create mode 100644 static/build/img/favicon.ico create mode 100644 static/build/img/psu-smsu.jpg create mode 100644 static/build/js/app.js create mode 100644 static/build/js/jquery.formset.js create mode 100644 static/build/js/luxon.min.js create mode 100644 static/build/js/schedule.js create mode 100644 static/build/scss/app.css create mode 100644 streaming/index.html create mode 100644 travel/index.html diff --git a/README.md b/README.md new file mode 100644 index 0000000..572c0b1 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# Mirror of https://2025.fossy.us + +Generated with: + +``` +cd .. +wget --mirror --convert-links --adjust-extension --page-requisites --no-parent https://2025.fossy.us/ +cd 2025.fossy.us +``` + +Note that the schedule page will need manual updates to allow visitors to switch between days. + +You may then want to remove the dashboard links, since the login won't work, as well as the link to buy tickets. + +``` +find -name '*.html' -print0 | xargs -0 sed -i 's|.*Dashboard||g' +find -name '*.html' -print0 | xargs -0 sed -i 's|.*Get your ticket!.*||' attend/tickets/index.html +rm dashboard.html +rm -rf tickets/ +rm -rf account/ +``` + +Add the "archived" banner: + +``` +find -name '*.html' -print0 | xargs -0 sed -i 's|
|
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
|' +``` + +You'll also need to make some tweaks to the schedule index page to ensure the tabs work. See this [commit](https://f.sfconservancy.org/Conservancy/2024.fossy.us/commit/cc39ae64532b0c07116045ada85495f0d71e1423). + +On the web server: + +``` +git clone https://f.sfconservancy.org/Conservancy/2025.fossy.us.git +sudo mv 2025.fossy.us/ /var/www/ +sudo chown -R www-data:www-data /var/www/2025.fossy.us/ +sudo cp /etc/apache2/sites-available/420-2024.fossy.us.conf /etc/apache2/sites-available/420-2025.fossy.us.conf +sudo sed -i 's/2024/2025/g' /etc/apache2/sites-available/420-2025.fossy.us.conf +sudo a2ensite 420-2025.fossy.us +``` + +After setting up the 2025 DNS and pointing the 2025 to the archive server, create an HTTPS certificate. You may need to comment out the certificate configuration temporarily: + +``` +sudo certbot certonly --verbose --domains 2025.fossy.us --agree-tos --email=sysadmin@sfconservancy.org +``` + +If you need to update the web server with changes from the repository: + +``` +cd /var/www/2025.fossy.us +sudo -u www-data git pull +``` diff --git a/about/index.html b/about/index.html new file mode 100644 index 0000000..30adecc --- /dev/null +++ b/about/index.html @@ -0,0 +1,275 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | About FOSSY + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+

About FOSSY

+ +

FOSS is back in Portland, OR - July 31 - August 3rd at Portland State University!

+
+Exterior photograph of PSU SMSU +
Portland State Memorial Union (CC-BY 2.0)
+
+ +

Software Freedom Conservancy is so proud to announce that we are hosting our third +community oriented conference this summer. FOSSY (Free and Open Source +Yearly) is focused on the creation and impact of free and open source software, +uplifting contributors of all experience. We are also mindful of having a safe +environment for all. In this new time of conferences, we will be focused on +potentially contagious disease safety and making sure all attendees feel safe participating as much as +they feel comfortable.

+ +

Taking place in Portland, OR, FOSSY is a community focused +event that invites local community, as well as the wider internet and global +communities we have formed over the years. Whether you are a long time +contributing member of a free software project, a recent graduate of a +coding bootcamp or university, or just have an interest in the possibilities +that free and open source software bring, FOSSY will have something for +you.

+ +

For this third year we are running a conference of this scale, we are having +several tracks with talks over four days. With tracks for community building, +development and legal and licensing issues, our conference will provide ample +learning and networking opportunities for contributors of all levels of +experience. There will be hands-on workshops, lightning talks and +traditional 40 minute talks.

+ +

As we look to the future of conferences, we are excited to focus on using +free software to run a conference and will seek to help reduce the amount of +proprietary software that is treated as default.

+ +

If you are interested in sponsoring our conference, please see our Sponsorship Prospectus or contact us at conference@sfconservancy.org.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/attend/code-of-conduct.html b/attend/code-of-conduct.html new file mode 100644 index 0000000..c33db00 --- /dev/null +++ b/attend/code-of-conduct.html @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Code of Conduct + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+

Code of Conduct

+ +

tl;dr

+ +

FOSSY is dedicated to providing a harassment-free conference experience for everyone; regardless of +gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, national +origin, race, or religion or lack thereof. This code applies to everyone -- including attendees, speakers, +volunteers and staff. We do not tolerate harassment of conference participants in any form.

+ +

You can find our Code of Conduct team wearing blue hats, or you can disclose any concerns by email to conference@sfconservancy.org

+ +

Details

+ +

Please do not include sexualized imagery, off-color jokes or other materials that attendees may deem offensive +in your slides or spoken remarks. If you aren’t sure if something you intend to show or state is potentially offensive, +please contact us for help in reviewing your presentation materials.

+ +

Be kind to others. Do not insult or put down other participants. Behave professionally. Remember that sexist, +racist, or exclusionary jokes are not appropriate for FOSSY.

+ +

Harassment will not be tolerated at FOSSY. Harassment includes offensive verbal comments related to +gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, national +origin, race, religion or lack thereof, sexual images in public spaces, deliberate intimidation, stalking, following, harassing +photography or recording without permission, sustained disruption of talks or other parts of the event, inappropriate +physical contact, and unwelcome sexual attention.

+ +

Just as we will ask any audience member to cease their behavior and to leave if they are not respectful of you, +we will also ask that you stop presenting should there be offensive or inappropriate material in your slides or +presentation. This code applies to everyone -- including attendees, speakers, volunteers and staff.

+ +

Participants asked to stop any harassing behavior are expected to comply immediately. If they do not stop +immediately or their behavior constitutes a potential physical danger to other participants, they may be ejected +from the event without a refund. This will be at the discretion of FOSSY's response team.

+ +

If you believe that someone is violating the code of conduct during FOSSY, or have any other concerns, +please contact our response team immediately by emailing conference@sfconservancy.org.

+ +

Conference staff can help you contact emergency services, local police and/or provide an escort to your hotel.

+ +

Credits

+ +

We borrowed heavily from the SeaGL and North Bay Python Codes of Conduct which are based on this template and include many of the variations used by PyCon, all of which are available under the Creative Commons +Zero License. Please feel free to use any of this language for your own Code of Conduct.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/attend/code-of-conduct/index.html b/attend/code-of-conduct/index.html new file mode 100644 index 0000000..418c57b --- /dev/null +++ b/attend/code-of-conduct/index.html @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Code of Conduct + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+

Code of Conduct

+ +

tl;dr

+ +

FOSSY is dedicated to providing a harassment-free conference experience for everyone; regardless of +gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, national +origin, race, or religion or lack thereof. This code applies to everyone -- including attendees, speakers, +volunteers and staff. We do not tolerate harassment of conference participants in any form.

+ +

You can find our Code of Conduct team wearing blue hats, or you can disclose any concerns by email to conference@sfconservancy.org

+ +

Details

+ +

Please do not include sexualized imagery, off-color jokes or other materials that attendees may deem offensive +in your slides or spoken remarks. If you aren’t sure if something you intend to show or state is potentially offensive, +please contact us for help in reviewing your presentation materials.

+ +

Be kind to others. Do not insult or put down other participants. Behave professionally. Remember that sexist, +racist, or exclusionary jokes are not appropriate for FOSSY.

+ +

Harassment will not be tolerated at FOSSY. Harassment includes offensive verbal comments related to +gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, national +origin, race, religion or lack thereof, sexual images in public spaces, deliberate intimidation, stalking, following, harassing +photography or recording without permission, sustained disruption of talks or other parts of the event, inappropriate +physical contact, and unwelcome sexual attention.

+ +

Just as we will ask any audience member to cease their behavior and to leave if they are not respectful of you, +we will also ask that you stop presenting should there be offensive or inappropriate material in your slides or +presentation. This code applies to everyone -- including attendees, speakers, volunteers and staff.

+ +

Participants asked to stop any harassing behavior are expected to comply immediately. If they do not stop +immediately or their behavior constitutes a potential physical danger to other participants, they may be ejected +from the event without a refund. This will be at the discretion of FOSSY's response team.

+ +

If you believe that someone is violating the code of conduct during FOSSY, or have any other concerns, +please contact our response team immediately by emailing conference@sfconservancy.org.

+ +

Conference staff can help you contact emergency services, local police and/or provide an escort to your hotel.

+ +

Credits

+ +

We borrowed heavily from the SeaGL and North Bay Python Codes of Conduct which are based on this template and include many of the variations used by PyCon, all of which are available under the Creative Commons +Zero License. Please feel free to use any of this language for your own Code of Conduct.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/attend/health-and-safety/index.html b/attend/health-and-safety/index.html new file mode 100644 index 0000000..d6e6d5c --- /dev/null +++ b/attend/health-and-safety/index.html @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Health and Safety Guidelines + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+

FOSSY 2025 Health and Safety Guidelines

+ +

Our attendees' health and safety have been a top priority for us. Our goal with this policy is to balance our limited resources as a small non-profit while being mindful of our attendees and their families. We are aiming to provide a welcoming and safer environment for people who are immunocompromised, disabled, elderly, have support needs, or are caregivers for children, and those of us who share households with or caretake for people in those groups.

+

There are two outdoor gathering locations and air filtration units within each of the track talk rooms. Hand sanitizer will be available for all attendees.

+

We value all of our attendees and want everyone to feel welcome to participate in any way they can. In turn, we ask that you, as attendees, respect your fellow attendees and do what you can to create an environment that is safe and welcoming to all.

+ +

Masks

+

Face coverings will be strongly encouraged but not required at FOSSY this year. +However, the Software Freedom Conservancy staff and any person working at the Registration desk or participating in the Code of Conduct committee will be wearing masks (Exceptions will be given when staff members are presenting).

+ +

We will be distributing masks so long as our supplies last, but attendees should plan to provide their own masks should we run out.

+ +

Rapid Testing

+ +

We highly encourage attendees to do a rapid test before traveling and each day of the event. Unfortunately providing free, rapid onsite testing for all attendees is not feasible, but if purchasing your own tests is a financial hardship, please contact us and we will help you acquire some.

+ +

Attendance

+ +

Individuals should not attend the event if they are COVID-positive, are exhibiting symptoms of a potentially contagious disease (as defined by the CDC), or have been exposed, within 7 days prior to the event, to someone who was COVID-positive or showed symptoms of a potentially contagious disease.

+

If you are feeling sick or exhibiting symptoms of a potentially contagious disease or test positive for COVID-19, prior to the start of the conference, or on any day of the conference, please contact us at conference@sfconservancy.org, and we will issue you a refund. Please also let us know if you need help figuring out any logistics should you be sick.

+

These guidelines may change based on health and safety recommendations at the time of the event. We are committing, however, to only make changes in the direction of greater safety.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/attend/terms-and-conditions/index.html b/attend/terms-and-conditions/index.html new file mode 100644 index 0000000..9e362d4 --- /dev/null +++ b/attend/terms-and-conditions/index.html @@ -0,0 +1,315 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Terms and Conditions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+

Terms and Conditions

+

This document was forked from the North Bay Python Terms and Conditions.

+ +

These Terms and Conditions apply to all attendees who have registered for FOSSY 2025.

+ +

Registration

+ +

Registering for the event does not guarantee your ticket until it has been paid for in full. To secure your ticket, pay the registration invoice as soon as possible.

+ +

Cancellation Policy

+ +

Cancellations made prior to July 21st, 2025: Incur a cancellation fee of 50% of the ticket cost, which will be deducted from any registration fee paid. The balance will be refunded.

+ +

Cancellations made after July 22nd, 2025: No refund.

+ +

Substitutions

+ +

You may substitute another person, however you must contact us with this person's details.

+ +

Privacy Notice

+ +

In the course of registering for the event and related events, personal information will be collected about attendees such as their name, contact details, etc. This information is required to facilitate registration to the event, for catering requirements, and for organizers or their agents to contact particular attendees as and when required in respect of the event. Attendees who do not disclose this personal information will be unable to complete registration at the event and will therefore not be able to attend.

+ +

Personal information will only be disclosed to Software Freedom Conservancy and Government agencies where organizers believe disclosure is appropriate for legal compliance and law enforcement; to facilitate court proceedings; to enforce our terms and conditions; or to protect the rights, property, or safety of the event, our attendees, or others. Software Freedom Conservancy will not sell your personal information to third parties and will not use your personal information to send promotional material from any of our affiliated partners and/or sponsors.

+ +

From time to time event organizers update their information and website practices. Please regularly review this page for the most recent information about the event privacy practices.

+ +

All personal information will be kept private and used only for event registration purposes, statistics for future events, and convenience for future event registration.

+ +

Discrimination and Anti-Social Behavior

+ +

FOSSY is proud to support people from all walks of life, especially underrepresented groups like women and people of color, and will not tolerate in any fashion any intimidation, harassment, and/or any abusive, discriminatory or derogatory behavior by any attendees of the event and/or related events.

+ +

Examples of these behaviors and measures the event organizers may take are set out in the Code of Conduct. By registering for and attending FOSSY, you agree to this Code of Conduct.

+ +

Talk Recordings

+ +

Event organizers may provide recordings of talks (audio and/or video) given at the event. This service is provided on a best-effort basis only. Any recordings will be released as and when they are ready, which may be some time after the conclusion of the event, and the recordings may be of varying quality.

+ +

Photography and Audio Video Recording

+ +

This applies to all attendees of FOSSY and related events, including staff who are designated as official photographers and audio and video recorders.

+ +

Do not photograph, video or audio record anyone without their express permission.

+ +

Attendees will have a way to visibly signal their preference for photography at the conference. You agree to consider and act according to these preferences:

+ +
    +
  • Opt-in: Photography always okay
  • +
  • Permission required: Ask before photographing
  • +
  • Opt-out: Photographs are never okay, don't ask
  • +
+ +

Attendees who are not visibly signaling their preference should be asked for permission before photographing. There is no prior opt-in for audio or video recordings. You must always ask before recording.

+ +

The event may have one or more staff taking photographs and/or audio or video recordings during the event. These staff will respect attendees' preferences regarding photography and recordings.

+ +

The only exception is for recordings of talks given at the event where attendees who ask questions of the presenter may be included in the talk recording.

+ +

If Software Freedom Conservancy chooses to publish photographs and recordings taken by event staff, we will publish them under a Creative Commons license. Conservancy further reserves the right to use those photographs and recordings in promotional materials to promote its activities and/or the use of free and open source software.

+ +

If there is a violation of this policy, event organizers will request that the photograph be removed from any sites where it was posted and deleted from the devices. In the event that this request is ignored or further violations occur, the participants violating this policy may be sanctioned or expelled from the conference without a refund or banned from future Conservancy events.

+ +

Media

+ +

There are a limited number of Media Passes available to media personnel. Media Passes are free of charge, and entitle media personnel to attend the event with all the entitlements of a Discount registration. Please note, due to the limited numbers of Media Passes available, all Media Passes will need to be approved by the event organizers.

+ +

Any media attending the event are required to identify themselves as "media" to attendees prior to speaking on the record with any attendees of the event. It is the responsibility of the media to introduce themselves to the persons they wish to interview and to arrange any interviews with those persons. The event organizers will not make introductions or arrange interviews on behalf of media.

+ +

Smoke-free

+ +

All event venues including the social event venues are smoke-free. If attendees wish to smoke during the event and/or related events, they must do so in signed areas. Please consider others and refrain from smoking directly outside the venues' entrances.

+ +

Health and Safety

+ +

Presenters are responsible for ensuring that sessions they lead meet local health and safety requirements.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/attend/tickets/index.html b/attend/tickets/index.html new file mode 100644 index 0000000..1ba0fc6 --- /dev/null +++ b/attend/tickets/index.html @@ -0,0 +1,272 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Tickets + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+

Tickets

+ +

Tickets to FOSSY are tiered to be inclusive for all folks. +Registration includes: +

    +
  • All of the talks and workshops
  • +
  • Light breakfast Friday - Sunday
  • +
  • Refreshments every afternoon
  • +
  • A social event and light dinner Thursday evening to network with speakers and other attendees!
  • +
+ + +

We are also looking for volunteers to help with registration, set up and take-down, and many other opportunities if you'd like to donate your time instead of money to attend our conference. +Volunteers will receive a code for free conference registration. Please see our Volunteer page for more information

+ + +

Community Member

+

$300 - For all community members

+ +

Professional

+

$600 - Your professional status will be indicated with a special lanyard or +other badge indicator

+ +

Ultra Professional

+

$1000 - comes with high-five from conference staff! Thanks for your generosity!

+ +

Student or Reduced fare

+

$35 - for students or anyone else for whom money is tight, this price is full attendance

+ +

If you have any financial hardship from this ticket price, please reach out to +us at conference@sfconservancy.org. Please reach out, even if you are not sure if your situation qualifies as we'd like to help as many people as possible.

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/attend/volunteer.html b/attend/volunteer.html new file mode 100644 index 0000000..a4bc8fa --- /dev/null +++ b/attend/volunteer.html @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Volunteering + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+

Running FOSSY will take a lot of help from people like you! Volunteers receive free admission for all 4 days of the conference. Volunteers at the registration table will be required to wear masks according to our Health and Safety policy

+ +

Here are some areas we need volunteers:

+
    +
  • Set up
  • +
  • Take down and Cleanup
  • +
  • Room host (assisting speakers in setup, etc)
  • +
  • Registration/welcome table
  • +
  • Photographer (please give level of experience)
  • +
  • Code of Conduct Team (training required)
  • +
  • Team Leader (run a group of above mentioned volunteers - please list any experience with this)
  • +
  • Any other ideas you might have or want to do!
  • +
+ +

Please fill out the form here and we'll email you to let you know where you're assigned.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/attend/volunteer/index.html b/attend/volunteer/index.html new file mode 100644 index 0000000..9586c23 --- /dev/null +++ b/attend/volunteer/index.html @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Volunteering + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+

Running FOSSY will take a lot of help from people like you! Volunteers receive free admission for all 4 days of the conference. Volunteers at the registration table will be required to wear masks according to our Health and Safety policy

+ +

Here are some areas we need volunteers:

+
    +
  • Set up
  • +
  • Take down and Cleanup
  • +
  • Room host (assisting speakers in setup, etc)
  • +
  • Registration/welcome table
  • +
  • Photographer (please give level of experience)
  • +
  • Code of Conduct Team (training required)
  • +
  • Team Leader (run a group of above mentioned volunteers - please list any experience with this)
  • +
  • Any other ideas you might have or want to do!
  • +
+ +

Please fill out the form here and we'll email you to let you know where you're assigned.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/call-for-proposals/index.html b/call-for-proposals/index.html new file mode 100644 index 0000000..09fd063 --- /dev/null +++ b/call-for-proposals/index.html @@ -0,0 +1,251 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Call for Proposals + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+

Call for Proposals

+ +

Our call for proposals is open until May 5, 2025 (AoE)

+ +
+ + +

SFC will be hosting the third edition of our community oriented conference July 31 - August 3rd in Portland, Oregon, in the United States. The event will focus on the creation and impact of free and open source software, uplifting contributors of all experience. We will have 5 rooms with 13+ tracks of talks over 4 days, and many of the tracks will be community-run, similar to the DevRooms at FOSDEM or the miniconfs at LinuxConfAU. You can view the list of tracks you can submit proposals to here.

+ +

To submit a talk you must first register an account (see button below), to make a speaker profile and then select the track you want to submit to along with some additional information. If you have any questions please don't hesitate to email us at conference@sfconservancy.org.

+ +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/credits/index.html b/credits/index.html new file mode 100644 index 0000000..1465d9c --- /dev/null +++ b/credits/index.html @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Credits + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+

Credits

+ +

This website

+

This site is based on Symposion and Registrasion (sic) Django apps, originally created by James Tauber and Chris Neugebauer respectively and extended by many others. The site is based on Linux Australia's Everything Open codebase. We'd like to thank Joel Addison and Sae Ra Germaine from Linux Australia and Chris Neugebauer for their guidance. See our source code.

+ +

Software development and operational support by Sturm Software Engineering. +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..054529c --- /dev/null +++ b/index.html @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Home + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+
+
+
+

FOSSY 2025

+

July 31st - August 3rd 2025 — Portland State University

+

The third Free and Open Source Software Yearly conference

+
+
Software Freedom Conservancy
+
+
+ +
+

You can view the streams here and find the streaming information for the conference on the streaming page.

+ +

FOSS is back in Portland, Oregon at the Smith Memorial Student Union at Portland State University!!

+ + +
+
+ + + +

Software Freedom Conservancy is so proud to announce that we are again hosting a +community oriented conference this coming summer. FOSSY (Free and Open Source Software +Yearly) is focused on the creation and impact of free and open source software, +uplifting contributors of all experience.

+ + +

Registration Open Now!

+ + + +

We are excited to focus on using free software to run a conference and will seek to help reduce the amount of proprietary software that is treated as default.

+ +

If you are interested in sponsoring our conference, please see our Sponsorship Prospectus or contact us at conference@sfconservancy.org.

+
+
+
+ Aerial photograph of the Portland State University +
Portland State University's Smith Memorial Student Union +

1825 SW Broadway, Portland, OR 97201 (CC-BY 3.0)

+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/pages/tracks/index.html b/pages/tracks/index.html new file mode 100644 index 0000000..48de53d --- /dev/null +++ b/pages/tracks/index.html @@ -0,0 +1,301 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Tracks + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+

Tracks

+ +

We welcome proposals from speakers and people who are excited to give their first talk. We want seasoned professionals and volunteers, as well as fresh perspectives from new entrants. Everyone has something of value to share!

+ +

Databases

+

Database are everywhere from embedded devices to large data centers! +This track is designed for a general audience of developers, sysadmins, DBAs and open source users to cover experiences, tools and technical details of how you use databases.

+ +

Distros

+

Come talk about what you have found for distros with specific use cases or pro tips. What new developments are happening? Tell us all about how you use your favorite distro!

+ +

FOSS in Daily Life

+

How are you using FOSS in your "everyday" life? Are there places where you find it's easier or harder to get the people around you to respect and appreciate software freedom? What areas of software are we missing in our pursuit of software freedom for all? Talks in this track can be very personal, and it's a great place to share about the particular free programs you use and why, any hacks you've found or deployed to make things work better for you, and what you feel like you are still missing -- sharing may inspire others, and we hope there can be dialog in this track so people may leave with new free solutions for their daily routines.

+ +

FOSS in and for Education

+

Educational institutions have a long and impactful history in the development of multiple open initiatives. In addition to free and open source software, colleges and universities have played significant roles in producing and propagating a variety of other open educational resources, such as open content, textbooks and courses, open access journals, open data, and science and research. Institutions of higher education play an essential role across several free and open source communities. + +As adopters, campuses occupy a unique space in--and provide a unique perspective for--the use of free and open source software at the enterprise level, often in conjunction with government and research institutions. At the same time, campus constituencies--students, staff, and faculty--provide yet another perspective as independent desktop and mobile end users. + +Higher education is also fertile ground for development, educating the next generation of developers while often actively creating and managing their own projects and communities of practice. The FOSS For Education Community Track would provide sessions dedicated to using, developing, and managing open resources within academic environments, from multi-institutional consortia to departmental projects. The track organizers would emphasize presentations and topics highlighting the common principles, practices, benefits, challenges, and models spanning the variety of open initiatives impacting teaching and learning environments and campus administration.

+ +

Libre Graphics

+

Artists and designers using free, open source software these days have +many different options to help bring their creations to life. Long standing projects +like Blender, Gimp, Krita, Inkscape, and Scribus provide a wide gamut of tools, but there +are also many other custom built tools in the wild for graphics, audio, video, and interaction. +This track will explore different ways art software users and developers make and use various open source tools and pipelines to create artwork and share it with the world.

+ +

Licensing / Legal

+

This is the track for proposals related to best practices around licensing and management of licensing information, discussions of recent licensing controversies and news, developments in relevant laws around the world, run-downs of important patent litigation, and the like. We'd especially welcome talks from participants from throughout the copyleft world — developers, strategists, enforcement organizations, scholars and critics -- to discuss the day-to-day details of using copyleft licensing, obstacles facing copyleft and the future of copyleft as a strategy to advance and defend software freedom for users and developers around the world.

+ +

Linux Kernel

+

We've been working on this program for over thirty years, and it's still not finished. Join us to find out about some of the latest developments in this small hobby project.

+ +

Let's Control our Mobile Devices

+

Many people's primary computers are the ones they carry in their +pockets. Nearly all of those computers offer users far less freedom +than we've achieved on laptops, desktops, and servers. Since mobile +devices are the main way people communicate with each other and engage +with many important services like banking, transportation, and +shopping, big problems arise when we don't control them. In this +track, we'll discuss what needs to happen to take this control back, +and the state of free software projects and policy efforts doing just +that. Examples of topical talk areas include: freeing mobile operating +systems, specific free software apps to use and contribute to, app +distribution systems, and updates on the legal battles around +distribution of mobile software.

+ +

P2P LoFi Futures: Peer-to-Peer and Local First

+

Open Source philosophies go to the next level when we extricate ourselves from the increasing technofeudalism of the current internet. Peer-to-peer (P2P) and Local-First (Lo-Fi) software allows us to take responsibility for our data and participate with one another in ecosystems we can own. P2P has many technical opportunities and challenges, and also multiple frameworks. In this track, we will be exploring both the technical architecture avenues for P2P and Lo-Fi as well as the social and philosophical aspects of P2P approaches and implementations. Dive into conflict-free replicated data types, relays, mesh networks, agent-centricity and other key aspects.

+ +

Science of Community

+

What can research tell us about building FOSS communities? We invite presentations from academic and industry researchers working on and with FOSS, FOSS practitioners (e.g. project leaders, community leaders, maintainers, moderators), and students who are interested in engaging with FOSS research. In this track, we will include opportunities for researchers to talk with practitioners (about their research), practitioners to talk with researchers (about their needs), and researchers to talk with researchers (for learning and collaboration). Some of the most important collaborations are those between practitioners and researchers; this can only happen when they have a chance to get to know each other.

+ +

Supporting User Groups

+

An important aspect of fostering community is to have users organize users groups in their local communities. When an open source project has contributors all around the planet, user groups help foster a sense of community, helps with shared learnings and nurtures community members in their journey of contributing to open source. In this track, we will discuss best practices on organizing user groups, promoting and inspiring the community, identifying the initial opportunity to start user groups, tools to offer user group organizers, identifying speakers in the community, and making user groups sustainable.

+ +

XMPP

+

XMPP is an extensible, foundational, and libre building block for any sort of federated communication infrastructure. Talks ranging from those new to the idea, setting up chat or social servers for small groups and families and other use cases, to those familiar with the issues such as SPAM and abuse prevention in a federated space, to technical deep dive talks about open source projects in the space and their innovations, would all be something worth covering in this track. We would strive to both appeal to the core XMPP audience and bring them to FOSSY, but also to introduce the projects and ideas to the rest of the FOSS community.

+ +

Wild card

+

This track is for any talks that don't fit cleanly into the rest of the tracks. Don't be shy about putting your talk here if you don't know where it should go, we can always assign it to a specific track later. We know there are many important free software projects out there that could be highlighted in a talk that aren't hosted at SFC and don't fit any of the other tracks -- this is the right place for those.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/conference.ics b/schedule/conference.ics new file mode 100644 index 0000000..9d9b47d --- /dev/null +++ b/schedule/conference.ics @@ -0,0 +1,2408 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//2025.fossy.us/schedule//EN +CALSCALE:GREGORIAN +METHOD:PUBLISH +X-WR-CALDESC:FOSSY 2024 +X-WR-TIMEZONE:US/Pacific +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Coffee/tea break +DTSTART;TZID=US/Pacific:20250803T091500 +DTEND;TZID=US/Pacific:20250803T094500 +DTSTAMP:20260223T173350Z +UID:234@2025.fossy.us +CATEGORIES: +DESCRIPTION:Breakfast and coffee break +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Coffee/tea break +DTSTART;TZID=US/Pacific:20250802T091500 +DTEND;TZID=US/Pacific:20250802T094500 +DTSTAMP:20260223T173350Z +UID:233@2025.fossy.us +CATEGORIES: +DESCRIPTION:Breakfast and coffee break +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Coffee/tea break +DTSTART;TZID=US/Pacific:20250801T091500 +DTEND;TZID=US/Pacific:20250801T094500 +DTSTAMP:20260223T173350Z +UID:232@2025.fossy.us +CATEGORIES: +DESCRIPTION:Breakfast and coffee break +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Assessing and Managing threats to the Nonprofit Infrastructure of + FOSS +DTSTART;TZID=US/Pacific:20250801T094500 +DTEND;TZID=US/Pacific:20250801T102500 +DTSTAMP:20260223T173350Z +UID:229@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Allen Gunn\nFree and Open Source Software has long r + elied on a robust network of nonprofit organizations set up to support its + development and advocacy. In recent years\, this infrastructure has been + tested as funding has declined and the uncertainties related to running th + ese organizations have increased\, resulting in closures or reductions in + staff at many orgs. In this keynote\, Pono Takamori will host a conversati + on with Allen Gunn of Aspiration about the current challenges facing fisca + l sponsorship organizations\, how the decline in funding for these organiz + ations will impact FOSS generally and how to assess a variety of threats + in the US and globally.. +URL:http://2025.fossy.us/schedule/presentation/362/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSS in A/V: How Open Signal uses FOSS to further their mission in + a closed source industry +DTSTART;TZID=US/Pacific:20250803T094500 +DTEND;TZID=US/Pacific:20250803T103000 +DTSTAMP:20260223T173350Z +UID:231@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Chris Polanco\nOpen Signal is a media arts center in + Portland\, Oregon\, with a mission\nto nurture the change-making power of + community media in service of a\njust and equitable world. In this convers + ation with Chris Polanco\, their\nProduction Services Production Manager\, + we'll talk about how and why\nOpen Signal chooses open source as much as + they can in a world of SaaS\nand proprietary products. They do this not ju + st while partnering with\nus to do audio/video for FOSSY\, but across thei + r work with local youth\nand other media makers. We'll talk about some of + the hardware and\nsoftware they use\, how those choices are informed by th + eir mission\,\nand what sort of future they are working toward. +URL:http://2025.fossy.us/schedule/presentation/367/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Q&A on SFC's lawsuit against Vizio +DTSTART;TZID=US/Pacific:20250802T094500 +DTEND;TZID=US/Pacific:20250802T103000 +DTSTAMP:20260223T173350Z +UID:230@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Bradley M. Kuhn\nThere's a reason that some of the mo + st popular shows on television for generations have been courtroom dramas. + Court cases are dramatic by their nature!\n\nCome ask us anything at all + about the Software Freedom Conservancy's lawsuit against Vizio. The tria + l is only 6 weeks away\, so hear about everything and get yourself ready t + o go down to Los Angeles and attend the trial. +URL:http://2025.fossy.us/schedule/presentation/365/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Registration +DTSTART;TZID=US/Pacific:20250731T101500 +DTEND;TZID=US/Pacific:20250731T131500 +DTSTAMP:20260223T173350Z +UID:239@2025.fossy.us +CATEGORIES: +DESCRIPTION:Registration Open +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Keynote Session +DTSTART;TZID=US/Pacific:20250801T102500 +DTEND;TZID=US/Pacific:20250801T103500 +DTSTAMP:20260223T173350Z +UID:398@2025.fossy.us +CATEGORIES: +DESCRIPTION:Presentation of the Distinguished Service Award in Software Fr + eedom +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Lightning Talks! +DTSTART;TZID=US/Pacific:20250803T103000 +DTEND;TZID=US/Pacific:20250803T123000 +DTSTAMP:20260223T173350Z +UID:386@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Pono Takamori\n1. Vagrant Cascadian: An Impatient App + lication of Reproducible Builds\n2. Josh Lee: The OSS Hero's Journey\n3. J + ulia Zimmerman: Quantifying Sky Signals: Simulating Visibility Correlation + s in Radio Interferometry\n4. Zhi Qu: BLuE CRAB: RSSI Detection Pattern An + alysis for Flagging System Development\n5. Andrew Washburn: Using Quantum + Computers to Detect Continuous Gravitational Waves\n6. Audrey Evergreen: A + voiding Desk Neck While Coding\n7. Neal Gompa: X.Org Foundation and SFC\n8 + . Mark Davis: H.U.G.E. Announcement\n9. Alya Abbott: Choosing Software tha + t Won't Screw You\n10. Emily Soward: What and Why we Need AI Preparedness\ + n11. Brendan Conoboy: Command Line Control\n12. Eric Schultz: Glasgow Embe + dded Code of Conduct +URL:http://2025.fossy.us/schedule/presentation/368/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:PostgreSQL’s Rise to Power: Why the Open Source Giant is Dominat + ing the Database Landscape +DTSTART;TZID=US/Pacific:20250801T104500 +DTEND;TZID=US/Pacific:20250801T113000 +DTSTAMP:20260223T173350Z +UID:285@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Kellyn Gorman\nPostgreSQL has quietly\, but powerfull + y risen to become one of the most trusted and widely adopted database plat + forms in the world. Once considered a niche solution back in it's days as + it's predecessor\, Ingres\, PostgreSQL now leads the charge in the open-so + urce database movement\, challenging and often surpassing traditional ente + rprise heavyweights like Oracle and SQL Server. \nIn this session\, we’l + l explore the technical\, strategic\, and cultural reasons behind PostgreS + QL’s rapid ascent. From its robust standards compliance and extensibilit + y to its vibrant development community and compatibility with modern cloud + -native architectures\, PostgreSQL delivers enterprise-grade performance w + ithout the steep licensing costs. \nWe'll also examine how PostgreSQL’s + innovation is influencing other platforms like MySQL\, MongoDB\, and SQLit + e\, and why developers and architects are increasingly choosing it as the + foundation for their mission-critical workloads. This session will cover + everything from high availability options\, most popular extensions and fe + atures that keep PostgreSQL the choice among database technologists\, no m + atter if traditional transactional\, analytical or even AI workloads. We' + ll also discuss the limitations around migrations and how to best take on + the challenges or moving large\, enterprise\, multi-tier systems over to o + pen-source solutions.\nWhether you're considering migration\, multiplatfor + m strategy\, or just want to understand the open-source momentum\, this se + ssion will provide deep insights into PostgreSQL’s success and what it m + eans for the future of data. +LOCATION:327 +URL:http://2025.fossy.us/schedule/presentation/289/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Things I've Learned as a Linux Kernel Maintainer +DTSTART;TZID=US/Pacific:20250802T104500 +DTEND;TZID=US/Pacific:20250802T113000 +DTSTAMP:20260223T173350Z +UID:347@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Darrick J. Wong\nI spent seven years serving as the m + aintainer of the XFS filesystem and iomap filesystem library in the Linux + kernel. Whilst on that journey\, I learned a lot about steering technical + direction of those two projects\, but also the limitations of managing a + community without authority. I intend this talk to be most helpful for pe + ople who are current FOSS maintainers or are mid to senior level developer + s contemplating taking on such roles.\n\nThese are the seven skills that I + found most helpful and grew the most in those seven years:\n * Concocting + a strategy from which to build a development roadmap\n * Defining roles f + or people to take on\n * Negotiating staffing and budgets with managers\n + * Coaching people who are trying to get their efforts across the finish li + ne\n * Dealing with external shocks in as principled a manner as possible\ + n * Steering your way out of burnout\, aka Replacing Yourself\n * Supporti + ng\, but getting out of the way of\, the new leaders you cultivate\n\nFor + each of these areas\, I'll share how that skill fits into the Linux commun + ity (they didn't always fit well!) and what happened when I tried to make + things happen in those areas. I will target spending about 4-5 minutes ta + lking about each of those points and leave 20-25 minutes at the end for an + audience discussion. +LOCATION:333 +URL:http://2025.fossy.us/schedule/presentation/345/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Discussion: Which Way Do We Go? Understanding Sustainable Pathways + for Academic Open Source +DTSTART;TZID=US/Pacific:20250801T104500 +DTEND;TZID=US/Pacific:20250801T113000 +DTSTAMP:20260223T173350Z +UID:297@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Stephanie Lieggi\nNote: this will be a group discussi + on format with participation from anyone who wishes to join.\n\nMany impac + tful open source projects begin as ideas in academic research labs\, as hi + ghlighted by the wide adoption of projects like Ceph\, RISC-V and Jupyter. + However\, so much of what is created in universities doesn’t find broad + er adoption and struggles to be sustainable in the long-term. This is a lo + st opportunity that can have a broad impact on scientific communities\, in + dustry and society at large. This BoF session aims to explore the differen + t pathways for academic open source projects to find their way to sustaina + bility and adoption. As with most things open source – there is no one-s + ize-fits-all. This session will provide those with experience in building + and maintaining academic open source projects an opportunity to share that + experience with those looking for the right pathway for their own project + . It will also provide those working or supporting academic Open Source Pr + ogram Offices (OSPOs) an opportunity to highlight how they are helping pro + jects on their campus become sustainable and best serve the research and e + ducational goals of their institutions. +LOCATION:329 +URL:http://2025.fossy.us/schedule/presentation/335/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250802T104500 +DTEND;TZID=US/Pacific:20250802T113000 +DTSTAMP:20260223T173350Z +UID:331@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:328 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Open Source Software in Higher Education: A Community Report +DTSTART;TZID=US/Pacific:20250802T104500 +DTEND;TZID=US/Pacific:20250802T113000 +DTSTAMP:20260223T173350Z +UID:338@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Patrick Masson\nReports highlighting the adoption of + open source software (OSS) are ubiquitous. Yet studies specific to higher + education are limited\, perhaps leaving campuses unprepared to manage thei + r edtech portfolios.\n\nThe Apereo Foundation\, in partnership with other + open source software foundations and global universities\, will present pr + eliminary data from the Open Source Software in Higher Education Community + Report. This report offers unique insights into the perceptions of OSS di + scovered through a survey of IT leaders undertaken at EDUCAUSE 2025\, as w + ell as the prevalence of OSS in use across academic enterprises through pr + ofiling and analysis of .edu domains. The 2025 data is then compared to hi + storical data to provide historical trends\, compare current practices\, a + nd identify areas of future impact. +LOCATION:329 +URL:http://2025.fossy.us/schedule/presentation/329/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Never Mind the Checkboxes\, Here's Reproducible Builds! +DTSTART;TZID=US/Pacific:20250802T104500 +DTEND;TZID=US/Pacific:20250802T113000 +DTSTAMP:20260223T173350Z +UID:314@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Vagrant Cascadian\nThere are numerous policy complian + ce and regulatory processes being developed that target software developme + nt... but do they solve actual problems? Does it improve the quality of so + ftware? Do Software Bill of Materials (SBOMs) actually give you the inform + ation necessary to verify how a given software artifact was built? What is + the goal of all these compliance checklists anyways... or more importantl + y\, what *should* the goals be? If a software object is signed\, who shoul + d be trusted to sign it\, and can they be trusted ... forever?\n\nCould yo + u imagine a world with many bureaucratic compliance checks being replaced + with verifiable processes performed by arbitrary third parties?\n\nLet me + introduce you to Reproducible Builds\, a set of best practices which allow + you to verify that software artifacts were built from the source code\, a + llowing auditing for license compliance\, providing security benefits\, an + d remove the need to trust arbitrary software vendors. +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/327/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Starting an Open Mentorship Handbook! +DTSTART;TZID=US/Pacific:20250801T104500 +DTEND;TZID=US/Pacific:20250801T113000 +DTSTAMP:20260223T173350Z +UID:307@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Pono Takamori\nTechnology communities committed to tr + ansparency and openness (like free and open source software\, or FOSS\, co + mmunities) adopt sets of practices to facilitate their collaboration. In o + rder to work together developing software\, practicing open science and fa + cilitating open data\, collaborators must build robust communities to publ + icly discuss and improve their projects. Healthy communities that continu + e productively into the future must find ways to engage and nurture new co + ntributors in order to maintain and grow their communities. Some communiti + es struggle to attract new contrinbutors in the first place\, while other + communities attract many new contributors\, but struggle to coach those co + ntributors on how to become leaders\, reviewers\, and maintainers of their + community's work.\n\nOpen mentorship programs provide a safe space for in + terns to learn how to work in an open\, public manner with open communitie + s\, and how to create and maintain public works. Unfortunately\, documenta + tion on how to be a mentor in an open mentorship program is often non-exis + tent\, out of date\, or scattered across many different resources. The Out + reachy team is launching an Open Mentorship Handbook\, to gather best prac + tices in mentorship and to provide a collaborative way to share the knowle + dge that we've amassed in this area.\n\nCome learn about this initiative a + nd participate in a collaborative session about the Handbook and Open ment + orship! +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/358/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:How do sponsored open source ecosystems manage feature deployments + ? +DTSTART;TZID=US/Pacific:20250801T104500 +DTEND;TZID=US/Pacific:20250801T113000 +DTSTAMP:20260223T173350Z +UID:291@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Matt Gaughan\nThe academic study of FOSS libraries of + ten assumes that projects are organized as communities of volunteer contri + butors. However\, the recent growth of sponsored open source libraries --- + projects stewarded by large\, formally incorporated organizations --- pro + vides new organizational relationships and processes to better understand + . One common form of this is constructed when an organization stewards a l + ibrary while also managing the library's primary implementation\; in this + model\, decision making around the library and its implementation are deep + ly interconnected\, yet may be governed differently. Examples of this mode + l include Apple’s use of WebKit in Safari\, BlueSky’s use of ATProto i + n BlueSky applications\, and the WikiMedia Foundation’s (WMF) use of Med + iaWiki libraries in\nWikimedia platforms. This ongoing work focuses on thr + ee feature deployments on Wikimedia platforms\, examining deployment proce + sses' impacts on the MediaWiki libraries utilized for feature development. + By analyzing commit activity\, work tasks\, and community discussions\, w + e provide greater insight into how certain deployment processes impact the + open source development of a critical open platform. +LOCATION:333 +URL:http://2025.fossy.us/schedule/presentation/350/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250802T104500 +DTEND;TZID=US/Pacific:20250802T113000 +DTSTAMP:20260223T173350Z +UID:353@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:327 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Herding Hackers and Hawking Code: The Hustle of a Developer Advoca + te +DTSTART;TZID=US/Pacific:20250801T104500 +DTEND;TZID=US/Pacific:20250801T113000 +DTSTAMP:20260223T173350Z +UID:327@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Nate Boot\nYou may have heard of a developer advocate + . You might have even seen one on stage or met one at a conference booth s + linging stickers like they’re currency. Odds are you’ve probably seen + a YouTube video or read a blog post from a developer advocate\, talking ab + out why an API has changed or acting as an “explainer of stuff” for so + me new feature. Our lives are never boring\, but how can you tell if it’ + s something you’d be interested in? Just what else are these folk up to? + \n\nThey are a must have if your particular open source project has regul + ar user groups. You might even consider them a kind of translation layer. + You see\, they usually have backgrounds in software engineering but instea + d of coding all day\, they're likely to be found talking about code all da + y. When your users are suffering from deficiencies and bring them to user + groups to be discussed\, these advocates can usually pinpoint what group o + f developers and/or repositories those code changes need to be made in. Th + ey are a bridge between development teams and user communities.\n\nI’d l + ove a chance to share my experience. If you have a passion for open source + projects and want to someday get involved in a pragmatic and supportive w + ay\, let me take you through my journey and share just what makes it speci + al to me and why it makes such a difference to the community of any open s + ource product. +LOCATION:328 +URL:http://2025.fossy.us/schedule/presentation/296/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Break +DTSTART;TZID=US/Pacific:20250801T113000 +DTEND;TZID=US/Pacific:20250801T114500 +DTSTAMP:20260223T173350Z +UID:269@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Break +DTSTART;TZID=US/Pacific:20250802T113000 +DTEND;TZID=US/Pacific:20250802T114500 +DTSTAMP:20260223T173350Z +UID:270@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250802T114500 +DTEND;TZID=US/Pacific:20250802T123000 +DTSTAMP:20260223T173350Z +UID:354@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:327 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Reimagining Online Deliberation: Why Open Source is Critical for C + ivic Infrastructure +DTSTART;TZID=US/Pacific:20250801T114500 +DTEND;TZID=US/Pacific:20250801T123000 +DTSTAMP:20260223T173350Z +UID:305@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Samantha Shireman\nWhat if the tools we use for civic + engagement were as common as Google Docs\, but built on open source princ + iples? In today's polarized digital landscape\, creating space for thought + ful\, inclusive dialogue is more critical than ever.\n \nWithin Harvard's + Berkman Klein Center\, our Applied Social Media Lab is building Frankly\, + an open source video-based discourse platform that structures online face- + to-face conversations for meaningful outcomes.\nIt combines intelligent gr + oup matching with embedded discussion prompts\, enabling balanced groups t + o navigate complex topics without facilitators in order to make constructi + ve discourse and collaborative decision-making accessible and scalable.\n + \nThis session explores how we’re rethinking online discourse to better + support civic engagement and social connection\, and why democratic infras + tructure must be built on open source principles. Open source enables adap + tability to different contexts\, ensures longevity beyond any single insti + tution\, and provides the scrutinizability necessary for legitimate public + discourse.\n \nBy open-sourcing Frankly and collaborating with practition + ers\, we're developing civic technology that is transparent\, adaptable\, + and grounded in dialogue expertise. As we increasingly make collective dec + isions in digital spaces\, building deliberative infrastructure on open fo + undations isn't just technically superior—it's democratically essential. +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/328/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:More Scalability Through Open Source Hygiene +DTSTART;TZID=US/Pacific:20250802T114500 +DTEND;TZID=US/Pacific:20250802T123000 +DTSTAMP:20260223T173350Z +UID:326@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Ria Farrell Schalnat\nAs more attention is paid to SB + OMs through Executive Orders in the United States and legislation like the + European Union's Cyber Resilience Act\, being able to ingest\, identify\, + evaluate and approve open source packages will be critical to scaling com + pliance operations as well as empowering developers by giving them an earl + y heads up on the choices they are making in their solutions. SPDX identi + fiers provide a quick identification mechanism for the license utilized by + a component. ClearlyDefined provides important provenance data includin + g component source locations\, licensing\, attributions and more. GUAC p + rovides tooling to enhance SBOMs with security and vulnerability data. CH + AOSS provides health metrics associated with open source components. All + of these projects allow the development of policies and empower developer + s to align their choices with personal or company preferences. This ses + sion will touch on all these projects and then walk through the process to + assign an SPDX-ID to a license. When you leave\, you'll know how to enga + ge with the SPDX-Legal committee and how to respond to issues in their rep + o to get IDs assigned to licenses. Help US to help YOU to scale your open + source compliance! +LOCATION:328 +URL:http://2025.fossy.us/schedule/presentation/364/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Power Dynamics\, Rug Pulls\, and Other Impacts on FOSS Sustainabil + ity +DTSTART;TZID=US/Pacific:20250802T114500 +DTEND;TZID=US/Pacific:20250802T123000 +DTSTAMP:20260223T173350Z +UID:348@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Dr. Dawn Foster\nPower imbalances are everywhere\, in + cluding in our FOSS projects. Corporations hold power over projects that r + esult in relicensing\, forks\, and other disruptions. This talk will cover + these power dynamics using research data from several case study projects + and suggest steps that we can take to make better decisions about which F + OSS projects to embrace.\n\nSince the beginning of time\, those in power h + ave been able to use that power against the weak\, often with little recou + rse. In feudalism\, the powerful ruling class controlled the land leading + to oppression and exploitation of the people doing the hard work of farmin + g and protecting the land. This may sound familiar\, since many FOSS proje + cts similarly have the power consolidated in the hands of the few even whe + n others with less power are doing most of the work. In today’s cloud na + tive world\, the power dynamics have gotten even more complex. Large cloud + providers have the most power and can create service offerings based sole + ly on FOSS projects while doing little to no real work on those projects. + Smaller companies who are doing a significant amount of the development on + a FOSS project have less power than the cloud providers\, but many still + have the power to relicense those projects. The many users\, contributors\ + , and even maintainers who have less power can feel like the rug has been + pulled out from under them. We’ve recently seen an increase in relicensi + ng of FOSS projects and other tensions within communities that are directl + y related to imbalances in power that cause disruption within our projects + .\n \nWe have mechanisms\, like forks\, where those with less power can co + unter these power moves\, regardless of the forms they take. The Elasticse + arch\, Redis\, and Terraform relicensing resulted in the OpenSearch\, Valk + ey\, and OpenTofu forks. As part of an ongoing 1+ year research effort und + er the CHAOSS project\, this talk will dive into the data for these six pr + ojects to illustrate these power dynamics.\n\nAs maintainers\, contributor + s\, and users of FOSS\, we devote our most precious resource to these proj + ects\, time. We need for the projects that we spend time on to be sustaina + ble over the long term to avoid wasting this precious resource. There is n + o way to predict which projects will be sustained over time\, but this tal + k will contain detailed suggestions for how to look for warning signs. Who + holds the power in the FOSS projects that we use and contribute to? How d + o they use that power? What governance processes are in place to provide c + hecks and balances to avoid the misuse of that power? Beyond identifying w + arning signs\, this talk will contain suggestions for how we can work with + in projects to help them become more sustainable. This talk will not only + help people understand the power dynamics at play\, but will also provide + tangible steps that we can take as maintainers\, contributors\, and users + to make better decisions about focusing our precious time on making our pr + ojects more sustainable. +LOCATION:333 +URL:http://2025.fossy.us/schedule/presentation/342/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:DRM\, security\, or both? How do we decide? +DTSTART;TZID=US/Pacific:20250802T114500 +DTEND;TZID=US/Pacific:20250802T123000 +DTSTAMP:20260223T173350Z +UID:306@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Matthew Garrett\nAn easy way to define malware is "So + ftware that I don't want running on my computer". And one way to ensure th + at you're protected from malware would be to ensure that your computer onl + y runs software you want to run. But how is technology that allows that di + fferent to technology that allows someone *else* to choose what software y + our computer runs? Someone who isn't necessarily motivated by your best in + terests? How do we decide what is security\, and how do we decide what is + DRM?\n\nThis presentation will cover various technologies that allow gener + al purpose computers to become less general purpose\, and discuss whether + they are of net benefit to users or a net risk to their freedoms. It will + discuss whether TPMs are actually locking you down\, whether secure boot h + as been a success or a failure\, how immutable distros and app packaging p + lay into this\, and give you some hope that we can take the tools that wer + e made to restrict us and repurpose them to protect us. +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/325/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:The Creative Trade-Off: Governance\, Conflict\, and Their Impact O + n Innovation In Open-Source Software +DTSTART;TZID=US/Pacific:20250801T114500 +DTEND;TZID=US/Pacific:20250801T123000 +DTSTAMP:20260223T173350Z +UID:292@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Dr. Justin Ribeiro\, PhD\nSoftware development has al + ways been fueled by creativity but today\, efficiency metrics\, process-he + avy methods\, and the rise of AI now often box that creativity out. While + developers are drawn to solving tough problems\, modern practices can unin + tentionally prioritize small tweaks over bold breakthroughs. This tension + risks limiting not just individual potential\, but open source’s ability + to drive meaningful innovation.\n\nIn this talk\, we dive into how develo + pment approaches shape creativity at the project level\, drawing from a st + udy of 40 open source projects\, over 10\,000 releases\, and interviews wi + th developers across corporate and community-run efforts. Using multi-leve + l creativity theories\, we unpack how individual actions\, team interactio + ns\, and project governance can either spark or stifle innovative outcomes + .\n\nOur research challenges the myth of the lone “rockstar” developer + and highlights the crucial role of social interactions within the open so + urce community— especially during review stages such as pull requests an + d code reviews—in turning creative ideas into real-world innovations. We + show how cognitive conflict and governance models impact creative outcome + s and offer strategies for building more innovative\, collaborative open s + ource projects and communities.\nIf we want open source to keep leading th + e way\, we need development practices that empower creativity\, not constr + ain it. Let’s rethink how we build and unlock a more radical future for + open source software. +LOCATION:333 +URL:http://2025.fossy.us/schedule/presentation/347/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Empowering Teams in Open Source EdTech Communities +DTSTART;TZID=US/Pacific:20250801T114500 +DTEND;TZID=US/Pacific:20250801T123000 +DTSTAMP:20260223T173350Z +UID:298@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Joshua Wilson\nJoin us to explore how Google's Projec + t Aristotle findings can empower teams of developers and educators in open + source educational technology. Through interactive exercises\, you'll lea + rn practical techniques for making teams more effective by ensuring equal + voice in feature discussions and developing social sensitivity in asynchro + nous communication. You'll leave with concrete strategies to build a team + dynamic that supports your FOSS project and create psychological safety th + at enables both developers and educators to admit knowledge gaps and learn + from each other. +LOCATION:329 +URL:http://2025.fossy.us/schedule/presentation/336/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Up Against the WAL: The Write-Ahead Log in PostgreSQL +DTSTART;TZID=US/Pacific:20250801T114500 +DTEND;TZID=US/Pacific:20250801T123000 +DTSTAMP:20260223T173350Z +UID:286@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Christophe Pettus\nThe Write-Ahead Log in PostgreSQL + underlies a huge number of features: crash recovery\, binary replication\, + logical replication\, and backups. This talk is a dive into the internals + of the WAL\, including its format\, how it is written to storage\, how it + is used\, and what to do when you get one of the many terrifying errors a + bout WAL issues. +LOCATION:327 +URL:http://2025.fossy.us/schedule/presentation/355/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Raising the bar on your conference presentation +DTSTART;TZID=US/Pacific:20250801T114500 +DTEND;TZID=US/Pacific:20250801T123000 +DTSTAMP:20260223T173350Z +UID:325@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Rich Bowen\nWe've all attended - or given - presentat + ions that put the audience to sleep\, or at least had most of them playing + Kwazy Cupcakes on their phones. In this presentation\, we talk about ways + that you can improve your conference presentations by making a few simple + changes.\n\nYou know the presentations I'm talking about. The slides are + 73 lines of 12-point font\, and the speaker reads them to you with their b + ack turned. Ok\, maybe not that bad. But you want to leave the audience wa + nting more\, and eager to take the next step. Here's a few simple tips for + making your conference and meetup presentations engaging\, rather than so + porific. +LOCATION:328 +URL:http://2025.fossy.us/schedule/presentation/282/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250802T114500 +DTEND;TZID=US/Pacific:20250802T123000 +DTSTAMP:20260223T173350Z +UID:337@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:329 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Lunch break (on your own) +DTSTART;TZID=US/Pacific:20250803T123000 +DTEND;TZID=US/Pacific:20250803T134500 +DTSTAMP:20260223T173350Z +UID:226@2025.fossy.us +CATEGORIES: +DESCRIPTION:Lunch break (on your own) +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Lunch break (on your own) +DTSTART;TZID=US/Pacific:20250801T123000 +DTEND;TZID=US/Pacific:20250801T140000 +DTSTAMP:20260223T173350Z +UID:224@2025.fossy.us +CATEGORIES: +DESCRIPTION:Lunch break (on your own) +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Lunch break (on your own) +DTSTART;TZID=US/Pacific:20250802T123000 +DTEND;TZID=US/Pacific:20250802T140000 +DTSTAMP:20260223T173350Z +UID:225@2025.fossy.us +CATEGORIES: +DESCRIPTION:Lunch break (on your own) +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Opening Remarks +DTSTART;TZID=US/Pacific:20250731T134500 +DTEND;TZID=US/Pacific:20250731T140000 +DTSTAMP:20260223T173350Z +UID:227@2025.fossy.us +CATEGORIES: +DESCRIPTION:Opening Remarks +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Intro to Unconferences +DTSTART;TZID=US/Pacific:20250803T134500 +DTEND;TZID=US/Pacific:20250803T140000 +DTSTAMP:20260223T173350Z +UID:397@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Aaron Wolf\nAn unconference fits a middle-ground betw + een planned talks and casual hallway chat. In an unconference\, participan + ts collaboratively set up a schedule for topical conversations. Anyone can + propose a topic. A schedule-board organizes which topics will happen when + and where. Everyone can join (or just listen in on) whichever conversatio + ns they like.\nNever been to one? We'll give a brief overview of the rooms + and times so you can build your schedule. +URL:http://2025.fossy.us/schedule/presentation/360/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Nurturing the Next Generation of Open Source Contributors +DTSTART;TZID=US/Pacific:20250801T140000 +DTEND;TZID=US/Pacific:20250801T144500 +DTSTAMP:20260223T173350Z +UID:299@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Tyler Menezes\nMany open source projects are grapplin + g with a crucial issue: finding future contributors and maintainers. This + talk explores the hurdles and solutions in bridging academia and open sour + ce. We discuss what mental barriers students face when it comes to coding + and contributing to open source\, how to craft mentorship resources\, and + what resources projects need to build lasting relationships with students. +LOCATION:329 +URL:http://2025.fossy.us/schedule/presentation/330/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Cooking Up Community: Build the Fire\, Embrace Every Ingredient\, + Always Stir the Pot +DTSTART;TZID=US/Pacific:20250801T140000 +DTEND;TZID=US/Pacific:20250801T144500 +DTSTAMP:20260223T173350Z +UID:332@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Rick Turoczy\nBuilding a thriving open source communi + ty isn’t just about setting up the right infrastructure — it’s about + lighting the fire\, welcoming every ingredient\, and making sure the pot + stays stirred.\n\nIn this talk\, Rick Turoczy — longtime startup communi + ty builder\, Silicon Florist writer\, and semi-professional stirrer-of-pot + s — shares practical\, heartfelt lessons on how open communities nourish + creativity\, innovation\, and resilience. Drawing inspiration from campfi + res\, communal kitchens\, and a few questionable recipes\, Rick explores w + hat it really takes to keep the flame alive without burning out the chefs. + \n\nTopics include:\n- Building the Fire: Creating the conditions where co + ntributors of all kinds feel warmth\, safety\, and purpose\n- Embracing Ev + ery Ingredient: Recognizing and celebrating every kind of contribution — + code\, documentation\, encouragement\, memes\, and moral support\n- Alway + s Stirring the Pot: Keeping communities dynamic\, curious\, and welcoming + to new flavors and ideas — without letting things get scorched\n\nWhethe + r you're tending a tiny new project or helping stir a massive community st + ew\, you'll leave with a renewed sense of why open source isn't just about + code — it's about collaboration\, nourishment\, and shared possibility. +LOCATION:328 +URL:http://2025.fossy.us/schedule/presentation/298/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:GNU/Linux Loves All +DTSTART;TZID=US/Pacific:20250801T140000 +DTEND;TZID=US/Pacific:20250801T144500 +DTSTAMP:20260223T173350Z +UID:308@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Timmy James Barnett\nGNU/Linux Loves All is an experi + ence that makes microtonal music accessible through FLO software. Timmy wr + ites FLO software music tools for all people. At this concert\, you will h + ear musical intervals from across millennia on violin\, microtonal guitar\ + , and microtonal keyboards\, running through FLO software music tools on G + NU/Linux\, the greatest operating system of all time. +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/318/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Panel: Licenses\, corporations\, community\, and collaboration +DTSTART;TZID=US/Pacific:20250802T140000 +DTEND;TZID=US/Pacific:20250802T144500 +DTSTAMP:20260223T173350Z +UID:333@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Josh Triplett\nConfirm or deny: Free and open source + software licenses\nshould provide a framework for collaboration between an + y and all\nindividuals and entities interested in working on and using the + covered\ncode\, including hobbyists\, freelancers\, corporations\, and no + nprofit\norganizations. If not true\, what should we do instead? If true\, + how is\nour current set of licenses performing in this area\, especially\ + nconsidering wrinkles like SaaS and patents? Furthermore\, we've seen some + \nmodifications published as "additional terms" and as new licenses -- how + \nhave these efforts played out and do we expect to see more of them?\nWe' + ll hear from panelists with expertise in diverse related areas\, and\ninvi + te questions from the audience. +LOCATION:328 +URL:http://2025.fossy.us/schedule/presentation/361/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Is There Really an SBOM Mandate? +DTSTART;TZID=US/Pacific:20250731T140000 +DTEND;TZID=US/Pacific:20250731T144500 +DTSTAMP:20260223T173350Z +UID:319@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Bradley M. Kuhn\nA consistent mantra of the Software + Bill Of Materials (SBOM) ballyhoo is\nthat various government entities aro + und the world have mandated SBOMs in\nvarious different places. From USA P + OTUS Executive Orders\, to EU Directives\,\nto USA NIST whitepapers — it + 's often been repeated that these various\nsources mandate SBOMs as a mand + atory requirement.\n\nLet's look at the source material and find out what + these various orders and\ndirectives actually say\, and figure out what's + really mandated. +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/326/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T140000 +DTEND;TZID=US/Pacific:20250803T144500 +DTSTAMP:20260223T173350Z +UID:376@2025.fossy.us +CATEGORIES: +DESCRIPTION:How to get people to care about FOSS\, exploring different sof + tware domains\n\nPad link +LOCATION:329 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250731T140000 +DTEND;TZID=US/Pacific:20250731T144500 +DTSTAMP:20260223T173350Z +UID:315@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:333 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T140000 +DTEND;TZID=US/Pacific:20250803T144500 +DTSTAMP:20260223T173350Z +UID:366@2025.fossy.us +CATEGORIES: +DESCRIPTION:AI issues - safety\, licensing\, etc.\n\nPad link +LOCATION:328 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:An Adventure in Data Modeling +DTSTART;TZID=US/Pacific:20250802T140000 +DTEND;TZID=US/Pacific:20250802T144500 +DTSTAMP:20260223T173350Z +UID:310@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Mark Wong\nThis is a tale about one company's experie + nce with a database schema design refactor to use the Entity-Attribute-Val + ue (EAV) data model on its members. I will describe the original data mode + l and why there was a need to move to a new data model\, which the EAV was + chosen for. This decision was made without realizing that the EAV data m + odel is considered an anti-pattern for relational data modeling. There wa + s some stumbling along the way but the company recovered and succeeded in + implementing the EAV data model with some on-the-fly data transformation. + The moral of the story really is to not use the EAV data model\, but chan + ging the data models is not always trivial. Hopefully this story can sti + ll help make the EAV data model bearable for the short term. +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/363/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T140000 +DTEND;TZID=US/Pacific:20250803T144500 +DTSTAMP:20260223T173350Z +UID:362@2025.fossy.us +CATEGORIES: +DESCRIPTION:Whats next for academic Open Source and OSPO / Semantics in Ma + chine Learning Objective Functions\n\nPad link +LOCATION:338 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Setting Up A Simple XMPP Server +DTSTART;TZID=US/Pacific:20250802T140000 +DTEND;TZID=US/Pacific:20250802T144500 +DTSTAMP:20260223T173350Z +UID:355@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Root\nThis talk will showcase the simplicity and ease + of setting up your own XMPP server using the Snikket software\, walking s + tep-by-step through the process using slides. The end result will be a ful + ly functioning XMPP server that can be used throughout the remainder of th + e conference between all attendees. There will be a demonstration of the f + eatures available to a Snikket Instance including\, but not limited to\, i + nviting others to join your server\, group chats that are private or publi + c\, adding contacts\, managing and updating the instance as the admin\, cr + eating limited accounts for kids\, and steps for more secure end-to-end en + cryption. This talk will also dive into some personal privacy\, security\, + and persona considerations and how they will be affected by your threat m + odel. +LOCATION:327 +URL:http://2025.fossy.us/schedule/presentation/286/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250801T140000 +DTEND;TZID=US/Pacific:20250801T144500 +DTSTAMP:20260223T173350Z +UID:287@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:327 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Riding Subiquity With No Handlebars +DTSTART;TZID=US/Pacific:20250731T140000 +DTEND;TZID=US/Pacific:20250731T144500 +DTSTAMP:20260223T173350Z +UID:277@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Romeo S\nCanonical\, never happy with existing standa + rds\, wrote their own auto-installer just for Ubuntu. It has some "fun" us + age\, which we will cover in great detail. After this talk\, you will be a + ble to install Ubuntu Server with your hands tied behind your back\, wheth + er it be on a virtual machine or bare metal\, with or without a network co + nnection\, in a datacenter or in your lap. We will also have some fun talk + ing about the perplexing decisions that Canonical makes and some of the lo + ng-standing bugs in Subiquity\, along with workarounds. +LOCATION:329 +URL:http://2025.fossy.us/schedule/presentation/305/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Popping kernels for Linux distributions +DTSTART;TZID=US/Pacific:20250731T140000 +DTEND;TZID=US/Pacific:20250731T144500 +DTSTAMP:20260223T173350Z +UID:240@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Neal Gompa\nPackagers in Linux distributions do a lot + to ensure the software you use is up to date\, integrated in the platform + \, and most importantly: works! But one package stands out among the other + s in importance: the Linux kernel. Over the past few years\, I've become a + Linux kernel package maintainer for a couple of Linux distributions (nota + bly Fedora Asahi Remix and CentOS Stream Hyperscale). This talk will share + my experiences in becoming and being a Linux kernel package maintainer: t + he good\, the bad\, and the sometimes ugly.\n\nThis will be centered aroun + d two very distinct types of kernel packages: one where the kernel is most + ly upstream and low patching (CentOS Stream Hyperscale) and one where the + kernel has a significant downstream patch load (Fedora Asahi Remix). The c + ompare and contrast will demonstrate why Linux distributions make the choi + ces they do around package maintenance and concretely show why philosophie + s like "upstream first" and similar matter. +LOCATION:328 +URL:http://2025.fossy.us/schedule/presentation/299/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T140000 +DTEND;TZID=US/Pacific:20250803T144500 +DTSTAMP:20260223T173350Z +UID:342@2025.fossy.us +CATEGORIES: +DESCRIPTION:Setting goals and spending money / Meta-crisis / Coordination + problem\n\nPad + link +LOCATION:327 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Open source your repository: a roadmap +DTSTART;TZID=US/Pacific:20250801T140000 +DTEND;TZID=US/Pacific:20250801T144500 +DTSTAMP:20260223T173350Z +UID:293@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Mike Jang\nThis is open source done right. Open sourc + ing existing software is more than just "pushing a button\," It involves s + erious preparation\, including:\n\n- Choosing reasons to go open source\n- + Auditing security\n- Scrubbing PII\n- Lawyers and the license\n- Deciding + what to do about commits\n- Setting ground rules for contributors\n- Shar + ing with your community\n- Follow-up hackathons\n\nWhen people look at ope + n source software\, they first look at documentation. When open source dev + elopers find a promising project\, they expect to get involved. One part o + f the process is with open source software.\n\nAttendees will come out of + this session with:\n\n- Access to a template repository\n- A checklist to + follow\, which addresses legal\, security\, and community requirements\n- + An understanding of the work required to move to open source\n- Tips for h + ackathons\, based on real-world experience with open source newbies\n\nInt + ernally\, we overcame barriers before we could "push the button." External + ly\, we helped open source newbies make substantive contributions\, well b + eyond the "typo fix."\n\nOver the past few days\, we've experienced the va + riety of issues that can come from a hackathon\, especially with Git newbi + es. However\, we've found that encouraging new Git users increases the qua + lity of contributions based on the diversity of experiences. +LOCATION:333 +URL:http://2025.fossy.us/schedule/presentation/341/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T140000 +DTEND;TZID=US/Pacific:20250803T144500 +DTSTAMP:20260223T173350Z +UID:371@2025.fossy.us +CATEGORIES: +DESCRIPTION:Music and video games\n\nPad link +LOCATION:333 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Lessons from a Decade of Open Source Sustainability Research +DTSTART;TZID=US/Pacific:20250802T140000 +DTEND;TZID=US/Pacific:20250802T144500 +DTSTAMP:20260223T173350Z +UID:349@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Igor Steinmacher\nSeveral FOSS projects struggle with + long-term sustainability. This talk walks through years of research and d + evelopment focused on addressing some of the most pressing challenges face + d related to the sustainability of FOSS communities: newcomer onboarding\, + maintainer burnout\, and project governance. I will begin by discussing i + nterventions to support newcomers' onboarding\, including community-driven + mentorship strategies\, structured contribution paths\, and other approac + hes\, designed to build confidence and skills early in the contribution pr + ocess. I will also present ongoing work exploring how Large Language Model + s (LLMs) can be used to create conversational agents that assist contribut + ors and reduce repetitive questions directed at maintainers\, helping scal + e mentoring while keeping community standards. I will also share insights + from longitudinal analyses of developer activity and engagement patterns\, + including the role of personal and project-level breaks in sustaining hea + lthy contribution cycles and how we may use this to plan. Throughout the t + alk\, I will reflect on how these align with broader structural improvemen + ts. In one example\, a governance shift in the data.table project was acco + mpanied by investments in multilingual documentation and structured issue + triage---steps that revitalized participation and distributed responsibili + ty. Together\, these threads present a holistic vision for building more s + ustainable\, inclusive\, and resilient FOSS communities\, combining techni + cal scaffolding\, community design\, and human-centered practices. +LOCATION:333 +URL:http://2025.fossy.us/schedule/presentation/343/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250731T140000 +DTEND;TZID=US/Pacific:20250731T144500 +DTSTAMP:20260223T173350Z +UID:281@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:327 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Where Open Research Meets Open Source: The OSF as a Gateway to Aca + demic Collaboration +DTSTART;TZID=US/Pacific:20250802T140000 +DTEND;TZID=US/Pacific:20250802T144500 +DTSTAMP:20260223T173350Z +UID:339@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Daniel Steger\nThe Open Science Framework (OSF)\, dev + eloped and maintained by the Center for Open Science (COS) is a free\, ope + n-source platform that helps researchers around the world manage and share + their work openly and transparently. With more than 800\,000 users across + disciplines and continents\, the OSF supports a global community of schol + ars seeking reproducibility and openness in scholarship. But the OSF is al + so something more: a unique open-source ecosystem built to bridge the gap + between research needs and technical contributions.\n\nIn this session\, w + e’ll explore how OSF offers a low-barrier entry point for students\, edu + cators\, and developers who want to make a meaningful impact on the resear + ch world. Through its modular architecture and integration of microservice + s\, the OSF enables contributors to build tools that directly improve how + science is done\, supporting workflows from study planning through to publ + ication and sharing of any resource type. \n\nBeyond technical infrastruct + ure\, OSF fosters a “social open” environment that welcomes and suppor + ts new contributors. We offer active community spaces like our Discord ser + ver\, regular onboarding events\, transparent project boards on GitHub\, a + nd continually updated documentation and guides. We also collaborate acros + s open-source communities to stay aligned with shared values and best prac + tices in open development.\n\nAttendees of this presentation will learn an + d experience:\n-Highlighting the OSF as a free\, open platform that lowers + the barrier for sharing scholarly and educational materials for researche + rs around the world\n- Showcasing opportunities for researchers and educat + ors as both end-users and code\, feedback\, and feature contributors throu + gh the OSF open source community “help wanted board\,” showing tasks r + eady for all levels of developers. \n- Spotlighting our new open-source in + tegration ecosystem as a low-friction entry point for technical contributo + rs in academic settings that brings new users and expanded capabilities fo + r OSF and integrated tools and services\n- Provide real-time opportunities + for participants to grow their FOSS engagement through an interactive fee + dback and co-design activity\n- Examples of institutional collaborations a + nd feature feedback loops directly from OSF researchers and educators\n- D + emonstrate how the OSF builds and supports an open-source community commit + ted to reproducibility and access of academic research. \n\nGetting involv + ed is easy and impactful. Whether you're a small developer group\, a class + room exploring real-world FOSS engagement\, or an individual contributor\, + there are many ways to plug into our community. We’re always looking fo + r collaborators\, especially those excited about making tools that amplify + open science around the world. Whether you're a dev team exploring ways t + o contribute to the future of knowledge sharing\, an educator guiding stud + ents through real-world projects\, or simply someone passionate about buil + ding for impact\, the OSF community welcomes your contribution—and your + curiosity. +LOCATION:329 +URL:http://2025.fossy.us/schedule/presentation/338/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Break +DTSTART;TZID=US/Pacific:20250731T144500 +DTEND;TZID=US/Pacific:20250731T150000 +DTSTAMP:20260223T173350Z +UID:244@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Break +DTSTART;TZID=US/Pacific:20250802T144500 +DTEND;TZID=US/Pacific:20250802T150000 +DTSTAMP:20260223T173350Z +UID:246@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Break +DTSTART;TZID=US/Pacific:20250801T144500 +DTEND;TZID=US/Pacific:20250801T150000 +DTSTAMP:20260223T173350Z +UID:245@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Break +DTSTART;TZID=US/Pacific:20250803T144500 +DTEND;TZID=US/Pacific:20250803T150000 +DTSTAMP:20260223T173350Z +UID:247@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T150000 +DTEND;TZID=US/Pacific:20250803T154500 +DTSTAMP:20260223T173350Z +UID:346@2025.fossy.us +CATEGORIES: +DESCRIPTION:Names are hard! What is a better word than "upstream" for dist + ros? / What it takes to build strong teams / Building better collaborators + \n\nPad link +LOCATION:327 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:HAX Lab: FOSS community becomes the classroom +DTSTART;TZID=US/Pacific:20250802T150000 +DTEND;TZID=US/Pacific:20250802T154500 +DTSTAMP:20260223T173351Z +UID:340@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Bryan T Ollendyke\nThis talk is a case study in how f + using open source contribution with classroom teaching can directly lead t + o increases in contributors and improved developer experience! DX often co + mes down to new users being able to figure out your software and students + learning new technologies provide a great basis for building around.\n\nHA + X Lab is a collaboration between multiple colleges at Penn State. Informat + ion Sciences and Technology crossed with Arts and Architecture\, has provi + ded a playground to grow and sustain open source in a unique way I'd love + to share. Now there is an IST course (256) that teaches students modern we + b development through direct and indirect contribution to the platform\, H + AX Lab\, HAX The Club\, and collaborations across clubs directly and indir + ectly improving the ecosystem! You can learn more about the Student Innova + tion Pipeline here: https://haxtheweb.org/hax-lab/student-innovation-pipel + ine\n\nDirect contribution:\n- Labs solve entry level problems in the ecos + ystem\n- Course capstone projects help contribute to larger needs in the c + ommunity\n- HAX Lab allows students to go further via internships and inde + pendent studies\n- a student driven HAX Club allows them to take their kno + wledge to application in the larger university community\n\nIndirect:\n- S + tudents use the HAX cli in order to learn about modern web tooling. This p + rovides DX feedback to our community\n- Students often keep contributing a + fterwards by creating sites on the platform\n- Several students have conti + nued to contribute in the years after the course\n- Other groups internall + y are writing HAX into grants and building business plans that incorporate + HAX unique capabilities\n\nWhat you'll learn:\n- How our pipeline works\n + - Contribution timelines\, scale\, and quality of contributions\n- Example + s of additional ways to engage student communities to increase contributio + ns\n- How you can get involved with HAX and use it in your community\n\nMo + re about HAX:\nHAX is short for Headless Authoring eXperience\, it is a we + b based ecosystem that makes it easier to build websites and then provides + website-tonight style click and build software that you can take with you + \, download\, and remix easily. It was an idea and approach to make it eas + ier to develop web content online. +LOCATION:329 +URL:http://2025.fossy.us/schedule/presentation/333/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Panel: Ongoing Things in the Kernel Community +DTSTART;TZID=US/Pacific:20250731T150000 +DTEND;TZID=US/Pacific:20250731T154500 +DTSTAMP:20260223T173351Z +UID:248@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Darrick J. Wong\n- Kernel integration with mainline\n + - Upstreaming stuff from AsahiLinux\n- Containerizing filesystems\n- Awful + ness of vendor kernels\n- Adding Rust\n\nThere will also be room for audie + nce questions. +LOCATION:328 +URL:http://2025.fossy.us/schedule/presentation/359/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Databases and Diversity +DTSTART;TZID=US/Pacific:20250801T150000 +DTEND;TZID=US/Pacific:20250801T152000 +DTSTAMP:20260223T173351Z +UID:288@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Stacey Haysler\nWhile we have great diversity in data + bases—from open source systems such as PostgreSQL and CouchDB\, to propr + ietary and heavily licensed ones such as Oracle— human diversity in the + database community is not nearly equivalent. Diversity (and lack thereof) + in the technical community has been a topic of increasing discussion the + past few years. While we have made some progress—even submitting a propo + sal for a talk on diversity to a conference is a significant change—we h + ave some distance to travel still. While won't get there in 25 minutes\, w + e will cover a fair amount of ground!\n\nWe will review current efforts in + the technical community to improve diversity\, as well as ideas that have + been discussed and need someone to develop them. \n\nYou will also learn + what you\, as one individual\, can do in your daily life to improve the di + versity of our community. +LOCATION:327 +URL:http://2025.fossy.us/schedule/presentation/292/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Glue Work Makes the Community Work: Sustaining OSS Through Invisib + le Labor +DTSTART;TZID=US/Pacific:20250802T150000 +DTEND;TZID=US/Pacific:20250802T154500 +DTSTAMP:20260223T173351Z +UID:350@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Zixuan Steve Feng\nThe success of any OSS team projec + t\, be it OSS or proprietary\, depends on glue work to bind the project an + d its people together. Glue work\, such as writing maintenance code\, upda + ting documentation\, and responding to user queries\, is crucial but is of + ten invisible\, unglamorous\, and underappreciated. There is no guidance o + n how to characterize glue work in OSS and understand its influence on con + tributor experiences. OSS communities remain uncertain about what to contr + ibute\, what to acknowledge\, how to gauge the impact of glue work\, and w + hy these efforts deserve equitable appreciation.\n\nOver the past year\, o + ur cross-disciplinary team from Google\, Microsoft\, CNCF\, and Oregon Sta + te University engaged 300+ OSS practitioners via focus group discussions\, + interviews\, and surveys. We systematically investigated glue work in OSS + \, examining what it is\, the comprehensive forms it takes\, where it occu + rs\, how contributors can get involved\, how it can be recognized and ackn + owledged\, and its critical impact on contributor experiences and the long + -term sustainability of OSS communities. \n\nWe are here to provide action + able strategies through practical taxonomies that help OSS communities cat + egorize\, trace\, and acknowledge these often invisible efforts\, as well + as to raise awareness of glue work and lower the barriers for more people + to contribute to OSS. We aim to actively shift the Open Source narrative t + o recognize and value these contributions\, fostering a more inclusive and + holistic view of community participation. We are initiating a dedicated G + lue Work OSS community to encourage individuals at all levels of coding ex + perience to step forward\, contribute\, and acknowledge the myriad ways in + which everyone can make a significant impact. Learn more https://gluewor + k.netlify.app/. +LOCATION:333 +URL:http://2025.fossy.us/schedule/presentation/352/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T150000 +DTEND;TZID=US/Pacific:20250803T154500 +DTSTAMP:20260223T173351Z +UID:363@2025.fossy.us +CATEGORIES: +DESCRIPTION:Threats to the Open Web / What do we do if or when Firefox dis + appears? / Observability is Broken\n\nPad link +LOCATION:338 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Open +DTSTART;TZID=US/Pacific:20250801T150000 +DTEND;TZID=US/Pacific:20250801T152000 +DTSTAMP:20260223T173351Z +UID:391@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:329 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:The Kalpa Desktop\, A Desktop for people that just want to get thi + ngs done. +DTSTART;TZID=US/Pacific:20250731T150000 +DTEND;TZID=US/Pacific:20250731T154500 +DTSTAMP:20260223T173351Z +UID:278@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Shawn W Dunn\nKalpa Desktop is a Plasma desktop deriv + ed from MicroOS\, and Tumbleweed\, providing a immutable system base\, wit + h a containerized workflow\, through distrobox and podman\, and Desktop ap + plications via Flathub.\n\nKalpa grew out of the initial work by Richard B + rown\, with MicroOS Desktop\, but has diverged over the past three years.\ + n\nKalpa's focus is on providing users with:\n- A well-tested and current + Plasma-Wayland desktop\n- A minimal installation\, without a bunch of appl + ications you may not want or need\n- Robust stability\, through the use of + atomic updates\, no more broken updates\n- Just a "Damn Good™" basic de + sktop installation\, that's designed to *be* a desktop\, and that's all\n\ + nThis presentation will present the current state of the Project\, and exa + mine the future roadmap for Kalpa Desktop. +LOCATION:329 +URL:http://2025.fossy.us/schedule/presentation/306/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250802T150000 +DTEND;TZID=US/Pacific:20250802T154500 +DTSTAMP:20260223T173351Z +UID:334@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:328 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250731T150000 +DTEND;TZID=US/Pacific:20250731T154500 +DTSTAMP:20260223T173351Z +UID:282@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:327 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Telecomms for Preppers +DTSTART;TZID=US/Pacific:20250802T150000 +DTEND;TZID=US/Pacific:20250802T152500 +DTSTAMP:20260223T173351Z +UID:356@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Phillip\nSoftware in general\, and telecommunication + in particular\, relies on a sprawling infrastructure of networking\, hosti + ng\, and electrical infrastructure that no single person understand. On th + e other hand\, a key component of mutual aid and disaster preparedness is + the knowledge and tools to provide such services in a context where your i + mmediate community might have to provide some of its own needs. Let's talk + about how you could contribute to that by building communication software + that you can use\, modify\, and fix on your own as much as possible. +LOCATION:327 +URL:http://2025.fossy.us/schedule/presentation/287/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Making Esoteric Beauty Accessible: Befunge in 2025 +DTSTART;TZID=US/Pacific:20250802T150000 +DTEND;TZID=US/Pacific:20250802T152500 +DTSTAMP:20260223T173351Z +UID:311@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Robin Brown\nBefunge is a 2-dimensional esoteric prog + ramming language that is stack-based with an emphasis on code being able t + o modify itself at runtime. It was designed to be hard to compile and ente + rtaining. While even the most well-written Befunge looks obfuscated\, with + the right tools we can visualize and make accessible its concepts and str + ange beauty. Join Robin Brown as she teaches the basics of Befunge using n + ew interactive tools and talks briefly about its past and future. +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/316/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T150000 +DTEND;TZID=US/Pacific:20250803T154500 +DTSTAMP:20260223T173351Z +UID:367@2025.fossy.us +CATEGORIES: +DESCRIPTION:Eleminating CLAs / Right to Repair\n\nPad link +LOCATION:328 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Making waterfalls in Godot +DTSTART;TZID=US/Pacific:20250731T150000 +DTEND;TZID=US/Pacific:20250731T154500 +DTSTAMP:20260223T173351Z +UID:320@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Tom Lechner\nCome learn about some ways to display wa + terfalls in the open source Godot game engine! Video game fluid flow is a + complex subject\, and this talk will outline various methods to cheat so t + hat you don't really have to know complex math to make something acceptabl + e. Inspired by a variety of waterfalls in the Pacific Northwest of the USA + \, this talk will discuss custom tooling to generate waterfalls in Godot\, + based on how water would fall down digital terrain\, and how to use other + open source software for art such as Blender\, Krita\, Gimp to polish dif + ferent parts of the scenery. +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/353/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T150000 +DTEND;TZID=US/Pacific:20250803T154500 +DTSTAMP:20260223T173351Z +UID:377@2025.fossy.us +CATEGORIES: +DESCRIPTION:Mesh Networking / How you got started in FOSS\n\nPad link +LOCATION:329 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Designing for Collaboration: A Toolkit for Open and Inclusive Envi + ronmental Research +DTSTART;TZID=US/Pacific:20250801T150000 +DTEND;TZID=US/Pacific:20250801T152000 +DTSTAMP:20260223T173351Z +UID:393@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Cathy Richards\nAs communities worldwide confront urg + ent environmental challenges\, open source technologies and data infrastru + ctures are increasingly central to how we understand\, protect\, and susta + in our environments. Yet\, persistent gaps remain between the development + of open tools\, academic research\, and the practical needs of the communi + ties most affected by environmental issues.\n\nOpen Environmental Data Pro + ject (OEDP) and partners are addressing this gap through the creation of t + he Digital Toolkit for Collaborative Environmental Research. This toolkit\ + , grounded in research conducted in 2024\, provides actionable resources f + or open source developers\, socio-environmental researchers\, and communit + y organizations seeking to build and maintain effective\, community-driven + collaborations. By employing a design pattern language approach\, the too + lkit offers concrete solutions and strategies organized around key themes + such as building trust through transparent data practices\, navigating pow + er dynamics in collaborations\, and fostering sustainable models of commun + ity data stewardship. The toolkit emphasizes the FOSS values of openness a + nd transparency by encouraging open access to data and documentation\; it + supports collaboration and inclusivity through community-driven decision-m + aking processes\; and it advances sustainability by promoting reusable\, a + daptable tools that empower all participants to contribute and benefit equ + itably.\n\nThis talk will share lessons learned from OEDP’s work\, highl + ighting how the toolkit translates open infrastructure into inclusive\, pr + actical frameworks that empower communities to use data for local action a + nd advocacy. Attendees will gain insights into how research can inform the + design of open source tools that truly serve community needs\, and how pr + actitioners and researchers can collaborate more effectively to bridge the + gap between theory and practice. The session will also explore the broade + r implications for FOSS communities\, focusing on how participatory approa + ches to tool development and data governance can drive more equitable and + sustainable outcomes in environmental contexts. +LOCATION:333 +URL:http://2025.fossy.us/schedule/presentation/346/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250731T150000 +DTEND;TZID=US/Pacific:20250731T154500 +DTSTAMP:20260223T173351Z +UID:316@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:333 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T150000 +DTEND;TZID=US/Pacific:20250803T154500 +DTSTAMP:20260223T173351Z +UID:372@2025.fossy.us +CATEGORIES: +DESCRIPTION:Advances in RSS / Translating C to Rust\n\nPad link +LOCATION:333 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Open +DTSTART;TZID=US/Pacific:20250801T150000 +DTEND;TZID=US/Pacific:20250801T152000 +DTSTAMP:20260223T173351Z +UID:388@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:328 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Making P2P apps with Spritely Goblins +DTSTART;TZID=US/Pacific:20250801T150000 +DTEND;TZID=US/Pacific:20250801T152000 +DTSTAMP:20260223T173351Z +UID:395@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Diana Belle\nThe Spritely Institute has been working + hard on a distributed systems programming library called Goblins\, whose c + leverness simplifies all the difficult parts of getting multiplayer code r + ight. How different is a multiplayer game from a peer-to-peer app\, really + ? Let's dive in and I'll show you how to get involved with this emerging t + echnology\, whether in Scheme\, or JavaScript! +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/313/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Open +DTSTART;TZID=US/Pacific:20250801T152500 +DTEND;TZID=US/Pacific:20250801T154500 +DTSTAMP:20260223T173351Z +UID:392@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:329 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:How to Hold It Together When It All Falls Apart: Surviving a Toxic + Open Source Project Without Losin +DTSTART;TZID=US/Pacific:20250801T152500 +DTEND;TZID=US/Pacific:20250801T154500 +DTSTAMP:20260223T173351Z +UID:396@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Cami Kaos\nI love open source. I always have. I’ve + spent more than a decade building\, managing\, and advocating for open sou + rce communities—through mentorship\, moderation\, DEIB strategy\, suppor + t tickets\, and everything in between. It’s been one of the great loves + of my career. But at some point\, I found myself in a project where the op + enness was performative\, the source of truth was... well\, interpretive\, + and the community slowly\, quietly\, turned toxic.\n\nThis talk isn’t a + revenge arc or a cautionary tale told with pitchforks. It’s a survival + guide—and a personal one. Inspired in part by Pema Chödrön’s When Th + ings Fall Apart\, it’s about finding groundlessness in a place that once + felt solid\, and learning how to stay present and compassionate even when + the community you helped build begins to crumble around you.\n\nWe’ll e + xplore:\n\nThe subtle warning signs of a community in distress\n\nWhat “ + toxic” actually looks like in open source (hint: it’s often quiet and + polite)\n\nThe emotional labor of community leadership\, especially when y + ou’re the one holding everything together\n\nHow to create space for you + r own wellbeing while still honoring your values\n\nAnd\, yes—how to beg + in again. How to grieve a project\, rediscover joy\, and fall back in love + with open source\, on your terms.\n\nIf you've ever asked yourself\, “I + s it me? Or is this project slowly draining the life out of me?”—this + talk is for you. Spoiler: It’s not just you. Let’s talk about what hap + pens when things fall apart—and how we hold it together anyway. +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/323/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Open +DTSTART;TZID=US/Pacific:20250801T152500 +DTEND;TZID=US/Pacific:20250801T154500 +DTSTAMP:20260223T173351Z +UID:390@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:328 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:BlueHats: Public servant advocates for software freedom +DTSTART;TZID=US/Pacific:20250802T152500 +DTEND;TZID=US/Pacific:20250802T154500 +DTSTAMP:20260223T173351Z +UID:383@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Michael Downey\nBlueHats is a worldwide community of + public servants (teachers\, researchers and other government workers\, etc + .) who promote FOSS use in\, by\, and for the public sector. BlueHats beli + eve that tax money spent on software development should result in Free Sof + tware\, and they support the principle of "public money\, public code". A + ll public servants around the world are invited to join this movement\, so + come and learn more about the movement and help us spread the word! +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/319/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:From Campus to Network: Creating the UC System-Wide OSPO Initiativ + e +DTSTART;TZID=US/Pacific:20250801T152500 +DTEND;TZID=US/Pacific:20250801T154500 +DTSTAMP:20260223T173351Z +UID:394@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Laura Langdon\nLaura Langdon from the UC OSPO Network + will share lessons learned from the early stages of building a network of + academic OSPOs across the UC system. Representing the team that supports + the six campuses in the UC OSPO Network\, she will discuss both benefits a + nd challenges encountered while developing this first-of-its-kind system-w + ide network. She will explore how her experiences with the network's three + core working groups—sustainability of open source development\, discove + ry of open source work in research\, and education in fostering open sourc + e skills—have shaped her understanding of successful OSPO networks. Laur + a will focus on building community connections and establishing pathways f + or collaboration between institutions. Drawing from her first-hand experie + nce\, Laura will provide practical insights for others looking to establis + h OSPO networks in their institutions. +LOCATION:333 +URL:http://2025.fossy.us/schedule/presentation/344/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Messaging interoperability with MLS\, MIMI and XMPP +DTSTART;TZID=US/Pacific:20250802T152500 +DTEND;TZID=US/Pacific:20250802T154500 +DTSTAMP:20260223T173351Z +UID:384@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Marvin W.\nXMPP was and still is the major open stand + ard for federated instant messaging\, originally designed to allow bridgin + g between existing networks.\n\nIn recent years\, due to ongoing regulator + y efforts\, a new attempt at interoperability between instant messengers\, + MIMI (More Instant Messaging Interoperability)\, was started at the IETF\ + , the internet protocol standardization body. Based on the latest and grea + test end-to-end-encryption standard MLS (Messaging Layer Security) it's me + ant to partially provide what XMPP failed to deliver. This talk will give + an overview on the topics of MLS and MIMI and how it can play together wit + h XMPP. +LOCATION:327 +URL:http://2025.fossy.us/schedule/presentation/288/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250801T152500 +DTEND;TZID=US/Pacific:20250801T154500 +DTSTAMP:20260223T173351Z +UID:381@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:327 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Coffee/tea break +DTSTART;TZID=US/Pacific:20250801T154500 +DTEND;TZID=US/Pacific:20250801T163000 +DTSTAMP:20260223T173351Z +UID:385@2025.fossy.us +CATEGORIES: +DESCRIPTION:Coffee\, tea\, and snack break +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Coffee/tea break +DTSTART;TZID=US/Pacific:20250731T154500 +DTEND;TZID=US/Pacific:20250731T163000 +DTSTAMP:20260223T173351Z +UID:235@2025.fossy.us +CATEGORIES: +DESCRIPTION:Coffee\, tea\, and snack break +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Coffee/tea break +DTSTART;TZID=US/Pacific:20250803T154500 +DTEND;TZID=US/Pacific:20250803T163000 +DTSTAMP:20260223T173351Z +UID:238@2025.fossy.us +CATEGORIES: +DESCRIPTION:Coffee\, tea\, and snack break +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Coffee/tea break +DTSTART;TZID=US/Pacific:20250802T154500 +DTEND;TZID=US/Pacific:20250802T163000 +DTSTAMP:20260223T173351Z +UID:237@2025.fossy.us +CATEGORIES: +DESCRIPTION:Coffee\, tea\, and snack break +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T163000 +DTEND;TZID=US/Pacific:20250803T171500 +DTSTAMP:20260223T173351Z +UID:359@2025.fossy.us +CATEGORIES: +DESCRIPTION:Decentralization\n\nPad link +LOCATION:338 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Adventures in Onboarding: Helping New Users Navigate Federated Ser + vices +DTSTART;TZID=US/Pacific:20250802T163000 +DTEND;TZID=US/Pacific:20250802T171500 +DTSTAMP:20260223T173351Z +UID:357@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Gideon Mayhak\nTales from the front lines of supporti + ng new users of federated services! We've all been there: you're excited + about a new technology and you want to tell your friends. You've already + gotten into the weeds and you come on a bit too strong. Does your friend + need to know what "XMPP” stands for? Does it matter if they know what a + domain is?\n\nThis talk will be a review of common stumbling blocks for n + ew users\, tips on keeping things simple with your friends and family\, an + d a discussion about how to help people grow into their newfound communiti + es. We’ll also take a closer look at demystifying common terms in the w + orld of XMPP so you’re ready to answer some of the tougher questions in + life\, like\, “What is a Snikket?”\n\nCome learn more about open feder + ated systems and how you can help others join in on the fun! +LOCATION:327 +URL:http://2025.fossy.us/schedule/presentation/285/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:The Cathedral and the Bizarre\, or Dual-Booting for Fun and Prophe + t: Using Linux to Enhance TempleOS +DTSTART;TZID=US/Pacific:20250801T163000 +DTEND;TZID=US/Pacific:20250801T171500 +DTSTAMP:20260223T173351Z +UID:312@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Toby Betts\nDual-booting is a useful method to run tw + o operating systems on the same machine. Different OSes might help you har + ness the full potential of your hardware\, or it may be necessary because + of software limitations. It lets you tailor your computing experience to y + our own unique needs. Yet few people run different operating systems from + the same disk partition\, where both OSes coexist in the same place in the + same file system. This talk will outline the steps to combine Linux with + another open source OS known as TempleOS in a very small amount of disk sp + ace\, and how blending them together can create a unique and fun programmi + ng experience. +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/324/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T163000 +DTEND;TZID=US/Pacific:20250803T171500 +DTSTAMP:20260223T173351Z +UID:373@2025.fossy.us +CATEGORIES: +DESCRIPTION:FOSS Graphic Design / Rust Firmware Emedded\n\nPad link +LOCATION:333 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:I Didn't Know Postgres Could Do That! +DTSTART;TZID=US/Pacific:20250802T163000 +DTEND;TZID=US/Pacific:20250802T171500 +DTSTAMP:20260223T173351Z +UID:313@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Robert Treat\nPostgreSQL is often thought of as "The + Database for DBAs"\, but what more\nand more developers are finding out is + that what makes Postgres "The\nWorlds Most Advanced Open Source Database" + is its wide array of\nfeatures\, many of which are really geared towards + users who want to\nbuild applications on top of Postgres.\n\nIn this talk\ + , we'll look at some of the features in Postgres you may not\nhave seen in + other database systems\, and talk about how you can make use\nof those fe + atures in your applications. Queries\, indexing\, data types\,\nand more w + ill all be up for discussion as we show you examples of just\nwhat Postgre + s can do. +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/366/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250801T163000 +DTEND;TZID=US/Pacific:20250801T171500 +DTSTAMP:20260223T173351Z +UID:301@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:329 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T163000 +DTEND;TZID=US/Pacific:20250803T171500 +DTSTAMP:20260223T173351Z +UID:343@2025.fossy.us +CATEGORIES: +DESCRIPTION:Effects of Political Polarization on FOSS Communitites / Gover + nance\, Cooperatives\, etc.\n\nPad link +LOCATION:327 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:A Hyperscaler’s operating system strategy: working with CentOS a + nd Fedora +DTSTART;TZID=US/Pacific:20250731T163000 +DTEND;TZID=US/Pacific:20250731T171500 +DTSTAMP:20260223T173351Z +UID:279@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Michel Lind\nWhen an organization's Linux deployment + gets large enough\, a curious emergent property appears - the incentives s + tart to favor developing in-house Linux expertise\, as opposed to outsourc + ing operating systems support to external vendors.\n\nAt the same time\, g + iven the scale involved\, such organizations tend to prefer having a stabl + e base to build on - thus the appeal of slower-moving enterprise distribut + ions\, except with in-house customizations on top.\n\nIn this talk we are + going to discuss some of the choices we made at Meta for our Linux fleet\, + and the thought process behind that. We hope that organizations in a simi + lar situation can benefit from our experience\, and that community members + whose interests are aligned can benefit from our contributions and consid + er participating in the community projects we are involved in. +LOCATION:329 +URL:http://2025.fossy.us/schedule/presentation/308/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250731T163000 +DTEND;TZID=US/Pacific:20250731T171500 +DTSTAMP:20260223T173351Z +UID:317@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:333 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Mobile Gaming with FOSS +DTSTART;TZID=US/Pacific:20250731T163000 +DTEND;TZID=US/Pacific:20250731T171500 +DTSTAMP:20260223T173351Z +UID:283@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Edward Ly\nMobile gaming is an industry that is rapid + ly growing to the point where it is now more popular (and profitable) than + PC and console gaming combined. Yet\, much of the well-known efforts to s + upport gaming on Linux (e.g. emulators\, compatibility layers\, gaming-foc + used distributions) remains within the PC and console gaming spaces. This + talk will briefly explain the state of mobile gaming today\, as well as wh + y and how FOSS game development should expand into the mobile sector. Whet + her you are a gamer or a developer (no matter your skill level)\, come joi + n us to learn about the best mobile games you haven't heard yet or even ho + w to get started developing one yourself! +LOCATION:327 +URL:http://2025.fossy.us/schedule/presentation/311/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:The Subtle Art of Lying with Statistics +DTSTART;TZID=US/Pacific:20250731T163000 +DTEND;TZID=US/Pacific:20250731T171500 +DTSTAMP:20260223T173351Z +UID:321@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Dave McAllister\n"Lies\, damned lies and statistics." + While true\, only statistics allow you to lie to yourself.\n\nLet's explo + re how statistics can sometimes trick us into believing something untrue. + This isn't always done intentionally\; we mislead ourselves without realiz + ing it. We'll look at how focusing solely on recent events\, choosing spec + ific data to look at\, and making assumptions about the size of a group ca + n lead us to the wrong conclusions. We'll show examples of how graphs and + numbers can be used in misleading ways. The presentation aims to teach you + to look at statistics more critically\, understand their limits\, and avo + id fooling yourself with numbers. +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/314/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:A Multi-Campus Survey of Open Source Contributors at the Universit + y of California +DTSTART;TZID=US/Pacific:20250802T163000 +DTEND;TZID=US/Pacific:20250802T171500 +DTSTAMP:20260223T173351Z +UID:341@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Virginia Scarlett\nOnce considered a radical experime + nt\, open source is now ubiquitous in the modern technology landscape\, an + d appears to be here to stay. In the technology industry\, the Open Source + Program Office (OSPO) is a common way to centralize a company’s open so + urce strategy\, knowledge\, and diligence. Meanwhile\, OSPOs are just begi + nning to take root in academia. This shift reflects the increased recognit + ion by universities and other organizations that academic open source cont + ributions are valuable\, numerous\, and worth sustaining. While guidance f + or university OSPOs is emerging\, many questions remain about how academic + support staff and their partners can best support their university’s st + rategic priorities and their community’s needs.\n\nThe University of Cal + ifornia (UC) OSPO Network is a groundbreaking project to establish a highl + y collaborative network of OSPOs at UC campuses. We in the UC OSPO Network + are working to develop infrastructure for open source education\, discove + ry\, and sustainability at UC by pooling our resources and knowledge. To d + evelop our strategic priorities and to assess the state of UC open source\ + , we conducted a survey in April 2025 of more than 180 UC-affiliated open + source contributors. This survey reveals common challenges faced by open s + ource contributors\, as well as potential remedies to those challenges. In + addition to soliciting contributor perspectives\, the survey also solicit + ed contributors’ GitHub usernames\, which we are now using to analyze UC + open source repositories and their characteristics. Our survey will infor + m other UC OSPO network projects\, promote community among open source ent + husiasts at UC\, and serve as a template that other universities may draw + from. This study will shed light on how and why academics contribute to op + en source projects\, as well as some of the barriers that might be holding + them back. +LOCATION:329 +URL:http://2025.fossy.us/schedule/presentation/334/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250802T163000 +DTEND;TZID=US/Pacific:20250802T171500 +DTSTAMP:20260223T173351Z +UID:335@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:328 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Linux kernel test automation with kdevops +DTSTART;TZID=US/Pacific:20250731T163000 +DTEND;TZID=US/Pacific:20250731T171500 +DTSTAMP:20260223T173351Z +UID:252@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Luis Chamberlain\nWe have a slew of ways to test the + Linux kernel: selftests\, kunit\, and then we have a slew of subsystem spe + cific tests. Intel 0-day has also done a fantastic job at helping find bug + s. So has syzkaller. Some subsystems like filesystems and memory managemen + t have really complex test frameworks though and have falling behind in au + tomation. Is it possible to automate testing of complex subsystems? Should + we? And what are the implications if we're successful?\n\nTo provide pers + pective\, it takes roughly 10 years to stabilize a new Linux filesystem. B + ut can we do better? The kdevops project was started with the goal of firs + t of addressing automation of testing of complex subsystems such as filesy + stems to help reduce the amount of time it takes to stabilize new filesyst + ems or new filesystem features. The project aimed at supporting local virt + ualization\, bare metal\, and all cloud provider support. Seven years late + r since the project got started\, with the help of a lot of community coll + aboration the project is now integral part not only of testing pipelines b + ut also development workflows. The kdevops project now enables continuous + integration for different subsystems starting with:\n\n * Linux modules\n + * Linux radix tree\n * Linux filesystems: xfs\, btrfs\, ext4\n * Linux + network filesystems: NFS\n * Linux selftests\n\nA dashboard of results i + s now also updated automatically based on automatic tests: https://kdevops + .org\n\nWhat have we learned from all this effort so far? And what lies ah + ead for the roadmap? If you want to contribute and help how do you do that + ? +LOCATION:328 +URL:http://2025.fossy.us/schedule/presentation/301/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Observing Postgres in action using OpenTelemetry +DTSTART;TZID=US/Pacific:20250801T163000 +DTEND;TZID=US/Pacific:20250801T171500 +DTSTAMP:20260223T173351Z +UID:289@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Basil Bourque\nWhile debugging in development\, or tr + oubleshooting in production\, we need to monitor the conditions and behavi + or of the various components in our systems. One of those components is th + e database server. We need to look inside the black box that is our databa + se server.\n\nMuch progress has been made in instrumenting\, generating\, + collecting\, and exporting telemetry data (metrics\, logs\, and traces) to + help us analyze our software systems’ performance and behavior. While v + arious proprietary and open-source products have advanced this field of ob + servability\, the industry has recognized the need to create a single coll + ection of APIs\, SDKs\, and tools that can work in a vendor-neutral manner + across the many implementations. The open-source community-driven project + OpenTelementry is that solution.\n\nNow Postgres has gained support for O + penTelemetry. Let's look at how observability works\, and how Postgres use + s OpenTelemetry to provide the operations data that DBAs\, SysAdmins\, and + developers need. +LOCATION:327 +URL:http://2025.fossy.us/schedule/presentation/294/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T163000 +DTEND;TZID=US/Pacific:20250803T171500 +DTSTAMP:20260223T173351Z +UID:368@2025.fossy.us +CATEGORIES: +DESCRIPTION:Copyleft- next / Articulating stakeholders and goals for FOSS + licensing\n\nPa + d link +LOCATION:328 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Unconference +DTSTART;TZID=US/Pacific:20250803T163000 +DTEND;TZID=US/Pacific:20250803T171500 +DTSTAMP:20260223T173351Z +UID:378@2025.fossy.us +CATEGORIES: +DESCRIPTION:What if git was nice to use? / Community Supporting Safety\n\n + Pad link +LOCATION:329 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Agile/Scrum for Open Source Community Projects +DTSTART;TZID=US/Pacific:20250802T163000 +DTEND;TZID=US/Pacific:20250802T171500 +DTSTAMP:20260223T173351Z +UID:351@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Tess Gadwa\nWhen Agile/Scrum is adapted effectively f + or FOSS\, it holds significant advantages over the "benevolent dictator" m + odel -- both in inclusivity and in building morale and participation.\n\nT + he talk assumes:\n\n- Primarily online contributors\n- A mix of paid and v + olunteer team members\n- Contributors at a range of skill levels\n- Contr + ibutors in non-coding roles (documentation\, design\, and user research) a + s well as development roles\n\nIt would build on lessons learned from Givi + ng Map (givingmap.org) a grant-funded applied data visualization initiativ + e that ran from 2020-21. However\, these best practices can be applicable + to a broad range of projects. +LOCATION:333 +URL:http://2025.fossy.us/schedule/presentation/356/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:It's all about the ecosystem! +DTSTART;TZID=US/Pacific:20250801T163000 +DTEND;TZID=US/Pacific:20250801T171500 +DTSTAMP:20260223T173351Z +UID:295@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Ben Ford\nYou may or may not remember Steve Ballmer's + famous "developers\, developers\, developers" cheer from the late 90's\, + but Microsoft has known something for a very long time that some OSS compa + nies might learn from. When a tool or product exists in order to run third + -party content -- that third-party content is the real value of your tool + because without that content\, there's no reason to buy the product.\n\nCo + mmercially supported open source projects often lose track of this real va + lue. And all too often\, they learn that hard fact after community-hostile + decisions decimate their ecosystem. SaltStack learned this the hard way\, + so did Hashi\, Chef\, Redis\, and others.\n\nI'd like to talk about the i + dea that the ecosystem is the product and the thing that you build and sel + l only exists to support it. It's a subtle but important shift in mindset + that I think helps keep focus on what's really important\, and I'm using i + t to help direct the projects that I'm working on now.I\n\n\nSlide deck ca + n be viewed here: https://binford2k.github.io/all_about_ecosystem/ +LOCATION:333 +URL:http://2025.fossy.us/schedule/presentation/351/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250801T163000 +DTEND;TZID=US/Pacific:20250801T171500 +DTSTAMP:20260223T173351Z +UID:330@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:328 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Break +DTSTART;TZID=US/Pacific:20250802T171500 +DTEND;TZID=US/Pacific:20250802T173000 +DTSTAMP:20260223T173351Z +UID:258@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Break +DTSTART;TZID=US/Pacific:20250731T171500 +DTEND;TZID=US/Pacific:20250731T173000 +DTSTAMP:20260223T173351Z +UID:256@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Opening Remarks +DTSTART;TZID=US/Pacific:20250803T171500 +DTEND;TZID=US/Pacific:20250803T183000 +DTSTAMP:20260223T173351Z +UID:228@2025.fossy.us +CATEGORIES: +DESCRIPTION:Closing Remarks +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Break +DTSTART;TZID=US/Pacific:20250801T171500 +DTEND;TZID=US/Pacific:20250801T173000 +DTSTAMP:20260223T173351Z +UID:257@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:How do you solve a problem like iOS? +DTSTART;TZID=US/Pacific:20250802T173000 +DTEND;TZID=US/Pacific:20250802T181500 +DTSTAMP:20260223T173351Z +UID:358@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Stephen Paul Weber\nThe user experience of those trap + ped in the Apple ecosystem has for years been a problem for the open sourc + e XMPP community. Not many community developers use that ecosystem\, and s + o little development and testing goes towards it. After all we want to use + freedomware operating systems on all our devices!\n\nYet it remains an is + sue because\, as a communications network\, many people have friends and f + amily they wish to connect with who use Apple devices. Not having a good\, + freedom-respecting solution for those people means they often feel pulled + towards proprietary walled gardens instead in order to be able to communi + cate.\n\nI have been working on this problem for some time and will detail + my approach using standard technologies to close most of this gap without + any Apple devices at all\, the benefits of an extensible standard like XM + PP on achieving this\, and how this might help other communities as well. +LOCATION:327 +URL:http://2025.fossy.us/schedule/presentation/284/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:The big-endian RISC-V Linux Adventure +DTSTART;TZID=US/Pacific:20250731T173000 +DTEND;TZID=US/Pacific:20250731T181500 +DTSTAMP:20260223T173351Z +UID:260@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Ben Dooks\nThe latest RISC-V ISA specification allows + for runtime configuration of the data endian between little and big. Sinc + e no one had done this before\, we decided to investigate how difficult it + would be to get an prototype Linux implementation running in big endian o + n an emulated RISC-V system such as under QEMU.\n\nThe talk goes from the + description of the new ISA feature\, our initial analysis and the modifica + tions to software such as the Linux kernel\, QEMU and OpenSBI that where n + eeded. This then goes into the issues that we found and how to fix them. + This includes kvm and how that works with mixed endian kvm instances\, and + the modifications to kvmtool to make this work.\n\nWe conclude with how t + he project went\, what we published and a call to arms to continue testing + and fixing outstanding issues. +LOCATION:328 +URL:http://2025.fossy.us/schedule/presentation/302/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Reversing Metcalfe's Law: undermining the software-service–indus + trial complex with .zip files +DTSTART;TZID=US/Pacific:20250802T173000 +DTEND;TZID=US/Pacific:20250802T181500 +DTSTAMP:20260223T173351Z +UID:304@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Nathan Willis\nPortability and data sovereignty are o + ften touted as critical principles for ensuring user privacy in the age of + always-connected Internet services: the ability to archive and export you + r information ensures that you cannot be held captive by a provider that f + alls short on ethics or security. The tricky bit comes when users attempt + to unpack this exported data and put it to proper use. This talk examines + the free-software tools available to access common exported data sets and + addresses the complexities faced when re-purposing account data or transfo + rming it for use in free systems. Emphasis is placed on how desktop Linux + distributions and server-side free-software networks could provide a bette + r and more integrated experience. Datasets examined include email\, messag + ing\, media\, bookmarks and favorites from discussion forums\, geolocation + history\, health records\, contacts and calendars\, and social media post + s. +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/320/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:open source for fun and profit +DTSTART;TZID=US/Pacific:20250731T173000 +DTEND;TZID=US/Pacific:20250731T181500 +DTSTAMP:20260223T173351Z +UID:322@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Milo Oien-Rochat\nLearn how to convince your employer + to open source internal projects and how to effectively contribute to ope + n source projects while at work. I will share examples of open sourced pro + jects and contributions to existing projects from my work at 3M Company.\n + \nThis talk will cover exciting topics such as.\n* Employee contracts\n* F + ind/set up an open source watering hole\n* Do your homework/arrive with a + plan\n* Your attorney is a person too\n* Pro/con lists\n* The odds are in + your favor\n* Get good at Git\n* Remove sensitive data (like email address + es) from git repos\n* Make friends in IT\n* Set a trend make a friend +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/321/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:Recipe for Discovery: Building the UC Open Source Repository Brows + er From Scratch +DTSTART;TZID=US/Pacific:20250802T173000 +DTEND;TZID=US/Pacific:20250802T181500 +DTSTAMP:20260223T173351Z +UID:336@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Juanita Gomez\nThe University of California’s netwo + rk of Open Source Program Offices (OSPOs) launched last year\, bringing to + gether six campuses (UC Santa Cruz\, Berkeley\, Davis\, Los Angeles\, Sant + a Barbara\, and San Diego) to support open source research\, promote susta + inability\, and establish best practices within academic environments. A k + ey challenge in this effort is identifying and connecting open source proj + ects across the system. Despite UC’s significant contributions to open s + ource\, there is no centralized way to track these efforts\, making it dif + ficult for researchers to find relevant projects\, for institutions to ass + ess impact\, and for the broader community to engage with UC’s open sour + ce work. To address this\, the UC OSPO Network is developing the UC Open S + ource Repository Browser (UC ORB)\, a discovery tool designed to map and c + lassify UC’s open source projects. This talk will explore the process of + building the UC ORB\, from leveraging the GitHub API for data collection + to integrating automated discovery with targeted outreach to the academic + community. We will discuss the challenges of repository identification\, c + ompare similar approaches\, and share lessons learned throughout the proce + ss. +LOCATION:329 +URL:http://2025.fossy.us/schedule/presentation/357/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250801T173000 +DTEND;TZID=US/Pacific:20250801T181500 +DTSTAMP:20260223T173351Z +UID:296@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:333 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250802T173000 +DTEND;TZID=US/Pacific:20250802T181500 +DTSTAMP:20260223T173351Z +UID:324@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:328 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:DevOps is a Foreign Language (or Why There Are No Junior SREs) +DTSTART;TZID=US/Pacific:20250801T173000 +DTEND;TZID=US/Pacific:20250801T181500 +DTSTAMP:20260223T173351Z +UID:323@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Joshua Lee\nDevOps has a notoriously steep learning c + urve. Getting started in the field can feel like being dropped in a foreig + n country without the ability to understand *anything* about the language. + \n\nA language is more than just the syntax and semantic rules of the wor + ds themselves. It also encompasses the shared culture of the speakers. Wit + h the proliferation of programming languages as well as the deeply held cu + ltural beliefs of the community\, it's easy to see that learning DevOps is + like trying to learn a foreign language.\n\nI will review five foundation + al hypotheses from the field of Second Language Acquisition and relate the + se hypotheses back to the world of DevOps. DevOps practitioners\, trainers + \, tool builders\, and learners should all come away with useful insights + to apply to their practice. +LOCATION:328 +URL:http://2025.fossy.us/schedule/presentation/297/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250731T173000 +DTEND;TZID=US/Pacific:20250731T181500 +DTSTAMP:20260223T173351Z +UID:280@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:329 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Building AI applications with Open-source database - PostgreSQL +DTSTART;TZID=US/Pacific:20250801T173000 +DTEND;TZID=US/Pacific:20250801T181500 +DTSTAMP:20260223T173351Z +UID:303@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Gauri\nCurious about how to build AI applications wit + h the tools you already know and love? This beginner-friendly session will + show you how PostgreSQL can be the backbone of your AI workloads. We’ll + break down key concepts like vector embeddings\, vector search\, and Retr + ieval-Augmented Generation (RAG) in a simple\, easy-to-understand way. The + n\, we’ll dive into how PostgreSQL’s native features and extensions ma + ke it easy to store\, search\, and scale AI data — no special infrastruc + ture needed.\nBest of all\, you'll see everything come to life through a h + ands-on\, step-by-step demo where we’ll build a complete\, Generative AI + application powered entirely by PostgreSQL. +LOCATION:338 +URL:http://2025.fossy.us/schedule/presentation/354/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250801T173000 +DTEND;TZID=US/Pacific:20250801T181500 +DTSTAMP:20260223T173351Z +UID:302@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:329 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:Plausible Slop: Generative AI and Open Source Cybersecurity +DTSTART;TZID=US/Pacific:20250802T173000 +DTEND;TZID=US/Pacific:20250802T181500 +DTSTAMP:20260223T173351Z +UID:352@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Dr. Kaylea Champion\nDespite speculation that the ris + e of consumer-grade generative AI tools would trigger the development of m + ore advanced cybersecurity attacks\, a more grounded view observes that in + stead these synthetic text generating tools are eroding the social model o + f open source cybersecurity through the low-effort extrusion of 'plausible + slop': potentially significant and well-formed but ultimately erroneous a + nd unwanted text. The presence of plausible slop in newcomer contributions + in the form of bug and security reports to open source software packages + requires substantial time commitment from scarce experts. These experts ar + e caught in a double bind: their role dictates that they sort through what + is truly dangerous and what is nonsense\, and they are charged with both + welcoming problem reports from newcomers while also setting strong norms a + gainst inauthentic reports. In this talk\, I report on my effort so far in + vestigating plausible slop\, connect this challenge to previous historical + challenges\, suggest avenues towards solutions\, and seek community feedb + ack to shape next steps. +LOCATION:333 +URL:http://2025.fossy.us/schedule/presentation/348/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:The Future of Fixing Technology +DTSTART;TZID=US/Pacific:20250731T173000 +DTEND;TZID=US/Pacific:20250731T181500 +DTSTAMP:20260223T173351Z +UID:284@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Denver Gingerich\nComputers and the internet had the + potential to neutralize existing power structures and bring true equality + in access to knowledge and the ability to control technology to the masses + . While some power structures have changed\, new ones have emerged that t + hreaten to undo the very fabric of modern society. These new power struct + ures promote misinformation\, put control of technology in the hands of an + elite few\, and prevent the masses from customizing or improving the devi + ces that they rely on to communicate with the rest of the world.\n\nIn the + early days of the internet\, there was a feeling of excitement about its + endless possibilities. There was a sense that it could indeed give us unf + ettered access to the best information available\, and we could use that t + o improve our technology and our lives. However\, events like the Eternal + September and many less defined epochs showed that the internet on its ow + n could not maintain its utopic promise. We needed a plan\, a way of stan + ding up to power structures and other influences\, one that put critical t + hinking\, cultural sensitivity\, and user agency at the forefront.\n\nThe + future of fixing our technology and adapting it to each of our individual + unique needs and preferences could go a few different ways. In this talk\ + , we'll explore the history of fixing our technology\, where we're at now\ + , and what it will take to make this individualized technology future a re + ality.\n\nAmong other topics\, we'll discuss "the plan" for getting there\ + , laying out a few concrete steps that we'll need to take to get where we + want to go. Along the way we'll talk about how power structures get disma + ntled and rebuilt through technological change\, and how we can collective + ly temper the seemingly inevitable swings between different factions of th + e wealthy elite controlling technology relied upon and available to the ma + sses\, so that we eventually approach the asymptote of actual freedom and + agency in the computing realities of the average user. +LOCATION:327 +URL:http://2025.fossy.us/schedule/presentation/312/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Talk +DTSTART;TZID=US/Pacific:20250731T173000 +DTEND;TZID=US/Pacific:20250731T181500 +DTSTAMP:20260223T173351Z +UID:318@2025.fossy.us +CATEGORIES: +DESCRIPTION:No description +LOCATION:333 +URL:http://2025.fossy.us +END:VEVENT +BEGIN:VEVENT +SUMMARY:RAGtime with Postgres: AI Power with pgvector and Retrieval-Augmen + ted Generation +DTSTART;TZID=US/Pacific:20250801T173000 +DTEND;TZID=US/Pacific:20250801T181500 +DTSTAMP:20260223T173351Z +UID:290@2025.fossy.us +CATEGORIES: +DESCRIPTION:Speaker: Jimmy Angelakos\nRetrieval-Augmented Generation (RAG) + is a powerful paradigm in application development with AI. In this talk\, + we'll demonstrate how to leverage PostgreSQL with pgvector to combine the + strengths of vector similarity search with Large Language Models (LLMs).\ + n\nAs the speaker is a Postgres nerd (not an AI expert)\, we'll explain in + simple terms how to dip your toes into AI while leveraging our favorite d + atabase -- from the perspective of a database person learning to work with + these new tools.\n\nWe'll walk through: \n\n- How to use pgvector to stor + e and search vector embeddings (and what those are)\n- How to connect thes + e capabilities with AI LLMs to build intelligent applications. \n- Some pr + actical tips for implementation\, including configuration\, indexing strat + egies\, and scaling considerations\n- How to reduce dependency on expensiv + e external AI services by using open-source models while maintaining contr + ol over costs and infrastructure\n\nTo demonstrate these concepts in actio + n\, we'll look at a real-world example of building a developer assistance + system that helps teams understand their codebase. +LOCATION:327 +URL:http://2025.fossy.us/schedule/presentation/295/ +END:VEVENT +BEGIN:VEVENT +SUMMARY:FOSSY 2025: Social Event +DTSTART;TZID=US/Pacific:20250731T190000 +DTEND;TZID=US/Pacific:20250731T220000 +DTSTAMP:20260223T173351Z +UID:379@2025.fossy.us +CATEGORIES: +DESCRIPTION:Official Thursday Night Event at Punch Bowl Social\n\n340 SW M + orrison St Suite 4305\, Portland\, OR 97204\nJust quick ~15 minute Max rid + e from PSU. All attendees are invited! +URL:http://2025.fossy.us +END:VEVENT +END:VCALENDAR diff --git a/schedule/conference.json b/schedule/conference.json new file mode 100644 index 0000000..ecd843f --- /dev/null +++ b/schedule/conference.json @@ -0,0 +1,3843 @@ +{ + "schedule": [ + { + "room": "", + "rooms": [], + "start": "2025-08-03T09:15:00", + "end": "2025-08-03T09:45:00", + "duration": 30, + "kind": "Coffee/tea break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 234, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Breakfast and coffee break" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-02T09:15:00", + "end": "2025-08-02T09:45:00", + "duration": 30, + "kind": "Coffee/tea break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 233, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Breakfast and coffee break" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-01T09:15:00", + "end": "2025-08-01T09:45:00", + "duration": 30, + "kind": "Coffee/tea break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 232, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Breakfast and coffee break" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-01T09:45:00", + "end": "2025-08-01T10:25:00", + "duration": 40, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 229, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Assessing and Managing threats to the Nonprofit Infrastructure of FOSS", + "authors": [ + { + "name": "Allen Gunn", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "aspirationtech", + "mastodon": "aspirationtech@mastodon.social", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/f1f8b36baf95d2c89459fd7d80401ba7?s=120&d=mp", + "code": "528", + "biography": "Allen Gunn (gunner) is Executive Director of Aspiration (www.aspirationtech.org) in San Francisco, USA, and works to help NGOs, activists, foundations and technologists forge effective and sustainable digital strategies in support of social, racial and climate justice. Gunner has worked in numerous technology-focused environments from NGO to Silicon Valley start-up to college faculty, serving in senior management, engineering, teaching and volunteer roles. He is an experienced strategist, mentor and facilitator with a passion for designing collaborative open learning processes. And once upon a time he was a roadie in a San Francisco rock-and-roll band.", + "username": "" + }, + { + "name": "Pono Takamori", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/cfc9c8fd254228bec9bf46dbeba90719?s=120&d=mp", + "code": "482", + "biography": "Daniel Pono Takamori is the Community Organizer at Software Freedom Conservancy. He's been involved in FOSS for almost 20 years and worked for non-profit FOSS organizations for over a decade. While not at his computer he likes to play go, cook vegetables and ride his bike.", + "username": "" + } + ], + "abstract": "Free and Open Source Software has long relied on a robust network of nonprofit organizations set up to support its development and advocacy. In recent years, this infrastructure has been tested as funding has declined and the uncertainties related to running these organizations have increased, resulting in closures or reductions in staff at many orgs. In this keynote, Pono Takamori will host a conversation with Allen Gunn of Aspiration about the current challenges facing fiscal sponsorship organizations, how the decline in funding for these organizations will impact FOSS generally and how to assess a variety of threats in the US and globally..", + "conf_url": "http://2025.fossy.us/schedule/presentation/362/", + "cancelled": false, + "twitter_id": "aspirationtech", + "mastodon_id": "aspirationtech@mastodon.social" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-03T09:45:00", + "end": "2025-08-03T10:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 231, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "FOSS in A/V: How Open Signal uses FOSS to further their mission in a closed source industry", + "authors": [ + { + "name": "Chris Polanco", + "name_pronunciation": "", + "pronouns": "He/Him", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/defb0eddb52e991820f90d0eecc944f7?s=120&d=mp", + "code": "513", + "biography": "Chris is the Production Manager at Open Signal the Organization that helps FOSSY get online every year. While his background is in tradition film making his early start at Open Signal volunteering at 14 allowed him to get familiar with broadcast basics and techniques he later adapter to his film career. Combined with a passion for right to repair he really early on started to combine film and broadcast techniques with as much FOSS software he could get his hands on to recreate advanced industry practices at smaller self hosted scales. The unique combination of experience came in handy during the pandemic as he helped many small non-profits transition online while equipment shortages were common. He's now spending his time at Open Signal pushing a FOSS first philosophy in Video Production a usually heavily proprietary and secretive industry.", + "username": "" + }, + { + "name": "Allison Randal", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/9fa42951d6f1d5532c26032ca89a01b6?s=120&d=mp", + "code": "539", + "biography": "", + "username": "" + } + ], + "abstract": "Open Signal is a media arts center in Portland, Oregon, with a mission\r\nto nurture the change-making power of community media in service of a\r\njust and equitable world. In this conversation with Chris Polanco, their\r\nProduction Services Production Manager, we'll talk about how and why\r\nOpen Signal chooses open source as much as they can in a world of SaaS\r\nand proprietary products. They do this not just while partnering with\r\nus to do audio/video for FOSSY, but across their work with local youth\r\nand other media makers. We'll talk about some of the hardware and\r\nsoftware they use, how those choices are informed by their mission,\r\nand what sort of future they are working toward.", + "conf_url": "http://2025.fossy.us/schedule/presentation/367/", + "cancelled": false + }, + { + "room": "", + "rooms": [], + "start": "2025-08-02T09:45:00", + "end": "2025-08-02T10:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 230, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Q&A on SFC's lawsuit against Vizio", + "authors": [ + { + "name": "Bradley M. Kuhn", + "name_pronunciation": "", + "pronouns": "he/them", + "twitter": "", + "mastodon": "@bkuhn@floss.social", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/0580d7a67da1b15b1695edc4e22779f9?s=120&d=mp", + "code": "506", + "biography": "Bradley M. Kuhn is the Policy Fellow at Software Freedom Conservancy (SFC). Kuhn began his work software freedom movement in 1992, as an early adopter of Linux systems & contributor to various FOSS projects, including Perl. Kuhn was FSF\u2019s Executive Director from 2001\u20132005, began as SFC\u2019s primary volunteer from 2006\u20132010, and became SFC's first staff person in 2011. Kuhn's work focuses on enforcement of the GPL agreements, FOSS licensing policy, and infrastructural solutions for FOSS.", + "username": "" + }, + { + "name": "Denver Gingerich", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/5ca795f06b3505f43bf7ba26fef37c7d?s=120&d=mp", + "code": "509", + "biography": "Denver is a software right-to-repair and standards activist who is currently Director of Compliance at Software Freedom Conservancy, where he enforces software right-to-repair licenses such as the GPL, and is also a director of the worker co-operative that runs JMP.chat, a FOSS phone number (texting/calling) service. Denver writes free software in his spare time: his patches have been accepted into Wine, Linux, and wdiff. Denver received his BMath in Computer Science from the University of Waterloo. He gives presentations about digital civil rights and how to ensure FOSS remains sustainable as a community and financially, having spoken at conferences such as FOSSY, SCALE, the Canadian Repair Convention, FOSDEM, SFSCON, CopyleftConf, LibrePlanet, LinuxCon North America, CopyCamp Toronto, FOSSLC's Summercamp, and the Open Video Conference.", + "username": "" + }, + { + "name": "Karen Sandler", + "name_pronunciation": "", + "pronouns": "she/her", + "twitter": "o0karen0o", + "mastodon": "karen@floss.social", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/5e77b6e5743dd274a0bc00806cb082de?s=120&d=mp", + "code": "411", + "biography": "Karen M. Sandler is an attorney and the executive director of Software Freedom Conservancy, a 501c3 nonprofit organization focused on ethical technology. As a patient deeply concerned with the technology in her own body, Karen is known as a cyborg lawyer for her advocacy for free software as a life-or-death issue, particularly in relation to the software on medical devices. She co-organizes Outreachy, the award-winning outreach program for people who face under-representation, systemic bias, or discrimination in tech. She is an adjunct Lecturer-In-Law of Columbia Law School and a visiting scholar at University of California Santa Cruz.\r\n\r\nPrior to joining Software Freedom Conservancy, Karen was the executive director of the GNOME Foundation. Before that, she was the general counsel of the Software Freedom Law Center. She began her career as a lawyer at Clifford Chance and Gibson, Dunn & Crutcher LLP.\r\n\r\nKaren received her law degree from Columbia Law School where she was a James Kent Scholar and co-founder of the Columbia Science and Technology Law Review. She also holds a bachelor of science in engineering from The Cooper Union for the Advancement of Science and Art.\r\n\r\nSandler has won awards for her work on behalf of software freedom, including the O\u2019Reilly Open Source Award in 2011. She received an honorary doctorate from KU Leuven in 2023.", + "username": "" + }, + { + "name": "Rick Sanders", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/c0a7c4a43df10e1b0d493df3e92eb0fd?s=120&d=mp", + "code": "527", + "biography": "Rick is the General Counsel of Software Freedom Conservancy. He has been practicing law since 2000, mostly in the field of intellectual-property litigation. He started his legal careers in Silicon Valley and now resides in Nashville, Tennessee. From 2012 to 2015, he taught copyright law at Vanderbilt University Law School.", + "username": "" + } + ], + "abstract": "There's a reason that some of the most popular shows on television for generations have been courtroom dramas. Court cases are dramatic by their nature!\r\n\r\nCome ask us anything at all about the Software Freedom Conservancy's lawsuit against Vizio. The trial is only 6 weeks away, so hear about everything and get yourself ready to go down to Los Angeles and attend the trial.", + "conf_url": "http://2025.fossy.us/schedule/presentation/365/", + "cancelled": false, + "mastodon_id": "@bkuhn@floss.social" + }, + { + "room": "", + "rooms": [], + "start": "2025-07-31T10:15:00", + "end": "2025-07-31T13:15:00", + "duration": 180, + "kind": "Registration", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 239, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Registration Open" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-01T10:25:00", + "end": "2025-08-01T10:35:00", + "duration": 10, + "kind": "Keynote Session", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 398, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Presentation of the Distinguished Service Award in Software Freedom" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-03T10:30:00", + "end": "2025-08-03T12:30:00", + "duration": 120, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 386, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Lightning Talks!", + "authors": [ + { + "name": "Pono Takamori", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/cfc9c8fd254228bec9bf46dbeba90719?s=120&d=mp", + "code": "482", + "biography": "Daniel Pono Takamori is the Community Organizer at Software Freedom Conservancy. He's been involved in FOSS for almost 20 years and worked for non-profit FOSS organizations for over a decade. While not at his computer he likes to play go, cook vegetables and ride his bike.", + "username": "" + } + ], + "abstract": "1. Vagrant Cascadian: An Impatient Application of Reproducible Builds\r\n2. Josh Lee: The OSS Hero's Journey\r\n3. Julia Zimmerman: Quantifying Sky Signals: Simulating Visibility Correlations in Radio Interferometry\r\n4. Zhi Qu: BLuE CRAB: RSSI Detection Pattern Analysis for Flagging System Development\r\n5. Andrew Washburn: Using Quantum Computers to Detect Continuous Gravitational Waves\r\n6. Audrey Evergreen: Avoiding Desk Neck While Coding\r\n7. Neal Gompa: X.Org Foundation and SFC\r\n8. Mark Davis: H.U.G.E. Announcement\r\n9. Alya Abbott: Choosing Software that Won't Screw You\r\n10. Emily Soward: What and Why we Need AI Preparedness\r\n11. Brendan Conoboy: Command Line Control\r\n12. Eric Schultz: Glasgow Embedded Code of Conduct", + "conf_url": "http://2025.fossy.us/schedule/presentation/368/", + "cancelled": false + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-01T10:45:00", + "end": "2025-08-01T11:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Databases", + "conf_key": 285, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "PostgreSQL\u2019s Rise to Power: Why the Open Source Giant is Dominating the Database Landscape", + "authors": [ + { + "name": "Kellyn Gorman", + "name_pronunciation": "", + "pronouns": "she/her", + "twitter": "N/A", + "mastodon": "N/A", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/b80f0c86361c6f97619eec3fc28241fd?s=120&d=mp", + "code": "462", + "biography": "Kellyn Gorman is a database and AI specialist with over 25 years of experience in relational systems. She's authored numerous books and white papers and is well-respected for her contributions under her online handle, \"DBAKevlar.\" She's an award-winning optimization and security specialist having previously worked for Oracle and Microsoft, along with a long history as a mentor and advocate in the tech industry.", + "username": "" + } + ], + "abstract": "PostgreSQL has quietly, but powerfully risen to become one of the most trusted and widely adopted database platforms in the world. Once considered a niche solution back in it's days as it's predecessor, Ingres, PostgreSQL now leads the charge in the open-source database movement, challenging and often surpassing traditional enterprise heavyweights like Oracle and SQL Server. \r\nIn this session, we\u2019ll explore the technical, strategic, and cultural reasons behind PostgreSQL\u2019s rapid ascent. From its robust standards compliance and extensibility to its vibrant development community and compatibility with modern cloud-native architectures, PostgreSQL delivers enterprise-grade performance without the steep licensing costs. \r\nWe'll also examine how PostgreSQL\u2019s innovation is influencing other platforms like MySQL, MongoDB, and SQLite, and why developers and architects are increasingly choosing it as the foundation for their mission-critical workloads. This session will cover everything from high availability options, most popular extensions and features that keep PostgreSQL the choice among database technologists, no matter if traditional transactional, analytical or even AI workloads. We'll also discuss the limitations around migrations and how to best take on the challenges or moving large, enterprise, multi-tier systems over to open-source solutions.\r\nWhether you're considering migration, multiplatform strategy, or just want to understand the open-source momentum, this session will provide deep insights into PostgreSQL\u2019s success and what it means for the future of data.", + "conf_url": "http://2025.fossy.us/schedule/presentation/289/", + "cancelled": false, + "twitter_id": "N/A", + "mastodon_id": "N/A" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-02T10:45:00", + "end": "2025-08-02T11:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Science of Community", + "conf_key": 347, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Things I've Learned as a Linux Kernel Maintainer", + "authors": [ + { + "name": "Darrick J. Wong", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/03b253c356505f59dccbcea9438ab049?s=120&d=mp", + "code": "422", + "biography": "Darrick was the Linux maintainer of the XFS filesystem from 2016 to 2023, and wrote the (recently released) online fsck tool for it. He is now experimenting with improving the fuse I/O model so that filesystem metadata parsing can occur in userspace while most of the I/O hot path remains in the kernel.", + "username": "" + } + ], + "abstract": "I spent seven years serving as the maintainer of the XFS filesystem and iomap filesystem library in the Linux kernel. Whilst on that journey, I learned a lot about steering technical direction of those two projects, but also the limitations of managing a community without authority. I intend this talk to be most helpful for people who are current FOSS maintainers or are mid to senior level developers contemplating taking on such roles.\r\n\r\nThese are the seven skills that I found most helpful and grew the most in those seven years:\r\n * Concocting a strategy from which to build a development roadmap\r\n * Defining roles for people to take on\r\n * Negotiating staffing and budgets with managers\r\n * Coaching people who are trying to get their efforts across the finish line\r\n * Dealing with external shocks in as principled a manner as possible\r\n * Steering your way out of burnout, aka Replacing Yourself\r\n * Supporting, but getting out of the way of, the new leaders you cultivate\r\n\r\nFor each of these areas, I'll share how that skill fits into the Linux community (they didn't always fit well!) and what happened when I tried to make things happen in those areas. I will target spending about 4-5 minutes talking about each of those points and leave 20-25 minutes at the end for an audience discussion.", + "conf_url": "http://2025.fossy.us/schedule/presentation/345/", + "cancelled": false + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-01T10:45:00", + "end": "2025-08-01T11:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "FOSS in Education", + "conf_key": 297, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Discussion: Which Way Do We Go? Understanding Sustainable Pathways for Academic Open Source", + "authors": [ + { + "name": "Stephanie Lieggi", + "name_pronunciation": "", + "pronouns": "she/her", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/9aa59dcf2fbc1b3642f73d14332a61ad?s=120&d=mp", + "code": "483", + "biography": "Stephanie Lieggi is the Executive Director of the Center for Research in Open Source Software (CROSS) at University of California, Santa Cruz. She supports academic-based open source projects and aims to create a sustainable contributor base through the establishment of hands-on mentorship programs, including the Open Source Research Experience (OSRE) Programs. Since 2022 her role has also helped lead the UCSC newly formed Open Source Program Office (OSPO), supported by a grant from the Alfred P Sloan Foundation. Most recently, Stephanie led the effort to build a system-wide network of OSPOs at the University of California, securing financial support for building the network from the Sloan Foundation in Spring 2024. Stephanie co-chairs the CHAOSS University Working Group and is the co-PI on UCSC\u2019s first US National Science Foundation's Pathways to Enable Open Source Ecosystem (POSE) grant, which has enabled exploration into successful models for building sustainable open source projects at universities. \r\n\r\nPrior to starting at CROSS, Stephanie was a senior researcher and adjunct professor at the Center for Nonproliferation Studies, part of the Middlebury Institute of International Studies at Monterey, where she researched the intersection of national security and global trade.", + "username": "" + } + ], + "abstract": "Note: this will be a group discussion format with participation from anyone who wishes to join.\r\n\r\nMany impactful open source projects begin as ideas in academic research labs, as highlighted by the wide adoption of projects like Ceph, RISC-V and Jupyter. However, so much of what is created in universities doesn\u2019t find broader adoption and struggles to be sustainable in the long-term. This is a lost opportunity that can have a broad impact on scientific communities, industry and society at large. This BoF session aims to explore the different pathways for academic open source projects to find their way to sustainability and adoption. As with most things open source \u2013 there is no one-size-fits-all. This session will provide those with experience in building and maintaining academic open source projects an opportunity to share that experience with those looking for the right pathway for their own project. It will also provide those working or supporting academic Open Source Program Offices (OSPOs) an opportunity to highlight how they are helping projects on their campus become sustainable and best serve the research and educational goals of their institutions.", + "conf_url": "http://2025.fossy.us/schedule/presentation/335/", + "cancelled": false + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-02T10:45:00", + "end": "2025-08-02T11:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 331, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-02T10:45:00", + "end": "2025-08-02T11:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "FOSS in Education", + "conf_key": 338, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Open Source Software in Higher Education: A Community Report", + "authors": [ + { + "name": "Patrick Masson", + "name_pronunciation": "", + "pronouns": "He/Him", + "twitter": "- -", + "mastodon": "@massonpj@fosstodon.org", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/fa1314a7ff59cc080caa13d08e8af83e?s=120&d=mp", + "code": "416", + "biography": "Patrick joined Apereo as Executive Director in 2023, serving previously as Interim General Manager of the Foundation. Before Apereo, Patrick served as General Manager for the Open Source Initiative after working within higher education IT for over twenty years, including roles as CIO within the State University of New York and CTO at the University of Massachusetts' Office of the President. He was the Director of Technology at the SUNY Learning Network and the UCLA Media Lab.\r\n\r\nPatrick is an adjunct instructor with SUNY Albany's College of Computing and Information and speaks frequently on topics related to open source software, open education, and educational technology. Patrick is the co-founder of EDUCAUSE's \"Openness\" Constituency Group and served on his local school board from 2014-2018.", + "username": "" + } + ], + "abstract": "Reports highlighting the adoption of open source software (OSS) are ubiquitous. Yet studies specific to higher education are limited, perhaps leaving campuses unprepared to manage their edtech portfolios.\r\n\r\nThe Apereo Foundation, in partnership with other open source software foundations and global universities, will present preliminary data from the Open Source Software in Higher Education Community Report. This report offers unique insights into the perceptions of OSS discovered through a survey of IT leaders undertaken at EDUCAUSE 2025, as well as the prevalence of OSS in use across academic enterprises through profiling and analysis of .edu domains. The 2025 data is then compared to historical data to provide historical trends, compare current practices, and identify areas of future impact.", + "conf_url": "http://2025.fossy.us/schedule/presentation/329/", + "cancelled": false, + "twitter_id": "- -", + "mastodon_id": "@massonpj@fosstodon.org" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-02T10:45:00", + "end": "2025-08-02T11:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 314, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Never Mind the Checkboxes, Here's Reproducible Builds!", + "authors": [ + { + "name": "Vagrant Cascadian", + "name_pronunciation": "", + "pronouns": "none or they/them", + "twitter": "", + "mastodon": "https://floss.social/@vagrantc", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/f3de796d6473451dfc362d3e5e0a250b?s=120&d=mp", + "code": "511", + "biography": "Vagrant strives to make Reproducible Builds a best practices reality for everyone. Vagrant discovered free software late last millenia and has been contributing to free software since the beginning of this millenia. A long-time Debian Developer and contributor to Guix, tinkering with ARM and RISC-V systems. At Portland's Free Geek, Vagrant dove into life as a free software developer, rebuilding electronic waste with FOSS, modifying or developing new software as needed. That led to exciting work helping coordinate LTSP development shared between several different operating systems. That sense of open collaboration has been a life-long habit. Vagrant contrasts spending too much time on computers with bicycle commuting, aikido and a DIY solar hobby.", + "username": "" + }, + { + "name": "Chris Lamb", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/f722f7ee1d7565b37aec4a588f584459?s=120&d=mp", + "code": "523", + "biography": "Chris has been an official Debian Developer since 2008 and is a core team member of the Reproducible Builds project. He is a former 'DPL' of the Debian project as well as a member of Board of Directors for the Open Source Initiative (OSI). A recent immigrant to the United States, Chris is the author of dozens of small free-software projects and a contributor to 100s of others, but in his spare time he is an avid classical musician, calligrapher and is slowly working towards a sommelier certification.", + "username": "" + } + ], + "abstract": "There are numerous policy compliance and regulatory processes being developed that target software development... but do they solve actual problems? Does it improve the quality of software? Do Software Bill of Materials (SBOMs) actually give you the information necessary to verify how a given software artifact was built? What is the goal of all these compliance checklists anyways... or more importantly, what *should* the goals be? If a software object is signed, who should be trusted to sign it, and can they be trusted ... forever?\r\n\r\nCould you imagine a world with many bureaucratic compliance checks being replaced with verifiable processes performed by arbitrary third parties?\r\n\r\nLet me introduce you to Reproducible Builds, a set of best practices which allow you to verify that software artifacts were built from the source code, allowing auditing for license compliance, providing security benefits, and remove the need to trust arbitrary software vendors.", + "conf_url": "http://2025.fossy.us/schedule/presentation/327/", + "cancelled": false, + "mastodon_id": "https://floss.social/@vagrantc" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-01T10:45:00", + "end": "2025-08-01T11:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 307, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Starting an Open Mentorship Handbook!", + "authors": [ + { + "name": "Pono Takamori", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/cfc9c8fd254228bec9bf46dbeba90719?s=120&d=mp", + "code": "482", + "biography": "Daniel Pono Takamori is the Community Organizer at Software Freedom Conservancy. He's been involved in FOSS for almost 20 years and worked for non-profit FOSS organizations for over a decade. While not at his computer he likes to play go, cook vegetables and ride his bike.", + "username": "" + } + ], + "abstract": "Technology communities committed to transparency and openness (like free and open source software, or FOSS, communities) adopt sets of practices to facilitate their collaboration. In order to work together developing software, practicing open science and facilitating open data, collaborators must build robust communities to publicly discuss and improve their projects. Healthy communities that continue productively into the future must find ways to engage and nurture new contributors in order to maintain and grow their communities. Some communities struggle to attract new contrinbutors in the first place, while other communities attract many new contributors, but struggle to coach those contributors on how to become leaders, reviewers, and maintainers of their community's work.\r\n\r\nOpen mentorship programs provide a safe space for interns to learn how to work in an open, public manner with open communities, and how to create and maintain public works. Unfortunately, documentation on how to be a mentor in an open mentorship program is often non-existent, out of date, or scattered across many different resources. The Outreachy team is launching an Open Mentorship Handbook, to gather best practices in mentorship and to provide a collaborative way to share the knowledge that we've amassed in this area.\r\n\r\nCome learn about this initiative and participate in a collaborative session about the Handbook and Open mentorship!", + "conf_url": "http://2025.fossy.us/schedule/presentation/358/", + "cancelled": false + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-01T10:45:00", + "end": "2025-08-01T11:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Science of Community", + "conf_key": 291, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "How do sponsored open source ecosystems manage feature deployments?", + "authors": [ + { + "name": "Matt Gaughan", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/5ac31bcad0ac6001ad8b27a23bd8a103?s=120&d=mp", + "code": "435", + "biography": "I am a PhD student at Northwestern. My research focuses on how contributors organize to build FOSS projects; specifically, how projects make decisions in response to their environments. I have a background in software engineering and am looking to learn more about how individuals and communities can develop sustainable relationships to computers.", + "username": "" + } + ], + "abstract": "The academic study of FOSS libraries often assumes that projects are organized as communities of volunteer contributors. However, the recent growth of sponsored open source libraries --- projects stewarded by large, formally incorporated organizations --- provides new organizational relationships and processes to better understand. One common form of this is constructed when an organization stewards a library while also managing the library's primary implementation; in this model, decision making around the library and its implementation are deeply interconnected, yet may be governed differently. Examples of this model include Apple\u2019s use of WebKit in Safari, BlueSky\u2019s use of ATProto in BlueSky applications, and the WikiMedia Foundation\u2019s (WMF) use of MediaWiki libraries in\r\nWikimedia platforms. This ongoing work focuses on three feature deployments on Wikimedia platforms, examining deployment processes' impacts on the MediaWiki libraries utilized for feature development. By analyzing commit activity, work tasks, and community discussions, we provide greater insight into how certain deployment processes impact the open source development of a critical open platform.", + "conf_url": "http://2025.fossy.us/schedule/presentation/350/", + "cancelled": false + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-02T10:45:00", + "end": "2025-08-02T11:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 353, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-01T10:45:00", + "end": "2025-08-01T11:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Supporting User Groups", + "conf_key": 327, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Herding Hackers and Hawking Code: The Hustle of a Developer Advocate", + "authors": [ + { + "name": "Nate Boot", + "name_pronunciation": "", + "pronouns": "he/him/dude", + "twitter": "nateboot", + "mastodon": "https://fosstodon.org/@nateynateynate", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/025f12920bbddc2c9abdad0a0a9e435a?s=120&d=mp", + "code": "429", + "biography": "Nate is a life-long tech enthusiast, only recently finding himself in the world of developer advocacy at AWS. He currently works exclusively with the open source OpenSearch project. He loves show-and-tell, and really enjoys learning about new stuff and then sharing it with anyone who will listen. He has a particular love for retro technology and old video games. His most formative years were spent in BBS teleconferences in the pacific northwest.", + "username": "" + } + ], + "abstract": "You may have heard of a developer advocate. You might have even seen one on stage or met one at a conference booth slinging stickers like they\u2019re currency. Odds are you\u2019ve probably seen a YouTube video or read a blog post from a developer advocate, talking about why an API has changed or acting as an \u201cexplainer of stuff\u201d for some new feature. Our lives are never boring, but how can you tell if it\u2019s something you\u2019d be interested in? Just what else are these folk up to? \r\n\r\nThey are a must have if your particular open source project has regular user groups. You might even consider them a kind of translation layer. You see, they usually have backgrounds in software engineering but instead of coding all day, they're likely to be found talking about code all day. When your users are suffering from deficiencies and bring them to user groups to be discussed, these advocates can usually pinpoint what group of developers and/or repositories those code changes need to be made in. They are a bridge between development teams and user communities.\r\n\r\nI\u2019d love a chance to share my experience. If you have a passion for open source projects and want to someday get involved in a pragmatic and supportive way, let me take you through my journey and share just what makes it special to me and why it makes such a difference to the community of any open source product.", + "conf_url": "http://2025.fossy.us/schedule/presentation/296/", + "cancelled": false, + "twitter_id": "nateboot", + "mastodon_id": "https://fosstodon.org/@nateynateynate" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-01T11:30:00", + "end": "2025-08-01T11:45:00", + "duration": 15, + "kind": "Break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 269, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-02T11:30:00", + "end": "2025-08-02T11:45:00", + "duration": 15, + "kind": "Break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 270, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-02T11:45:00", + "end": "2025-08-02T12:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 354, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-01T11:45:00", + "end": "2025-08-01T12:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 305, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Reimagining Online Deliberation: Why Open Source is Critical for Civic Infrastructure", + "authors": [ + { + "name": "Samantha Shireman", + "name_pronunciation": "", + "pronouns": "she/her", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/05861e776371b2a106f9b7b4faf07611?s=120&d=mp", + "code": "517", + "biography": "Samantha Shireman\u00a0develops technology that helps people break through the digital walls that divide them. Within Harvard\u2019s Applied Social Media Lab, she serves as the product manager for Frankly (frankly.org), an open-source video platform that enables people to engage in deliberation, assemblies, and other forms of constructive discourse and problem-solving.\r\n\r\nPreviously, as Director of Product at AllSides.com, she helped build many products intended to help people understand diverse perspectives and enable healthy communication across ideological divides.\r\n\u00a0\r\nShe earned her degree in cognitive science from UC Berkeley, where she spent a lot of time thinking about thinking. She first earned her tech chops in middle school when, out of necessity, she taught herself HTML and CSS to create web pages for her Neopets.\r\n\r\nWhen not working to strengthen democracy, Samantha enjoys puzzles, good food, cocktails, and the occasional rabbit hole into psychology research. She and her spouse live in El Cerrito, CA in an apartment building they and a few friends purchased together to end-run SF bay area housing costs. They live with their cat GABA, appropriately named after a neurotransmitter.", + "username": "" + } + ], + "abstract": "What if the tools we use for civic engagement were as common as Google Docs, but built on open source principles? In today's polarized digital landscape, creating space for thoughtful, inclusive dialogue is more critical than ever.\r\n \r\nWithin Harvard's Berkman Klein Center, our Applied Social Media Lab is building Frankly, an open source video-based discourse platform that structures online face-to-face conversations for meaningful outcomes.\r\nIt combines intelligent group matching with embedded discussion prompts, enabling balanced groups to navigate complex topics without facilitators in order to make constructive discourse and collaborative decision-making accessible and scalable.\r\n \r\nThis session explores how we\u2019re rethinking online discourse to better support civic engagement and social connection, and why democratic infrastructure must be built on open source principles. Open source enables adaptability to different contexts, ensures longevity beyond any single institution, and provides the scrutinizability necessary for legitimate public discourse.\r\n \r\nBy open-sourcing Frankly and collaborating with practitioners, we're developing civic technology that is transparent, adaptable, and grounded in dialogue expertise. As we increasingly make collective decisions in digital spaces, building deliberative infrastructure on open foundations isn't just technically superior\u2014it's democratically essential.", + "conf_url": "http://2025.fossy.us/schedule/presentation/328/", + "cancelled": false + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-02T11:45:00", + "end": "2025-08-02T12:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Legal", + "conf_key": 326, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "More Scalability Through Open Source Hygiene", + "authors": [ + { + "name": "Ria Farrell Schalnat", + "name_pronunciation": "", + "pronouns": "She/Her", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/ef7862587ed68666f03878f2723a810c?s=120&d=mp", + "code": "532", + "biography": "I am delighted to work with the Open Program Office of Hewlett Packard Enterprise (https://www.hpe.com/us/en/open-source.html)! This role is the culmination of my prior lives as a computer programmer, lawyer and adjunct professor specializing in intellectual property subjects including open source. \r\n\r\nPreviously, I spent over three years at Amazon Web Services including working with their OSPO. I served as General Counsel and Director of Intellectual Property for a mid-size software and data center company (Vora Ventures). I provided counsel, advice and representation to numerous clients and specialized in patent portfolio management and prosecution, intellectual property due diligence for mergers and acquisitions, and software licensing for two regional law firms (Frost Brown Todd & Dinsmore). My technology practice built on my undergraduate degree in Computer Science and work experience as a computer programmer and ranged across billing, data management, customer relationship management, and speech technology applications. I spend additional time working on community initiatives for the Cybersecurity and Infrastructure Security Agency under the Department of Homeland Security (CISA), the Eclipse Foundation, the Linux Foundation including the Community Health & Analytics in Open Source Software (CHAOSS) project, SPDX Legal team, and the Open Source Initiative (Clearly Defined project). \r\n\r\nI am admitted to practice law in Ohio, the U.S. Patent & Trademark Office, and in-house in Washington. While in private practice, I served for two years as President of CincyIP, a local bar association dedicated to intellectual property education. I served as adjunct professor at the University of Cincinnati School of Law and University of Dayton School of Law on subjects including Patent Litigation, Cyberspace Law and Open Source Licensing.", + "username": "" + } + ], + "abstract": "As more attention is paid to SBOMs through Executive Orders in the United States and legislation like the European Union's Cyber Resilience Act, being able to ingest, identify, evaluate and approve open source packages will be critical to scaling compliance operations as well as empowering developers by giving them an early heads up on the choices they are making in their solutions. SPDX identifiers provide a quick identification mechanism for the license utilized by a component. ClearlyDefined provides important provenance data including component source locations, licensing, attributions and more. GUAC provides tooling to enhance SBOMs with security and vulnerability data. CHAOSS provides health metrics associated with open source components. All of these projects allow the development of policies and empower developers to align their choices with personal or company preferences. This session will touch on all these projects and then walk through the process to assign an SPDX-ID to a license. When you leave, you'll know how to engage with the SPDX-Legal committee and how to respond to issues in their repo to get IDs assigned to licenses. Help US to help YOU to scale your open source compliance!", + "conf_url": "http://2025.fossy.us/schedule/presentation/364/", + "cancelled": false + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-02T11:45:00", + "end": "2025-08-02T12:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Science of Community", + "conf_key": 348, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Power Dynamics, Rug Pulls, and Other Impacts on FOSS Sustainability", + "authors": [ + { + "name": "Dr. Dawn Foster", + "name_pronunciation": "", + "pronouns": "She / Her", + "twitter": "geekygirldawn", + "mastodon": "https://hachyderm.io/@geekygirldawn", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/506e49a7dae9eb8bd05bb64a5169cfa4?s=120&d=mp", + "code": "441", + "biography": "Dr. Dawn Foster works as the Director of Data Science for CHAOSS where she is also a board member / maintainer. She is co-chair of CNCF TAG Contributor Strategy and an OpenUK board member. She has 20+ years of experience at companies like VMware and Intel with expertise in community, strategy, governance, metrics, and more. She has spoken at over 100 industry events and has a BS in computer science, an MBA, and a PhD. In her spare time she enjoys reading science fiction, running, and traveling.", + "username": "" + } + ], + "abstract": "Power imbalances are everywhere, including in our FOSS projects. Corporations hold power over projects that result in relicensing, forks, and other disruptions. This talk will cover these power dynamics using research data from several case study projects and suggest steps that we can take to make better decisions about which FOSS projects to embrace.\r\n\r\nSince the beginning of time, those in power have been able to use that power against the weak, often with little recourse. In feudalism, the powerful ruling class controlled the land leading to oppression and exploitation of the people doing the hard work of farming and protecting the land. This may sound familiar, since many FOSS projects similarly have the power consolidated in the hands of the few even when others with less power are doing most of the work. In today\u2019s cloud native world, the power dynamics have gotten even more complex. Large cloud providers have the most power and can create service offerings based solely on FOSS projects while doing little to no real work on those projects. Smaller companies who are doing a significant amount of the development on a FOSS project have less power than the cloud providers, but many still have the power to relicense those projects. The many users, contributors, and even maintainers who have less power can feel like the rug has been pulled out from under them. We\u2019ve recently seen an increase in relicensing of FOSS projects and other tensions within communities that are directly related to imbalances in power that cause disruption within our projects.\r\n \r\nWe have mechanisms, like forks, where those with less power can counter these power moves, regardless of the forms they take. The Elasticsearch, Redis, and Terraform relicensing resulted in the OpenSearch, Valkey, and OpenTofu forks. As part of an ongoing 1+ year research effort under the CHAOSS project, this talk will dive into the data for these six projects to illustrate these power dynamics.\r\n\r\nAs maintainers, contributors, and users of FOSS, we devote our most precious resource to these projects, time. We need for the projects that we spend time on to be sustainable over the long term to avoid wasting this precious resource. There is no way to predict which projects will be sustained over time, but this talk will contain detailed suggestions for how to look for warning signs. Who holds the power in the FOSS projects that we use and contribute to? How do they use that power? What governance processes are in place to provide checks and balances to avoid the misuse of that power? Beyond identifying warning signs, this talk will contain suggestions for how we can work within projects to help them become more sustainable. This talk will not only help people understand the power dynamics at play, but will also provide tangible steps that we can take as maintainers, contributors, and users to make better decisions about focusing our precious time on making our projects more sustainable.", + "conf_url": "http://2025.fossy.us/schedule/presentation/342/", + "cancelled": false, + "twitter_id": "geekygirldawn", + "mastodon_id": "https://hachyderm.io/@geekygirldawn" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-02T11:45:00", + "end": "2025-08-02T12:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 306, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "DRM, security, or both? How do we decide?", + "authors": [ + { + "name": "Matthew Garrett", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "Oh come on", + "mastodon": "@mjg59@nondeterministic.computer", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/880491dea715eedb91f4a66686d8e355?s=120&d=mp", + "code": "498", + "biography": "Matthew is a long-term free software advocate, Linux developer, and low-level system poker. He is especially interested in identifying ways to use technology to protect users without restricting their freedoms, and is a passionate advocate in users having the right to modify systems they own.", + "username": "" + } + ], + "abstract": "An easy way to define malware is \"Software that I don't want running on my computer\". And one way to ensure that you're protected from malware would be to ensure that your computer only runs software you want to run. But how is technology that allows that different to technology that allows someone *else* to choose what software your computer runs? Someone who isn't necessarily motivated by your best interests? How do we decide what is security, and how do we decide what is DRM?\r\n\r\nThis presentation will cover various technologies that allow general purpose computers to become less general purpose, and discuss whether they are of net benefit to users or a net risk to their freedoms. It will discuss whether TPMs are actually locking you down, whether secure boot has been a success or a failure, how immutable distros and app packaging play into this, and give you some hope that we can take the tools that were made to restrict us and repurpose them to protect us.", + "conf_url": "http://2025.fossy.us/schedule/presentation/325/", + "cancelled": false, + "twitter_id": "Oh come on", + "mastodon_id": "@mjg59@nondeterministic.computer" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-01T11:45:00", + "end": "2025-08-01T12:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Science of Community", + "conf_key": 292, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "The Creative Trade-Off: Governance, Conflict, and Their Impact On Innovation In Open-Source Software", + "authors": [ + { + "name": "Dr. Justin Ribeiro, PhD", + "name_pronunciation": "", + "pronouns": "he / him", + "twitter": "", + "mastodon": "https://ribeiro.social/@justin", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/6e2c36824a832b778c14b89fbd5ab0c8?s=120&d=mp", + "code": "484", + "biography": "Justin is a longtime builder and innovator with over three decades of experience driving change across industries like telecommunications and digital platforms. He's contributed to open-source projects like Chromium and Visual Studio Code, and worked with standards groups like the W3C and NFC Forum. A former Google Developer Expert, Justin has built a career at the intersection of technical expertise and open collaboration. Today, as a Doctor of Management Design and Innovation Fellow at Case Western Reserve University, Justin researches how diverse interactions between developers and stakeholders fuels creativity into innovative outcomes in open source software development. A passionate speaker, mentor, teacher, and open-source advocate, Justin is committed to building more inclusive, innovative communities for the future of software.", + "username": "" + } + ], + "abstract": "Software development has always been fueled by creativity but today, efficiency metrics, process-heavy methods, and the rise of AI now often box that creativity out. While developers are drawn to solving tough problems, modern practices can unintentionally prioritize small tweaks over bold breakthroughs. This tension risks limiting not just individual potential, but open source\u2019s ability to drive meaningful innovation.\r\n\r\nIn this talk, we dive into how development approaches shape creativity at the project level, drawing from a study of 40 open source projects, over 10,000 releases, and interviews with developers across corporate and community-run efforts. Using multi-level creativity theories, we unpack how individual actions, team interactions, and project governance can either spark or stifle innovative outcomes.\r\n\r\nOur research challenges the myth of the lone \u201crockstar\u201d developer and highlights the crucial role of social interactions within the open source community\u2014 especially during review stages such as pull requests and code reviews\u2014in turning creative ideas into real-world innovations. We show how cognitive conflict and governance models impact creative outcomes and offer strategies for building more innovative, collaborative open source projects and communities.\r\nIf we want open source to keep leading the way, we need development practices that empower creativity, not constrain it. Let\u2019s rethink how we build and unlock a more radical future for open source software.", + "conf_url": "http://2025.fossy.us/schedule/presentation/347/", + "cancelled": false, + "mastodon_id": "https://ribeiro.social/@justin" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-01T11:45:00", + "end": "2025-08-01T12:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "FOSS in Education", + "conf_key": 298, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Empowering Teams in Open Source EdTech Communities", + "authors": [ + { + "name": "Joshua Wilson", + "name_pronunciation": "", + "pronouns": "He, him", + "twitter": "", + "mastodon": "jmwilson@mastodon.social", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/592b8e1beeba19eb61ffec1074dccb70?s=120&d=mp", + "code": "494", + "biography": "Joshua Wilson is the Founding Principal of Flywheel Strategies, Principal at B.Cognition Labs, and Chair of Apereo Foundation. Previously he served as VP and COO of Longsight Inc., and Associate Director of the MISO Survey. He provides strategy, change management, and alignment leadership, and is known for his exceptional mentoring skills.", + "username": "" + } + ], + "abstract": "Join us to explore how Google's Project Aristotle findings can empower teams of developers and educators in open source educational technology. Through interactive exercises, you'll learn practical techniques for making teams more effective by ensuring equal voice in feature discussions and developing social sensitivity in asynchronous communication. You'll leave with concrete strategies to build a team dynamic that supports your FOSS project and create psychological safety that enables both developers and educators to admit knowledge gaps and learn from each other.", + "conf_url": "http://2025.fossy.us/schedule/presentation/336/", + "cancelled": false, + "mastodon_id": "jmwilson@mastodon.social" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-01T11:45:00", + "end": "2025-08-01T12:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Databases", + "conf_key": 286, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Up Against the WAL: The Write-Ahead Log in PostgreSQL", + "authors": [ + { + "name": "Christophe Pettus", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "xof", + "mastodon": "@cep@fosstodon.org", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/6a961946320454083402aab4cde4bba9?s=120&d=mp", + "code": "428", + "biography": "Christophe is the CEO of PGX Inc., a boutique PostgreSQL consultancy based in Alameda, California. He has been working with PostgreSQL since version 7, and databases for even longer.", + "username": "" + } + ], + "abstract": "The Write-Ahead Log in PostgreSQL underlies a huge number of features: crash recovery, binary replication, logical replication, and backups. This talk is a dive into the internals of the WAL, including its format, how it is written to storage, how it is used, and what to do when you get one of the many terrifying errors about WAL issues.", + "conf_url": "http://2025.fossy.us/schedule/presentation/355/", + "cancelled": false, + "twitter_id": "xof", + "mastodon_id": "@cep@fosstodon.org" + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-01T11:45:00", + "end": "2025-08-01T12:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Supporting User Groups", + "conf_key": 325, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Raising the bar on your conference presentation", + "authors": [ + { + "name": "Rich Bowen", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "rbowen", + "mastodon": "https://mastodon.social/@rbowen", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/ca2ff6fc6168da8d5d183f6cc182e048?s=120&d=mp", + "code": "413", + "biography": "Rich Bowen has been involved in open source since before we started calling it that. He's a member of the Apache Software Foundation, where\r\nhe currently serves as a board member and Vice Chair. Rich is an Open Source Strategist at AWS.", + "username": "" + } + ], + "abstract": "We've all attended - or given - presentations that put the audience to sleep, or at least had most of them playing Kwazy Cupcakes on their phones. In this presentation, we talk about ways that you can improve your conference presentations by making a few simple changes.\r\n\r\nYou know the presentations I'm talking about. The slides are 73 lines of 12-point font, and the speaker reads them to you with their back turned. Ok, maybe not that bad. But you want to leave the audience wanting more, and eager to take the next step. Here's a few simple tips for making your conference and meetup presentations engaging, rather than soporific.", + "conf_url": "http://2025.fossy.us/schedule/presentation/282/", + "cancelled": false, + "twitter_id": "rbowen", + "mastodon_id": "https://mastodon.social/@rbowen" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-02T11:45:00", + "end": "2025-08-02T12:30:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 337, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-03T12:30:00", + "end": "2025-08-03T13:45:00", + "duration": 75, + "kind": "Lunch break (on your own)", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 226, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Lunch break (on your own)" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-01T12:30:00", + "end": "2025-08-01T14:00:00", + "duration": 90, + "kind": "Lunch break (on your own)", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 224, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Lunch break (on your own)" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-02T12:30:00", + "end": "2025-08-02T14:00:00", + "duration": 90, + "kind": "Lunch break (on your own)", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 225, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Lunch break (on your own)" + }, + { + "room": "", + "rooms": [], + "start": "2025-07-31T13:45:00", + "end": "2025-07-31T14:00:00", + "duration": 15, + "kind": "Opening Remarks", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 227, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Opening Remarks" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-03T13:45:00", + "end": "2025-08-03T14:00:00", + "duration": 15, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 397, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Intro to Unconferences", + "authors": [ + { + "name": "Aaron Wolf", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "@wolftune@social.coop", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/b32ae4ca7b2465cc5b642eed9c285b06?s=120&d=mp", + "code": "455", + "biography": "Aaron is a community music teacher and a co-founder of Snowdrift.coop (a fundraising platform aiming to coordinate community economic support for FLO public goods). His volunteer work in many free/libre/open technology areas has focused on healthy communities, public outreach, governance, and issues of politics and economics. He lives in Oregon City with his wife, dog, and two kids.", + "username": "" + }, + { + "name": "Wm Salt Hale", + "name_pronunciation": "", + "pronouns": "he/lim", + "twitter": "altsalt", + "mastodon": "@salt@social.coop", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/3e18e58f206ab70b6ebd6c8cde5a37c4?s=120&d=mp", + "code": "537", + "biography": "Salt is a Seattle local who has been involved with the Free Software movement since 1996. Currently, he works at IEEE SA Open while volunteering as Impresario of SeaGL and Community Director of Snowdrift.coop. Salt attended five years of graduate studies at the University of Washington where he focused on the intersection between communication, computer science, and law. Salt tries to be very approachable and will always be found wearing a kilt.", + "username": "" + } + ], + "abstract": "An unconference fits a middle-ground between planned talks and casual hallway chat. In an unconference, participants collaboratively set up a schedule for topical conversations. Anyone can propose a topic. A schedule-board organizes which topics will happen when and where. Everyone can join (or just listen in on) whichever conversations they like.\r\nNever been to one? We'll give a brief overview of the rooms and times so you can build your schedule.", + "conf_url": "http://2025.fossy.us/schedule/presentation/360/", + "cancelled": false, + "mastodon_id": "@wolftune@social.coop" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-01T14:00:00", + "end": "2025-08-01T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "FOSS in Education", + "conf_key": 299, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Nurturing the Next Generation of Open Source Contributors", + "authors": [ + { + "name": "Tyler Menezes", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "tylermenezes", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/f08a209cc18b45478bcf963761e09329?s=120&d=mp", + "code": "421", + "biography": "Tyler Menezes is the CEO of CodeDay, where he has helped more than 70,000 students use technology and creativity to make meaningful changes to their world.\r\nBorn in Canada but raised in the Pacific Northwest, he briefly attended the University of Washington before dropping out to start a Y Combinator and venture-backed social video startup in 2011. This, combined with stints working in machine learning at Microsoft Research and as a programmer at several Seattle startups, led to his work finding data-driven solutions to build a more talented, creative, and innovative technology workforce since 2014.\r\n\r\nTyler's work in education has led to his recognition as one of Forbes Magazine's \"30 Under 30\" in 2019, Forbes \"Under 30 Innovators You Need to Know\", Tech&Learning Magazine's \"Most Inspiring in EdTech\", and others. He has authored many peer-reviewed publications on CS education, served as Principal Investigator on National Science Foundation awards for STEM education, and has spoken about technical mentorship at leading software engineering and education conferences around the world.", + "username": "" + } + ], + "abstract": "Many open source projects are grappling with a crucial issue: finding future contributors and maintainers. This talk explores the hurdles and solutions in bridging academia and open source. We discuss what mental barriers students face when it comes to coding and contributing to open source, how to craft mentorship resources, and what resources projects need to build lasting relationships with students.", + "conf_url": "http://2025.fossy.us/schedule/presentation/330/", + "cancelled": false, + "twitter_id": "tylermenezes" + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-01T14:00:00", + "end": "2025-08-01T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Supporting User Groups", + "conf_key": 332, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Cooking Up Community: Build the Fire, Embrace Every Ingredient, Always Stir the Pot", + "authors": [ + { + "name": "Rick Turoczy", + "name_pronunciation": "", + "pronouns": "he/him/his/el", + "twitter": "turoczy", + "mastodon": "@turoczy@pdx.social", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/1d9af7b683c3024e49415a3063b01597?s=120&d=mp", + "code": "486", + "biography": "Rick Turoczy has been working in, on, and around the Portland, Oregon, startup community for 30 years. He has been recognized as one of the \u201cOG\u201ds of startup ecosystem building by the Kauffman Foundation, has shared insights in the book The Startup Community Way, and has been humbled by any number of opportunities to speak on stages from SXSW to Kobe to Muscat, including an opportunity to share his views on community building on the TEDxPortland stage (https://www.youtube.com/watch?v=Cj98mr_wUA0).\r\n\r\nAs founder and editor of Silicon Florist (https://siliconflorist.com/), he has blogged about Portland startups for nearly 20 years \u2014 even though numerous people have begged him to stop. That side project led Rick to start PIE (the Portland Incubator Experiment) (https://piepdx.com/), an ongoing experiment exploring the potential for mutually beneficial collaborations between the Portland startup community and more well-established entities like corporations, government organizations, and educational institutions.", + "username": "" + } + ], + "abstract": "Building a thriving open source community isn\u2019t just about setting up the right infrastructure \u2014 it\u2019s about lighting the fire, welcoming every ingredient, and making sure the pot stays stirred.\r\n\r\nIn this talk, Rick Turoczy \u2014 longtime startup community builder, Silicon Florist writer, and semi-professional stirrer-of-pots \u2014 shares practical, heartfelt lessons on how open communities nourish creativity, innovation, and resilience. Drawing inspiration from campfires, communal kitchens, and a few questionable recipes, Rick explores what it really takes to keep the flame alive without burning out the chefs.\r\n\r\nTopics include:\r\n- Building the Fire: Creating the conditions where contributors of all kinds feel warmth, safety, and purpose\r\n- Embracing Every Ingredient: Recognizing and celebrating every kind of contribution \u2014 code, documentation, encouragement, memes, and moral support\r\n- Always Stirring the Pot: Keeping communities dynamic, curious, and welcoming to new flavors and ideas \u2014 without letting things get scorched\r\n\r\nWhether you're tending a tiny new project or helping stir a massive community stew, you'll leave with a renewed sense of why open source isn't just about code \u2014 it's about collaboration, nourishment, and shared possibility.", + "conf_url": "http://2025.fossy.us/schedule/presentation/298/", + "cancelled": false, + "twitter_id": "turoczy", + "mastodon_id": "@turoczy@pdx.social" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-01T14:00:00", + "end": "2025-08-01T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 308, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "GNU/Linux Loves All", + "authors": [ + { + "name": "Timmy James Barnett", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/7bd72e1c886b2c5d19d28fa12fed3f92?s=120&d=mp", + "code": "476", + "biography": "Timmy James Barnett is passionate about the philosophy of FLO (Free/Libre/Open) software. He is happy to be using GNU/Linux and FLO software he wrote for his performances with GNU/Linux Loves All and !mindparade. He loves to tell others about his great experiences with FLO software. Timmy's music is inspired by FLO technologies including GNU/Linux, Matthew Autry's skip-fretting, and Kite guitar. These technologies have connected him with older notes that have been covered up by modern standard tuning. Rather than being limited to just one tuning, Timmy's music is inspired by both the harmonic series and various edos beyond just 12edo (known as standard tuning). He finds a unique sound from the intersection between ancient tuning theory, modern music technology, and a FLO philosophy.", + "username": "" + } + ], + "abstract": "GNU/Linux Loves All is an experience that makes microtonal music accessible through FLO software. Timmy writes FLO software music tools for all people. At this concert, you will hear musical intervals from across millennia on violin, microtonal guitar, and microtonal keyboards, running through FLO software music tools on GNU/Linux, the greatest operating system of all time.", + "conf_url": "http://2025.fossy.us/schedule/presentation/318/", + "cancelled": false + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-02T14:00:00", + "end": "2025-08-02T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Legal", + "conf_key": 333, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Panel: Licenses, corporations, community, and collaboration", + "authors": [ + { + "name": "Josh Triplett", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "josh_triplett", + "mastodon": "@josh@joshtriplett.org", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/1bd07f791d8ed5989a92790b0a1f9ea4?s=120&d=mp", + "code": "534", + "biography": "Josh Triplett is a Rust developer on the language, library, and Cargo teams. Josh cares about building welcoming, inclusive communities that lift people up, building solutions to systemic problems, and writing low-level systems code in high-level Rust. Josh founded buildit.dev to help people build software faster and more easily. Josh has previously presented at RustConf, Kernel Summit, linux.conf.au, Linux Plumbers Conference, Embedded Linux Conference, LinuxCon, PyCon, FOSDEM, Open Source Bridge, and the USENIX Annual Technical Conference.", + "username": "" + }, + { + "name": "Eric Schultz", + "name_pronunciation": "", + "pronouns": "they/them", + "twitter": "", + "mastodon": "https://social.treehouse.systems/@wwahammy", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/f74284f4ea38ec95a446e077352993fb?s=120&d=mp", + "code": "524", + "biography": "Eric Schultz is a Digital Autonomy activist and Project Leader for the Houdini Project who is passionate about the promise and reality of free and open source software for user empowerment, especially those from marginalized groups. Currently, he's a Senior Software Engineer at Software for Good GBC. Previously, he worked as Chief Technology Officer at CommitChange until becoming CommitChange Technical Lead upon the project\u2019s acquisition. Before starting at CommitChange, in addition to software engineering, Eric served as Community Manager for multiple open source foundations, consulted with organizations on building open source software projects and advised the FCC on technical and practical issues around open source router technology. Eric lives in Appleton, Wisconsin, where outside of work he enjoys watching the Green Bay Packers and Milwaukee Bucks and researching family history.", + "username": "" + }, + { + "name": "Kate Downing", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/be249c6e5f067c2dfa6a57b610aa8550?s=120&d=mp", + "code": "525", + "biography": "Kate Downing is a solo practitioner specializing in open source licensing and compliance. She works with start-ups, Fortune 500 companies, and companies of all sizes in between to help them choose open source licensing strategies, choose and configure open source compliance tools, establish company-wide policies and workflows, and otherwise create simple, effective processes for OSS compliance, contributions, and open-sourcing of future projects. She has also written extensively on machine learning and artificial intelligence technologies and counsels many clients in this domain. Before starting her own practice in 2017, Kate led a team of 12 open source attorneys at VMware, and built an open source compliance process from scratch as ServiceNow's first product counsel. Kate is the co-chair of the Practicing Law Institute's annual OSS program. Kate is a board member for the PolyForm Project and a member of the Blue Oak Council.", + "username": "" + }, + { + "name": "Marc Jones", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/c1726c720bf71a38f09d59f56dde93b4?s=120&d=mp", + "code": "529", + "biography": "", + "username": "" + }, + { + "name": "McCoy Smith", + "name_pronunciation": "", + "pronouns": "He/him", + "twitter": "mccoysmith", + "mastodon": "@mccoysmith@mastodon.social", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/44e615bb857f5cb8780dd2098c396f9a?s=120&d=mp", + "code": "526", + "biography": "McCoy Smith is an intellectual property attorney at Lex Pan Law LLC in Portland, Oregon. He is registered to practice in Oregon, Washington, California & New York as well as with the US Patent and Trademark Office and the Canadian Intellectual Property Office. He is a frequent writer and presenter on open source legal and compliance topics, and authored two chapters in the Oxford University Press publication \u201c Open Source Law, Policy and Practice.\u201d", + "username": "" + } + ], + "abstract": "Confirm or deny: Free and open source software licenses\r\nshould provide a framework for collaboration between any and all\r\nindividuals and entities interested in working on and using the covered\r\ncode, including hobbyists, freelancers, corporations, and nonprofit\r\norganizations. If not true, what should we do instead? If true, how is\r\nour current set of licenses performing in this area, especially\r\nconsidering wrinkles like SaaS and patents? Furthermore, we've seen some\r\nmodifications published as \"additional terms\" and as new licenses -- how\r\nhave these efforts played out and do we expect to see more of them?\r\nWe'll hear from panelists with expertise in diverse related areas, and\r\ninvite questions from the audience.", + "conf_url": "http://2025.fossy.us/schedule/presentation/361/", + "cancelled": false, + "twitter_id": "josh_triplett", + "mastodon_id": "@josh@joshtriplett.org" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-07-31T14:00:00", + "end": "2025-07-31T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 319, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Is There Really an SBOM Mandate?", + "authors": [ + { + "name": "Bradley M. Kuhn", + "name_pronunciation": "", + "pronouns": "he/them", + "twitter": "", + "mastodon": "@bkuhn@floss.social", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/0580d7a67da1b15b1695edc4e22779f9?s=120&d=mp", + "code": "506", + "biography": "Bradley M. Kuhn is the Policy Fellow at Software Freedom Conservancy (SFC). Kuhn began his work software freedom movement in 1992, as an early adopter of Linux systems & contributor to various FOSS projects, including Perl. Kuhn was FSF\u2019s Executive Director from 2001\u20132005, began as SFC\u2019s primary volunteer from 2006\u20132010, and became SFC's first staff person in 2011. Kuhn's work focuses on enforcement of the GPL agreements, FOSS licensing policy, and infrastructural solutions for FOSS.", + "username": "" + } + ], + "abstract": "A consistent mantra of the Software Bill Of Materials (SBOM) ballyhoo is\r\nthat various government entities around the world have mandated SBOMs in\r\nvarious different places. From USA POTUS Executive Orders, to EU Directives,\r\nto USA NIST whitepapers \u2014 it's often been repeated that these various\r\nsources mandate SBOMs as a mandatory requirement.\r\n\r\nLet's look at the source material and find out what these various orders and\r\ndirectives actually say, and figure out what's really mandated.", + "conf_url": "http://2025.fossy.us/schedule/presentation/326/", + "cancelled": false, + "mastodon_id": "@bkuhn@floss.social" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-03T14:00:00", + "end": "2025-08-03T14:45:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 376, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "How to get people to care about FOSS, exploring different software domains\r\n\r\nPad link" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-07-31T14:00:00", + "end": "2025-07-31T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 315, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-03T14:00:00", + "end": "2025-08-03T14:45:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 366, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "AI issues - safety, licensing, etc.\r\n\r\nPad link" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-02T14:00:00", + "end": "2025-08-02T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 310, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "An Adventure in Data Modeling", + "authors": [ + { + "name": "Mark Wong", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "markwkm", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/3a0b97dae73e7e0caef2caf1cbf360ae?s=120&d=mp", + "code": "418", + "biography": "Mark Wong is currently employed by EDB and is a PostgreSQL Major Contributor. His background is in database systems solutions and performance. He has contributed to various aspects of the community such as a benchmarking kits, Google Summer of Code mentor, PGConf.US Organizer, Portland PostgreSQL Users Group Co-Organizer, PostgreSQL Fundraising Group Member, and Treasurer and President of PgUS.", + "username": "" + } + ], + "abstract": "This is a tale about one company's experience with a database schema design refactor to use the Entity-Attribute-Value (EAV) data model on its members. I will describe the original data model and why there was a need to move to a new data model, which the EAV was chosen for. This decision was made without realizing that the EAV data model is considered an anti-pattern for relational data modeling. There was some stumbling along the way but the company recovered and succeeded in implementing the EAV data model with some on-the-fly data transformation. The moral of the story really is to not use the EAV data model, but changing the data models is not always trivial. Hopefully this story can still help make the EAV data model bearable for the short term.", + "conf_url": "http://2025.fossy.us/schedule/presentation/363/", + "cancelled": false, + "mastodon_id": "markwkm" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-03T14:00:00", + "end": "2025-08-03T14:45:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 362, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Whats next for academic Open Source and OSPO / Semantics in Machine Learning Objective Functions\r\n\r\nPad link" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-02T14:00:00", + "end": "2025-08-02T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "XMPP", + "conf_key": 355, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Setting Up A Simple XMPP Server", + "authors": [ + { + "name": "Root", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/5b2b58c93321529b9daf5353f51cf4c3?s=120&d=mp", + "code": "424", + "biography": "Root has been a long time advocate in the privacy and security space, and enjoys teaching others how to stay safe and secure while online and to avoid common pitfalls. Root is a beginner developer and enjoys breaking things while learning what makes it tick ;) this has lead to a wide range of experience across many different subjects. Root is also part of the team that runs Soprani.ca, Cheogram.com and JMP.chat and is heavily focused on their acceptance and success, in both the freedom-ware communities and beyond.", + "username": "" + } + ], + "abstract": "This talk will showcase the simplicity and ease of setting up your own XMPP server using the Snikket software, walking step-by-step through the process using slides. The end result will be a fully functioning XMPP server that can be used throughout the remainder of the conference between all attendees. There will be a demonstration of the features available to a Snikket Instance including, but not limited to, inviting others to join your server, group chats that are private or public, adding contacts, managing and updating the instance as the admin, creating limited accounts for kids, and steps for more secure end-to-end encryption. This talk will also dive into some personal privacy, security, and persona considerations and how they will be affected by your threat model.", + "conf_url": "http://2025.fossy.us/schedule/presentation/286/", + "cancelled": false + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-01T14:00:00", + "end": "2025-08-01T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 287, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-07-31T14:00:00", + "end": "2025-07-31T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Distros", + "conf_key": 277, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Riding Subiquity With No Handlebars", + "authors": [ + { + "name": "Romeo S", + "name_pronunciation": "", + "pronouns": "He/Him/His", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/a21b52ef15870f902160efdf7a59650f?s=120&d=mp", + "code": "410", + "biography": "Romeo is a GNU/Linux sysadmin with nearly a decade of experience. As a college dropout, he has taught himself the ins and outs of GNU/Linux and of countless software projects from scratch with no tour guide or teacher. A consistent habit of \"being the edge case that you want to see in the world\" has forced him to develop a knack for solving problems that developers and maintainers typically don't see coming. Primarily specializing in HPC-related infrastructure management, he lives in a world of \"except for on this cluster\" and \"except for in this context.\" This environment of asterisks has forced adaptability, which has translated into a lot of experience in diving into the weeds. He has spoken at several conferences in the PNW and nationwide, seeking to educate as well as to entertain. Originally a Portland native, he now lives in central Washington while working remotely for a company in Seattle.", + "username": "" + } + ], + "abstract": "Canonical, never happy with existing standards, wrote their own auto-installer just for Ubuntu. It has some \"fun\" usage, which we will cover in great detail. After this talk, you will be able to install Ubuntu Server with your hands tied behind your back, whether it be on a virtual machine or bare metal, with or without a network connection, in a datacenter or in your lap. We will also have some fun talking about the perplexing decisions that Canonical makes and some of the long-standing bugs in Subiquity, along with workarounds.", + "conf_url": "http://2025.fossy.us/schedule/presentation/305/", + "cancelled": false + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-07-31T14:00:00", + "end": "2025-07-31T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Linux Kernel", + "conf_key": 240, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Popping kernels for Linux distributions", + "authors": [ + { + "name": "Neal Gompa", + "name_pronunciation": "", + "pronouns": "he/him/his", + "twitter": "Det_Conan_Kudo", + "mastodon": "@neal@social.gompa.me", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/af8a9293484ed04b89081d848929b19a?s=120&d=mp", + "code": "432", + "biography": "Neal Gompa is a developer for\u2013and contributor to\u2013Fedora, CentOS, and openSUSE. Neal focuses primarily on the base Linux system components, such as package and software management, and desktop Linux. He believes in \u201cupstream first,\u201d which has led him all over the open source world. In addition to open source work as a consultant through Velocity Limitless, he is also a co-host on the Sudo Show podcast where he talks about \"the business of open source.\"", + "username": "" + } + ], + "abstract": "Packagers in Linux distributions do a lot to ensure the software you use is up to date, integrated in the platform, and most importantly: works! But one package stands out among the others in importance: the Linux kernel. Over the past few years, I've become a Linux kernel package maintainer for a couple of Linux distributions (notably Fedora Asahi Remix and CentOS Stream Hyperscale). This talk will share my experiences in becoming and being a Linux kernel package maintainer: the good, the bad, and the sometimes ugly.\r\n\r\nThis will be centered around two very distinct types of kernel packages: one where the kernel is mostly upstream and low patching (CentOS Stream Hyperscale) and one where the kernel has a significant downstream patch load (Fedora Asahi Remix). The compare and contrast will demonstrate why Linux distributions make the choices they do around package maintenance and concretely show why philosophies like \"upstream first\" and similar matter.", + "conf_url": "http://2025.fossy.us/schedule/presentation/299/", + "cancelled": false, + "twitter_id": "Det_Conan_Kudo", + "mastodon_id": "@neal@social.gompa.me" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-03T14:00:00", + "end": "2025-08-03T14:45:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 342, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Setting goals and spending money / Meta-crisis / Coordination problem\r\n\r\nPad link" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-01T14:00:00", + "end": "2025-08-01T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Science of Community", + "conf_key": 293, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Open source your repository: a roadmap", + "authors": [ + { + "name": "Mike Jang", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "na", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/ee6f74a36fa8e02e7450e3e9607a205b?s=120&d=mp", + "code": "438", + "biography": "Mike is a Principal Technical Writer for NGINX (part of F5) He creates clear and engaging documentation for developers and sysadmins. He's created authoritative content in Linux, security, and Identity Management. He's also a Red Hat Certified Engineer (RHCE v5) and an enthusiastic speaker at industry events.\r\n\r\nThis year, Mike led the release of the NGINX documentation repository as open source, using the BSD license.\r\n\r\nHe built a docs-as-code documentation practice from scratch at Cobalt.io, where he also developed a voice and tone style guide for user experiences, taught non-writers to create better UI text, and set up a paid open source documentation contribution program. At GitLab, he guided the documentation efforts for the Manage Stage and developer content. At ForgeRock, he gained seven years of experience writing about Identity Management. \r\n\r\nMike's mission is to share my passion for new software and to help users achieve their goals with the rigor of a technical writer.", + "username": "" + } + ], + "abstract": "This is open source done right. Open sourcing existing software is more than just \"pushing a button,\" It involves serious preparation, including:\r\n\r\n- Choosing reasons to go open source\r\n- Auditing security\r\n- Scrubbing PII\r\n- Lawyers and the license\r\n- Deciding what to do about commits\r\n- Setting ground rules for contributors\r\n- Sharing with your community\r\n- Follow-up hackathons\r\n\r\nWhen people look at open source software, they first look at documentation. When open source developers find a promising project, they expect to get involved. One part of the process is with open source software.\r\n\r\nAttendees will come out of this session with:\r\n\r\n- Access to a template repository\r\n- A checklist to follow, which addresses legal, security, and community requirements\r\n- An understanding of the work required to move to open source\r\n- Tips for hackathons, based on real-world experience with open source newbies\r\n\r\nInternally, we overcame barriers before we could \"push the button.\" Externally, we helped open source newbies make substantive contributions, well beyond the \"typo fix.\"\r\n\r\nOver the past few days, we've experienced the variety of issues that can come from a hackathon, especially with Git newbies. However, we've found that encouraging new Git users increases the quality of contributions based on the diversity of experiences.", + "conf_url": "http://2025.fossy.us/schedule/presentation/341/", + "cancelled": false, + "twitter_id": "na" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-03T14:00:00", + "end": "2025-08-03T14:45:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 371, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Music and video games\r\n\r\nPad link" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-02T14:00:00", + "end": "2025-08-02T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Science of Community", + "conf_key": 349, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Lessons from a Decade of Open Source Sustainability Research", + "authors": [ + { + "name": "Igor Steinmacher", + "name_pronunciation": "", + "pronouns": "he/him/his", + "twitter": "igorsteinmacher", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/24b6204765c1df72dfa65ad6ea431b5b?s=120&d=mp", + "code": "448", + "biography": "Dr. Igor Steinmacher is an Associate Professor in the School of Informatics, Computing, and Cyber Systems at Northern Arizona University. He received his Ph.D. in Computer Science from the University of S\u00e3o Paulo (2015) and was a Visiting Scholar at the University of California, Irvine (2013). His research focuses on supporting newcomers to open source and sustaining open source communities over time. He investigates socio-technical challenges in onboarding, mentoring, and community retention, and explores how AI-driven tools can promote inclusion and long-term project sustainability. His work bridges software engineering, HCI, and computing education, an he has authored over 100 peer-reviewed publications.", + "username": "" + } + ], + "abstract": "Several FOSS projects struggle with long-term sustainability. This talk walks through years of research and development focused on addressing some of the most pressing challenges faced related to the sustainability of FOSS communities: newcomer onboarding, maintainer burnout, and project governance. I will begin by discussing interventions to support newcomers' onboarding, including community-driven mentorship strategies, structured contribution paths, and other approaches, designed to build confidence and skills early in the contribution process. I will also present ongoing work exploring how Large Language Models (LLMs) can be used to create conversational agents that assist contributors and reduce repetitive questions directed at maintainers, helping scale mentoring while keeping community standards. I will also share insights from longitudinal analyses of developer activity and engagement patterns, including the role of personal and project-level breaks in sustaining healthy contribution cycles and how we may use this to plan. Throughout the talk, I will reflect on how these align with broader structural improvements. In one example, a governance shift in the data.table project was accompanied by investments in multilingual documentation and structured issue triage---steps that revitalized participation and distributed responsibility. Together, these threads present a holistic vision for building more sustainable, inclusive, and resilient FOSS communities, combining technical scaffolding, community design, and human-centered practices.", + "conf_url": "http://2025.fossy.us/schedule/presentation/343/", + "cancelled": false, + "twitter_id": "igorsteinmacher" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-07-31T14:00:00", + "end": "2025-07-31T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 281, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-02T14:00:00", + "end": "2025-08-02T14:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "FOSS in Education", + "conf_key": 339, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Where Open Research Meets Open Source: The OSF as a Gateway to Academic Collaboration", + "authors": [ + { + "name": "Daniel Steger", + "name_pronunciation": "", + "pronouns": "He/ Him", + "twitter": "OSFSupport", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/66df15e8c2a80a31063a6fbaaa5f4bf0?s=120&d=mp", + "code": "499", + "biography": "Daniel Steger is a technical community manager with a passion for open infrastructure, scientific transparency, and inclusive research practices. He currently leads user engagement and product feedback initiatives at the Center for Open Science (COS), where he supports over 750,000 researchers worldwide on the Open Science Framework (OSF). Daniel also spearheads COS\u2019s open source community, cultivating contributor pathways for developers, researchers, and advocates who support the OSF\u2019s mission through collaborative development. He coordinates documentation efforts, facilitates community events, and oversees onboarding for new contributors as the team builds toward a public launch of the community space. With a background in life sciences and science education, Daniel specializes in demystifying complex tools and building welcoming ecosystems for open collaboration. He regularly delivers live demos, webinars, and conference talks, translating user needs into action and championing transparency across all stages of research.", + "username": "" + } + ], + "abstract": "The Open Science Framework (OSF), developed and maintained by the Center for Open Science (COS) is a free, open-source platform that helps researchers around the world manage and share their work openly and transparently. With more than 800,000 users across disciplines and continents, the OSF supports a global community of scholars seeking reproducibility and openness in scholarship. But the OSF is also something more: a unique open-source ecosystem built to bridge the gap between research needs and technical contributions.\r\n\r\nIn this session, we\u2019ll explore how OSF offers a low-barrier entry point for students, educators, and developers who want to make a meaningful impact on the research world. Through its modular architecture and integration of microservices, the OSF enables contributors to build tools that directly improve how science is done, supporting workflows from study planning through to publication and sharing of any resource type. \r\n\r\nBeyond technical infrastructure, OSF fosters a \u201csocial open\u201d environment that welcomes and supports new contributors. We offer active community spaces like our Discord server, regular onboarding events, transparent project boards on GitHub, and continually updated documentation and guides. We also collaborate across open-source communities to stay aligned with shared values and best practices in open development.\r\n\r\nAttendees of this presentation will learn and experience:\r\n-Highlighting the OSF as a free, open platform that lowers the barrier for sharing scholarly and educational materials for researchers around the world\r\n- Showcasing opportunities for researchers and educators as both end-users and code, feedback, and feature contributors through the OSF open source community \u201chelp wanted board,\u201d showing tasks ready for all levels of developers. \r\n- Spotlighting our new open-source integration ecosystem as a low-friction entry point for technical contributors in academic settings that brings new users and expanded capabilities for OSF and integrated tools and services\r\n- Provide real-time opportunities for participants to grow their FOSS engagement through an interactive feedback and co-design activity\r\n- Examples of institutional collaborations and feature feedback loops directly from OSF researchers and educators\r\n- Demonstrate how the OSF builds and supports an open-source community committed to reproducibility and access of academic research. \r\n\r\nGetting involved is easy and impactful. Whether you're a small developer group, a classroom exploring real-world FOSS engagement, or an individual contributor, there are many ways to plug into our community. We\u2019re always looking for collaborators, especially those excited about making tools that amplify open science around the world. Whether you're a dev team exploring ways to contribute to the future of knowledge sharing, an educator guiding students through real-world projects, or simply someone passionate about building for impact, the OSF community welcomes your contribution\u2014and your curiosity.", + "conf_url": "http://2025.fossy.us/schedule/presentation/338/", + "cancelled": false, + "twitter_id": "OSFSupport" + }, + { + "room": "", + "rooms": [], + "start": "2025-07-31T14:45:00", + "end": "2025-07-31T15:00:00", + "duration": 15, + "kind": "Break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 244, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-02T14:45:00", + "end": "2025-08-02T15:00:00", + "duration": 15, + "kind": "Break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 246, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-01T14:45:00", + "end": "2025-08-01T15:00:00", + "duration": 15, + "kind": "Break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 245, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-03T14:45:00", + "end": "2025-08-03T15:00:00", + "duration": 15, + "kind": "Break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 247, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-03T15:00:00", + "end": "2025-08-03T15:45:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 346, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Names are hard! What is a better word than \"upstream\" for distros? / What it takes to build strong teams / Building better collaborators\r\n\r\nPad link" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-02T15:00:00", + "end": "2025-08-02T15:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "FOSS in Education", + "conf_key": 340, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "HAX Lab: FOSS community becomes the classroom", + "authors": [ + { + "name": "Bryan T Ollendyke", + "name_pronunciation": "", + "pronouns": "", + "twitter": "btopro", + "mastodon": "btopro", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/a7fb7ea999fa93ee6c34445dbe95b150?s=120&d=mp", + "code": "412", + "biography": "Educator and Full time Open source front-end developer at Penn State. Bryan's life is open source web contribution. He is the lead of the HAX community. HAX The Web is an effort to \"hack\" the way the world works with the web by making web authoring ubiquitous for all users, regardless of skill and ability. Treat the web like a file format and make high quality, accessible, fast, usable tools for anyone to self publish.", + "username": "" + } + ], + "abstract": "This talk is a case study in how fusing open source contribution with classroom teaching can directly lead to increases in contributors and improved developer experience! DX often comes down to new users being able to figure out your software and students learning new technologies provide a great basis for building around.\r\n\r\nHAX Lab is a collaboration between multiple colleges at Penn State. Information Sciences and Technology crossed with Arts and Architecture, has provided a playground to grow and sustain open source in a unique way I'd love to share. Now there is an IST course (256) that teaches students modern web development through direct and indirect contribution to the platform, HAX Lab, HAX The Club, and collaborations across clubs directly and indirectly improving the ecosystem! You can learn more about the Student Innovation Pipeline here: https://haxtheweb.org/hax-lab/student-innovation-pipeline\r\n\r\nDirect contribution:\r\n- Labs solve entry level problems in the ecosystem\r\n- Course capstone projects help contribute to larger needs in the community\r\n- HAX Lab allows students to go further via internships and independent studies\r\n- a student driven HAX Club allows them to take their knowledge to application in the larger university community\r\n\r\nIndirect:\r\n- Students use the HAX cli in order to learn about modern web tooling. This provides DX feedback to our community\r\n- Students often keep contributing afterwards by creating sites on the platform\r\n- Several students have continued to contribute in the years after the course\r\n- Other groups internally are writing HAX into grants and building business plans that incorporate HAX unique capabilities\r\n\r\nWhat you'll learn:\r\n- How our pipeline works\r\n- Contribution timelines, scale, and quality of contributions\r\n- Examples of additional ways to engage student communities to increase contributions\r\n- How you can get involved with HAX and use it in your community\r\n\r\nMore about HAX:\r\nHAX is short for Headless Authoring eXperience, it is a web based ecosystem that makes it easier to build websites and then provides website-tonight style click and build software that you can take with you, download, and remix easily. It was an idea and approach to make it easier to develop web content online.", + "conf_url": "http://2025.fossy.us/schedule/presentation/333/", + "cancelled": false, + "twitter_id": "btopro", + "mastodon_id": "btopro" + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-07-31T15:00:00", + "end": "2025-07-31T15:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Linux Kernel", + "conf_key": 248, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Panel: Ongoing Things in the Kernel Community", + "authors": [ + { + "name": "Darrick J. Wong", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/03b253c356505f59dccbcea9438ab049?s=120&d=mp", + "code": "422", + "biography": "Darrick was the Linux maintainer of the XFS filesystem from 2016 to 2023, and wrote the (recently released) online fsck tool for it. He is now experimenting with improving the fuse I/O model so that filesystem metadata parsing can occur in userspace while most of the I/O hot path remains in the kernel.", + "username": "" + }, + { + "name": "Ben Dooks", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "bjdooks", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/08d94c1c08103fcdd9c14a8bdb316e39?s=120&d=mp", + "code": "450", + "biography": "Long time open source contributor to the Linux kernel, qemu and other projects for both work and personal fun. Experience in various hardware and board bringup on arm32, arm64, riscv64 and electronic design.", + "username": "" + }, + { + "name": "Luis Chamberlain", + "name_pronunciation": "", + "pronouns": "Dude", + "twitter": "", + "mastodon": "mcgrof", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/ba45cc474c6f30d2c1b4d63a98ac9283?s=120&d=mp", + "code": "488", + "biography": "Luis is a Principal Engineer at Samsung focusing the development and adoption of future Samsung NVMe storage & memory solutions with a focus on artificial intelligence. Luis has been working on the Linux kernel for over 20 years, and his fields of interest has changed over time, from Wireless, Bluetooth, Ethernet, to virtualization and lately with storage and memory technologies. He has also helped spearhead different new automation open source projects such as the Linux kernel backports project and as of late the kdevops project.", + "username": "" + }, + { + "name": "Neal Gompa", + "name_pronunciation": "", + "pronouns": "he/him/his", + "twitter": "Det_Conan_Kudo", + "mastodon": "@neal@social.gompa.me", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/af8a9293484ed04b89081d848929b19a?s=120&d=mp", + "code": "432", + "biography": "Neal Gompa is a developer for\u2013and contributor to\u2013Fedora, CentOS, and openSUSE. Neal focuses primarily on the base Linux system components, such as package and software management, and desktop Linux. He believes in \u201cupstream first,\u201d which has led him all over the open source world. In addition to open source work as a consultant through Velocity Limitless, he is also a co-host on the Sudo Show podcast where he talks about \"the business of open source.\"", + "username": "" + } + ], + "abstract": "- Kernel integration with mainline\r\n- Upstreaming stuff from AsahiLinux\r\n- Containerizing filesystems\r\n- Awfulness of vendor kernels\r\n- Adding Rust\r\n\r\nThere will also be room for audience questions.", + "conf_url": "http://2025.fossy.us/schedule/presentation/359/", + "cancelled": false + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-01T15:00:00", + "end": "2025-08-01T15:20:00", + "duration": 20, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Databases", + "conf_key": 288, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Databases and Diversity", + "authors": [ + { + "name": "Stacey Haysler", + "name_pronunciation": "", + "pronouns": "She / Her", + "twitter": "", + "mastodon": "@shaysler@fosstodon.org", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/e623438da0a375c5f1a910c3cbb9048e?s=120&d=mp", + "code": "427", + "biography": "By day, Stacey is the CFO and COO of PGX, Inc., a Postgres-only consultancy in San Francisco, California. She is also the President of the U.S. PostgreSQL Association (PgUS), a nonprofit dedicated to the advancement of PostgreSQL through education and advocacy. Stacey is an organizer of the San Francisco Bay Area PostgreSQL Users Group. Stacey is also the creator of the original PostgreSQL Community Code of Conduct, and was the first Chair of the Community CoC Committee for three years. Stacey is a Django Software Foundation Member, as well as a former Board Member of the DSF. She founded and served on the Board of the Django Events Foundation North America, and was a primary organizer of DjangoConUS 2015 \u2013 2018. Stacey is a Contributing Member of Software in the Public Interest. By night, she sleeps, since that's a lot to do every day!", + "username": "" + } + ], + "abstract": "While we have great diversity in databases\u2014from open source systems such as PostgreSQL and CouchDB, to proprietary and heavily licensed ones such as Oracle\u2014 human diversity in the database community is not nearly equivalent. Diversity (and lack thereof) in the technical community has been a topic of increasing discussion the past few years. While we have made some progress\u2014even submitting a proposal for a talk on diversity to a conference is a significant change\u2014we have some distance to travel still. While won't get there in 25 minutes, we will cover a fair amount of ground!\r\n\r\nWe will review current efforts in the technical community to improve diversity, as well as ideas that have been discussed and need someone to develop them. \r\n\r\nYou will also learn what you, as one individual, can do in your daily life to improve the diversity of our community.", + "conf_url": "http://2025.fossy.us/schedule/presentation/292/", + "cancelled": false, + "mastodon_id": "@shaysler@fosstodon.org" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-02T15:00:00", + "end": "2025-08-02T15:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Science of Community", + "conf_key": 350, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Glue Work Makes the Community Work: Sustaining OSS Through Invisible Labor", + "authors": [ + { + "name": "Zixuan Steve Feng", + "name_pronunciation": "", + "pronouns": "He/Him", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/bd9486c92ee22645203ee8e57cd39227?s=120&d=mp", + "code": "508", + "biography": "My name is Zixuan (Steve) Feng, and I am a Ph.D. candidate in Computer Science at Oregon State University, advised by Dr. Anita Sarma. My research focuses on software engineering. I collect data from OSS and analyze it using mixed research methods (e.g., statistical analysis, grounded theory, LLMs) to develop or validate theories about software engineering processes and outcomes, aiming to answer questions such as: How can we empower collaborative OSS teams and enhance sustainability?", + "username": "" + }, + { + "name": "Anita Sarma", + "name_pronunciation": "", + "pronouns": "She/Her", + "twitter": "asarma", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/eb37a4b964d28a762147f06959243761?s=120&d=mp", + "code": "507", + "biography": "Dr. Anita Sarma is a professor and Associate Head of Research in the School of Electrical Engineering and Computer Science. She received her Ph.D. in Computer Science from the University of California, Irvine and was a postdoctoral fellow at Carnegie Mellon University. Her research focuses on human factors in software development and how to design inclusive technology to help software developers. Her passion is in fostering DEI in Open Source. Her work crosscuts areas of SE, AI for SE, HCI, open source, and CSCW. She has co-authored more than 100 conference and journal articles, and has received numerous awards. She received the OSU Breaking Barriers Research award (2021) for her work in removing gender biases from software. She is a co-director of the GenderMag project. She is a recipient of the NSF CAREER award (2013) and Google Inclusion Research Award (2022).", + "username": "" + } + ], + "abstract": "The success of any OSS team project, be it OSS or proprietary, depends on glue work to bind the project and its people together. Glue work, such as writing maintenance code, updating documentation, and responding to user queries, is crucial but is often invisible, unglamorous, and underappreciated. There is no guidance on how to characterize glue work in OSS and understand its influence on contributor experiences. OSS communities remain uncertain about what to contribute, what to acknowledge, how to gauge the impact of glue work, and why these efforts deserve equitable appreciation.\r\n\r\nOver the past year, our cross-disciplinary team from Google, Microsoft, CNCF, and Oregon State University engaged 300+ OSS practitioners via focus group discussions, interviews, and surveys. We systematically investigated glue work in OSS, examining what it is, the comprehensive forms it takes, where it occurs, how contributors can get involved, how it can be recognized and acknowledged, and its critical impact on contributor experiences and the long-term sustainability of OSS communities. \r\n\r\nWe are here to provide actionable strategies through practical taxonomies that help OSS communities categorize, trace, and acknowledge these often invisible efforts, as well as to raise awareness of glue work and lower the barriers for more people to contribute to OSS. We aim to actively shift the Open Source narrative to recognize and value these contributions, fostering a more inclusive and holistic view of community participation. We are initiating a dedicated Glue Work OSS community to encourage individuals at all levels of coding experience to step forward, contribute, and acknowledge the myriad ways in which everyone can make a significant impact. Learn more https://gluework.netlify.app/.", + "conf_url": "http://2025.fossy.us/schedule/presentation/352/", + "cancelled": false + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-03T15:00:00", + "end": "2025-08-03T15:45:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 363, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Threats to the Open Web / What do we do if or when Firefox disappears? / Observability is Broken\r\n\r\nPad link" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-01T15:00:00", + "end": "2025-08-01T15:20:00", + "duration": 20, + "kind": "Open", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 391, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-07-31T15:00:00", + "end": "2025-07-31T15:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Distros", + "conf_key": 278, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "The Kalpa Desktop, A Desktop for people that just want to get things done.", + "authors": [ + { + "name": "Shawn W Dunn", + "name_pronunciation": "", + "pronouns": "He/Him", + "twitter": "", + "mastodon": "@sfalken@mastodon.naturalorder.me", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/ee9bbd05d9d63586be92d140d88859b1?s=120&d=mp", + "code": "465", + "biography": "Shawn is the Lead Developer on the Kalpa Desktop https://kalpadesktop.org, current openSUSE Board Member, and a long time openSUSE contributor, as a Moderator, Packager, and Maintainer.\r\n\r\nShawn also currently contributes to the Fedora project as a packager and maintainer, and is a past contributor to Fuduntu, Solus, Crunchbang, and many other FOSS projects.", + "username": "" + } + ], + "abstract": "Kalpa Desktop is a Plasma desktop derived from MicroOS, and Tumbleweed, providing a immutable system base, with a containerized workflow, through distrobox and podman, and Desktop applications via Flathub.\r\n\r\nKalpa grew out of the initial work by Richard Brown, with MicroOS Desktop, but has diverged over the past three years.\r\n\r\nKalpa's focus is on providing users with:\r\n- A well-tested and current Plasma-Wayland desktop\r\n- A minimal installation, without a bunch of applications you may not want or need\r\n- Robust stability, through the use of atomic updates, no more broken updates\r\n- Just a \"Damn Good\u2122\" basic desktop installation, that's designed to *be* a desktop, and that's all\r\n\r\nThis presentation will present the current state of the Project, and examine the future roadmap for Kalpa Desktop.", + "conf_url": "http://2025.fossy.us/schedule/presentation/306/", + "cancelled": false, + "mastodon_id": "@sfalken@mastodon.naturalorder.me" + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-02T15:00:00", + "end": "2025-08-02T15:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 334, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-07-31T15:00:00", + "end": "2025-07-31T15:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 282, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-02T15:00:00", + "end": "2025-08-02T15:25:00", + "duration": 25, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "XMPP", + "conf_key": 356, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Telecomms for Preppers", + "authors": [ + { + "name": "Phillip", + "name_pronunciation": "", + "pronouns": "he/him/his", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/d2e805e9126addc937f12e57bbbd9f93?s=120&d=mp", + "code": "502", + "biography": "Phillip is a developer for MBOA who, these days, mostly writes Ruby and works on Jabber projects. When not staring at code, he learns languages, plays chess, and pickles carrots.", + "username": "" + } + ], + "abstract": "Software in general, and telecommunication in particular, relies on a sprawling infrastructure of networking, hosting, and electrical infrastructure that no single person understand. On the other hand, a key component of mutual aid and disaster preparedness is the knowledge and tools to provide such services in a context where your immediate community might have to provide some of its own needs. Let's talk about how you could contribute to that by building communication software that you can use, modify, and fix on your own as much as possible.", + "conf_url": "http://2025.fossy.us/schedule/presentation/287/", + "cancelled": false + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-02T15:00:00", + "end": "2025-08-02T15:25:00", + "duration": 25, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 311, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Making Esoteric Beauty Accessible: Befunge in 2025", + "authors": [ + { + "name": "Robin Brown", + "name_pronunciation": "", + "pronouns": "She/Her", + "twitter": "", + "mastodon": "https://hachyderm.io/@esoterra", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/a686ff6db23e7626f700a8215594b698?s=120&d=mp", + "code": "437", + "biography": "Robin Brown is a software engineer, WebAssembly expert, compiler nerd, esoteric programming language enthusiast, and fan of indie rock, emo, and folk punk.", + "username": "" + } + ], + "abstract": "Befunge is a 2-dimensional esoteric programming language that is stack-based with an emphasis on code being able to modify itself at runtime. It was designed to be hard to compile and entertaining. While even the most well-written Befunge looks obfuscated, with the right tools we can visualize and make accessible its concepts and strange beauty. Join Robin Brown as she teaches the basics of Befunge using new interactive tools and talks briefly about its past and future.", + "conf_url": "http://2025.fossy.us/schedule/presentation/316/", + "cancelled": false, + "mastodon_id": "https://hachyderm.io/@esoterra" + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-03T15:00:00", + "end": "2025-08-03T15:45:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 367, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Eleminating CLAs / Right to Repair\r\n\r\nPad link" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-07-31T15:00:00", + "end": "2025-07-31T15:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 320, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Making waterfalls in Godot", + "authors": [ + { + "name": "Tom Lechner", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "", + "mastodon": "@tomsart@mastodon.social", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/49c733dd94c6a53e2c79b3c7bab5ac24?s=120&d=mp", + "code": "414", + "biography": "Tom Lechner has been using open source software to produce his artwork since the early 2000s. He created the desktop publishing program Laidout to quickly lay out his comic books, and is currently using various open source software to work on video game projects, including VR with the Godot Engine. Tom is based in the Portland, Oregon area.", + "username": "" + } + ], + "abstract": "Come learn about some ways to display waterfalls in the open source Godot game engine! Video game fluid flow is a complex subject, and this talk will outline various methods to cheat so that you don't really have to know complex math to make something acceptable. Inspired by a variety of waterfalls in the Pacific Northwest of the USA, this talk will discuss custom tooling to generate waterfalls in Godot, based on how water would fall down digital terrain, and how to use other open source software for art such as Blender, Krita, Gimp to polish different parts of the scenery.", + "conf_url": "http://2025.fossy.us/schedule/presentation/353/", + "cancelled": false, + "mastodon_id": "@tomsart@mastodon.social" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-03T15:00:00", + "end": "2025-08-03T15:45:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 377, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Mesh Networking / How you got started in FOSS\r\n\r\nPad link" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-01T15:00:00", + "end": "2025-08-01T15:20:00", + "duration": 20, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Science of Community", + "conf_key": 393, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Designing for Collaboration: A Toolkit for Open and Inclusive Environmental Research", + "authors": [ + { + "name": "Cathy Richards", + "name_pronunciation": "", + "pronouns": "she/her", + "twitter": "myqntm", + "mastodon": "@myqntm@mastodon.social", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/02c7353ccc23bac0a8d527211e83bc79?s=120&d=mp", + "code": "452", + "biography": "Cathy Richards (she/her) is a technologist and a Civic Science Fellow/Data Inclusion Specialist at Open Environmental Data Project. Focused on harnessing technology for environmental and social justice, she brings a strong commitment to ethical tech practices, data-driven solutions, and resilience in the face of emerging global challenges. Previously, Cathy worked at The Engine Room as the Associate for Digital Resilience and Emerging Technology, where she focused on integrating cutting-edge tools to support vulnerable communities. Cathy was also a 2023-2024 Green Web Foundation Fellow, investigating the use of GIS for environmental justice and addressing its ethical and security risks. In addition, Cathy has also taught Metrics & Data Visualization at SVA and contributed to various organizations such as Keystone Accountability and Helen Keller International, working on issues from climate entrepreneurship that tackled youth unemployment to immigrant rights and international health. She holds a Bachelor\u2019s degree in International Relations from Boston University and an MPA from the Monterey Institute of International Studies. In her spare time, you\u2019ll find her playing capoeira, solving puzzles, tracing her family history, hoarding books, or saying hello to every dog she meets.", + "username": "" + } + ], + "abstract": "As communities worldwide confront urgent environmental challenges, open source technologies and data infrastructures are increasingly central to how we understand, protect, and sustain our environments. Yet, persistent gaps remain between the development of open tools, academic research, and the practical needs of the communities most affected by environmental issues.\r\n\r\nOpen Environmental Data Project (OEDP) and partners are addressing this gap through the creation of the Digital Toolkit for Collaborative Environmental Research. This toolkit, grounded in research conducted in 2024, provides actionable resources for open source developers, socio-environmental researchers, and community organizations seeking to build and maintain effective, community-driven collaborations. By employing a design pattern language approach, the toolkit offers concrete solutions and strategies organized around key themes such as building trust through transparent data practices, navigating power dynamics in collaborations, and fostering sustainable models of community data stewardship. The toolkit emphasizes the FOSS values of openness and transparency by encouraging open access to data and documentation; it supports collaboration and inclusivity through community-driven decision-making processes; and it advances sustainability by promoting reusable, adaptable tools that empower all participants to contribute and benefit equitably.\r\n\r\nThis talk will share lessons learned from OEDP\u2019s work, highlighting how the toolkit translates open infrastructure into inclusive, practical frameworks that empower communities to use data for local action and advocacy. Attendees will gain insights into how research can inform the design of open source tools that truly serve community needs, and how practitioners and researchers can collaborate more effectively to bridge the gap between theory and practice. The session will also explore the broader implications for FOSS communities, focusing on how participatory approaches to tool development and data governance can drive more equitable and sustainable outcomes in environmental contexts.", + "conf_url": "http://2025.fossy.us/schedule/presentation/346/", + "cancelled": false, + "twitter_id": "myqntm", + "mastodon_id": "@myqntm@mastodon.social" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-07-31T15:00:00", + "end": "2025-07-31T15:45:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 316, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-03T15:00:00", + "end": "2025-08-03T15:45:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 372, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Advances in RSS / Translating C to Rust\r\n\r\nPad link" + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-01T15:00:00", + "end": "2025-08-01T15:20:00", + "duration": 20, + "kind": "Open", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 388, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-01T15:00:00", + "end": "2025-08-01T15:20:00", + "duration": 20, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 395, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Making P2P apps with Spritely Goblins", + "authors": [ + { + "name": "Diana Belle", + "name_pronunciation": "", + "pronouns": "she / her", + "twitter": "", + "mastodon": "@garbados@friend.camp", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/d563f2e972b49b4779a15fd716845eae?s=120&d=mp", + "code": "433", + "biography": "Diana is a distributed systems dweeb with opinions about timestamps and gravity waves. She codes tooling, apps, and video games, as well as writes essays, fiction, and poetry. She resides in the Pacific Northwest with her partners.", + "username": "" + } + ], + "abstract": "The Spritely Institute has been working hard on a distributed systems programming library called Goblins, whose cleverness simplifies all the difficult parts of getting multiplayer code right. How different is a multiplayer game from a peer-to-peer app, really? Let's dive in and I'll show you how to get involved with this emerging technology, whether in Scheme, or JavaScript!", + "conf_url": "http://2025.fossy.us/schedule/presentation/313/", + "cancelled": false, + "mastodon_id": "@garbados@friend.camp" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-01T15:25:00", + "end": "2025-08-01T15:45:00", + "duration": 20, + "kind": "Open", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 392, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-01T15:25:00", + "end": "2025-08-01T15:45:00", + "duration": 20, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 396, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "How to Hold It Together When It All Falls Apart: Surviving a Toxic Open Source Project Without Losin", + "authors": [ + { + "name": "Cami Kaos", + "name_pronunciation": "", + "pronouns": "she/her", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/5dcb1d1b0ef3b2cc32df192995c6e518?s=120&d=mp", + "code": "491", + "biography": "Cami Kaos has spent more than a decade wrangling open source communities, moderating mayhem, and gently coaxing chaos into collaboration. She\u2019s led WordPress community efforts, championed DEIB strategies, and survived more Slack threads than is medically advisable. A frequent speaker and mentor, Cami combines strategic know-how with humor, heart, and just enough existential dread to keep things interesting. When not navigating the emotional rollercoaster of community management, she lives and plays in the great city of Portland, Oregon.", + "username": "" + } + ], + "abstract": "I love open source. I always have. I\u2019ve spent more than a decade building, managing, and advocating for open source communities\u2014through mentorship, moderation, DEIB strategy, support tickets, and everything in between. It\u2019s been one of the great loves of my career. But at some point, I found myself in a project where the openness was performative, the source of truth was... well, interpretive, and the community slowly, quietly, turned toxic.\r\n\r\nThis talk isn\u2019t a revenge arc or a cautionary tale told with pitchforks. It\u2019s a survival guide\u2014and a personal one. Inspired in part by Pema Ch\u00f6dr\u00f6n\u2019s When Things Fall Apart, it\u2019s about finding groundlessness in a place that once felt solid, and learning how to stay present and compassionate even when the community you helped build begins to crumble around you.\r\n\r\nWe\u2019ll explore:\r\n\r\nThe subtle warning signs of a community in distress\r\n\r\nWhat \u201ctoxic\u201d actually looks like in open source (hint: it\u2019s often quiet and polite)\r\n\r\nThe emotional labor of community leadership, especially when you\u2019re the one holding everything together\r\n\r\nHow to create space for your own wellbeing while still honoring your values\r\n\r\nAnd, yes\u2014how to begin again. How to grieve a project, rediscover joy, and fall back in love with open source, on your terms.\r\n\r\nIf you've ever asked yourself, \u201cIs it me? Or is this project slowly draining the life out of me?\u201d\u2014this talk is for you. Spoiler: It\u2019s not just you. Let\u2019s talk about what happens when things fall apart\u2014and how we hold it together anyway.", + "conf_url": "http://2025.fossy.us/schedule/presentation/323/", + "cancelled": false + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-01T15:25:00", + "end": "2025-08-01T15:45:00", + "duration": 20, + "kind": "Open", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 390, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-02T15:25:00", + "end": "2025-08-02T15:45:00", + "duration": 20, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 383, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "BlueHats: Public servant advocates for software freedom", + "authors": [ + { + "name": "Michael Downey", + "name_pronunciation": "", + "pronouns": "he / him", + "twitter": "", + "mastodon": "https://floss.social/@downey", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/a464826403d1b78bb3f8fbf6a86791ab?s=120&d=mp", + "code": "480", + "biography": "Michael Downey is an international civil servant, working on free & open source software programs for the world's largest international development agency. He has been involved in FOSS for several decades, as a user of, advocate for, and contributor to many free software projects. He helped lead OpenMRS, for which he accepted the FSF Award for Projects of Social Benefit in 2013, and has served on multiple project and nonprofit boards. Michael holds two undergraduate engineering degrees and his doctoral research focused on cross-cultural computer supported cooperative work.", + "username": "" + } + ], + "abstract": "BlueHats is a worldwide community of public servants (teachers, researchers and other government workers, etc.) who promote FOSS use in, by, and for the public sector. BlueHats believe that tax money spent on software development should result in Free Software, and they support the principle of \"public money, public code\". All public servants around the world are invited to join this movement, so come and learn more about the movement and help us spread the word!", + "conf_url": "http://2025.fossy.us/schedule/presentation/319/", + "cancelled": false, + "mastodon_id": "https://floss.social/@downey" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-01T15:25:00", + "end": "2025-08-01T15:45:00", + "duration": 20, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Science of Community", + "conf_key": 394, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "From Campus to Network: Creating the UC System-Wide OSPO Initiative", + "authors": [ + { + "name": "Laura Langdon", + "name_pronunciation": "", + "pronouns": "She/her", + "twitter": "", + "mastodon": "https://hachyderm.io/@LauraLangdon", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/836babfb7950aba69f914ca2c221a9b2?s=120&d=mp", + "code": "454", + "biography": "Laura Langdon is an Open Source Community Manager for the Open Source Program Office (OSPO) network of the University of California. With a focus on the humans in tech communities, Laura is passionate about documentation, diversity and inclusion across all axes, and social responsibility. Working diligently to connect people within the UC open source community to one another and to the greater world of open source, her responsibilities include planning meetups, helping to connect aspiring contributors with projects and vice versa, and creating educational materials about OSS workflows.\r\n\r\nLaura has previous experience as a developer advocate at Suborbital Software Systems (acquired by F5), and previously as a math lecturer at CSU East Bay. This diverse background in both academia and industry provides her with unique insights into making technical concepts accessible and fostering inclusive community growth. Her approach combines analytical thinking from her mathematics background with a deep understanding of developer experience and community dynamics.\r\n\r\nIn her free time, Laura enjoys recreational research and optimizing all the things.", + "username": "" + } + ], + "abstract": "Laura Langdon from the UC OSPO Network will share lessons learned from the early stages of building a network of academic OSPOs across the UC system. Representing the team that supports the six campuses in the UC OSPO Network, she will discuss both benefits and challenges encountered while developing this first-of-its-kind system-wide network. She will explore how her experiences with the network's three core working groups\u2014sustainability of open source development, discovery of open source work in research, and education in fostering open source skills\u2014have shaped her understanding of successful OSPO networks. Laura will focus on building community connections and establishing pathways for collaboration between institutions. Drawing from her first-hand experience, Laura will provide practical insights for others looking to establish OSPO networks in their institutions.", + "conf_url": "http://2025.fossy.us/schedule/presentation/344/", + "cancelled": false, + "mastodon_id": "https://hachyderm.io/@LauraLangdon" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-02T15:25:00", + "end": "2025-08-02T15:45:00", + "duration": 20, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "XMPP", + "conf_key": 384, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Messaging interoperability with MLS, MIMI and XMPP", + "authors": [ + { + "name": "Marvin W.", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "@larma@mastodon.social", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/6686d0e828a3927f07f44b93ce1224fb?s=120&d=mp", + "code": "512", + "biography": "Marvin is a free software hacker and open protocol enthusiast. He has been contributing to free software for more than 15 years, focusing on free Android and federated instant messaging. Today, he's project leader at microG, a core developer of the XMPP client Dino, a member of the technical council of the XMPP Standards Foundation and a contributor to the MIMI working group at the IETF.", + "username": "" + } + ], + "abstract": "XMPP was and still is the major open standard for federated instant messaging, originally designed to allow bridging between existing networks.\r\n\r\nIn recent years, due to ongoing regulatory efforts, a new attempt at interoperability between instant messengers, MIMI (More Instant Messaging Interoperability), was started at the IETF, the internet protocol standardization body. Based on the latest and greatest end-to-end-encryption standard MLS (Messaging Layer Security) it's meant to partially provide what XMPP failed to deliver. This talk will give an overview on the topics of MLS and MIMI and how it can play together with XMPP.", + "conf_url": "http://2025.fossy.us/schedule/presentation/288/", + "cancelled": false, + "mastodon_id": "@larma@mastodon.social" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-01T15:25:00", + "end": "2025-08-01T15:45:00", + "duration": 20, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 381, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-01T15:45:00", + "end": "2025-08-01T16:30:00", + "duration": 45, + "kind": "Coffee/tea break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 385, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Coffee, tea, and snack break" + }, + { + "room": "", + "rooms": [], + "start": "2025-07-31T15:45:00", + "end": "2025-07-31T16:30:00", + "duration": 45, + "kind": "Coffee/tea break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 235, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Coffee, tea, and snack break" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-03T15:45:00", + "end": "2025-08-03T16:30:00", + "duration": 45, + "kind": "Coffee/tea break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 238, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Coffee, tea, and snack break" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-02T15:45:00", + "end": "2025-08-02T16:30:00", + "duration": 45, + "kind": "Coffee/tea break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 237, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Coffee, tea, and snack break" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-03T16:30:00", + "end": "2025-08-03T17:15:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 359, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Decentralization\r\n\r\nPad link" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-02T16:30:00", + "end": "2025-08-02T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "XMPP", + "conf_key": 357, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Adventures in Onboarding: Helping New Users Navigate Federated Services", + "authors": [ + { + "name": "Gideon Mayhak", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/e6de53a7781b92ebfd24322b0854506c?s=120&d=mp", + "code": "468", + "biography": "Gideon is a longtime user and supporter of free open source software. With over 20 years of experience supporting and training users across both proprietary and open systems, he has a love for working with people to figure things out. Gideon currently works on the support team for JMP.", + "username": "" + } + ], + "abstract": "Tales from the front lines of supporting new users of federated services! We've all been there: you're excited about a new technology and you want to tell your friends. You've already gotten into the weeds and you come on a bit too strong. Does your friend need to know what \"XMPP\u201d stands for? Does it matter if they know what a domain is?\r\n\r\nThis talk will be a review of common stumbling blocks for new users, tips on keeping things simple with your friends and family, and a discussion about how to help people grow into their newfound communities. We\u2019ll also take a closer look at demystifying common terms in the world of XMPP so you\u2019re ready to answer some of the tougher questions in life, like, \u201cWhat is a Snikket?\u201d\r\n\r\nCome learn more about open federated systems and how you can help others join in on the fun!", + "conf_url": "http://2025.fossy.us/schedule/presentation/285/", + "cancelled": false + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-01T16:30:00", + "end": "2025-08-01T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 312, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "The Cathedral and the Bizarre, or Dual-Booting for Fun and Prophet: Using Linux to Enhance TempleOS", + "authors": [ + { + "name": "Toby Betts", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "https://bsd.network/web/@xenotrope", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/4ff768bee24c09f7ef8dfde4c4e9d184?s=120&d=mp", + "code": "492", + "biography": "Toby Betts has been breaking and, when possible, fixing computers since childhood. He has worked as a system administrator, a service engineer, a site reliability engineer, and a free and open source software consultant for mid- to large-sized businesses for over 25 years. His main interests are system security, free cryptography, and fun file systems.", + "username": "" + } + ], + "abstract": "Dual-booting is a useful method to run two operating systems on the same machine. Different OSes might help you harness the full potential of your hardware, or it may be necessary because of software limitations. It lets you tailor your computing experience to your own unique needs. Yet few people run different operating systems from the same disk partition, where both OSes coexist in the same place in the same file system. This talk will outline the steps to combine Linux with another open source OS known as TempleOS in a very small amount of disk space, and how blending them together can create a unique and fun programming experience.", + "conf_url": "http://2025.fossy.us/schedule/presentation/324/", + "cancelled": false, + "mastodon_id": "https://bsd.network/web/@xenotrope" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-03T16:30:00", + "end": "2025-08-03T17:15:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 373, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "FOSS Graphic Design / Rust Firmware Emedded\r\n\r\nPad link" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-02T16:30:00", + "end": "2025-08-02T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 313, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "I Didn't Know Postgres Could Do That!", + "authors": [ + { + "name": "Robert Treat", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/739be9db242144203129281edc44df36?s=120&d=mp", + "code": "538", + "biography": "", + "username": "" + } + ], + "abstract": "PostgreSQL is often thought of as \"The Database for DBAs\", but what more\r\nand more developers are finding out is that what makes Postgres \"The\r\nWorlds Most Advanced Open Source Database\" is its wide array of\r\nfeatures, many of which are really geared towards users who want to\r\nbuild applications on top of Postgres.\r\n\r\nIn this talk, we'll look at some of the features in Postgres you may not\r\nhave seen in other database systems, and talk about how you can make use\r\nof those features in your applications. Queries, indexing, data types,\r\nand more will all be up for discussion as we show you examples of just\r\nwhat Postgres can do.", + "conf_url": "http://2025.fossy.us/schedule/presentation/366/", + "cancelled": false + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-01T16:30:00", + "end": "2025-08-01T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 301, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-03T16:30:00", + "end": "2025-08-03T17:15:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 343, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Effects of Political Polarization on FOSS Communitites / Governance, Cooperatives, etc.\r\n\r\nPad link" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-07-31T16:30:00", + "end": "2025-07-31T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Distros", + "conf_key": 279, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "A Hyperscaler\u2019s operating system strategy: working with CentOS and Fedora", + "authors": [ + { + "name": "Michel Lind", + "name_pronunciation": "", + "pronouns": "he/him/his", + "twitter": "", + "mastodon": "@michelin@hachyderm.io", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/00ce1b459eedb9e85d976cd6a15deced?s=120&d=mp", + "code": "495", + "biography": "Michel Lind (n\u00e9 Salim) is a Fedora contributor in various capacity (proven packager, packager sponsor, serving in leadership committees) since almost the beginning; CentOS Proposed Updates SIG co-chair and Hyperscale SIG contributor. He is alao a Debian Maintainer, and has contributed to openSUSE, Fink and MacPorts in a previous life.\r\n\r\nIn his day job, Michel is a Production Engineer on the Linux Userspace team at Meta, which is responsible for the CentOS Stream deployment on the production fleet.", + "username": "" + }, + { + "name": "Davide Cavalca", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/a155f72c31d87a5a1175a34dbd708c14?s=120&d=mp", + "code": "473", + "biography": "Davide Cavalca is a Production Engineer at Meta on the Linux team. Davide has worked in the systems space for more than 15 years, always with a strong focus towards open source and automation. Davide serves on the CentOS Board of Directors, co-chairs the CentOS Hyperscale SIG and actively participates in a number of other SIGs to drive the project forward. Davide is also involved in Fedora, where he sits on the EPEL Steering Committee, and has helped drive the development of several major distribution features. Davide also sits on the Asahi Linux Governance Board and is actively involved in the project, where he helps develop Fedora Asahi Remix within the Asahi SIG in Fedora.", + "username": "" + } + ], + "abstract": "When an organization's Linux deployment gets large enough, a curious emergent property appears - the incentives start to favor developing in-house Linux expertise, as opposed to outsourcing operating systems support to external vendors.\r\n\r\nAt the same time, given the scale involved, such organizations tend to prefer having a stable base to build on - thus the appeal of slower-moving enterprise distributions, except with in-house customizations on top.\r\n\r\nIn this talk we are going to discuss some of the choices we made at Meta for our Linux fleet, and the thought process behind that. We hope that organizations in a similar situation can benefit from our experience, and that community members whose interests are aligned can benefit from our contributions and consider participating in the community projects we are involved in.", + "conf_url": "http://2025.fossy.us/schedule/presentation/308/", + "cancelled": false, + "mastodon_id": "@michelin@hachyderm.io" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-07-31T16:30:00", + "end": "2025-07-31T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 317, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-07-31T16:30:00", + "end": "2025-07-31T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Foss in Daily Life", + "conf_key": 283, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Mobile Gaming with FOSS", + "authors": [ + { + "name": "Edward Ly", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/72d2bdb2786e00a09b872eba4042f338?s=120&d=mp", + "code": "463", + "biography": "Dr. Edward Ly is a Portland, Oregon native who now works as a software engineer at Nextcloud as part of a team that develops ethical AI solutions and supports the greater Nextcloud and free software community. Previously, he obtained his Ph.D. in Computer Science and Engineering from the University of Aizu, where he conducted research on machine learning in digital audio signal processing applications and published his work as free software. He has also successfully given public talks at various academic research conferences (AES, EvoStar) and open source events (FOSSY, Nextcloud Community Conference), all while being openly autistic.\r\n\r\nIn his spare time, Edward enjoys playing video games, as well as occasionally producing electronic dance music and making DJ mixes (all with free software!).", + "username": "" + } + ], + "abstract": "Mobile gaming is an industry that is rapidly growing to the point where it is now more popular (and profitable) than PC and console gaming combined. Yet, much of the well-known efforts to support gaming on Linux (e.g. emulators, compatibility layers, gaming-focused distributions) remains within the PC and console gaming spaces. This talk will briefly explain the state of mobile gaming today, as well as why and how FOSS game development should expand into the mobile sector. Whether you are a gamer or a developer (no matter your skill level), come join us to learn about the best mobile games you haven't heard yet or even how to get started developing one yourself!", + "conf_url": "http://2025.fossy.us/schedule/presentation/311/", + "cancelled": false + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-07-31T16:30:00", + "end": "2025-07-31T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 321, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "The Subtle Art of Lying with Statistics", + "authors": [ + { + "name": "Dave McAllister", + "name_pronunciation": "", + "pronouns": "", + "twitter": "dwmcallister", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/656386e71dc97e0cb9bc0f8cd62e6e53?s=120&d=mp", + "code": "442", + "biography": "Currently providing open source technical evangelism for NGINX, Dave works with DevOps, developers and architects to understand the advantages of modern architectures and orchestration to solve large-scale distributed systems challenges, using open source and its innovation. Dave has been a champion for open systems and open source from the early days of Linux to today's world of OpenTelemetry and observability. \r\n\r\nDave was named as one of the top ten pioneers in open source by Computer Business Review, having cut his teeth on Linux and compilers before the phrase \"open source\" was coined. Well-versed in trivia, he won a Golden Penguin in 2002. When he's not talking, you can find him hiking with his trusty camera, trying to keep up with his wife.", + "username": "" + } + ], + "abstract": "\"Lies, damned lies and statistics.\" While true, only statistics allow you to lie to yourself.\r\n\r\nLet's explore how statistics can sometimes trick us into believing something untrue. This isn't always done intentionally; we mislead ourselves without realizing it. We'll look at how focusing solely on recent events, choosing specific data to look at, and making assumptions about the size of a group can lead us to the wrong conclusions. We'll show examples of how graphs and numbers can be used in misleading ways. The presentation aims to teach you to look at statistics more critically, understand their limits, and avoid fooling yourself with numbers.", + "conf_url": "http://2025.fossy.us/schedule/presentation/314/", + "cancelled": false, + "twitter_id": "dwmcallister" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-02T16:30:00", + "end": "2025-08-02T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "FOSS in Education", + "conf_key": 341, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "A Multi-Campus Survey of Open Source Contributors at the University of California", + "authors": [ + { + "name": "Virginia Scarlett", + "name_pronunciation": "", + "pronouns": "she/they", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/052490033edbad50be77ee78a70ad71e?s=120&d=mp", + "code": "456", + "biography": "Virginia's early career consisted of original research in plant biology related to biofuels, and she received her PhD in plant biology from the University of California (UC) Berkeley in 2022. Towards the end of graduate school, her interest in open science led her to shift her focus from biological research to research support. From 2022-2024, she was the Open Data Specialist at the Howard Hughes Medical Institute's Janelia research campus, where she advised researchers on data management, and was the primary author of a strategic report on the institute's data management strategies. In February 2024, she became the Open Source Programs Specialist at the UC Santa Barbara Library. In this role, she is conducting discovery work for the UC OSPO Network Project, an initiative funded by the Alfred P. Sloan foundation to expand open source support services at the University of California.", + "username": "" + } + ], + "abstract": "Once considered a radical experiment, open source is now ubiquitous in the modern technology landscape, and appears to be here to stay. In the technology industry, the Open Source Program Office (OSPO) is a common way to centralize a company\u2019s open source strategy, knowledge, and diligence. Meanwhile, OSPOs are just beginning to take root in academia. This shift reflects the increased recognition by universities and other organizations that academic open source contributions are valuable, numerous, and worth sustaining. While guidance for university OSPOs is emerging, many questions remain about how academic support staff and their partners can best support their university\u2019s strategic priorities and their community\u2019s needs.\r\n\r\nThe University of California (UC) OSPO Network is a groundbreaking project to establish a highly collaborative network of OSPOs at UC campuses. We in the UC OSPO Network are working to develop infrastructure for open source education, discovery, and sustainability at UC by pooling our resources and knowledge. To develop our strategic priorities and to assess the state of UC open source, we conducted a survey in April 2025 of more than 180 UC-affiliated open source contributors. This survey reveals common challenges faced by open source contributors, as well as potential remedies to those challenges. In addition to soliciting contributor perspectives, the survey also solicited contributors\u2019 GitHub usernames, which we are now using to analyze UC open source repositories and their characteristics. Our survey will inform other UC OSPO network projects, promote community among open source enthusiasts at UC, and serve as a template that other universities may draw from. This study will shed light on how and why academics contribute to open source projects, as well as some of the barriers that might be holding them back.", + "conf_url": "http://2025.fossy.us/schedule/presentation/334/", + "cancelled": false + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-02T16:30:00", + "end": "2025-08-02T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 335, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-07-31T16:30:00", + "end": "2025-07-31T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Linux Kernel", + "conf_key": 252, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Linux kernel test automation with kdevops", + "authors": [ + { + "name": "Luis Chamberlain", + "name_pronunciation": "", + "pronouns": "Dude", + "twitter": "", + "mastodon": "mcgrof", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/ba45cc474c6f30d2c1b4d63a98ac9283?s=120&d=mp", + "code": "488", + "biography": "Luis is a Principal Engineer at Samsung focusing the development and adoption of future Samsung NVMe storage & memory solutions with a focus on artificial intelligence. Luis has been working on the Linux kernel for over 20 years, and his fields of interest has changed over time, from Wireless, Bluetooth, Ethernet, to virtualization and lately with storage and memory technologies. He has also helped spearhead different new automation open source projects such as the Linux kernel backports project and as of late the kdevops project.", + "username": "" + } + ], + "abstract": "We have a slew of ways to test the Linux kernel: selftests, kunit, and then we have a slew of subsystem specific tests. Intel 0-day has also done a fantastic job at helping find bugs. So has syzkaller. Some subsystems like filesystems and memory management have really complex test frameworks though and have falling behind in automation. Is it possible to automate testing of complex subsystems? Should we? And what are the implications if we're successful?\r\n\r\nTo provide perspective, it takes roughly 10 years to stabilize a new Linux filesystem. But can we do better? The kdevops project was started with the goal of first of addressing automation of testing of complex subsystems such as filesystems to help reduce the amount of time it takes to stabilize new filesystems or new filesystem features. The project aimed at supporting local virtualization, bare metal, and all cloud provider support. Seven years later since the project got started, with the help of a lot of community collaboration the project is now integral part not only of testing pipelines but also development workflows. The kdevops project now enables continuous integration for different subsystems starting with:\r\n\r\n * Linux modules\r\n * Linux radix tree\r\n * Linux filesystems: xfs, btrfs, ext4\r\n * Linux network filesystems: NFS\r\n * Linux selftests\r\n\r\nA dashboard of results is now also updated automatically based on automatic tests: https://kdevops.org\r\n\r\nWhat have we learned from all this effort so far? And what lies ahead for the roadmap? If you want to contribute and help how do you do that?", + "conf_url": "http://2025.fossy.us/schedule/presentation/301/", + "cancelled": false, + "mastodon_id": "mcgrof" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-01T16:30:00", + "end": "2025-08-01T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Databases", + "conf_key": 289, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Observing Postgres in action using OpenTelemetry", + "authors": [ + { + "name": "Basil Bourque", + "name_pronunciation": "", + "pronouns": "", + "twitter": "Basil_Dot_Work", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/fd7d468df3c840f14c1f76ffae7a73ff?s=120&d=mp", + "code": "485", + "biography": "A graybeard developer, custom crafting database-backed apps for enterprise departments over the decades. And shipped a couple of iOS mobile apps. And built a few web apps for micro startups. And wrote way too many Stack Overflow posts.", + "username": "" + } + ], + "abstract": "While debugging in development, or troubleshooting in production, we need to monitor the conditions and behavior of the various components in our systems. One of those components is the database server. We need to look inside the black box that is our database server.\r\n\r\nMuch progress has been made in instrumenting, generating, collecting, and exporting telemetry data (metrics, logs, and traces) to help us analyze our software systems\u2019 performance and behavior. While various proprietary and open-source products have advanced this field of observability, the industry has recognized the need to create a single collection of APIs, SDKs, and tools that can work in a vendor-neutral manner across the many implementations. The open-source community-driven project OpenTelementry is that solution.\r\n\r\nNow Postgres has gained support for OpenTelemetry. Let's look at how observability works, and how Postgres uses OpenTelemetry to provide the operations data that DBAs, SysAdmins, and developers need.", + "conf_url": "http://2025.fossy.us/schedule/presentation/294/", + "cancelled": false, + "twitter_id": "Basil_Dot_Work" + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-03T16:30:00", + "end": "2025-08-03T17:15:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 368, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Copyleft- next / Articulating stakeholders and goals for FOSS licensing\r\n\r\nPad link" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-03T16:30:00", + "end": "2025-08-03T17:15:00", + "duration": 45, + "kind": "Unconference", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 378, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "What if git was nice to use? / Community Supporting Safety\r\n\r\nPad link" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-02T16:30:00", + "end": "2025-08-02T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Science of Community", + "conf_key": 351, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Agile/Scrum for Open Source Community Projects", + "authors": [ + { + "name": "Tess Gadwa", + "name_pronunciation": "", + "pronouns": "she/her", + "twitter": "Thematizer", + "mastodon": "https://mastodon.social/@thematizer", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/476aa66c4543e0fbda9d244b2e002799?s=120&d=mp", + "code": "520", + "biography": "Tess is a passionate advocate of free software and bridging the gap between the arts and technology. She has lectured in Asia, North America, and Europe about the practical and ethical implications of open source, usability, and the connection between creativity and code.\r\n\r\nIn January 2011, Tess launched Yes Exactly, a managed hosting company serving early stage startups and community organizations. As CEO, she led the push to release Zappen, an AR app licensed under the LGPL 3.0. This augmented reality app contained the first fully functional open source implementation of mobile visual search. She sold her company in 2017 and went on to create Lotus FM, a consulting firm specializing in applications of data visualization for music discovery, philanthropy, and financial services. In 2023, she chose to license her proprietary Lotus Petal Architecture framework under a Creative Commons license, making it freely available for non-commercial and educational purposes.\r\n\r\nSerious bouts of Repetitive Strain Injury and fibroids transformed Tess into an unexpected activist for disability rights and women's health. She is currently completing a yearlong engagement evaluating the feasibility and market potential of a blockchain patient health experience platform. Preliminary findings and whitepaper may be viewed at https://healthexperiencerepository.net.", + "username": "" + } + ], + "abstract": "When Agile/Scrum is adapted effectively for FOSS, it holds significant advantages over the \"benevolent dictator\" model -- both in inclusivity and in building morale and participation.\r\n\r\nThe talk assumes:\r\n\r\n- Primarily online contributors\r\n- A mix of paid and volunteer team members\r\n- Contributors at a range of skill levels\r\n- Contributors in non-coding roles (documentation, design, and user research) as well as development roles\r\n\r\nIt would build on lessons learned from Giving Map (givingmap.org) a grant-funded applied data visualization initiative that ran from 2020-21. However, these best practices can be applicable to a broad range of projects.", + "conf_url": "http://2025.fossy.us/schedule/presentation/356/", + "cancelled": false, + "twitter_id": "Thematizer", + "mastodon_id": "https://mastodon.social/@thematizer" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-01T16:30:00", + "end": "2025-08-01T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Science of Community", + "conf_key": 295, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "It's all about the ecosystem!", + "authors": [ + { + "name": "Ben Ford", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "", + "mastodon": "@binford2k@hachyderm.io", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/7c9b171fae4259544460654d2b5f3304?s=120&d=mp", + "code": "505", + "biography": "Founder, Community Builder, and Developer Advocate; Ben gets to build neat things -and- talk to people! \\o/\r\n\r\nBen is a software engineer and community leader with extensive knowledge and expertise in the Puppet ecosystem. He's honored to call many of you friend and learn from you every day. He's been organizing Linux Users Groups, run clubs, and roller derby teams for most of his adult life and even a bit before that. Before coming to Puppet, he taught Anthropology grad students how to code in Java and then used that experience to introduce Puppet to many of you.\r\n\r\nBen has been obsessed with collective benefit for decades and is motivated by enabling the success of others. He's been dreaming of a world in which his skills don't just feed the capitalist maw. He is a long-distance runner but isn't interested in boasting about race times; he'd rather hear how your race went for you.\r\n\r\nHe's currently building a VC-free company at https://overlookinfratech.com. Find him online at https://hachyderm.io/@binford2k", + "username": "" + } + ], + "abstract": "You may or may not remember Steve Ballmer's famous \"developers, developers, developers\" cheer from the late 90's, but Microsoft has known something for a very long time that some OSS companies might learn from. When a tool or product exists in order to run third-party content -- that third-party content is the real value of your tool because without that content, there's no reason to buy the product.\r\n\r\nCommercially supported open source projects often lose track of this real value. And all too often, they learn that hard fact after community-hostile decisions decimate their ecosystem. SaltStack learned this the hard way, so did Hashi, Chef, Redis, and others.\r\n\r\nI'd like to talk about the idea that the ecosystem is the product and the thing that you build and sell only exists to support it. It's a subtle but important shift in mindset that I think helps keep focus on what's really important, and I'm using it to help direct the projects that I'm working on now.I\r\n\r\n\r\nSlide deck can be viewed here: https://binford2k.github.io/all_about_ecosystem/", + "conf_url": "http://2025.fossy.us/schedule/presentation/351/", + "cancelled": false, + "mastodon_id": "@binford2k@hachyderm.io" + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-01T16:30:00", + "end": "2025-08-01T17:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 330, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-02T17:15:00", + "end": "2025-08-02T17:30:00", + "duration": 15, + "kind": "Break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 258, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "", + "rooms": [], + "start": "2025-07-31T17:15:00", + "end": "2025-07-31T17:30:00", + "duration": 15, + "kind": "Break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 256, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-03T17:15:00", + "end": "2025-08-03T18:30:00", + "duration": 75, + "kind": "Opening Remarks", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 228, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Closing Remarks" + }, + { + "room": "", + "rooms": [], + "start": "2025-08-01T17:15:00", + "end": "2025-08-01T17:30:00", + "duration": 15, + "kind": "Break", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 257, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-02T17:30:00", + "end": "2025-08-02T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "XMPP", + "conf_key": 358, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "How do you solve a problem like iOS?", + "authors": [ + { + "name": "Stephen Paul Weber", + "name_pronunciation": "", + "pronouns": "", + "twitter": "singpolyma", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/3ab4d3a66e470ce10eb7ec812fab3c46?s=120&d=mp", + "code": "447", + "biography": "Stephen is a long-time software freedom enthusiast, semi-retired from industry to focus on promoting freedomware solutions to problems faced by everyday people. Stephen currently helps run the Soprani.ca project and the related JMP.chat freedomware-based telephony provider.", + "username": "" + } + ], + "abstract": "The user experience of those trapped in the Apple ecosystem has for years been a problem for the open source XMPP community. Not many community developers use that ecosystem, and so little development and testing goes towards it. After all we want to use freedomware operating systems on all our devices!\r\n\r\nYet it remains an issue because, as a communications network, many people have friends and family they wish to connect with who use Apple devices. Not having a good, freedom-respecting solution for those people means they often feel pulled towards proprietary walled gardens instead in order to be able to communicate.\r\n\r\nI have been working on this problem for some time and will detail my approach using standard technologies to close most of this gap without any Apple devices at all, the benefits of an extensible standard like XMPP on achieving this, and how this might help other communities as well.", + "conf_url": "http://2025.fossy.us/schedule/presentation/284/", + "cancelled": false, + "twitter_id": "singpolyma" + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-07-31T17:30:00", + "end": "2025-07-31T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Linux Kernel", + "conf_key": 260, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "The big-endian RISC-V Linux Adventure", + "authors": [ + { + "name": "Ben Dooks", + "name_pronunciation": "", + "pronouns": "he/him", + "twitter": "bjdooks", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/08d94c1c08103fcdd9c14a8bdb316e39?s=120&d=mp", + "code": "450", + "biography": "Long time open source contributor to the Linux kernel, qemu and other projects for both work and personal fun. Experience in various hardware and board bringup on arm32, arm64, riscv64 and electronic design.", + "username": "" + } + ], + "abstract": "The latest RISC-V ISA specification allows for runtime configuration of the data endian between little and big. Since no one had done this before, we decided to investigate how difficult it would be to get an prototype Linux implementation running in big endian on an emulated RISC-V system such as under QEMU.\r\n\r\nThe talk goes from the description of the new ISA feature, our initial analysis and the modifications to software such as the Linux kernel, QEMU and OpenSBI that where needed. This then goes into the issues that we found and how to fix them. This includes kvm and how that works with mixed endian kvm instances, and the modifications to kvmtool to make this work.\r\n\r\nWe conclude with how the project went, what we published and a call to arms to continue testing and fixing outstanding issues.", + "conf_url": "http://2025.fossy.us/schedule/presentation/302/", + "cancelled": false, + "twitter_id": "bjdooks" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-02T17:30:00", + "end": "2025-08-02T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 304, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Reversing Metcalfe's Law: undermining the software-service\u2013industrial complex with .zip files", + "authors": [ + { + "name": "Nathan Willis", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/3ca112e70c96f0995e6c22d629065a9d?s=120&d=mp", + "code": "409", + "biography": "Nathan Willis is a type designer and consultant who arguably spends too much of his time thinking about personal-data exports, linkrot, and the use of conjunctions in software documentation. He currently owns no pets, and is using predictive next to complete this sentence to reach the recommended word-count; and I don't know what to do so I can find out if you can get a chance to chat with me about it on the way home till after 6pm pm but I will be there in a few minutes until the last time I get home I think that I can find out if you can get a chance to chat with me about it on the way home.", + "username": "" + } + ], + "abstract": "Portability and data sovereignty are often touted as critical principles for ensuring user privacy in the age of always-connected Internet services: the ability to archive and export your information ensures that you cannot be held captive by a provider that falls short on ethics or security. The tricky bit comes when users attempt to unpack this exported data and put it to proper use. This talk examines the free-software tools available to access common exported data sets and addresses the complexities faced when re-purposing account data or transforming it for use in free systems. Emphasis is placed on how desktop Linux distributions and server-side free-software networks could provide a better and more integrated experience. Datasets examined include email, messaging, media, bookmarks and favorites from discussion forums, geolocation history, health records, contacts and calendars, and social media posts.", + "conf_url": "http://2025.fossy.us/schedule/presentation/320/", + "cancelled": false + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-07-31T17:30:00", + "end": "2025-07-31T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 322, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "open source for fun and profit", + "authors": [ + { + "name": "Milo Oien-Rochat", + "name_pronunciation": "", + "pronouns": "He/Him", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/e5529aaf1b527aa9e0bdcd2dc256437d?s=120&d=mp", + "code": "467", + "biography": "Milo is fighting for open source and sustainability from inside the machine. He has open sourced two 3M projects: gitpyup and plotme. 3M open source code can be found at https://github.com/3mcloud He contributes back to the projects he uses. For example he added a missing feature in ezdxf and fixed a bug in pyaedt. He is planting seeds within 3M to support open source financially.\r\n\r\nAt home, Milo is a Linux and self-hosting enthusiast. He runs NixOS and shares his flake with desktop and server configurations on GitHub under an MIT licence.\r\n\r\nAway from screens, Milo cooks creatively, sings in a choir and walks in the woods.\r\n\r\nSocial media is real bad so Milo can be found on GitHub where he donates to Bazzite, KDE and GrapheneOS.", + "username": "" + } + ], + "abstract": "Learn how to convince your employer to open source internal projects and how to effectively contribute to open source projects while at work. I will share examples of open sourced projects and contributions to existing projects from my work at 3M Company.\r\n\r\nThis talk will cover exciting topics such as.\r\n* Employee contracts\r\n* Find/set up an open source watering hole\r\n* Do your homework/arrive with a plan\r\n* Your attorney is a person too\r\n* Pro/con lists\r\n* The odds are in your favor\r\n* Get good at Git\r\n* Remove sensitive data (like email addresses) from git repos\r\n* Make friends in IT\r\n* Set a trend make a friend", + "conf_url": "http://2025.fossy.us/schedule/presentation/321/", + "cancelled": false + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-02T17:30:00", + "end": "2025-08-02T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "FOSS in Education", + "conf_key": 336, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Recipe for Discovery: Building the UC Open Source Repository Browser From Scratch", + "authors": [ + { + "name": "Juanita Gomez", + "name_pronunciation": "", + "pronouns": "She/Her", + "twitter": "juanitagomezr", + "mastodon": "juanitagomezr@fosstodon.org", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/fa732f0c9b0de4a8087d52ffc216512a?s=120&d=mp", + "code": "522", + "biography": "Juanita Gomez is a Ph.D. candidate in Computer Science at UC Santa Cruz, where her research focuses on improving the security of scientific open source software in collaboration with the Open Source Program Office (OSPO) at UCSC. She is a passionate programmer, mathematician, and open-source advocate, former developer of Spyder IDE at Quansight and current community leader for the Scientific Python project, a community effort to better coordinate and support scientific Python libraries.", + "username": "" + } + ], + "abstract": "The University of California\u2019s network of Open Source Program Offices (OSPOs) launched last year, bringing together six campuses (UC Santa Cruz, Berkeley, Davis, Los Angeles, Santa Barbara, and San Diego) to support open source research, promote sustainability, and establish best practices within academic environments. A key challenge in this effort is identifying and connecting open source projects across the system. Despite UC\u2019s significant contributions to open source, there is no centralized way to track these efforts, making it difficult for researchers to find relevant projects, for institutions to assess impact, and for the broader community to engage with UC\u2019s open source work. To address this, the UC OSPO Network is developing the UC Open Source Repository Browser (UC ORB), a discovery tool designed to map and classify UC\u2019s open source projects. This talk will explore the process of building the UC ORB, from leveraging the GitHub API for data collection to integrating automated discovery with targeted outreach to the academic community. We will discuss the challenges of repository identification, compare similar approaches, and share lessons learned throughout the process.", + "conf_url": "http://2025.fossy.us/schedule/presentation/357/", + "cancelled": false, + "twitter_id": "juanitagomezr", + "mastodon_id": "juanitagomezr@fosstodon.org" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-01T17:30:00", + "end": "2025-08-01T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 296, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-02T17:30:00", + "end": "2025-08-02T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 324, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "328", + "rooms": [ + "328" + ], + "start": "2025-08-01T17:30:00", + "end": "2025-08-01T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Supporting User Groups", + "conf_key": 323, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "DevOps is a Foreign Language (or Why There Are No Junior SREs)", + "authors": [ + { + "name": "Joshua Lee", + "name_pronunciation": "", + "pronouns": "He/him", + "twitter": "joshleecreates", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/afbbd1ad7dbbfa718a0d9bd5e11b0e5d?s=120&d=mp", + "code": "490", + "biography": "Josh is a seasoned software developer with over a decade of experience, specializing in a broad range of topics including operations, observability, agile methodologies, and accessibility. His passion for technology is matched by his enthusiasm for sharing knowledge through public speaking. Currently, Josh serves as a Developer Advocate for Altinity, where he creates educational content on ClickHouse and OpenTelemetry. Additionally, he is an active contributor to the OpenTelemetry project, helping to advance the field of observability in software development.", + "username": "" + } + ], + "abstract": "DevOps has a notoriously steep learning curve. Getting started in the field can feel like being dropped in a foreign country without the ability to understand *anything* about the language. \r\n\r\nA language is more than just the syntax and semantic rules of the words themselves. It also encompasses the shared culture of the speakers. With the proliferation of programming languages as well as the deeply held cultural beliefs of the community, it's easy to see that learning DevOps is like trying to learn a foreign language.\r\n\r\nI will review five foundational hypotheses from the field of Second Language Acquisition and relate these hypotheses back to the world of DevOps. DevOps practitioners, trainers, tool builders, and learners should all come away with useful insights to apply to their practice.", + "conf_url": "http://2025.fossy.us/schedule/presentation/297/", + "cancelled": false, + "twitter_id": "joshleecreates" + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-07-31T17:30:00", + "end": "2025-07-31T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 280, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "338", + "rooms": [ + "338" + ], + "start": "2025-08-01T17:30:00", + "end": "2025-08-01T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Wild Card", + "conf_key": 303, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Building AI applications with Open-source database - PostgreSQL", + "authors": [ + { + "name": "Gauri", + "name_pronunciation": "", + "pronouns": "She/Her", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/7c4dce74c7a9e66a6a6979de0c089615?s=120&d=mp", + "code": "460", + "biography": "Gauri Kasar works as a PM at Microsoft in the Azure Database for PostgreSQL team. Before joining Microsoft, Gauri worked as a Software Engineer with Oracle and Quantiphi. Her career spans building scalable backend systems, launching customer-facing features, and working closely with cross-functional teams to deliver impactful solutions. She is passionate about AI, open-source technologies, and helping developers get the most out of cloud platforms.", + "username": "" + } + ], + "abstract": "Curious about how to build AI applications with the tools you already know and love? This beginner-friendly session will show you how PostgreSQL can be the backbone of your AI workloads. We\u2019ll break down key concepts like vector embeddings, vector search, and Retrieval-Augmented Generation (RAG) in a simple, easy-to-understand way. Then, we\u2019ll dive into how PostgreSQL\u2019s native features and extensions make it easy to store, search, and scale AI data \u2014 no special infrastructure needed.\r\nBest of all, you'll see everything come to life through a hands-on, step-by-step demo where we\u2019ll build a complete, Generative AI application powered entirely by PostgreSQL.", + "conf_url": "http://2025.fossy.us/schedule/presentation/354/", + "cancelled": false + }, + { + "room": "329", + "rooms": [ + "329" + ], + "start": "2025-08-01T17:30:00", + "end": "2025-08-01T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 302, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-08-02T17:30:00", + "end": "2025-08-02T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Science of Community", + "conf_key": 352, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "Plausible Slop: Generative AI and Open Source Cybersecurity", + "authors": [ + { + "name": "Dr. Kaylea Champion", + "name_pronunciation": "", + "pronouns": "she/her", + "twitter": "", + "mastodon": "@kaylea@social.coop", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/917b3a38a024326d995eb551559fedfb?s=120&d=mp", + "code": "436", + "biography": "Dr. Kaylea Champion studies how people cooperate to build public goods like GNU/Linux and Wikipedia, including what gets built and maintained -- and what doesn't. She has a background in system administration and tech support. She received her PhD in Communication from the University of Washington in 2024. A Linux user since 1994, she enjoys tromping through the woods, smashing goblins, and cooking for a crowd.", + "username": "" + } + ], + "abstract": "Despite speculation that the rise of consumer-grade generative AI tools would trigger the development of more advanced cybersecurity attacks, a more grounded view observes that instead these synthetic text generating tools are eroding the social model of open source cybersecurity through the low-effort extrusion of 'plausible slop': potentially significant and well-formed but ultimately erroneous and unwanted text. The presence of plausible slop in newcomer contributions in the form of bug and security reports to open source software packages requires substantial time commitment from scarce experts. These experts are caught in a double bind: their role dictates that they sort through what is truly dangerous and what is nonsense, and they are charged with both welcoming problem reports from newcomers while also setting strong norms against inauthentic reports. In this talk, I report on my effort so far investigating plausible slop, connect this challenge to previous historical challenges, suggest avenues towards solutions, and seek community feedback to shape next steps.", + "conf_url": "http://2025.fossy.us/schedule/presentation/348/", + "cancelled": false, + "mastodon_id": "@kaylea@social.coop" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-07-31T17:30:00", + "end": "2025-07-31T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Foss in Daily Life", + "conf_key": 284, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "The Future of Fixing Technology", + "authors": [ + { + "name": "Denver Gingerich", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/5ca795f06b3505f43bf7ba26fef37c7d?s=120&d=mp", + "code": "509", + "biography": "Denver is a software right-to-repair and standards activist who is currently Director of Compliance at Software Freedom Conservancy, where he enforces software right-to-repair licenses such as the GPL, and is also a director of the worker co-operative that runs JMP.chat, a FOSS phone number (texting/calling) service. Denver writes free software in his spare time: his patches have been accepted into Wine, Linux, and wdiff. Denver received his BMath in Computer Science from the University of Waterloo. He gives presentations about digital civil rights and how to ensure FOSS remains sustainable as a community and financially, having spoken at conferences such as FOSSY, SCALE, the Canadian Repair Convention, FOSDEM, SFSCON, CopyleftConf, LibrePlanet, LinuxCon North America, CopyCamp Toronto, FOSSLC's Summercamp, and the Open Video Conference.", + "username": "" + } + ], + "abstract": "Computers and the internet had the potential to neutralize existing power structures and bring true equality in access to knowledge and the ability to control technology to the masses. While some power structures have changed, new ones have emerged that threaten to undo the very fabric of modern society. These new power structures promote misinformation, put control of technology in the hands of an elite few, and prevent the masses from customizing or improving the devices that they rely on to communicate with the rest of the world.\r\n\r\nIn the early days of the internet, there was a feeling of excitement about its endless possibilities. There was a sense that it could indeed give us unfettered access to the best information available, and we could use that to improve our technology and our lives. However, events like the Eternal September and many less defined epochs showed that the internet on its own could not maintain its utopic promise. We needed a plan, a way of standing up to power structures and other influences, one that put critical thinking, cultural sensitivity, and user agency at the forefront.\r\n\r\nThe future of fixing our technology and adapting it to each of our individual unique needs and preferences could go a few different ways. In this talk, we'll explore the history of fixing our technology, where we're at now, and what it will take to make this individualized technology future a reality.\r\n\r\nAmong other topics, we'll discuss \"the plan\" for getting there, laying out a few concrete steps that we'll need to take to get where we want to go. Along the way we'll talk about how power structures get dismantled and rebuilt through technological change, and how we can collectively temper the seemingly inevitable swings between different factions of the wealthy elite controlling technology relied upon and available to the masses, so that we eventually approach the asymptote of actual freedom and agency in the computing realities of the average user.", + "conf_url": "http://2025.fossy.us/schedule/presentation/312/", + "cancelled": false + }, + { + "room": "333", + "rooms": [ + "333" + ], + "start": "2025-07-31T17:30:00", + "end": "2025-07-31T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 318, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Slot" + }, + { + "room": "327", + "rooms": [ + "327" + ], + "start": "2025-08-01T17:30:00", + "end": "2025-08-01T18:15:00", + "duration": 45, + "kind": "Talk", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": "Databases", + "conf_key": 290, + "license": "CC-BY-SA", + "tags": "", + "released": true, + "contact": [], + "name": "RAGtime with Postgres: AI Power with pgvector and Retrieval-Augmented Generation", + "authors": [ + { + "name": "Jimmy Angelakos", + "name_pronunciation": "", + "pronouns": "", + "twitter": "", + "mastodon": "@vyruss@fosstodon.org", + "contact": "redacted", + "picture_url": "https://secure.gravatar.com/avatar/f803e0ee8b2c5e637a52f8e1130796aa?s=120&d=mp", + "code": "458", + "biography": "Jimmy Angelakos is a Systems and Database Architect and recognized PostgreSQL expert who has worked with, and contributed to, Open-Source tools for 25+ years. He is passionate about participating in the community, a Contributor to the PostgreSQL project, and an active member of PostgreSQL Europe and US. Jimmy is a regular speaker at conferences and events, sharing his insights with the community. Author of PostgreSQL Mistakes and How to Avoid Them, co-author of PostgreSQL 16 Administration Cookbook.\r\n\r\nMastodon: https://fosstodon.org/@vyruss\r\nBluesky: https://bsky.app/profile/vyruss.org", + "username": "" + } + ], + "abstract": "Retrieval-Augmented Generation (RAG) is a powerful paradigm in application development with AI. In this talk, we'll demonstrate how to leverage PostgreSQL with pgvector to combine the strengths of vector similarity search with Large Language Models (LLMs).\r\n\r\nAs the speaker is a Postgres nerd (not an AI expert), we'll explain in simple terms how to dip your toes into AI while leveraging our favorite database -- from the perspective of a database person learning to work with these new tools.\r\n\r\nWe'll walk through: \r\n\r\n- How to use pgvector to store and search vector embeddings (and what those are)\r\n- How to connect these capabilities with AI LLMs to build intelligent applications. \r\n- Some practical tips for implementation, including configuration, indexing strategies, and scaling considerations\r\n- How to reduce dependency on expensive external AI services by using open-source models while maintaining control over costs and infrastructure\r\n\r\nTo demonstrate these concepts in action, we'll look at a real-world example of building a developer assistance system that helps teams understand their codebase.", + "conf_url": "http://2025.fossy.us/schedule/presentation/295/", + "cancelled": false, + "mastodon_id": "@vyruss@fosstodon.org" + }, + { + "room": "", + "rooms": [], + "start": "2025-07-31T19:00:00", + "end": "2025-07-31T22:00:00", + "duration": 180, + "kind": "Social Event", + "section": "fossy-2025", + "section_name": "FOSSY 2025", + "track": null, + "conf_key": 379, + "license": "CC-BY-SA", + "tags": "", + "released": false, + "contact": [], + "name": "Official Thursday Night Event at Punch Bowl Social\r\n\r\n340 SW Morrison St Suite 4305, Portland, OR 97204\r\nJust quick ~15 minute Max ride from PSU. All attendees are invited!" + } + ] +} \ No newline at end of file diff --git a/schedule/index.html b/schedule/index.html new file mode 100644 index 0000000..e486717 --- /dev/null +++ b/schedule/index.html @@ -0,0 +1,6455 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Conference Schedule + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+ +
+ +
+
+ +
+
+ +
+ + + +
+
+

+ FOSSY 2025 + + Thursday, July 31, 2025 +

+

Conference times are in PDT (UTC-0700). Current talks will be highlighted.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Room327328329333338
Track

Foss in Daily Life

Linux Kernel

Distros

Open

Wild Card

10:15AM

+ + + + Registration Open + + + + +

01:45PM

+ + + + Opening Remarks + + + + +

02:00PM

+ + + + + + + + + + +

+ Popping kernels for Linux distributions +
+ Neal Gompa +

+ + + + + + +
+ + + +

+ Riding Subiquity With No Handlebars +
+ Romeo S +

+ + + + + + +
+ + + + + + + + + + +

+ Is There Really an SBOM Mandate? +
+ Bradley M. Kuhn +

+ + + + + + +

02:45PM

+ + + +
+

Break

+
+ + + + +

03:00PM

+ + + + + + + + + + +

+ Panel: Ongoing Things in the Kernel Community +
+ Darrick J. Wong, Ben Dooks, Luis Chamberlain, Neal Gompa +

+ + + + + + +
+ + + +

+ The Kalpa Desktop, A Desktop for people that just want to get things done. +
+ Shawn W Dunn +

+ + + + + + +
+ + + + + + + + + + +

+ Making waterfalls in Godot +
+ Tom Lechner +

+ + + + + + +

03:45PM

+ + + + Coffee, tea, and snack break + + + + +

04:30PM

+ + + +

+ Mobile Gaming with FOSS +
+ Edward Ly +

+ + + + + + +
+ + + +

+ Linux kernel test automation with kdevops +
+ Luis Chamberlain +

+ + + + + + +
+ + + +

+ A Hyperscaler’s operating system strategy: working with CentOS and Fedora +
+ Michel Lind, Davide Cavalca +

+ + + + + + +
+ + + + + + + + + + +

+ The Subtle Art of Lying with Statistics +
+ Dave McAllister +

+ + + + + + +

05:15PM

+ + + +
+

Break

+
+ + + + +

05:30PM

+ + + +

+ The Future of Fixing Technology +
+ Denver Gingerich +

+ + + + + + +
+ + + +

+ The big-endian RISC-V Linux Adventure +
+ Ben Dooks +

+ + + + + + +
+ + + + + + + + + + + + + + + + + +

+ open source for fun and profit +
+ Milo Oien-Rochat +

+ + + + + + +

07:00PM

+ + + + Official Thursday Night Event at Punch Bowl Social + +340 SW Morrison St Suite 4305, Portland, OR 97204 +Just quick ~15 minute Max ride from PSU. All attendees are invited! + + + + +

10:00PM

Day End
+ +
+
+ + + + + + + + + +
+ +

10:15AM–01:15PM

+ + + + + Registration Open + + + + +

+ + +
+ ends 1:15 p.m. +

+ + +
+ + + + +
+ +

01:45PM–02:00PM

+ + + + + Opening Remarks + + + + +

+ + +
+ ends 2 p.m. +

+ + +
+ + + + +
+ +

02:00PM–02:45PM

+ + + + + + + +

+ + + Foss in Daily Life — + + + 327 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + +

+ Popping kernels for Linux distributions +
+ Neal Gompa +

+ + + + + +

+ + + Linux Kernel — + + + 328 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + +

+ Riding Subiquity With No Handlebars +
+ Romeo S +

+ + + + + +

+ + + Distros — + + + 329 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + + + + +

+ + + Open — + + + 333 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + +

+ Is There Really an SBOM Mandate? +
+ Bradley M. Kuhn +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 2:45 p.m. +

+ + +
+ + + + +
+ +

02:45PM–03:00PM

+ + + + +
+

Break

+
+ + + + +

+ + +
+ ends 3 p.m. +

+ + +
+ + + + +
+ +

03:00PM–03:45PM

+ + + + + + + +

+ + + Foss in Daily Life — + + + 327 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + +

+ Panel: Ongoing Things in the Kernel Community +
+ Darrick J. Wong, Ben Dooks, Luis Chamberlain, Neal Gompa +

+ + + + + +

+ + + Linux Kernel — + + + 328 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + +

+ The Kalpa Desktop, A Desktop for people that just want to get things done. +
+ Shawn W Dunn +

+ + + + + +

+ + + Distros — + + + 329 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + + + + +

+ + + Open — + + + 333 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + +

+ Making waterfalls in Godot +
+ Tom Lechner +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 3:45 p.m. +

+ + +
+ + + + +
+ +

03:45PM–04:30PM

+ + + + + Coffee, tea, and snack break + + + + +

+ + +
+ ends 4:30 p.m. +

+ + +
+ + + + +
+ +

04:30PM–05:15PM

+ + + + +

+ Mobile Gaming with FOSS +
+ Edward Ly +

+ + + + + +

+ + + Foss in Daily Life — + + + 327 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + +

+ Linux kernel test automation with kdevops +
+ Luis Chamberlain +

+ + + + + +

+ + + Linux Kernel — + + + 328 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + +

+ A Hyperscaler’s operating system strategy: working with CentOS and Fedora +
+ Michel Lind, Davide Cavalca +

+ + + + + +

+ + + Distros — + + + 329 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + + + + +

+ + + Open — + + + 333 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + +

+ The Subtle Art of Lying with Statistics +
+ Dave McAllister +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 5:15 p.m. +

+ + +
+ + + + +
+ +

05:15PM–05:30PM

+ + + + +
+

Break

+
+ + + + +

+ + +
+ ends 5:30 p.m. +

+ + +
+ + + + +
+ +

05:30PM–06:15PM

+ + + + +

+ The Future of Fixing Technology +
+ Denver Gingerich +

+ + + + + +

+ + + Foss in Daily Life — + + + 327 +
+ ends 6:15 p.m. +

+ + +
+ +
+ + + + +

+ The big-endian RISC-V Linux Adventure +
+ Ben Dooks +

+ + + + + +

+ + + Linux Kernel — + + + 328 +
+ ends 6:15 p.m. +

+ + +
+ +
+ + + + + + + +

+ + + Distros — + + + 329 +
+ ends 6:15 p.m. +

+ + +
+ +
+ + + + + + + +

+ + + Open — + + + 333 +
+ ends 6:15 p.m. +

+ + +
+ +
+ + + + +

+ open source for fun and profit +
+ Milo Oien-Rochat +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 6:15 p.m. +

+ + +
+ + + + +
+ +

07:00PM–10:00PM

+ + + + + Official Thursday Night Event at Punch Bowl Social + +340 SW Morrison St Suite 4305, Portland, OR 97204 +Just quick ~15 minute Max ride from PSU. All attendees are invited! + + + + +

+ + +
+ ends 10 p.m. +

+ + +
+ + + + + +
+

10:00PM

+

Day End

+
+ + + + + +
+
+
+ +
+
+

+ FOSSY 2025 + + Friday, Aug. 1, 2025 +

+

Conference times are in PDT (UTC-0700). Current talks will be highlighted.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Room327328329333338
Track

Databases

Supporting User Groups

FOSS in Education

Science of Community

Wild Card

09:15AM

+ + + + Breakfast and coffee break + + + + +

09:45AM

+ + + +

+ Assessing and Managing threats to the Nonprofit Infrastructure of FOSS +
+ Allen Gunn, Pono Takamori +

+ + + + + + +

10:25AM

+ + + + Presentation of the Distinguished Service Award in Software Freedom + + + + +

10:45AM

+ + + +

+ PostgreSQL’s Rise to Power: Why the Open Source Giant is Dominating the Database Landscape +
+ Kellyn Gorman +

+ + + + + + +
+ + + +

+ Herding Hackers and Hawking Code: The Hustle of a Developer Advocate +
+ Nate Boot +

+ + + + + + +
+ + + +

+ Discussion: Which Way Do We Go? Understanding Sustainable Pathways for Academic Open Source +
+ Stephanie Lieggi +

+ + + + + + +
+ + + +

+ How do sponsored open source ecosystems manage feature deployments? +
+ Matt Gaughan +

+ + + + + + +
+ + + +

+ Starting an Open Mentorship Handbook! +
+ Pono Takamori +

+ + + + + + +

11:30AM

+ + + +
+

Break

+
+ + + + +

11:45AM

+ + + +

+ Up Against the WAL: The Write-Ahead Log in PostgreSQL +
+ Christophe Pettus +

+ + + + + + +
+ + + +

+ Raising the bar on your conference presentation +
+ Rich Bowen +

+ + + + + + +
+ + + +

+ Empowering Teams in Open Source EdTech Communities +
+ Joshua Wilson +

+ + + + + + +
+ + + +

+ The Creative Trade-Off: Governance, Conflict, and Their Impact On Innovation In Open-Source Software +
+ Dr. Justin Ribeiro, PhD +

+ + + + + + +
+ + + +

+ Reimagining Online Deliberation: Why Open Source is Critical for Civic Infrastructure +
+ Samantha Shireman +

+ + + + + + +

12:30PM

+ + + + Lunch break (on your own) + + + + +

02:00PM

+ + + + + + + + + + +

+ Cooking Up Community: Build the Fire, Embrace Every Ingredient, Always Stir the Pot +
+ Rick Turoczy +

+ + + + + + +
+ + + +

+ Nurturing the Next Generation of Open Source Contributors +
+ Tyler Menezes +

+ + + + + + +
+ + + +

+ Open source your repository: a roadmap +
+ Mike Jang +

+ + + + + + +
+ + + +

+ GNU/Linux Loves All +
+ Timmy James Barnett +

+ + + + + + +

02:45PM

+ + + +
+

Break

+
+ + + + +

03:00PM

+ + + +

+ Databases and Diversity +
+ Stacey Haysler +

+ + + + + + +
+ + + +
+

Open

+
+ + + + +
+ + + +
+

Open

+
+ + + + +
+ + + +

+ Designing for Collaboration: A Toolkit for Open and Inclusive Environmental Research +
+ Cathy Richards +

+ + + + + + +
+ + + +

+ Making P2P apps with Spritely Goblins +
+ Diana Belle +

+ + + + + + +

03:25PM

+ + + + + + + + + + +
+

Open

+
+ + + + +
+ + + +
+

Open

+
+ + + + +
+ + + +

+ From Campus to Network: Creating the UC System-Wide OSPO Initiative +
+ Laura Langdon +

+ + + + + + +
+ + + +

+ How to Hold It Together When It All Falls Apart: Surviving a Toxic Open Source Project Without Losin +
+ Cami Kaos +

+ + + + + + +

03:45PM

+ + + + Coffee, tea, and snack break + + + + +

04:30PM

+ + + +

+ Observing Postgres in action using OpenTelemetry +
+ Basil Bourque +

+ + + + + + +
+ + + + + + + + + + + + + + + + + +

+ It's all about the ecosystem! +
+ Ben Ford +

+ + + + + + +
+ + + +

+ The Cathedral and the Bizarre, or Dual-Booting for Fun and Prophet: Using Linux to Enhance TempleOS +
+ Toby Betts +

+ + + + + + +

05:15PM

+ + + +
+

Break

+
+ + + + +

05:30PM

+ + + +

+ RAGtime with Postgres: AI Power with pgvector and Retrieval-Augmented Generation +
+ Jimmy Angelakos +

+ + + + + + +
+ + + +

+ DevOps is a Foreign Language (or Why There Are No Junior SREs) +
+ Joshua Lee +

+ + + + + + +
+ + + + + + + + + + + + + + + + + +

+ Building AI applications with Open-source database - PostgreSQL +
+ Gauri +

+ + + + + + +

06:15PM

Day End
+ +
+
+ + + + + + + + + +
+ +

09:15AM–09:45AM

+ + + + + Breakfast and coffee break + + + + +

+ + +
+ ends 9:45 a.m. +

+ + +
+ + + + +
+ +

09:45AM–10:25AM

+ + + + +

+ Assessing and Managing threats to the Nonprofit Infrastructure of FOSS +
+ Allen Gunn, Pono Takamori +

+ + + + + +

+ + +
+ ends 10:25 a.m. +

+ + +
+ + + + +
+ +

10:25AM–10:35AM

+ + + + + Presentation of the Distinguished Service Award in Software Freedom + + + + +

+ + +
+ ends 10:35 a.m. +

+ + +
+ + + + +
+ +

10:45AM–11:30AM

+ + + + +

+ PostgreSQL’s Rise to Power: Why the Open Source Giant is Dominating the Database Landscape +
+ Kellyn Gorman +

+ + + + + +

+ + + Databases — + + + 327 +
+ ends 11:30 a.m. +

+ + +
+ +
+ + + + +

+ Herding Hackers and Hawking Code: The Hustle of a Developer Advocate +
+ Nate Boot +

+ + + + + +

+ + + Supporting User Groups — + + + 328 +
+ ends 11:30 a.m. +

+ + +
+ +
+ + + + +

+ Discussion: Which Way Do We Go? Understanding Sustainable Pathways for Academic Open Source +
+ Stephanie Lieggi +

+ + + + + +

+ + + FOSS in Education — + + + 329 +
+ ends 11:30 a.m. +

+ + +
+ +
+ + + + +

+ How do sponsored open source ecosystems manage feature deployments? +
+ Matt Gaughan +

+ + + + + +

+ + + Science of Community — + + + 333 +
+ ends 11:30 a.m. +

+ + +
+ +
+ + + + +

+ Starting an Open Mentorship Handbook! +
+ Pono Takamori +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 11:30 a.m. +

+ + +
+ + + + +
+ +

11:30AM–11:45AM

+ + + + +
+

Break

+
+ + + + +

+ + +
+ ends 11:45 a.m. +

+ + +
+ + + + +
+ +

11:45AM–12:30PM

+ + + + +

+ Up Against the WAL: The Write-Ahead Log in PostgreSQL +
+ Christophe Pettus +

+ + + + + +

+ + + Databases — + + + 327 +
+ ends 12:30 p.m. +

+ + +
+ +
+ + + + +

+ Raising the bar on your conference presentation +
+ Rich Bowen +

+ + + + + +

+ + + Supporting User Groups — + + + 328 +
+ ends 12:30 p.m. +

+ + +
+ +
+ + + + +

+ Empowering Teams in Open Source EdTech Communities +
+ Joshua Wilson +

+ + + + + +

+ + + FOSS in Education — + + + 329 +
+ ends 12:30 p.m. +

+ + +
+ +
+ + + + +

+ The Creative Trade-Off: Governance, Conflict, and Their Impact On Innovation In Open-Source Software +
+ Dr. Justin Ribeiro, PhD +

+ + + + + +

+ + + Science of Community — + + + 333 +
+ ends 12:30 p.m. +

+ + +
+ +
+ + + + +

+ Reimagining Online Deliberation: Why Open Source is Critical for Civic Infrastructure +
+ Samantha Shireman +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 12:30 p.m. +

+ + +
+ + + + +
+ +

12:30PM–02:00PM

+ + + + + Lunch break (on your own) + + + + +

+ + +
+ ends 2 p.m. +

+ + +
+ + + + +
+ +

02:00PM–02:45PM

+ + + + + + + +

+ + + Databases — + + + 327 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + +

+ Cooking Up Community: Build the Fire, Embrace Every Ingredient, Always Stir the Pot +
+ Rick Turoczy +

+ + + + + +

+ + + Supporting User Groups — + + + 328 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + +

+ Nurturing the Next Generation of Open Source Contributors +
+ Tyler Menezes +

+ + + + + +

+ + + FOSS in Education — + + + 329 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + +

+ Open source your repository: a roadmap +
+ Mike Jang +

+ + + + + +

+ + + Science of Community — + + + 333 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + +

+ GNU/Linux Loves All +
+ Timmy James Barnett +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 2:45 p.m. +

+ + +
+ + + + +
+ +

02:45PM–03:00PM

+ + + + +
+

Break

+
+ + + + +

+ + +
+ ends 3 p.m. +

+ + +
+ + + + +
+ +

03:00PM–03:20PM

+ + + + +

+ Databases and Diversity +
+ Stacey Haysler +

+ + + + + +

+ + + Databases — + + + 327 +
+ ends 3:20 p.m. +

+ + +
+ +
+ + + + +
+

Open

+
+ + + + +

+ + + Supporting User Groups — + + + 328 +
+ ends 3:20 p.m. +

+ + +
+ +
+ + + + +
+

Open

+
+ + + + +

+ + + FOSS in Education — + + + 329 +
+ ends 3:20 p.m. +

+ + +
+ +
+ + + + +

+ Designing for Collaboration: A Toolkit for Open and Inclusive Environmental Research +
+ Cathy Richards +

+ + + + + +

+ + + Science of Community — + + + 333 +
+ ends 3:20 p.m. +

+ + +
+ +
+ + + + +

+ Making P2P apps with Spritely Goblins +
+ Diana Belle +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 3:20 p.m. +

+ + +
+ + + + +
+ +

03:25PM–03:45PM

+ + + + + + + +

+ + + Databases — + + + 327 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + +
+

Open

+
+ + + + +

+ + + Supporting User Groups — + + + 328 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + +
+

Open

+
+ + + + +

+ + + FOSS in Education — + + + 329 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + +

+ From Campus to Network: Creating the UC System-Wide OSPO Initiative +
+ Laura Langdon +

+ + + + + +

+ + + Science of Community — + + + 333 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + +

+ How to Hold It Together When It All Falls Apart: Surviving a Toxic Open Source Project Without Losin +
+ Cami Kaos +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 3:45 p.m. +

+ + +
+ + + + +
+ +

03:45PM–04:30PM

+ + + + + Coffee, tea, and snack break + + + + +

+ + +
+ ends 4:30 p.m. +

+ + +
+ + + + +
+ +

04:30PM–05:15PM

+ + + + +

+ Observing Postgres in action using OpenTelemetry +
+ Basil Bourque +

+ + + + + +

+ + + Databases — + + + 327 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + + + + +

+ + + Supporting User Groups — + + + 328 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + + + + +

+ + + FOSS in Education — + + + 329 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + +

+ It's all about the ecosystem! +
+ Ben Ford +

+ + + + + +

+ + + Science of Community — + + + 333 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + +

+ The Cathedral and the Bizarre, or Dual-Booting for Fun and Prophet: Using Linux to Enhance TempleOS +
+ Toby Betts +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 5:15 p.m. +

+ + +
+ + + + +
+ +

05:15PM–05:30PM

+ + + + +
+

Break

+
+ + + + +

+ + +
+ ends 5:30 p.m. +

+ + +
+ + + + +
+ +

05:30PM–06:15PM

+ + + + +

+ RAGtime with Postgres: AI Power with pgvector and Retrieval-Augmented Generation +
+ Jimmy Angelakos +

+ + + + + +

+ + + Databases — + + + 327 +
+ ends 6:15 p.m. +

+ + +
+ +
+ + + + +

+ DevOps is a Foreign Language (or Why There Are No Junior SREs) +
+ Joshua Lee +

+ + + + + +

+ + + Supporting User Groups — + + + 328 +
+ ends 6:15 p.m. +

+ + +
+ +
+ + + + + + + +

+ + + FOSS in Education — + + + 329 +
+ ends 6:15 p.m. +

+ + +
+ +
+ + + + + + + +

+ + + Science of Community — + + + 333 +
+ ends 6:15 p.m. +

+ + +
+ +
+ + + + +

+ Building AI applications with Open-source database - PostgreSQL +
+ Gauri +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 6:15 p.m. +

+ + +
+ + + + + +
+

06:15PM

+

Day End

+
+ + + + + +
+
+
+ +
+
+

+ FOSSY 2025 + + Saturday, Aug. 2, 2025 +

+

Conference times are in PDT (UTC-0700). Current talks will be highlighted.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Room327328329333338
Track

XMPP

Legal

FOSS in Education

Science of Community

Wild Card

09:15AM

+ + + + Breakfast and coffee break + + + + +

09:45AM

+ + + +

+ Q&A on SFC's lawsuit against Vizio +
+ Bradley M. Kuhn, Denver Gingerich, Karen Sandler, Rick Sanders +

+ + + + + + +

10:45AM

+ + + + + + + + + + + + + + + + + +

+ Open Source Software in Higher Education: A Community Report +
+ Patrick Masson +

+ + + + + + +
+ + + +

+ Things I've Learned as a Linux Kernel Maintainer +
+ Darrick J. Wong +

+ + + + + + +
+ + + +

+ Never Mind the Checkboxes, Here's Reproducible Builds! +
+ Vagrant Cascadian, Chris Lamb +

+ + + + + + +

11:30AM

+ + + +
+

Break

+
+ + + + +

11:45AM

+ + + + + + + + + + +

+ More Scalability Through Open Source Hygiene +
+ Ria Farrell Schalnat +

+ + + + + + +
+ + + + + + + + + + +

+ Power Dynamics, Rug Pulls, and Other Impacts on FOSS Sustainability +
+ Dr. Dawn Foster +

+ + + + + + +
+ + + +

+ DRM, security, or both? How do we decide? +
+ Matthew Garrett +

+ + + + + + +

12:30PM

+ + + + Lunch break (on your own) + + + + +

02:00PM

+ + + +

+ Setting Up A Simple XMPP Server +
+ Root +

+ + + + + + +
+ + + +

+ Panel: Licenses, corporations, community, and collaboration +
+ Josh Triplett, Eric Schultz, Kate Downing, Marc Jones, McCoy Smith +

+ + + + + + +
+ + + +

+ Where Open Research Meets Open Source: The OSF as a Gateway to Academic Collaboration +
+ Daniel Steger +

+ + + + + + +
+ + + +

+ Lessons from a Decade of Open Source Sustainability Research +
+ Igor Steinmacher +

+ + + + + + +
+ + + +

+ An Adventure in Data Modeling +
+ Mark Wong +

+ + + + + + +

02:45PM

+ + + +
+

Break

+
+ + + + +

03:00PM

+ + + +

+ Telecomms for Preppers +
+ Phillip +

+ + + + + + +
+ + + + + + + + + + +

+ HAX Lab: FOSS community becomes the classroom +
+ Bryan T Ollendyke +

+ + + + + + +
+ + + +

+ Glue Work Makes the Community Work: Sustaining OSS Through Invisible Labor +
+ Zixuan Steve Feng, Anita Sarma +

+ + + + + + +
+ + + +

+ Making Esoteric Beauty Accessible: Befunge in 2025 +
+ Robin Brown +

+ + + + + + +

03:25PM

+ + + +

+ Messaging interoperability with MLS, MIMI and XMPP +
+ Marvin W. +

+ + + + + + +
+ + + +

+ BlueHats: Public servant advocates for software freedom +
+ Michael Downey +

+ + + + + + +

03:45PM

+ + + + Coffee, tea, and snack break + + + + +

04:30PM

+ + + +

+ Adventures in Onboarding: Helping New Users Navigate Federated Services +
+ Gideon Mayhak +

+ + + + + + +
+ + + + + + + + + + +

+ A Multi-Campus Survey of Open Source Contributors at the University of California +
+ Virginia Scarlett +

+ + + + + + +
+ + + +

+ Agile/Scrum for Open Source Community Projects +
+ Tess Gadwa +

+ + + + + + +
+ + + +

+ I Didn't Know Postgres Could Do That! +
+ Robert Treat +

+ + + + + + +

05:15PM

+ + + +
+

Break

+
+ + + + +

05:30PM

+ + + +

+ How do you solve a problem like iOS? +
+ Stephen Paul Weber +

+ + + + + + +
+ + + + + + + + + + +

+ Recipe for Discovery: Building the UC Open Source Repository Browser From Scratch +
+ Juanita Gomez +

+ + + + + + +
+ + + +

+ Plausible Slop: Generative AI and Open Source Cybersecurity +
+ Dr. Kaylea Champion +

+ + + + + + +
+ + + +

+ Reversing Metcalfe's Law: undermining the software-service–industrial complex with .zip files +
+ Nathan Willis +

+ + + + + + +

06:15PM

Day End
+ +
+
+ + + + + + + + + +
+ +

09:15AM–09:45AM

+ + + + + Breakfast and coffee break + + + + +

+ + +
+ ends 9:45 a.m. +

+ + +
+ + + + +
+ +

09:45AM–10:30AM

+ + + + +

+ Q&A on SFC's lawsuit against Vizio +
+ Bradley M. Kuhn, Denver Gingerich, Karen Sandler, Rick Sanders +

+ + + + + +

+ + +
+ ends 10:30 a.m. +

+ + +
+ + + + +
+ +

10:45AM–11:30AM

+ + + + + + + +

+ + + XMPP — + + + 327 +
+ ends 11:30 a.m. +

+ + +
+ +
+ + + + + + + +

+ + + Legal — + + + 328 +
+ ends 11:30 a.m. +

+ + +
+ +
+ + + + +

+ Open Source Software in Higher Education: A Community Report +
+ Patrick Masson +

+ + + + + +

+ + + FOSS in Education — + + + 329 +
+ ends 11:30 a.m. +

+ + +
+ +
+ + + + +

+ Things I've Learned as a Linux Kernel Maintainer +
+ Darrick J. Wong +

+ + + + + +

+ + + Science of Community — + + + 333 +
+ ends 11:30 a.m. +

+ + +
+ +
+ + + + +

+ Never Mind the Checkboxes, Here's Reproducible Builds! +
+ Vagrant Cascadian, Chris Lamb +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 11:30 a.m. +

+ + +
+ + + + +
+ +

11:30AM–11:45AM

+ + + + +
+

Break

+
+ + + + +

+ + +
+ ends 11:45 a.m. +

+ + +
+ + + + +
+ +

11:45AM–12:30PM

+ + + + + + + +

+ + + XMPP — + + + 327 +
+ ends 12:30 p.m. +

+ + +
+ +
+ + + + +

+ More Scalability Through Open Source Hygiene +
+ Ria Farrell Schalnat +

+ + + + + +

+ + + Legal — + + + 328 +
+ ends 12:30 p.m. +

+ + +
+ +
+ + + + + + + +

+ + + FOSS in Education — + + + 329 +
+ ends 12:30 p.m. +

+ + +
+ +
+ + + + +

+ Power Dynamics, Rug Pulls, and Other Impacts on FOSS Sustainability +
+ Dr. Dawn Foster +

+ + + + + +

+ + + Science of Community — + + + 333 +
+ ends 12:30 p.m. +

+ + +
+ +
+ + + + +

+ DRM, security, or both? How do we decide? +
+ Matthew Garrett +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 12:30 p.m. +

+ + +
+ + + + +
+ +

12:30PM–02:00PM

+ + + + + Lunch break (on your own) + + + + +

+ + +
+ ends 2 p.m. +

+ + +
+ + + + +
+ +

02:00PM–02:45PM

+ + + + +

+ Setting Up A Simple XMPP Server +
+ Root +

+ + + + + +

+ + + XMPP — + + + 327 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + +

+ Panel: Licenses, corporations, community, and collaboration +
+ Josh Triplett, Eric Schultz, Kate Downing, Marc Jones, McCoy Smith +

+ + + + + +

+ + + Legal — + + + 328 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + +

+ Where Open Research Meets Open Source: The OSF as a Gateway to Academic Collaboration +
+ Daniel Steger +

+ + + + + +

+ + + FOSS in Education — + + + 329 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + +

+ Lessons from a Decade of Open Source Sustainability Research +
+ Igor Steinmacher +

+ + + + + +

+ + + Science of Community — + + + 333 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + +

+ An Adventure in Data Modeling +
+ Mark Wong +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 2:45 p.m. +

+ + +
+ + + + +
+ +

02:45PM–03:00PM

+ + + + +
+

Break

+
+ + + + +

+ + +
+ ends 3 p.m. +

+ + +
+ + + + +
+ +

03:00PM–03:25PM

+ + + + +

+ Telecomms for Preppers +
+ Phillip +

+ + + + + +

+ + + XMPP — + + + 327 +
+ ends 3:25 p.m. +

+ + +
+ +
+ + + + + + + +

+ + + Legal — + + + 328 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + +

+ HAX Lab: FOSS community becomes the classroom +
+ Bryan T Ollendyke +

+ + + + + +

+ + + FOSS in Education — + + + 329 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + +

+ Glue Work Makes the Community Work: Sustaining OSS Through Invisible Labor +
+ Zixuan Steve Feng, Anita Sarma +

+ + + + + +

+ + + Science of Community — + + + 333 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + +

+ Making Esoteric Beauty Accessible: Befunge in 2025 +
+ Robin Brown +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 3:25 p.m. +

+ + +
+ + + + +
+ +

03:25PM–03:45PM

+ + + + +

+ Messaging interoperability with MLS, MIMI and XMPP +
+ Marvin W. +

+ + + + + +

+ + + XMPP — + + + 327 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + +

+ BlueHats: Public servant advocates for software freedom +
+ Michael Downey +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 3:45 p.m. +

+ + +
+ + + + +
+ +

03:45PM–04:30PM

+ + + + + Coffee, tea, and snack break + + + + +

+ + +
+ ends 4:30 p.m. +

+ + +
+ + + + +
+ +

04:30PM–05:15PM

+ + + + +

+ Adventures in Onboarding: Helping New Users Navigate Federated Services +
+ Gideon Mayhak +

+ + + + + +

+ + + XMPP — + + + 327 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + + + + +

+ + + Legal — + + + 328 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + +

+ A Multi-Campus Survey of Open Source Contributors at the University of California +
+ Virginia Scarlett +

+ + + + + +

+ + + FOSS in Education — + + + 329 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + +

+ Agile/Scrum for Open Source Community Projects +
+ Tess Gadwa +

+ + + + + +

+ + + Science of Community — + + + 333 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + +

+ I Didn't Know Postgres Could Do That! +
+ Robert Treat +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 5:15 p.m. +

+ + +
+ + + + +
+ +

05:15PM–05:30PM

+ + + + +
+

Break

+
+ + + + +

+ + +
+ ends 5:30 p.m. +

+ + +
+ + + + +
+ +

05:30PM–06:15PM

+ + + + +

+ How do you solve a problem like iOS? +
+ Stephen Paul Weber +

+ + + + + +

+ + + XMPP — + + + 327 +
+ ends 6:15 p.m. +

+ + +
+ +
+ + + + + + + +

+ + + Legal — + + + 328 +
+ ends 6:15 p.m. +

+ + +
+ +
+ + + + +

+ Recipe for Discovery: Building the UC Open Source Repository Browser From Scratch +
+ Juanita Gomez +

+ + + + + +

+ + + FOSS in Education — + + + 329 +
+ ends 6:15 p.m. +

+ + +
+ +
+ + + + +

+ Plausible Slop: Generative AI and Open Source Cybersecurity +
+ Dr. Kaylea Champion +

+ + + + + +

+ + + Science of Community — + + + 333 +
+ ends 6:15 p.m. +

+ + +
+ +
+ + + + +

+ Reversing Metcalfe's Law: undermining the software-service–industrial complex with .zip files +
+ Nathan Willis +

+ + + + + +

+ + + Wild Card — + + + 338 +
+ ends 6:15 p.m. +

+ + +
+ + + + + +
+

06:15PM

+

Day End

+
+ + + + + +
+
+
+ +
+
+

+ FOSSY 2025 + + Sunday, Aug. 3, 2025 +

+

Conference times are in PDT (UTC-0700). Current talks will be highlighted.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Room327328329333338

09:15AM

+ + + + Breakfast and coffee break + + + + +

09:45AM

+ + + +

+ FOSS in A/V: How Open Signal uses FOSS to further their mission in a closed source industry +
+ Chris Polanco, Allison Randal +

+ + + + + + +

10:30AM

+ + + +

+ Lightning Talks! +
+ Pono Takamori +

+ + + + + + +

12:30PM

+ + + + Lunch break (on your own) + + + + +

01:45PM

+ + + +

+ Intro to Unconferences +
+ Aaron Wolf, Wm Salt Hale +

+ + + + + + +

02:00PM

+ + + + Setting goals and spending money / Meta-crisis / Coordination problem + +Pad link + + + + + + + + + AI issues - safety, licensing, etc. + +Pad link + + + + + + + + + How to get people to care about FOSS, exploring different software domains + +Pad link + + + + + + + + + Music and video games + +Pad link + + + + + + + + + Whats next for academic Open Source and OSPO / Semantics in Machine Learning Objective Functions + +Pad link + + + + +

02:45PM

+ + + +
+

Break

+
+ + + + +

03:00PM

+ + + + Names are hard! What is a better word than "upstream" for distros? / What it takes to build strong teams / Building better collaborators + +Pad link + + + + + + + + + Eleminating CLAs / Right to Repair + +Pad link + + + + + + + + + Mesh Networking / How you got started in FOSS + +Pad link + + + + + + + + + Advances in RSS / Translating C to Rust + +Pad link + + + + + + + + + Threats to the Open Web / What do we do if or when Firefox disappears? / Observability is Broken + +Pad link + + + + +

03:45PM

+ + + + Coffee, tea, and snack break + + + + +

04:30PM

+ + + + Effects of Political Polarization on FOSS Communitites / Governance, Cooperatives, etc. + +Pad link + + + + + + + + + Copyleft- next / Articulating stakeholders and goals for FOSS licensing + +Pad link + + + + + + + + + What if git was nice to use? / Community Supporting Safety + +Pad link + + + + + + + + + FOSS Graphic Design / Rust Firmware Emedded + +Pad link + + + + + + + + + Decentralization + +Pad link + + + + +

05:15PM

+ + + + Closing Remarks + + + + +

06:30PM

Day End
+ +
+
+ + + + + + + + + +
+ +

09:15AM–09:45AM

+ + + + + Breakfast and coffee break + + + + +

+ + +
+ ends 9:45 a.m. +

+ + +
+ + + + +
+ +

09:45AM–10:30AM

+ + + + +

+ FOSS in A/V: How Open Signal uses FOSS to further their mission in a closed source industry +
+ Chris Polanco, Allison Randal +

+ + + + + +

+ + +
+ ends 10:30 a.m. +

+ + +
+ + + + +
+ +

10:30AM–12:30PM

+ + + + +

+ Lightning Talks! +
+ Pono Takamori +

+ + + + + +

+ + +
+ ends 12:30 p.m. +

+ + +
+ + + + +
+ +

12:30PM–01:45PM

+ + + + + Lunch break (on your own) + + + + +

+ + +
+ ends 1:45 p.m. +

+ + +
+ + + + +
+ +

01:45PM–02:00PM

+ + + + +

+ Intro to Unconferences +
+ Aaron Wolf, Wm Salt Hale +

+ + + + + +

+ + +
+ ends 2 p.m. +

+ + +
+ + + + +
+ +

02:00PM–02:45PM

+ + + + + Setting goals and spending money / Meta-crisis / Coordination problem + +Pad link + + + + +

+ + 327 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + + AI issues - safety, licensing, etc. + +Pad link + + + + +

+ + 328 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + + How to get people to care about FOSS, exploring different software domains + +Pad link + + + + +

+ + 329 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + + Music and video games + +Pad link + + + + +

+ + 333 +
+ ends 2:45 p.m. +

+ + +
+ +
+ + + + + Whats next for academic Open Source and OSPO / Semantics in Machine Learning Objective Functions + +Pad link + + + + +

+ + 338 +
+ ends 2:45 p.m. +

+ + +
+ + + + +
+ +

02:45PM–03:00PM

+ + + + +
+

Break

+
+ + + + +

+ + +
+ ends 3 p.m. +

+ + +
+ + + + +
+ +

03:00PM–03:45PM

+ + + + + Names are hard! What is a better word than "upstream" for distros? / What it takes to build strong teams / Building better collaborators + +Pad link + + + + +

+ + 327 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + + Eleminating CLAs / Right to Repair + +Pad link + + + + +

+ + 328 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + + Mesh Networking / How you got started in FOSS + +Pad link + + + + +

+ + 329 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + + Advances in RSS / Translating C to Rust + +Pad link + + + + +

+ + 333 +
+ ends 3:45 p.m. +

+ + +
+ +
+ + + + + Threats to the Open Web / What do we do if or when Firefox disappears? / Observability is Broken + +Pad link + + + + +

+ + 338 +
+ ends 3:45 p.m. +

+ + +
+ + + + +
+ +

03:45PM–04:30PM

+ + + + + Coffee, tea, and snack break + + + + +

+ + +
+ ends 4:30 p.m. +

+ + +
+ + + + +
+ +

04:30PM–05:15PM

+ + + + + Effects of Political Polarization on FOSS Communitites / Governance, Cooperatives, etc. + +Pad link + + + + +

+ + 327 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + + Copyleft- next / Articulating stakeholders and goals for FOSS licensing + +Pad link + + + + +

+ + 328 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + + What if git was nice to use? / Community Supporting Safety + +Pad link + + + + +

+ + 329 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + + FOSS Graphic Design / Rust Firmware Emedded + +Pad link + + + + +

+ + 333 +
+ ends 5:15 p.m. +

+ + +
+ +
+ + + + + Decentralization + +Pad link + + + + +

+ + 338 +
+ ends 5:15 p.m. +

+ + +
+ + + + +
+ +

05:15PM–06:30PM

+ + + + + Closing Remarks + + + + +

+ + +
+ ends 6:30 p.m. +

+ + +
+ + + + + +
+

06:30PM

+

Day End

+
+ + + + + +
+
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/282/index.html b/schedule/presentation/282/index.html new file mode 100644 index 0000000..d11dfea --- /dev/null +++ b/schedule/presentation/282/index.html @@ -0,0 +1,293 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Raising the bar on your conference presentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Rich Bowen +

    + Rich Bowen
    + + @https://mastodon.social/@rbowen + + + @rbowen
    + + + https://rcbowen.com/ + +

    +

    Rich Bowen has been involved in open source since before we started calling it that. He's a member of the Apache Software Foundation, where +he currently serves as a board member and Vice Chair. Rich is an Open Source Strategist at AWS.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

We've all attended - or given - presentations that put the audience to sleep, or at least had most of them playing Kwazy Cupcakes on their phones. In this presentation, we talk about ways that you can improve your conference presentations by making a few simple changes.

+

You know the presentations I'm talking about. The slides are 73 lines of 12-point font, and the speaker reads them to you with their back turned. Ok, maybe not that bad. But you want to leave the audience wanting more, and eager to take the next step. Here's a few simple tips for making your conference and meetup presentations engaging, rather than soporific.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/284/index.html b/schedule/presentation/284/index.html new file mode 100644 index 0000000..c899387 --- /dev/null +++ b/schedule/presentation/284/index.html @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: How do you solve a problem like iOS? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Stephen Paul Weber +

    + Stephen Paul Weber
    + + + @singpolyma
    + + + https://singpolyma.net + +

    +

    Stephen is a long-time software freedom enthusiast, semi-retired from industry to focus on promoting freedomware solutions to problems faced by everyday people. Stephen currently helps run the Soprani.ca project and the related JMP.chat freedomware-based telephony provider.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

The user experience of those trapped in the Apple ecosystem has for years been a problem for the open source XMPP community. Not many community developers use that ecosystem, and so little development and testing goes towards it. After all we want to use freedomware operating systems on all our devices!

+

Yet it remains an issue because, as a communications network, many people have friends and family they wish to connect with who use Apple devices. Not having a good, freedom-respecting solution for those people means they often feel pulled towards proprietary walled gardens instead in order to be able to communicate.

+

I have been working on this problem for some time and will detail my approach using standard technologies to close most of this gap without any Apple devices at all, the benefits of an extensible standard like XMPP on achieving this, and how this might help other communities as well.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/285/index.html b/schedule/presentation/285/index.html new file mode 100644 index 0000000..b327841 --- /dev/null +++ b/schedule/presentation/285/index.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Adventures in Onboarding: Helping New Users Navigate Federated Services + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Gideon Mayhak +

    + Gideon Mayhak
    + + + + https://themayhaks.com/~gideon/blog/ + +

    +

    Gideon is a longtime user and supporter of free open source software. With over 20 years of experience supporting and training users across both proprietary and open systems, he has a love for working with people to figure things out. Gideon currently works on the support team for JMP.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Tales from the front lines of supporting new users of federated services! We've all been there: you're excited about a new technology and you want to tell your friends. You've already gotten into the weeds and you come on a bit too strong. Does your friend need to know what "XMPP” stands for? Does it matter if they know what a domain is?

+

This talk will be a review of common stumbling blocks for new users, tips on keeping things simple with your friends and family, and a discussion about how to help people grow into their newfound communities. We’ll also take a closer look at demystifying common terms in the world of XMPP so you’re ready to answer some of the tougher questions in life, like, “What is a Snikket?”

+

Come learn more about open federated systems and how you can help others join in on the fun!

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/286/index.html b/schedule/presentation/286/index.html new file mode 100644 index 0000000..b00808f --- /dev/null +++ b/schedule/presentation/286/index.html @@ -0,0 +1,285 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Setting Up A Simple XMPP Server + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Root +

    + Root
    + + + +

    +

    Root has been a long time advocate in the privacy and security space, and enjoys teaching others how to stay safe and secure while online and to avoid common pitfalls. Root is a beginner developer and enjoys breaking things while learning what makes it tick ;) this has lead to a wide range of experience across many different subjects. Root is also part of the team that runs Soprani.ca, Cheogram.com and JMP.chat and is heavily focused on their acceptance and success, in both the freedom-ware communities and beyond.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

This talk will showcase the simplicity and ease of setting up your own XMPP server using the Snikket software, walking step-by-step through the process using slides. The end result will be a fully functioning XMPP server that can be used throughout the remainder of the conference between all attendees. There will be a demonstration of the features available to a Snikket Instance including, but not limited to, inviting others to join your server, group chats that are private or public, adding contacts, managing and updating the instance as the admin, creating limited accounts for kids, and steps for more secure end-to-end encryption. This talk will also dive into some personal privacy, security, and persona considerations and how they will be affected by your threat model.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/287/index.html b/schedule/presentation/287/index.html new file mode 100644 index 0000000..2927ad1 --- /dev/null +++ b/schedule/presentation/287/index.html @@ -0,0 +1,285 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Telecomms for Preppers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Phillip +

    + Phillip
    + + + +

    +

    Phillip is a developer for MBOA who, these days, mostly writes Ruby and works on Jabber projects. When not staring at code, he learns languages, plays chess, and pickles carrots.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Software in general, and telecommunication in particular, relies on a sprawling infrastructure of networking, hosting, and electrical infrastructure that no single person understand. On the other hand, a key component of mutual aid and disaster preparedness is the knowledge and tools to provide such services in a context where your immediate community might have to provide some of its own needs. Let's talk about how you could contribute to that by building communication software that you can use, modify, and fix on your own as much as possible.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/288/index.html b/schedule/presentation/288/index.html new file mode 100644 index 0000000..9aed41c --- /dev/null +++ b/schedule/presentation/288/index.html @@ -0,0 +1,290 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Messaging interoperability with MLS, MIMI and XMPP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Marvin W. +

    + Marvin W.
    + + @larma@mastodon.social + + + + https://mastodon.social/@larma + +

    +

    Marvin is a free software hacker and open protocol enthusiast. He has been contributing to free software for more than 15 years, focusing on free Android and federated instant messaging. Today, he's project leader at microG, a core developer of the XMPP client Dino, a member of the technical council of the XMPP Standards Foundation and a contributor to the MIMI working group at the IETF.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

XMPP was and still is the major open standard for federated instant messaging, originally designed to allow bridging between existing networks.

+

In recent years, due to ongoing regulatory efforts, a new attempt at interoperability between instant messengers, MIMI (More Instant Messaging Interoperability), was started at the IETF, the internet protocol standardization body. Based on the latest and greatest end-to-end-encryption standard MLS (Messaging Layer Security) it's meant to partially provide what XMPP failed to deliver. This talk will give an overview on the topics of MLS and MIMI and how it can play together with XMPP.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/289/index.html b/schedule/presentation/289/index.html new file mode 100644 index 0000000..2b20e0d --- /dev/null +++ b/schedule/presentation/289/index.html @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: PostgreSQL’s Rise to Power: Why the Open Source Giant is Dominating the Database Landscape + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Kellyn Gorman +

    + Kellyn Gorman
    + + @N/A + + + @N/A
    + + + https://dbakevlar.com + +

    +

    Kellyn Gorman is a database and AI specialist with over 25 years of experience in relational systems. She's authored numerous books and white papers and is well-respected for her contributions under her online handle, "DBAKevlar." She's an award-winning optimization and security specialist having previously worked for Oracle and Microsoft, along with a long history as a mentor and advocate in the tech industry.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

PostgreSQL has quietly, but powerfully risen to become one of the most trusted and widely adopted database platforms in the world. Once considered a niche solution back in it's days as it's predecessor, Ingres, PostgreSQL now leads the charge in the open-source database movement, challenging and often surpassing traditional enterprise heavyweights like Oracle and SQL Server. +In this session, we’ll explore the technical, strategic, and cultural reasons behind PostgreSQL’s rapid ascent. From its robust standards compliance and extensibility to its vibrant development community and compatibility with modern cloud-native architectures, PostgreSQL delivers enterprise-grade performance without the steep licensing costs. +We'll also examine how PostgreSQL’s innovation is influencing other platforms like MySQL, MongoDB, and SQLite, and why developers and architects are increasingly choosing it as the foundation for their mission-critical workloads. This session will cover everything from high availability options, most popular extensions and features that keep PostgreSQL the choice among database technologists, no matter if traditional transactional, analytical or even AI workloads. We'll also discuss the limitations around migrations and how to best take on the challenges or moving large, enterprise, multi-tier systems over to open-source solutions. +Whether you're considering migration, multiplatform strategy, or just want to understand the open-source momentum, this session will provide deep insights into PostgreSQL’s success and what it means for the future of data.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/292/index.html b/schedule/presentation/292/index.html new file mode 100644 index 0000000..ac36270 --- /dev/null +++ b/schedule/presentation/292/index.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Databases and Diversity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Stacey Haysler +

    + Stacey Haysler
    + + @shaysler@fosstodon.org + + + +

    +

    By day, Stacey is the CFO and COO of PGX, Inc., a Postgres-only consultancy in San Francisco, California. She is also the President of the U.S. PostgreSQL Association (PgUS), a nonprofit dedicated to the advancement of PostgreSQL through education and advocacy. Stacey is an organizer of the San Francisco Bay Area PostgreSQL Users Group. Stacey is also the creator of the original PostgreSQL Community Code of Conduct, and was the first Chair of the Community CoC Committee for three years. Stacey is a Django Software Foundation Member, as well as a former Board Member of the DSF. She founded and served on the Board of the Django Events Foundation North America, and was a primary organizer of DjangoConUS 2015 – 2018. Stacey is a Contributing Member of Software in the Public Interest. By night, she sleeps, since that's a lot to do every day!

    +

    +
  • + +
+
+ +
+

Abstract

+ +

While we have great diversity in databases—from open source systems such as PostgreSQL and CouchDB, to proprietary and heavily licensed ones such as Oracle— human diversity in the database community is not nearly equivalent. Diversity (and lack thereof) in the technical community has been a topic of increasing discussion the past few years. While we have made some progress—even submitting a proposal for a talk on diversity to a conference is a significant change—we have some distance to travel still. While won't get there in 25 minutes, we will cover a fair amount of ground!

+

We will review current efforts in the technical community to improve diversity, as well as ideas that have been discussed and need someone to develop them.

+

You will also learn what you, as one individual, can do in your daily life to improve the diversity of our community.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/294/index.html b/schedule/presentation/294/index.html new file mode 100644 index 0000000..0533b5e --- /dev/null +++ b/schedule/presentation/294/index.html @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Observing Postgres in action using OpenTelemetry + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Basil Bourque +

    + Basil Bourque
    + + + @Basil_Dot_Work
    + + + http://www.Basil.work/ + +

    +

    A graybeard developer, custom crafting database-backed apps for enterprise departments over the decades. And shipped a couple of iOS mobile apps. And built a few web apps for micro startups. And wrote way too many Stack Overflow posts.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

While debugging in development, or troubleshooting in production, we need to monitor the conditions and behavior of the various components in our systems. One of those components is the database server. We need to look inside the black box that is our database server.

+

Much progress has been made in instrumenting, generating, collecting, and exporting telemetry data (metrics, logs, and traces) to help us analyze our software systems’ performance and behavior. While various proprietary and open-source products have advanced this field of observability, the industry has recognized the need to create a single collection of APIs, SDKs, and tools that can work in a vendor-neutral manner across the many implementations. The open-source community-driven project OpenTelementry is that solution.

+

Now Postgres has gained support for OpenTelemetry. Let's look at how observability works, and how Postgres uses OpenTelemetry to provide the operations data that DBAs, SysAdmins, and developers need.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/295/index.html b/schedule/presentation/295/index.html new file mode 100644 index 0000000..979213f --- /dev/null +++ b/schedule/presentation/295/index.html @@ -0,0 +1,300 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: RAGtime with Postgres: AI Power with pgvector and Retrieval-Augmented Generation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Jimmy Angelakos +

    + Jimmy Angelakos
    + + @vyruss@fosstodon.org + + + + https://vyruss.org/computing + +

    +

    Jimmy Angelakos is a Systems and Database Architect and recognized PostgreSQL expert who has worked with, and contributed to, Open-Source tools for 25+ years. He is passionate about participating in the community, a Contributor to the PostgreSQL project, and an active member of PostgreSQL Europe and US. Jimmy is a regular speaker at conferences and events, sharing his insights with the community. Author of PostgreSQL Mistakes and How to Avoid Them, co-author of PostgreSQL 16 Administration Cookbook.

    +

    Mastodon: https://fosstodon.org/@vyruss +Bluesky: https://bsky.app/profile/vyruss.org

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Retrieval-Augmented Generation (RAG) is a powerful paradigm in application development with AI. In this talk, we'll demonstrate how to leverage PostgreSQL with pgvector to combine the strengths of vector similarity search with Large Language Models (LLMs).

+

As the speaker is a Postgres nerd (not an AI expert), we'll explain in simple terms how to dip your toes into AI while leveraging our favorite database -- from the perspective of a database person learning to work with these new tools.

+

We'll walk through:

+
    +
  • How to use pgvector to store and search vector embeddings (and what those are)
  • +
  • How to connect these capabilities with AI LLMs to build intelligent applications.
  • +
  • Some practical tips for implementation, including configuration, indexing strategies, and scaling considerations
  • +
  • How to reduce dependency on expensive external AI services by using open-source models while maintaining control over costs and infrastructure
  • +
+

To demonstrate these concepts in action, we'll look at a real-world example of building a developer assistance system that helps teams understand their codebase.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/296/index.html b/schedule/presentation/296/index.html new file mode 100644 index 0000000..5894755 --- /dev/null +++ b/schedule/presentation/296/index.html @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Herding Hackers and Hawking Code: The Hustle of a Developer Advocate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Nate Boot +

    + Nate Boot
    + + @https://fosstodon.org/@nateynateynate + + + @nateboot
    + + +

    +

    Nate is a life-long tech enthusiast, only recently finding himself in the world of developer advocacy at AWS. He currently works exclusively with the open source OpenSearch project. He loves show-and-tell, and really enjoys learning about new stuff and then sharing it with anyone who will listen. He has a particular love for retro technology and old video games. His most formative years were spent in BBS teleconferences in the pacific northwest.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

You may have heard of a developer advocate. You might have even seen one on stage or met one at a conference booth slinging stickers like they’re currency. Odds are you’ve probably seen a YouTube video or read a blog post from a developer advocate, talking about why an API has changed or acting as an “explainer of stuff” for some new feature. Our lives are never boring, but how can you tell if it’s something you’d be interested in? Just what else are these folk up to?

+

They are a must have if your particular open source project has regular user groups. You might even consider them a kind of translation layer. You see, they usually have backgrounds in software engineering but instead of coding all day, they're likely to be found talking about code all day. When your users are suffering from deficiencies and bring them to user groups to be discussed, these advocates can usually pinpoint what group of developers and/or repositories those code changes need to be made in. They are a bridge between development teams and user communities.

+

I’d love a chance to share my experience. If you have a passion for open source projects and want to someday get involved in a pragmatic and supportive way, let me take you through my journey and share just what makes it special to me and why it makes such a difference to the community of any open source product.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/297/index.html b/schedule/presentation/297/index.html new file mode 100644 index 0000000..579570d --- /dev/null +++ b/schedule/presentation/297/index.html @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: DevOps is a Foreign Language (or Why There Are No Junior SREs) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Joshua Lee +

    + Joshua Lee
    + + + @joshleecreates
    + + + https://joshuamlee.com + +

    +

    Josh is a seasoned software developer with over a decade of experience, specializing in a broad range of topics including operations, observability, agile methodologies, and accessibility. His passion for technology is matched by his enthusiasm for sharing knowledge through public speaking. Currently, Josh serves as a Developer Advocate for Altinity, where he creates educational content on ClickHouse and OpenTelemetry. Additionally, he is an active contributor to the OpenTelemetry project, helping to advance the field of observability in software development.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

DevOps has a notoriously steep learning curve. Getting started in the field can feel like being dropped in a foreign country without the ability to understand anything about the language.

+

A language is more than just the syntax and semantic rules of the words themselves. It also encompasses the shared culture of the speakers. With the proliferation of programming languages as well as the deeply held cultural beliefs of the community, it's easy to see that learning DevOps is like trying to learn a foreign language.

+

I will review five foundational hypotheses from the field of Second Language Acquisition and relate these hypotheses back to the world of DevOps. DevOps practitioners, trainers, tool builders, and learners should all come away with useful insights to apply to their practice.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/298/index.html b/schedule/presentation/298/index.html new file mode 100644 index 0000000..d8ae4b1 --- /dev/null +++ b/schedule/presentation/298/index.html @@ -0,0 +1,298 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Cooking Up Community: Build the Fire, Embrace Every Ingredient, Always Stir the Pot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Rick Turoczy +

    + Rick Turoczy
    + + @turoczy@pdx.social + + + @turoczy
    + + + https://siliconflorist.com + +

    +

    Rick Turoczy has been working in, on, and around the Portland, Oregon, startup community for 30 years. He has been recognized as one of the “OG”s of startup ecosystem building by the Kauffman Foundation, has shared insights in the book The Startup Community Way, and has been humbled by any number of opportunities to speak on stages from SXSW to Kobe to Muscat, including an opportunity to share his views on community building on the TEDxPortland stage (https://www.youtube.com/watch?v=Cj98mr_wUA0).

    +

    As founder and editor of Silicon Florist (https://siliconflorist.com/), he has blogged about Portland startups for nearly 20 years — even though numerous people have begged him to stop. That side project led Rick to start PIE (the Portland Incubator Experiment) (https://piepdx.com/), an ongoing experiment exploring the potential for mutually beneficial collaborations between the Portland startup community and more well-established entities like corporations, government organizations, and educational institutions.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Building a thriving open source community isn’t just about setting up the right infrastructure — it’s about lighting the fire, welcoming every ingredient, and making sure the pot stays stirred.

+

In this talk, Rick Turoczy — longtime startup community builder, Silicon Florist writer, and semi-professional stirrer-of-pots — shares practical, heartfelt lessons on how open communities nourish creativity, innovation, and resilience. Drawing inspiration from campfires, communal kitchens, and a few questionable recipes, Rick explores what it really takes to keep the flame alive without burning out the chefs.

+

Topics include: +- Building the Fire: Creating the conditions where contributors of all kinds feel warmth, safety, and purpose +- Embracing Every Ingredient: Recognizing and celebrating every kind of contribution — code, documentation, encouragement, memes, and moral support +- Always Stirring the Pot: Keeping communities dynamic, curious, and welcoming to new flavors and ideas — without letting things get scorched

+

Whether you're tending a tiny new project or helping stir a massive community stew, you'll leave with a renewed sense of why open source isn't just about code — it's about collaboration, nourishment, and shared possibility.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/299/index.html b/schedule/presentation/299/index.html new file mode 100644 index 0000000..85c7d48 --- /dev/null +++ b/schedule/presentation/299/index.html @@ -0,0 +1,292 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Popping kernels for Linux distributions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Neal Gompa +

    + Neal Gompa
    + + @neal@social.gompa.me + + + @Det_Conan_Kudo
    + + + https://neal.gompa.dev/ + +

    +

    Neal Gompa is a developer for–and contributor to–Fedora, CentOS, and openSUSE. Neal focuses primarily on the base Linux system components, such as package and software management, and desktop Linux. He believes in “upstream first,” which has led him all over the open source world. In addition to open source work as a consultant through Velocity Limitless, he is also a co-host on the Sudo Show podcast where he talks about "the business of open source."

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Packagers in Linux distributions do a lot to ensure the software you use is up to date, integrated in the platform, and most importantly: works! But one package stands out among the others in importance: the Linux kernel. Over the past few years, I've become a Linux kernel package maintainer for a couple of Linux distributions (notably Fedora Asahi Remix and CentOS Stream Hyperscale). This talk will share my experiences in becoming and being a Linux kernel package maintainer: the good, the bad, and the sometimes ugly.

+

This will be centered around two very distinct types of kernel packages: one where the kernel is mostly upstream and low patching (CentOS Stream Hyperscale) and one where the kernel has a significant downstream patch load (Fedora Asahi Remix). The compare and contrast will demonstrate why Linux distributions make the choices they do around package maintenance and concretely show why philosophies like "upstream first" and similar matter.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/301/index.html b/schedule/presentation/301/index.html new file mode 100644 index 0000000..ffe226d --- /dev/null +++ b/schedule/presentation/301/index.html @@ -0,0 +1,297 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Linux kernel test automation with kdevops + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Luis Chamberlain +

    + Luis Chamberlain
    + + @mcgrof + + + +

    +

    Luis is a Principal Engineer at Samsung focusing the development and adoption of future Samsung NVMe storage & memory solutions with a focus on artificial intelligence. Luis has been working on the Linux kernel for over 20 years, and his fields of interest has changed over time, from Wireless, Bluetooth, Ethernet, to virtualization and lately with storage and memory technologies. He has also helped spearhead different new automation open source projects such as the Linux kernel backports project and as of late the kdevops project.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

We have a slew of ways to test the Linux kernel: selftests, kunit, and then we have a slew of subsystem specific tests. Intel 0-day has also done a fantastic job at helping find bugs. So has syzkaller. Some subsystems like filesystems and memory management have really complex test frameworks though and have falling behind in automation. Is it possible to automate testing of complex subsystems? Should we? And what are the implications if we're successful?

+

To provide perspective, it takes roughly 10 years to stabilize a new Linux filesystem. But can we do better? The kdevops project was started with the goal of first of addressing automation of testing of complex subsystems such as filesystems to help reduce the amount of time it takes to stabilize new filesystems or new filesystem features. The project aimed at supporting local virtualization, bare metal, and all cloud provider support. Seven years later since the project got started, with the help of a lot of community collaboration the project is now integral part not only of testing pipelines but also development workflows. The kdevops project now enables continuous integration for different subsystems starting with:

+
    +
  • Linux modules
  • +
  • Linux radix tree
  • +
  • Linux filesystems: xfs, btrfs, ext4
  • +
  • Linux network filesystems: NFS
  • +
  • Linux selftests
  • +
+

A dashboard of results is now also updated automatically based on automatic tests: https://kdevops.org

+

What have we learned from all this effort so far? And what lies ahead for the roadmap? If you want to contribute and help how do you do that?

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/302/index.html b/schedule/presentation/302/index.html new file mode 100644 index 0000000..801bf19 --- /dev/null +++ b/schedule/presentation/302/index.html @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: The big-endian RISC-V Linux Adventure + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Ben Dooks +

    + Ben Dooks
    + + + @bjdooks
    + + + http://www.fluff.org/ben/ + +

    +

    Long time open source contributor to the Linux kernel, qemu and other projects for both work and personal fun. Experience in various hardware and board bringup on arm32, arm64, riscv64 and electronic design.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

The latest RISC-V ISA specification allows for runtime configuration of the data endian between little and big. Since no one had done this before, we decided to investigate how difficult it would be to get an prototype Linux implementation running in big endian on an emulated RISC-V system such as under QEMU.

+

The talk goes from the description of the new ISA feature, our initial analysis and the modifications to software such as the Linux kernel, QEMU and OpenSBI that where needed. This then goes into the issues that we found and how to fix them. This includes kvm and how that works with mixed endian kvm instances, and the modifications to kvmtool to make this work.

+

We conclude with how the project went, what we published and a call to arms to continue testing and fixing outstanding issues.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/305/index.html b/schedule/presentation/305/index.html new file mode 100644 index 0000000..e21348f --- /dev/null +++ b/schedule/presentation/305/index.html @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Riding Subiquity With No Handlebars + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Romeo S +

    + Romeo S
    + + + + https://punkto.org + +

    +

    Romeo is a GNU/Linux sysadmin with nearly a decade of experience. As a college dropout, he has taught himself the ins and outs of GNU/Linux and of countless software projects from scratch with no tour guide or teacher. A consistent habit of "being the edge case that you want to see in the world" has forced him to develop a knack for solving problems that developers and maintainers typically don't see coming. Primarily specializing in HPC-related infrastructure management, he lives in a world of "except for on this cluster" and "except for in this context." This environment of asterisks has forced adaptability, which has translated into a lot of experience in diving into the weeds. He has spoken at several conferences in the PNW and nationwide, seeking to educate as well as to entertain. Originally a Portland native, he now lives in central Washington while working remotely for a company in Seattle.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Canonical, never happy with existing standards, wrote their own auto-installer just for Ubuntu. It has some "fun" usage, which we will cover in great detail. After this talk, you will be able to install Ubuntu Server with your hands tied behind your back, whether it be on a virtual machine or bare metal, with or without a network connection, in a datacenter or in your lap. We will also have some fun talking about the perplexing decisions that Canonical makes and some of the long-standing bugs in Subiquity, along with workarounds.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/306/index.html b/schedule/presentation/306/index.html new file mode 100644 index 0000000..19ed8d1 --- /dev/null +++ b/schedule/presentation/306/index.html @@ -0,0 +1,297 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: The Kalpa Desktop, A Desktop for people that just want to get things done. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Shawn W Dunn +

    + Shawn W Dunn
    + + @sfalken@mastodon.naturalorder.me + + + + https://sfalken.tech + +

    +

    Shawn is the Lead Developer on the Kalpa Desktop https://kalpadesktop.org, current openSUSE Board Member, and a long time openSUSE contributor, as a Moderator, Packager, and Maintainer.

    +

    Shawn also currently contributes to the Fedora project as a packager and maintainer, and is a past contributor to Fuduntu, Solus, Crunchbang, and many other FOSS projects.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Kalpa Desktop is a Plasma desktop derived from MicroOS, and Tumbleweed, providing a immutable system base, with a containerized workflow, through distrobox and podman, and Desktop applications via Flathub.

+

Kalpa grew out of the initial work by Richard Brown, with MicroOS Desktop, but has diverged over the past three years.

+

Kalpa's focus is on providing users with: +- A well-tested and current Plasma-Wayland desktop +- A minimal installation, without a bunch of applications you may not want or need +- Robust stability, through the use of atomic updates, no more broken updates +- Just a "Damn Good™" basic desktop installation, that's designed to be a desktop, and that's all

+

This presentation will present the current state of the Project, and examine the future roadmap for Kalpa Desktop.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/308/index.html b/schedule/presentation/308/index.html new file mode 100644 index 0000000..b4371cc --- /dev/null +++ b/schedule/presentation/308/index.html @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: A Hyperscaler’s operating system strategy: working with CentOS and Fedora + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Michel Lind +

    + Michel Lind
    + + @michelin@hachyderm.io + + + + https://michel-slm.name/ + +

    +

    Michel Lind (né Salim) is a Fedora contributor in various capacity (proven packager, packager sponsor, serving in leadership committees) since almost the beginning; CentOS Proposed Updates SIG co-chair and Hyperscale SIG contributor. He is alao a Debian Maintainer, and has contributed to openSUSE, Fink and MacPorts in a previous life.

    +

    In his day job, Michel is a Production Engineer on the Linux Userspace team at Meta, which is responsible for the CentOS Stream deployment on the production fleet.

    +

    +
  • + +
  • + + Davide Cavalca +

    + Davide Cavalca
    + + + +

    +

    Davide Cavalca is a Production Engineer at Meta on the Linux team. Davide has worked in the systems space for more than 15 years, always with a strong focus towards open source and automation. Davide serves on the CentOS Board of Directors, co-chairs the CentOS Hyperscale SIG and actively participates in a number of other SIGs to drive the project forward. Davide is also involved in Fedora, where he sits on the EPEL Steering Committee, and has helped drive the development of several major distribution features. Davide also sits on the Asahi Linux Governance Board and is actively involved in the project, where he helps develop Fedora Asahi Remix within the Asahi SIG in Fedora.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

When an organization's Linux deployment gets large enough, a curious emergent property appears - the incentives start to favor developing in-house Linux expertise, as opposed to outsourcing operating systems support to external vendors.

+

At the same time, given the scale involved, such organizations tend to prefer having a stable base to build on - thus the appeal of slower-moving enterprise distributions, except with in-house customizations on top.

+

In this talk we are going to discuss some of the choices we made at Meta for our Linux fleet, and the thought process behind that. We hope that organizations in a similar situation can benefit from our experience, and that community members whose interests are aligned can benefit from our contributions and consider participating in the community projects we are involved in.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/311/index.html b/schedule/presentation/311/index.html new file mode 100644 index 0000000..ec86e95 --- /dev/null +++ b/schedule/presentation/311/index.html @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Mobile Gaming with FOSS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Edward Ly +

    + Edward Ly
    + + + + https://edward.ly/ + +

    +

    Dr. Edward Ly is a Portland, Oregon native who now works as a software engineer at Nextcloud as part of a team that develops ethical AI solutions and supports the greater Nextcloud and free software community. Previously, he obtained his Ph.D. in Computer Science and Engineering from the University of Aizu, where he conducted research on machine learning in digital audio signal processing applications and published his work as free software. He has also successfully given public talks at various academic research conferences (AES, EvoStar) and open source events (FOSSY, Nextcloud Community Conference), all while being openly autistic.

    +

    In his spare time, Edward enjoys playing video games, as well as occasionally producing electronic dance music and making DJ mixes (all with free software!).

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Mobile gaming is an industry that is rapidly growing to the point where it is now more popular (and profitable) than PC and console gaming combined. Yet, much of the well-known efforts to support gaming on Linux (e.g. emulators, compatibility layers, gaming-focused distributions) remains within the PC and console gaming spaces. This talk will briefly explain the state of mobile gaming today, as well as why and how FOSS game development should expand into the mobile sector. Whether you are a gamer or a developer (no matter your skill level), come join us to learn about the best mobile games you haven't heard yet or even how to get started developing one yourself!

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/312/index.html b/schedule/presentation/312/index.html new file mode 100644 index 0000000..0802374 --- /dev/null +++ b/schedule/presentation/312/index.html @@ -0,0 +1,290 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: The Future of Fixing Technology + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Denver Gingerich +

    + Denver Gingerich
    + + + + https://ossguy.com/ + +

    +

    Denver is a software right-to-repair and standards activist who is currently Director of Compliance at Software Freedom Conservancy, where he enforces software right-to-repair licenses such as the GPL, and is also a director of the worker co-operative that runs JMP.chat, a FOSS phone number (texting/calling) service. Denver writes free software in his spare time: his patches have been accepted into Wine, Linux, and wdiff. Denver received his BMath in Computer Science from the University of Waterloo. He gives presentations about digital civil rights and how to ensure FOSS remains sustainable as a community and financially, having spoken at conferences such as FOSSY, SCALE, the Canadian Repair Convention, FOSDEM, SFSCON, CopyleftConf, LibrePlanet, LinuxCon North America, CopyCamp Toronto, FOSSLC's Summercamp, and the Open Video Conference.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Computers and the internet had the potential to neutralize existing power structures and bring true equality in access to knowledge and the ability to control technology to the masses. While some power structures have changed, new ones have emerged that threaten to undo the very fabric of modern society. These new power structures promote misinformation, put control of technology in the hands of an elite few, and prevent the masses from customizing or improving the devices that they rely on to communicate with the rest of the world.

+

In the early days of the internet, there was a feeling of excitement about its endless possibilities. There was a sense that it could indeed give us unfettered access to the best information available, and we could use that to improve our technology and our lives. However, events like the Eternal September and many less defined epochs showed that the internet on its own could not maintain its utopic promise. We needed a plan, a way of standing up to power structures and other influences, one that put critical thinking, cultural sensitivity, and user agency at the forefront.

+

The future of fixing our technology and adapting it to each of our individual unique needs and preferences could go a few different ways. In this talk, we'll explore the history of fixing our technology, where we're at now, and what it will take to make this individualized technology future a reality.

+

Among other topics, we'll discuss "the plan" for getting there, laying out a few concrete steps that we'll need to take to get where we want to go. Along the way we'll talk about how power structures get dismantled and rebuilt through technological change, and how we can collectively temper the seemingly inevitable swings between different factions of the wealthy elite controlling technology relied upon and available to the masses, so that we eventually approach the asymptote of actual freedom and agency in the computing realities of the average user.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/313/index.html b/schedule/presentation/313/index.html new file mode 100644 index 0000000..146ddcb --- /dev/null +++ b/schedule/presentation/313/index.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Making P2P apps with Spritely Goblins + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Diana Belle +

    + Diana Belle
    + + @garbados@friend.camp + + + + https://blog.bovid.space + +

    +

    Diana is a distributed systems dweeb with opinions about timestamps and gravity waves. She codes tooling, apps, and video games, as well as writes essays, fiction, and poetry. She resides in the Pacific Northwest with her partners.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

The Spritely Institute has been working hard on a distributed systems programming library called Goblins, whose cleverness simplifies all the difficult parts of getting multiplayer code right. How different is a multiplayer game from a peer-to-peer app, really? Let's dive in and I'll show you how to get involved with this emerging technology, whether in Scheme, or JavaScript!

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/314/index.html b/schedule/presentation/314/index.html new file mode 100644 index 0000000..63eeee4 --- /dev/null +++ b/schedule/presentation/314/index.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: The Subtle Art of Lying with Statistics + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Dave McAllister +

    + Dave McAllister
    + + + @dwmcallister
    + + +

    +

    Currently providing open source technical evangelism for NGINX, Dave works with DevOps, developers and architects to understand the advantages of modern architectures and orchestration to solve large-scale distributed systems challenges, using open source and its innovation. Dave has been a champion for open systems and open source from the early days of Linux to today's world of OpenTelemetry and observability.

    +

    Dave was named as one of the top ten pioneers in open source by Computer Business Review, having cut his teeth on Linux and compilers before the phrase "open source" was coined. Well-versed in trivia, he won a Golden Penguin in 2002. When he's not talking, you can find him hiking with his trusty camera, trying to keep up with his wife.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

"Lies, damned lies and statistics." While true, only statistics allow you to lie to yourself.

+

Let's explore how statistics can sometimes trick us into believing something untrue. This isn't always done intentionally; we mislead ourselves without realizing it. We'll look at how focusing solely on recent events, choosing specific data to look at, and making assumptions about the size of a group can lead us to the wrong conclusions. We'll show examples of how graphs and numbers can be used in misleading ways. The presentation aims to teach you to look at statistics more critically, understand their limits, and avoid fooling yourself with numbers.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/316/index.html b/schedule/presentation/316/index.html new file mode 100644 index 0000000..f73e78e --- /dev/null +++ b/schedule/presentation/316/index.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Making Esoteric Beauty Accessible: Befunge in 2025 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+ +
+ +
+

Abstract

+ +

Befunge is a 2-dimensional esoteric programming language that is stack-based with an emphasis on code being able to modify itself at runtime. It was designed to be hard to compile and entertaining. While even the most well-written Befunge looks obfuscated, with the right tools we can visualize and make accessible its concepts and strange beauty. Join Robin Brown as she teaches the basics of Befunge using new interactive tools and talks briefly about its past and future.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/318/index.html b/schedule/presentation/318/index.html new file mode 100644 index 0000000..90f481a --- /dev/null +++ b/schedule/presentation/318/index.html @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: GNU/Linux Loves All + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Timmy James Barnett +

    + Timmy James Barnett
    + + + + https://gnulinux.love + +

    +

    Timmy James Barnett is passionate about the philosophy of FLO (Free/Libre/Open) software. He is happy to be using GNU/Linux and FLO software he wrote for his performances with GNU/Linux Loves All and !mindparade. He loves to tell others about his great experiences with FLO software. Timmy's music is inspired by FLO technologies including GNU/Linux, Matthew Autry's skip-fretting, and Kite guitar. These technologies have connected him with older notes that have been covered up by modern standard tuning. Rather than being limited to just one tuning, Timmy's music is inspired by both the harmonic series and various edos beyond just 12edo (known as standard tuning). He finds a unique sound from the intersection between ancient tuning theory, modern music technology, and a FLO philosophy.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

GNU/Linux Loves All is an experience that makes microtonal music accessible through FLO software. Timmy writes FLO software music tools for all people. At this concert, you will hear musical intervals from across millennia on violin, microtonal guitar, and microtonal keyboards, running through FLO software music tools on GNU/Linux, the greatest operating system of all time.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/319/index.html b/schedule/presentation/319/index.html new file mode 100644 index 0000000..e3d3b12 --- /dev/null +++ b/schedule/presentation/319/index.html @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: BlueHats: Public servant advocates for software freedom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Michael Downey +

    + Michael Downey
    + + @https://floss.social/@downey + + + +

    +

    Michael Downey is an international civil servant, working on free & open source software programs for the world's largest international development agency. He has been involved in FOSS for several decades, as a user of, advocate for, and contributor to many free software projects. He helped lead OpenMRS, for which he accepted the FSF Award for Projects of Social Benefit in 2013, and has served on multiple project and nonprofit boards. Michael holds two undergraduate engineering degrees and his doctoral research focused on cross-cultural computer supported cooperative work.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

BlueHats is a worldwide community of public servants (teachers, researchers and other government workers, etc.) who promote FOSS use in, by, and for the public sector. BlueHats believe that tax money spent on software development should result in Free Software, and they support the principle of "public money, public code". All public servants around the world are invited to join this movement, so come and learn more about the movement and help us spread the word!

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/320/index.html b/schedule/presentation/320/index.html new file mode 100644 index 0000000..4023bbb --- /dev/null +++ b/schedule/presentation/320/index.html @@ -0,0 +1,285 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Reversing Metcalfe's Law: undermining the software-service–industrial complex with .zip files + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Nathan Willis +

    + Nathan Willis
    + + + +

    +

    Nathan Willis is a type designer and consultant who arguably spends too much of his time thinking about personal-data exports, linkrot, and the use of conjunctions in software documentation. He currently owns no pets, and is using predictive next to complete this sentence to reach the recommended word-count; and I don't know what to do so I can find out if you can get a chance to chat with me about it on the way home till after 6pm pm but I will be there in a few minutes until the last time I get home I think that I can find out if you can get a chance to chat with me about it on the way home.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Portability and data sovereignty are often touted as critical principles for ensuring user privacy in the age of always-connected Internet services: the ability to archive and export your information ensures that you cannot be held captive by a provider that falls short on ethics or security. The tricky bit comes when users attempt to unpack this exported data and put it to proper use. This talk examines the free-software tools available to access common exported data sets and addresses the complexities faced when re-purposing account data or transforming it for use in free systems. Emphasis is placed on how desktop Linux distributions and server-side free-software networks could provide a better and more integrated experience. Datasets examined include email, messaging, media, bookmarks and favorites from discussion forums, geolocation history, health records, contacts and calendars, and social media posts.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/321/index.html b/schedule/presentation/321/index.html new file mode 100644 index 0000000..b514b58 --- /dev/null +++ b/schedule/presentation/321/index.html @@ -0,0 +1,301 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: open source for fun and profit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Milo Oien-Rochat +

    + Milo Oien-Rochat
    + + + + https://github.com/nikolarobottesla/ + +

    +

    Milo is fighting for open source and sustainability from inside the machine. He has open sourced two 3M projects: gitpyup and plotme. 3M open source code can be found at https://github.com/3mcloud He contributes back to the projects he uses. For example he added a missing feature in ezdxf and fixed a bug in pyaedt. He is planting seeds within 3M to support open source financially.

    +

    At home, Milo is a Linux and self-hosting enthusiast. He runs NixOS and shares his flake with desktop and server configurations on GitHub under an MIT licence.

    +

    Away from screens, Milo cooks creatively, sings in a choir and walks in the woods.

    +

    Social media is real bad so Milo can be found on GitHub where he donates to Bazzite, KDE and GrapheneOS.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Learn how to convince your employer to open source internal projects and how to effectively contribute to open source projects while at work. I will share examples of open sourced projects and contributions to existing projects from my work at 3M Company.

+

This talk will cover exciting topics such as. +* Employee contracts +* Find/set up an open source watering hole +* Do your homework/arrive with a plan +* Your attorney is a person too +* Pro/con lists +* The odds are in your favor +* Get good at Git +* Remove sensitive data (like email addresses) from git repos +* Make friends in IT +* Set a trend make a friend

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/323/index.html b/schedule/presentation/323/index.html new file mode 100644 index 0000000..e0e6964 --- /dev/null +++ b/schedule/presentation/323/index.html @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: How to Hold It Together When It All Falls Apart: Surviving a Toxic Open Source Project Without Losin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Cami Kaos +

    + Cami Kaos
    + + + + https://camikaos.com/ + +

    +

    Cami Kaos has spent more than a decade wrangling open source communities, moderating mayhem, and gently coaxing chaos into collaboration. She’s led WordPress community efforts, championed DEIB strategies, and survived more Slack threads than is medically advisable. A frequent speaker and mentor, Cami combines strategic know-how with humor, heart, and just enough existential dread to keep things interesting. When not navigating the emotional rollercoaster of community management, she lives and plays in the great city of Portland, Oregon.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

I love open source. I always have. I’ve spent more than a decade building, managing, and advocating for open source communities—through mentorship, moderation, DEIB strategy, support tickets, and everything in between. It’s been one of the great loves of my career. But at some point, I found myself in a project where the openness was performative, the source of truth was... well, interpretive, and the community slowly, quietly, turned toxic.

+

This talk isn’t a revenge arc or a cautionary tale told with pitchforks. It’s a survival guide—and a personal one. Inspired in part by Pema Chödrön’s When Things Fall Apart, it’s about finding groundlessness in a place that once felt solid, and learning how to stay present and compassionate even when the community you helped build begins to crumble around you.

+

We’ll explore:

+

The subtle warning signs of a community in distress

+

What “toxic” actually looks like in open source (hint: it’s often quiet and polite)

+

The emotional labor of community leadership, especially when you’re the one holding everything together

+

How to create space for your own wellbeing while still honoring your values

+

And, yes—how to begin again. How to grieve a project, rediscover joy, and fall back in love with open source, on your terms.

+

If you've ever asked yourself, “Is it me? Or is this project slowly draining the life out of me?”—this talk is for you. Spoiler: It’s not just you. Let’s talk about what happens when things fall apart—and how we hold it together anyway.

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/324/index.html b/schedule/presentation/324/index.html new file mode 100644 index 0000000..f07f7b2 --- /dev/null +++ b/schedule/presentation/324/index.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: The Cathedral and the Bizarre, or Dual-Booting for Fun and Prophet: Using Linux to Enhance TempleOS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Toby Betts +

    + Toby Betts
    + + @https://bsd.network/web/@xenotrope + + + + https://su.bze.ro/talks.html + +

    +

    Toby Betts has been breaking and, when possible, fixing computers since childhood. He has worked as a system administrator, a service engineer, a site reliability engineer, and a free and open source software consultant for mid- to large-sized businesses for over 25 years. His main interests are system security, free cryptography, and fun file systems.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Dual-booting is a useful method to run two operating systems on the same machine. Different OSes might help you harness the full potential of your hardware, or it may be necessary because of software limitations. It lets you tailor your computing experience to your own unique needs. Yet few people run different operating systems from the same disk partition, where both OSes coexist in the same place in the same file system. This talk will outline the steps to combine Linux with another open source OS known as TempleOS in a very small amount of disk space, and how blending them together can create a unique and fun programming experience.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/325/index.html b/schedule/presentation/325/index.html new file mode 100644 index 0000000..fe46395 --- /dev/null +++ b/schedule/presentation/325/index.html @@ -0,0 +1,290 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: DRM, security, or both? How do we decide? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Matthew Garrett +

    + Matthew Garrett
    + + @mjg59@nondeterministic.computer + + + @Oh come on
    + + +

    +

    Matthew is a long-term free software advocate, Linux developer, and low-level system poker. He is especially interested in identifying ways to use technology to protect users without restricting their freedoms, and is a passionate advocate in users having the right to modify systems they own.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

An easy way to define malware is "Software that I don't want running on my computer". And one way to ensure that you're protected from malware would be to ensure that your computer only runs software you want to run. But how is technology that allows that different to technology that allows someone else to choose what software your computer runs? Someone who isn't necessarily motivated by your best interests? How do we decide what is security, and how do we decide what is DRM?

+

This presentation will cover various technologies that allow general purpose computers to become less general purpose, and discuss whether they are of net benefit to users or a net risk to their freedoms. It will discuss whether TPMs are actually locking you down, whether secure boot has been a success or a failure, how immutable distros and app packaging play into this, and give you some hope that we can take the tools that were made to restrict us and repurpose them to protect us.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/326/index.html b/schedule/presentation/326/index.html new file mode 100644 index 0000000..ec8269b --- /dev/null +++ b/schedule/presentation/326/index.html @@ -0,0 +1,293 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Is There Really an SBOM Mandate? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Bradley M. Kuhn +

    + Bradley M. Kuhn
    + + @bkuhn@floss.social + + + +

    +

    Bradley M. Kuhn is the Policy Fellow at Software Freedom Conservancy (SFC). Kuhn began his work software freedom movement in 1992, as an early adopter of Linux systems & contributor to various FOSS projects, including Perl. Kuhn was FSF’s Executive Director from 2001–2005, began as SFC’s primary volunteer from 2006–2010, and became SFC's first staff person in 2011. Kuhn's work focuses on enforcement of the GPL agreements, FOSS licensing policy, and infrastructural solutions for FOSS.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

A consistent mantra of the Software Bill Of Materials (SBOM) ballyhoo is +that various government entities around the world have mandated SBOMs in +various different places. From USA POTUS Executive Orders, to EU Directives, +to USA NIST whitepapers — it's often been repeated that these various +sources mandate SBOMs as a mandatory requirement.

+

Let's look at the source material and find out what these various orders and +directives actually say, and figure out what's really mandated.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/327/index.html b/schedule/presentation/327/index.html new file mode 100644 index 0000000..96fb2a0 --- /dev/null +++ b/schedule/presentation/327/index.html @@ -0,0 +1,306 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Never Mind the Checkboxes, Here's Reproducible Builds! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Vagrant Cascadian +

    + Vagrant Cascadian
    + + @https://floss.social/@vagrantc + + + + https://www.aikidev.net + +

    +

    Vagrant strives to make Reproducible Builds a best practices reality for everyone. Vagrant discovered free software late last millenia and has been contributing to free software since the beginning of this millenia. A long-time Debian Developer and contributor to Guix, tinkering with ARM and RISC-V systems. At Portland's Free Geek, Vagrant dove into life as a free software developer, rebuilding electronic waste with FOSS, modifying or developing new software as needed. That led to exciting work helping coordinate LTSP development shared between several different operating systems. That sense of open collaboration has been a life-long habit. Vagrant contrasts spending too much time on computers with bicycle commuting, aikido and a DIY solar hobby.

    +

    +
  • + +
  • + + Chris Lamb +

    + Chris Lamb
    + + + + https://chris-lamb.co.uk/ + +

    +

    Chris has been an official Debian Developer since 2008 and is a core team member of the Reproducible Builds project. He is a former 'DPL' of the Debian project as well as a member of Board of Directors for the Open Source Initiative (OSI). A recent immigrant to the United States, Chris is the author of dozens of small free-software projects and a contributor to 100s of others, but in his spare time he is an avid classical musician, calligrapher and is slowly working towards a sommelier certification.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

There are numerous policy compliance and regulatory processes being developed that target software development... but do they solve actual problems? Does it improve the quality of software? Do Software Bill of Materials (SBOMs) actually give you the information necessary to verify how a given software artifact was built? What is the goal of all these compliance checklists anyways... or more importantly, what should the goals be? If a software object is signed, who should be trusted to sign it, and can they be trusted ... forever?

+

Could you imagine a world with many bureaucratic compliance checks being replaced with verifiable processes performed by arbitrary third parties?

+

Let me introduce you to Reproducible Builds, a set of best practices which allow you to verify that software artifacts were built from the source code, allowing auditing for license compliance, providing security benefits, and remove the need to trust arbitrary software vendors.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/328/index.html b/schedule/presentation/328/index.html new file mode 100644 index 0000000..749c0e0 --- /dev/null +++ b/schedule/presentation/328/index.html @@ -0,0 +1,295 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Reimagining Online Deliberation: Why Open Source is Critical for Civic Infrastructure + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Samantha Shireman +

    + Samantha Shireman
    + + + + https://frankly.org + +

    +

    Samantha Shireman develops technology that helps people break through the digital walls that divide them. Within Harvard’s Applied Social Media Lab, she serves as the product manager for Frankly (frankly.org), an open-source video platform that enables people to engage in deliberation, assemblies, and other forms of constructive discourse and problem-solving.

    +

    Previously, as Director of Product at AllSides.com, she helped build many products intended to help people understand diverse perspectives and enable healthy communication across ideological divides. +  +She earned her degree in cognitive science from UC Berkeley, where she spent a lot of time thinking about thinking. She first earned her tech chops in middle school when, out of necessity, she taught herself HTML and CSS to create web pages for her Neopets.

    +

    When not working to strengthen democracy, Samantha enjoys puzzles, good food, cocktails, and the occasional rabbit hole into psychology research. She and her spouse live in El Cerrito, CA in an apartment building they and a few friends purchased together to end-run SF bay area housing costs. They live with their cat GABA, appropriately named after a neurotransmitter.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

What if the tools we use for civic engagement were as common as Google Docs, but built on open source principles? In today's polarized digital landscape, creating space for thoughtful, inclusive dialogue is more critical than ever.

+

Within Harvard's Berkman Klein Center, our Applied Social Media Lab is building Frankly, an open source video-based discourse platform that structures online face-to-face conversations for meaningful outcomes. +It combines intelligent group matching with embedded discussion prompts, enabling balanced groups to navigate complex topics without facilitators in order to make constructive discourse and collaborative decision-making accessible and scalable.

+

This session explores how we’re rethinking online discourse to better support civic engagement and social connection, and why democratic infrastructure must be built on open source principles. Open source enables adaptability to different contexts, ensures longevity beyond any single institution, and provides the scrutinizability necessary for legitimate public discourse.

+

By open-sourcing Frankly and collaborating with practitioners, we're developing civic technology that is transparent, adaptable, and grounded in dialogue expertise. As we increasingly make collective decisions in digital spaces, building deliberative infrastructure on open foundations isn't just technically superior—it's democratically essential.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/329/index.html b/schedule/presentation/329/index.html new file mode 100644 index 0000000..2ab98b9 --- /dev/null +++ b/schedule/presentation/329/index.html @@ -0,0 +1,293 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Open Source Software in Higher Education: A Community Report + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Patrick Masson +

    + Patrick Masson
    + + @massonpj@fosstodon.org + + + @- -
    + + + https://pmasson.wordpress.com/ + +

    +

    Patrick joined Apereo as Executive Director in 2023, serving previously as Interim General Manager of the Foundation. Before Apereo, Patrick served as General Manager for the Open Source Initiative after working within higher education IT for over twenty years, including roles as CIO within the State University of New York and CTO at the University of Massachusetts' Office of the President. He was the Director of Technology at the SUNY Learning Network and the UCLA Media Lab.

    +

    Patrick is an adjunct instructor with SUNY Albany's College of Computing and Information and speaks frequently on topics related to open source software, open education, and educational technology. Patrick is the co-founder of EDUCAUSE's "Openness" Constituency Group and served on his local school board from 2014-2018.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Reports highlighting the adoption of open source software (OSS) are ubiquitous. Yet studies specific to higher education are limited, perhaps leaving campuses unprepared to manage their edtech portfolios.

+

The Apereo Foundation, in partnership with other open source software foundations and global universities, will present preliminary data from the Open Source Software in Higher Education Community Report. This report offers unique insights into the perceptions of OSS discovered through a survey of IT leaders undertaken at EDUCAUSE 2025, as well as the prevalence of OSS in use across academic enterprises through profiling and analysis of .edu domains. The 2025 data is then compared to historical data to provide historical trends, compare current practices, and identify areas of future impact.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/330/index.html b/schedule/presentation/330/index.html new file mode 100644 index 0000000..67adae8 --- /dev/null +++ b/schedule/presentation/330/index.html @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Nurturing the Next Generation of Open Source Contributors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Tyler Menezes +

    + Tyler Menezes
    + + + @tylermenezes
    + + + https://www.tyler.vc/ + +

    +

    Tyler Menezes is the CEO of CodeDay, where he has helped more than 70,000 students use technology and creativity to make meaningful changes to their world. +Born in Canada but raised in the Pacific Northwest, he briefly attended the University of Washington before dropping out to start a Y Combinator and venture-backed social video startup in 2011. This, combined with stints working in machine learning at Microsoft Research and as a programmer at several Seattle startups, led to his work finding data-driven solutions to build a more talented, creative, and innovative technology workforce since 2014.

    +

    Tyler's work in education has led to his recognition as one of Forbes Magazine's "30 Under 30" in 2019, Forbes "Under 30 Innovators You Need to Know", Tech&Learning Magazine's "Most Inspiring in EdTech", and others. He has authored many peer-reviewed publications on CS education, served as Principal Investigator on National Science Foundation awards for STEM education, and has spoken about technical mentorship at leading software engineering and education conferences around the world.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Many open source projects are grappling with a crucial issue: finding future contributors and maintainers. This talk explores the hurdles and solutions in bridging academia and open source. We discuss what mental barriers students face when it comes to coding and contributing to open source, how to craft mentorship resources, and what resources projects need to build lasting relationships with students.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/333/index.html b/schedule/presentation/333/index.html new file mode 100644 index 0000000..1280a4d --- /dev/null +++ b/schedule/presentation/333/index.html @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: HAX Lab: FOSS community becomes the classroom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Bryan T Ollendyke +

    + Bryan T Ollendyke
    + + @btopro + + + @btopro
    + + + https://hax.psu.edu + +

    +

    Educator and Full time Open source front-end developer at Penn State. Bryan's life is open source web contribution. He is the lead of the HAX community. HAX The Web is an effort to "hack" the way the world works with the web by making web authoring ubiquitous for all users, regardless of skill and ability. Treat the web like a file format and make high quality, accessible, fast, usable tools for anyone to self publish.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

This talk is a case study in how fusing open source contribution with classroom teaching can directly lead to increases in contributors and improved developer experience! DX often comes down to new users being able to figure out your software and students learning new technologies provide a great basis for building around.

+

HAX Lab is a collaboration between multiple colleges at Penn State. Information Sciences and Technology crossed with Arts and Architecture, has provided a playground to grow and sustain open source in a unique way I'd love to share. Now there is an IST course (256) that teaches students modern web development through direct and indirect contribution to the platform, HAX Lab, HAX The Club, and collaborations across clubs directly and indirectly improving the ecosystem! You can learn more about the Student Innovation Pipeline here: https://haxtheweb.org/hax-lab/student-innovation-pipeline

+

Direct contribution: +- Labs solve entry level problems in the ecosystem +- Course capstone projects help contribute to larger needs in the community +- HAX Lab allows students to go further via internships and independent studies +- a student driven HAX Club allows them to take their knowledge to application in the larger university community

+

Indirect: +- Students use the HAX cli in order to learn about modern web tooling. This provides DX feedback to our community +- Students often keep contributing afterwards by creating sites on the platform +- Several students have continued to contribute in the years after the course +- Other groups internally are writing HAX into grants and building business plans that incorporate HAX unique capabilities

+

What you'll learn: +- How our pipeline works +- Contribution timelines, scale, and quality of contributions +- Examples of additional ways to engage student communities to increase contributions +- How you can get involved with HAX and use it in your community

+

More about HAX: +HAX is short for Headless Authoring eXperience, it is a web based ecosystem that makes it easier to build websites and then provides website-tonight style click and build software that you can take with you, download, and remix easily. It was an idea and approach to make it easier to develop web content online.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/334/index.html b/schedule/presentation/334/index.html new file mode 100644 index 0000000..41a62ce --- /dev/null +++ b/schedule/presentation/334/index.html @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: A Multi-Campus Survey of Open Source Contributors at the University of California + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Virginia Scarlett +

    + Virginia Scarlett
    + + + +

    +

    Virginia's early career consisted of original research in plant biology related to biofuels, and she received her PhD in plant biology from the University of California (UC) Berkeley in 2022. Towards the end of graduate school, her interest in open science led her to shift her focus from biological research to research support. From 2022-2024, she was the Open Data Specialist at the Howard Hughes Medical Institute's Janelia research campus, where she advised researchers on data management, and was the primary author of a strategic report on the institute's data management strategies. In February 2024, she became the Open Source Programs Specialist at the UC Santa Barbara Library. In this role, she is conducting discovery work for the UC OSPO Network Project, an initiative funded by the Alfred P. Sloan foundation to expand open source support services at the University of California.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Once considered a radical experiment, open source is now ubiquitous in the modern technology landscape, and appears to be here to stay. In the technology industry, the Open Source Program Office (OSPO) is a common way to centralize a company’s open source strategy, knowledge, and diligence. Meanwhile, OSPOs are just beginning to take root in academia. This shift reflects the increased recognition by universities and other organizations that academic open source contributions are valuable, numerous, and worth sustaining. While guidance for university OSPOs is emerging, many questions remain about how academic support staff and their partners can best support their university’s strategic priorities and their community’s needs.

+

The University of California (UC) OSPO Network is a groundbreaking project to establish a highly collaborative network of OSPOs at UC campuses. We in the UC OSPO Network are working to develop infrastructure for open source education, discovery, and sustainability at UC by pooling our resources and knowledge. To develop our strategic priorities and to assess the state of UC open source, we conducted a survey in April 2025 of more than 180 UC-affiliated open source contributors. This survey reveals common challenges faced by open source contributors, as well as potential remedies to those challenges. In addition to soliciting contributor perspectives, the survey also solicited contributors’ GitHub usernames, which we are now using to analyze UC open source repositories and their characteristics. Our survey will inform other UC OSPO network projects, promote community among open source enthusiasts at UC, and serve as a template that other universities may draw from. This study will shed light on how and why academics contribute to open source projects, as well as some of the barriers that might be holding them back.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/335/index.html b/schedule/presentation/335/index.html new file mode 100644 index 0000000..7860163 --- /dev/null +++ b/schedule/presentation/335/index.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Discussion: Which Way Do We Go? Understanding Sustainable Pathways for Academic Open Source + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Stephanie Lieggi +

    + Stephanie Lieggi
    + + + + https://ucsc-ospo.github.io/ + +

    +

    Stephanie Lieggi is the Executive Director of the Center for Research in Open Source Software (CROSS) at University of California, Santa Cruz. She supports academic-based open source projects and aims to create a sustainable contributor base through the establishment of hands-on mentorship programs, including the Open Source Research Experience (OSRE) Programs. Since 2022 her role has also helped lead the UCSC newly formed Open Source Program Office (OSPO), supported by a grant from the Alfred P Sloan Foundation. Most recently, Stephanie led the effort to build a system-wide network of OSPOs at the University of California, securing financial support for building the network from the Sloan Foundation in Spring 2024. Stephanie co-chairs the CHAOSS University Working Group and is the co-PI on UCSC’s first US National Science Foundation's Pathways to Enable Open Source Ecosystem (POSE) grant, which has enabled exploration into successful models for building sustainable open source projects at universities.

    +

    Prior to starting at CROSS, Stephanie was a senior researcher and adjunct professor at the Center for Nonproliferation Studies, part of the Middlebury Institute of International Studies at Monterey, where she researched the intersection of national security and global trade.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Note: this will be a group discussion format with participation from anyone who wishes to join.

+

Many impactful open source projects begin as ideas in academic research labs, as highlighted by the wide adoption of projects like Ceph, RISC-V and Jupyter. However, so much of what is created in universities doesn’t find broader adoption and struggles to be sustainable in the long-term. This is a lost opportunity that can have a broad impact on scientific communities, industry and society at large. This BoF session aims to explore the different pathways for academic open source projects to find their way to sustainability and adoption. As with most things open source – there is no one-size-fits-all. This session will provide those with experience in building and maintaining academic open source projects an opportunity to share that experience with those looking for the right pathway for their own project. It will also provide those working or supporting academic Open Source Program Offices (OSPOs) an opportunity to highlight how they are helping projects on their campus become sustainable and best serve the research and educational goals of their institutions.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/336/index.html b/schedule/presentation/336/index.html new file mode 100644 index 0000000..d0bfdb3 --- /dev/null +++ b/schedule/presentation/336/index.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Empowering Teams in Open Source EdTech Communities + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Joshua Wilson +

    + Joshua Wilson
    + + @jmwilson@mastodon.social + + + + https://www.bcognitionlabs.com/ + +

    +

    Joshua Wilson is the Founding Principal of Flywheel Strategies, Principal at B.Cognition Labs, and Chair of Apereo Foundation. Previously he served as VP and COO of Longsight Inc., and Associate Director of the MISO Survey. He provides strategy, change management, and alignment leadership, and is known for his exceptional mentoring skills.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Join us to explore how Google's Project Aristotle findings can empower teams of developers and educators in open source educational technology. Through interactive exercises, you'll learn practical techniques for making teams more effective by ensuring equal voice in feature discussions and developing social sensitivity in asynchronous communication. You'll leave with concrete strategies to build a team dynamic that supports your FOSS project and create psychological safety that enables both developers and educators to admit knowledge gaps and learn from each other.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/338/index.html b/schedule/presentation/338/index.html new file mode 100644 index 0000000..b20b8a9 --- /dev/null +++ b/schedule/presentation/338/index.html @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Where Open Research Meets Open Source: The OSF as a Gateway to Academic Collaboration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Daniel Steger +

    + Daniel Steger
    + + + @OSFSupport
    + + + https://osf.io/b8d27/ + +

    +

    Daniel Steger is a technical community manager with a passion for open infrastructure, scientific transparency, and inclusive research practices. He currently leads user engagement and product feedback initiatives at the Center for Open Science (COS), where he supports over 750,000 researchers worldwide on the Open Science Framework (OSF). Daniel also spearheads COS’s open source community, cultivating contributor pathways for developers, researchers, and advocates who support the OSF’s mission through collaborative development. He coordinates documentation efforts, facilitates community events, and oversees onboarding for new contributors as the team builds toward a public launch of the community space. With a background in life sciences and science education, Daniel specializes in demystifying complex tools and building welcoming ecosystems for open collaboration. He regularly delivers live demos, webinars, and conference talks, translating user needs into action and championing transparency across all stages of research.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

The Open Science Framework (OSF), developed and maintained by the Center for Open Science (COS) is a free, open-source platform that helps researchers around the world manage and share their work openly and transparently. With more than 800,000 users across disciplines and continents, the OSF supports a global community of scholars seeking reproducibility and openness in scholarship. But the OSF is also something more: a unique open-source ecosystem built to bridge the gap between research needs and technical contributions.

+

In this session, we’ll explore how OSF offers a low-barrier entry point for students, educators, and developers who want to make a meaningful impact on the research world. Through its modular architecture and integration of microservices, the OSF enables contributors to build tools that directly improve how science is done, supporting workflows from study planning through to publication and sharing of any resource type.

+

Beyond technical infrastructure, OSF fosters a “social open” environment that welcomes and supports new contributors. We offer active community spaces like our Discord server, regular onboarding events, transparent project boards on GitHub, and continually updated documentation and guides. We also collaborate across open-source communities to stay aligned with shared values and best practices in open development.

+

Attendees of this presentation will learn and experience: +-Highlighting the OSF as a free, open platform that lowers the barrier for sharing scholarly and educational materials for researchers around the world +- Showcasing opportunities for researchers and educators as both end-users and code, feedback, and feature contributors through the OSF open source community “help wanted board,” showing tasks ready for all levels of developers. +- Spotlighting our new open-source integration ecosystem as a low-friction entry point for technical contributors in academic settings that brings new users and expanded capabilities for OSF and integrated tools and services +- Provide real-time opportunities for participants to grow their FOSS engagement through an interactive feedback and co-design activity +- Examples of institutional collaborations and feature feedback loops directly from OSF researchers and educators +- Demonstrate how the OSF builds and supports an open-source community committed to reproducibility and access of academic research.

+

Getting involved is easy and impactful. Whether you're a small developer group, a classroom exploring real-world FOSS engagement, or an individual contributor, there are many ways to plug into our community. We’re always looking for collaborators, especially those excited about making tools that amplify open science around the world. Whether you're a dev team exploring ways to contribute to the future of knowledge sharing, an educator guiding students through real-world projects, or simply someone passionate about building for impact, the OSF community welcomes your contribution—and your curiosity.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/341/index.html b/schedule/presentation/341/index.html new file mode 100644 index 0000000..6812e2a --- /dev/null +++ b/schedule/presentation/341/index.html @@ -0,0 +1,312 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Open source your repository: a roadmap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Mike Jang +

    + Mike Jang
    + + + @na
    + + + https://ai-techwriter.com + +

    +

    Mike is a Principal Technical Writer for NGINX (part of F5) He creates clear and engaging documentation for developers and sysadmins. He's created authoritative content in Linux, security, and Identity Management. He's also a Red Hat Certified Engineer (RHCE v5) and an enthusiastic speaker at industry events.

    +

    This year, Mike led the release of the NGINX documentation repository as open source, using the BSD license.

    +

    He built a docs-as-code documentation practice from scratch at Cobalt.io, where he also developed a voice and tone style guide for user experiences, taught non-writers to create better UI text, and set up a paid open source documentation contribution program. At GitLab, he guided the documentation efforts for the Manage Stage and developer content. At ForgeRock, he gained seven years of experience writing about Identity Management.

    +

    Mike's mission is to share my passion for new software and to help users achieve their goals with the rigor of a technical writer.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

This is open source done right. Open sourcing existing software is more than just "pushing a button," It involves serious preparation, including:

+
    +
  • Choosing reasons to go open source
  • +
  • Auditing security
  • +
  • Scrubbing PII
  • +
  • Lawyers and the license
  • +
  • Deciding what to do about commits
  • +
  • Setting ground rules for contributors
  • +
  • Sharing with your community
  • +
  • Follow-up hackathons
  • +
+

When people look at open source software, they first look at documentation. When open source developers find a promising project, they expect to get involved. One part of the process is with open source software.

+

Attendees will come out of this session with:

+
    +
  • Access to a template repository
  • +
  • A checklist to follow, which addresses legal, security, and community requirements
  • +
  • An understanding of the work required to move to open source
  • +
  • Tips for hackathons, based on real-world experience with open source newbies
  • +
+

Internally, we overcame barriers before we could "push the button." Externally, we helped open source newbies make substantive contributions, well beyond the "typo fix."

+

Over the past few days, we've experienced the variety of issues that can come from a hackathon, especially with Git newbies. However, we've found that encouraging new Git users increases the quality of contributions based on the diversity of experiences.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/342/index.html b/schedule/presentation/342/index.html new file mode 100644 index 0000000..c0c8e60 --- /dev/null +++ b/schedule/presentation/342/index.html @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Power Dynamics, Rug Pulls, and Other Impacts on FOSS Sustainability + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Dr. Dawn Foster +

    + Dr. Dawn Foster
    + + @https://hachyderm.io/@geekygirldawn + + + @geekygirldawn
    + + + https://fastwonderblog.com/ + +

    +

    Dr. Dawn Foster works as the Director of Data Science for CHAOSS where she is also a board member / maintainer. She is co-chair of CNCF TAG Contributor Strategy and an OpenUK board member. She has 20+ years of experience at companies like VMware and Intel with expertise in community, strategy, governance, metrics, and more. She has spoken at over 100 industry events and has a BS in computer science, an MBA, and a PhD. In her spare time she enjoys reading science fiction, running, and traveling.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Power imbalances are everywhere, including in our FOSS projects. Corporations hold power over projects that result in relicensing, forks, and other disruptions. This talk will cover these power dynamics using research data from several case study projects and suggest steps that we can take to make better decisions about which FOSS projects to embrace.

+

Since the beginning of time, those in power have been able to use that power against the weak, often with little recourse. In feudalism, the powerful ruling class controlled the land leading to oppression and exploitation of the people doing the hard work of farming and protecting the land. This may sound familiar, since many FOSS projects similarly have the power consolidated in the hands of the few even when others with less power are doing most of the work. In today’s cloud native world, the power dynamics have gotten even more complex. Large cloud providers have the most power and can create service offerings based solely on FOSS projects while doing little to no real work on those projects. Smaller companies who are doing a significant amount of the development on a FOSS project have less power than the cloud providers, but many still have the power to relicense those projects. The many users, contributors, and even maintainers who have less power can feel like the rug has been pulled out from under them. We’ve recently seen an increase in relicensing of FOSS projects and other tensions within communities that are directly related to imbalances in power that cause disruption within our projects.

+

We have mechanisms, like forks, where those with less power can counter these power moves, regardless of the forms they take. The Elasticsearch, Redis, and Terraform relicensing resulted in the OpenSearch, Valkey, and OpenTofu forks. As part of an ongoing 1+ year research effort under the CHAOSS project, this talk will dive into the data for these six projects to illustrate these power dynamics.

+

As maintainers, contributors, and users of FOSS, we devote our most precious resource to these projects, time. We need for the projects that we spend time on to be sustainable over the long term to avoid wasting this precious resource. There is no way to predict which projects will be sustained over time, but this talk will contain detailed suggestions for how to look for warning signs. Who holds the power in the FOSS projects that we use and contribute to? How do they use that power? What governance processes are in place to provide checks and balances to avoid the misuse of that power? Beyond identifying warning signs, this talk will contain suggestions for how we can work within projects to help them become more sustainable. This talk will not only help people understand the power dynamics at play, but will also provide tangible steps that we can take as maintainers, contributors, and users to make better decisions about focusing our precious time on making our projects more sustainable.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/343/index.html b/schedule/presentation/343/index.html new file mode 100644 index 0000000..9924b09 --- /dev/null +++ b/schedule/presentation/343/index.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Lessons from a Decade of Open Source Sustainability Research + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Igor Steinmacher +

    + Igor Steinmacher
    + + + @igorsteinmacher
    + + + https://www.igor.pro.br + +

    +

    Dr. Igor Steinmacher is an Associate Professor in the School of Informatics, Computing, and Cyber Systems at Northern Arizona University. He received his Ph.D. in Computer Science from the University of São Paulo (2015) and was a Visiting Scholar at the University of California, Irvine (2013). His research focuses on supporting newcomers to open source and sustaining open source communities over time. He investigates socio-technical challenges in onboarding, mentoring, and community retention, and explores how AI-driven tools can promote inclusion and long-term project sustainability. His work bridges software engineering, HCI, and computing education, an he has authored over 100 peer-reviewed publications.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Several FOSS projects struggle with long-term sustainability. This talk walks through years of research and development focused on addressing some of the most pressing challenges faced related to the sustainability of FOSS communities: newcomer onboarding, maintainer burnout, and project governance. I will begin by discussing interventions to support newcomers' onboarding, including community-driven mentorship strategies, structured contribution paths, and other approaches, designed to build confidence and skills early in the contribution process. I will also present ongoing work exploring how Large Language Models (LLMs) can be used to create conversational agents that assist contributors and reduce repetitive questions directed at maintainers, helping scale mentoring while keeping community standards. I will also share insights from longitudinal analyses of developer activity and engagement patterns, including the role of personal and project-level breaks in sustaining healthy contribution cycles and how we may use this to plan. Throughout the talk, I will reflect on how these align with broader structural improvements. In one example, a governance shift in the data.table project was accompanied by investments in multilingual documentation and structured issue triage---steps that revitalized participation and distributed responsibility. Together, these threads present a holistic vision for building more sustainable, inclusive, and resilient FOSS communities, combining technical scaffolding, community design, and human-centered practices.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/344/index.html b/schedule/presentation/344/index.html new file mode 100644 index 0000000..f2c43bf --- /dev/null +++ b/schedule/presentation/344/index.html @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: From Campus to Network: Creating the UC System-Wide OSPO Initiative + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Laura Langdon +

    + Laura Langdon
    + + @https://hachyderm.io/@LauraLangdon + + + + https://lauralangdon.io + +

    +

    Laura Langdon is an Open Source Community Manager for the Open Source Program Office (OSPO) network of the University of California. With a focus on the humans in tech communities, Laura is passionate about documentation, diversity and inclusion across all axes, and social responsibility. Working diligently to connect people within the UC open source community to one another and to the greater world of open source, her responsibilities include planning meetups, helping to connect aspiring contributors with projects and vice versa, and creating educational materials about OSS workflows.

    +

    Laura has previous experience as a developer advocate at Suborbital Software Systems (acquired by F5), and previously as a math lecturer at CSU East Bay. This diverse background in both academia and industry provides her with unique insights into making technical concepts accessible and fostering inclusive community growth. Her approach combines analytical thinking from her mathematics background with a deep understanding of developer experience and community dynamics.

    +

    In her free time, Laura enjoys recreational research and optimizing all the things.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Laura Langdon from the UC OSPO Network will share lessons learned from the early stages of building a network of academic OSPOs across the UC system. Representing the team that supports the six campuses in the UC OSPO Network, she will discuss both benefits and challenges encountered while developing this first-of-its-kind system-wide network. She will explore how her experiences with the network's three core working groups—sustainability of open source development, discovery of open source work in research, and education in fostering open source skills—have shaped her understanding of successful OSPO networks. Laura will focus on building community connections and establishing pathways for collaboration between institutions. Drawing from her first-hand experience, Laura will provide practical insights for others looking to establish OSPO networks in their institutions.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/345/index.html b/schedule/presentation/345/index.html new file mode 100644 index 0000000..a62240e --- /dev/null +++ b/schedule/presentation/345/index.html @@ -0,0 +1,296 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Things I've Learned as a Linux Kernel Maintainer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Darrick J. Wong +

    + Darrick J. Wong
    + + + + https://djwong.org/ + +

    +

    Darrick was the Linux maintainer of the XFS filesystem from 2016 to 2023, and wrote the (recently released) online fsck tool for it. He is now experimenting with improving the fuse I/O model so that filesystem metadata parsing can occur in userspace while most of the I/O hot path remains in the kernel.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

I spent seven years serving as the maintainer of the XFS filesystem and iomap filesystem library in the Linux kernel. Whilst on that journey, I learned a lot about steering technical direction of those two projects, but also the limitations of managing a community without authority. I intend this talk to be most helpful for people who are current FOSS maintainers or are mid to senior level developers contemplating taking on such roles.

+

These are the seven skills that I found most helpful and grew the most in those seven years: + * Concocting a strategy from which to build a development roadmap + * Defining roles for people to take on + * Negotiating staffing and budgets with managers + * Coaching people who are trying to get their efforts across the finish line + * Dealing with external shocks in as principled a manner as possible + * Steering your way out of burnout, aka Replacing Yourself + * Supporting, but getting out of the way of, the new leaders you cultivate

+

For each of these areas, I'll share how that skill fits into the Linux community (they didn't always fit well!) and what happened when I tried to make things happen in those areas. I will target spending about 4-5 minutes talking about each of those points and leave 20-25 minutes at the end for an audience discussion.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/346/index.html b/schedule/presentation/346/index.html new file mode 100644 index 0000000..01c5d65 --- /dev/null +++ b/schedule/presentation/346/index.html @@ -0,0 +1,293 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Designing for Collaboration: A Toolkit for Open and Inclusive Environmental Research + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Cathy Richards +

    + Cathy Richards
    + + @myqntm@mastodon.social + + + @myqntm
    + + + https://www.cathyr.com/ + +

    +

    Cathy Richards (she/her) is a technologist and a Civic Science Fellow/Data Inclusion Specialist at Open Environmental Data Project. Focused on harnessing technology for environmental and social justice, she brings a strong commitment to ethical tech practices, data-driven solutions, and resilience in the face of emerging global challenges. Previously, Cathy worked at The Engine Room as the Associate for Digital Resilience and Emerging Technology, where she focused on integrating cutting-edge tools to support vulnerable communities. Cathy was also a 2023-2024 Green Web Foundation Fellow, investigating the use of GIS for environmental justice and addressing its ethical and security risks. In addition, Cathy has also taught Metrics & Data Visualization at SVA and contributed to various organizations such as Keystone Accountability and Helen Keller International, working on issues from climate entrepreneurship that tackled youth unemployment to immigrant rights and international health. She holds a Bachelor’s degree in International Relations from Boston University and an MPA from the Monterey Institute of International Studies. In her spare time, you’ll find her playing capoeira, solving puzzles, tracing her family history, hoarding books, or saying hello to every dog she meets.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

As communities worldwide confront urgent environmental challenges, open source technologies and data infrastructures are increasingly central to how we understand, protect, and sustain our environments. Yet, persistent gaps remain between the development of open tools, academic research, and the practical needs of the communities most affected by environmental issues.

+

Open Environmental Data Project (OEDP) and partners are addressing this gap through the creation of the Digital Toolkit for Collaborative Environmental Research. This toolkit, grounded in research conducted in 2024, provides actionable resources for open source developers, socio-environmental researchers, and community organizations seeking to build and maintain effective, community-driven collaborations. By employing a design pattern language approach, the toolkit offers concrete solutions and strategies organized around key themes such as building trust through transparent data practices, navigating power dynamics in collaborations, and fostering sustainable models of community data stewardship. The toolkit emphasizes the FOSS values of openness and transparency by encouraging open access to data and documentation; it supports collaboration and inclusivity through community-driven decision-making processes; and it advances sustainability by promoting reusable, adaptable tools that empower all participants to contribute and benefit equitably.

+

This talk will share lessons learned from OEDP’s work, highlighting how the toolkit translates open infrastructure into inclusive, practical frameworks that empower communities to use data for local action and advocacy. Attendees will gain insights into how research can inform the design of open source tools that truly serve community needs, and how practitioners and researchers can collaborate more effectively to bridge the gap between theory and practice. The session will also explore the broader implications for FOSS communities, focusing on how participatory approaches to tool development and data governance can drive more equitable and sustainable outcomes in environmental contexts.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/347/index.html b/schedule/presentation/347/index.html new file mode 100644 index 0000000..636a9a4 --- /dev/null +++ b/schedule/presentation/347/index.html @@ -0,0 +1,292 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: The Creative Trade-Off: Governance, Conflict, and Their Impact On Innovation In Open-Source Software + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Dr. Justin Ribeiro, PhD +

    + Dr. Justin Ribeiro, PhD
    + + @https://ribeiro.social/@justin + + + + https://justinribeiro.com + +

    +

    Justin is a longtime builder and innovator with over three decades of experience driving change across industries like telecommunications and digital platforms. He's contributed to open-source projects like Chromium and Visual Studio Code, and worked with standards groups like the W3C and NFC Forum. A former Google Developer Expert, Justin has built a career at the intersection of technical expertise and open collaboration. Today, as a Doctor of Management Design and Innovation Fellow at Case Western Reserve University, Justin researches how diverse interactions between developers and stakeholders fuels creativity into innovative outcomes in open source software development. A passionate speaker, mentor, teacher, and open-source advocate, Justin is committed to building more inclusive, innovative communities for the future of software.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Software development has always been fueled by creativity but today, efficiency metrics, process-heavy methods, and the rise of AI now often box that creativity out. While developers are drawn to solving tough problems, modern practices can unintentionally prioritize small tweaks over bold breakthroughs. This tension risks limiting not just individual potential, but open source’s ability to drive meaningful innovation.

+

In this talk, we dive into how development approaches shape creativity at the project level, drawing from a study of 40 open source projects, over 10,000 releases, and interviews with developers across corporate and community-run efforts. Using multi-level creativity theories, we unpack how individual actions, team interactions, and project governance can either spark or stifle innovative outcomes.

+

Our research challenges the myth of the lone “rockstar” developer and highlights the crucial role of social interactions within the open source community— especially during review stages such as pull requests and code reviews—in turning creative ideas into real-world innovations. We show how cognitive conflict and governance models impact creative outcomes and offer strategies for building more innovative, collaborative open source projects and communities. +If we want open source to keep leading the way, we need development practices that empower creativity, not constrain it. Let’s rethink how we build and unlock a more radical future for open source software.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/348/index.html b/schedule/presentation/348/index.html new file mode 100644 index 0000000..f4de085 --- /dev/null +++ b/schedule/presentation/348/index.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Plausible Slop: Generative AI and Open Source Cybersecurity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Dr. Kaylea Champion +

    + Dr. Kaylea Champion
    + + @kaylea@social.coop + + + + https://kayleachampion.com + +

    +

    Dr. Kaylea Champion studies how people cooperate to build public goods like GNU/Linux and Wikipedia, including what gets built and maintained -- and what doesn't. She has a background in system administration and tech support. She received her PhD in Communication from the University of Washington in 2024. A Linux user since 1994, she enjoys tromping through the woods, smashing goblins, and cooking for a crowd.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Despite speculation that the rise of consumer-grade generative AI tools would trigger the development of more advanced cybersecurity attacks, a more grounded view observes that instead these synthetic text generating tools are eroding the social model of open source cybersecurity through the low-effort extrusion of 'plausible slop': potentially significant and well-formed but ultimately erroneous and unwanted text. The presence of plausible slop in newcomer contributions in the form of bug and security reports to open source software packages requires substantial time commitment from scarce experts. These experts are caught in a double bind: their role dictates that they sort through what is truly dangerous and what is nonsense, and they are charged with both welcoming problem reports from newcomers while also setting strong norms against inauthentic reports. In this talk, I report on my effort so far investigating plausible slop, connect this challenge to previous historical challenges, suggest avenues towards solutions, and seek community feedback to shape next steps.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/350/index.html b/schedule/presentation/350/index.html new file mode 100644 index 0000000..db862dc --- /dev/null +++ b/schedule/presentation/350/index.html @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: How do sponsored open source ecosystems manage feature deployments? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Matt Gaughan +

    + Matt Gaughan
    + + + +

    +

    I am a PhD student at Northwestern. My research focuses on how contributors organize to build FOSS projects; specifically, how projects make decisions in response to their environments. I have a background in software engineering and am looking to learn more about how individuals and communities can develop sustainable relationships to computers.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

The academic study of FOSS libraries often assumes that projects are organized as communities of volunteer contributors. However, the recent growth of sponsored open source libraries --- projects stewarded by large, formally incorporated organizations --- provides new organizational relationships and processes to better understand. One common form of this is constructed when an organization stewards a library while also managing the library's primary implementation; in this model, decision making around the library and its implementation are deeply interconnected, yet may be governed differently. Examples of this model include Apple’s use of WebKit in Safari, BlueSky’s use of ATProto in BlueSky applications, and the WikiMedia Foundation’s (WMF) use of MediaWiki libraries in +Wikimedia platforms. This ongoing work focuses on three feature deployments on Wikimedia platforms, examining deployment processes' impacts on the MediaWiki libraries utilized for feature development. By analyzing commit activity, work tasks, and community discussions, we provide greater insight into how certain deployment processes impact the open source development of a critical open platform.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/351/index.html b/schedule/presentation/351/index.html new file mode 100644 index 0000000..7efcf22 --- /dev/null +++ b/schedule/presentation/351/index.html @@ -0,0 +1,295 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: It's all about the ecosystem! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Ben Ford +

    + Ben Ford
    + + @binford2k@hachyderm.io + + + + https://binford2k.com + +

    +

    Founder, Community Builder, and Developer Advocate; Ben gets to build neat things -and- talk to people! \o/

    +

    Ben is a software engineer and community leader with extensive knowledge and expertise in the Puppet ecosystem. He's honored to call many of you friend and learn from you every day. He's been organizing Linux Users Groups, run clubs, and roller derby teams for most of his adult life and even a bit before that. Before coming to Puppet, he taught Anthropology grad students how to code in Java and then used that experience to introduce Puppet to many of you.

    +

    Ben has been obsessed with collective benefit for decades and is motivated by enabling the success of others. He's been dreaming of a world in which his skills don't just feed the capitalist maw. He is a long-distance runner but isn't interested in boasting about race times; he'd rather hear how your race went for you.

    +

    He's currently building a VC-free company at https://overlookinfratech.com. Find him online at https://hachyderm.io/@binford2k

    +

    +
  • + +
+
+ +
+

Abstract

+ +

You may or may not remember Steve Ballmer's famous "developers, developers, developers" cheer from the late 90's, but Microsoft has known something for a very long time that some OSS companies might learn from. When a tool or product exists in order to run third-party content -- that third-party content is the real value of your tool because without that content, there's no reason to buy the product.

+

Commercially supported open source projects often lose track of this real value. And all too often, they learn that hard fact after community-hostile decisions decimate their ecosystem. SaltStack learned this the hard way, so did Hashi, Chef, Redis, and others.

+

I'd like to talk about the idea that the ecosystem is the product and the thing that you build and sell only exists to support it. It's a subtle but important shift in mindset that I think helps keep focus on what's really important, and I'm using it to help direct the projects that I'm working on now.I

+

Slide deck can be viewed here: https://binford2k.github.io/all_about_ecosystem/

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/352/index.html b/schedule/presentation/352/index.html new file mode 100644 index 0000000..1cc3892 --- /dev/null +++ b/schedule/presentation/352/index.html @@ -0,0 +1,306 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Glue Work Makes the Community Work: Sustaining OSS Through Invisible Labor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Zixuan Steve Feng +

    + Zixuan Steve Feng
    + + + + https://zixuanfeng.github.io/zixuanfeng_page/ + +

    +

    My name is Zixuan (Steve) Feng, and I am a Ph.D. candidate in Computer Science at Oregon State University, advised by Dr. Anita Sarma. My research focuses on software engineering. I collect data from OSS and analyze it using mixed research methods (e.g., statistical analysis, grounded theory, LLMs) to develop or validate theories about software engineering processes and outcomes, aiming to answer questions such as: How can we empower collaborative OSS teams and enhance sustainability?

    +

    +
  • + +
  • + + Anita Sarma +

    + Anita Sarma
    + + + @asarma
    + + + https://web.engr.oregonstate.edu/~sarmaa/ + +

    +

    Dr. Anita Sarma is a professor and Associate Head of Research in the School of Electrical Engineering and Computer Science. She received her Ph.D. in Computer Science from the University of California, Irvine and was a postdoctoral fellow at Carnegie Mellon University. Her research focuses on human factors in software development and how to design inclusive technology to help software developers. Her passion is in fostering DEI in Open Source. Her work crosscuts areas of SE, AI for SE, HCI, open source, and CSCW. She has co-authored more than 100 conference and journal articles, and has received numerous awards. She received the OSU Breaking Barriers Research award (2021) for her work in removing gender biases from software. She is a co-director of the GenderMag project. She is a recipient of the NSF CAREER award (2013) and Google Inclusion Research Award (2022).

    +

    +
  • + +
+
+ +
+

Abstract

+ +

The success of any OSS team project, be it OSS or proprietary, depends on glue work to bind the project and its people together. Glue work, such as writing maintenance code, updating documentation, and responding to user queries, is crucial but is often invisible, unglamorous, and underappreciated. There is no guidance on how to characterize glue work in OSS and understand its influence on contributor experiences. OSS communities remain uncertain about what to contribute, what to acknowledge, how to gauge the impact of glue work, and why these efforts deserve equitable appreciation.

+

Over the past year, our cross-disciplinary team from Google, Microsoft, CNCF, and Oregon State University engaged 300+ OSS practitioners via focus group discussions, interviews, and surveys. We systematically investigated glue work in OSS, examining what it is, the comprehensive forms it takes, where it occurs, how contributors can get involved, how it can be recognized and acknowledged, and its critical impact on contributor experiences and the long-term sustainability of OSS communities.

+

We are here to provide actionable strategies through practical taxonomies that help OSS communities categorize, trace, and acknowledge these often invisible efforts, as well as to raise awareness of glue work and lower the barriers for more people to contribute to OSS. We aim to actively shift the Open Source narrative to recognize and value these contributions, fostering a more inclusive and holistic view of community participation. We are initiating a dedicated Glue Work OSS community to encourage individuals at all levels of coding experience to step forward, contribute, and acknowledge the myriad ways in which everyone can make a significant impact. Learn more https://gluework.netlify.app/.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/353/index.html b/schedule/presentation/353/index.html new file mode 100644 index 0000000..4a35fba --- /dev/null +++ b/schedule/presentation/353/index.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Making waterfalls in Godot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Tom Lechner +

    + Tom Lechner
    + + @tomsart@mastodon.social + + + + https://tomlechner.com + +

    +

    Tom Lechner has been using open source software to produce his artwork since the early 2000s. He created the desktop publishing program Laidout to quickly lay out his comic books, and is currently using various open source software to work on video game projects, including VR with the Godot Engine. Tom is based in the Portland, Oregon area.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Come learn about some ways to display waterfalls in the open source Godot game engine! Video game fluid flow is a complex subject, and this talk will outline various methods to cheat so that you don't really have to know complex math to make something acceptable. Inspired by a variety of waterfalls in the Pacific Northwest of the USA, this talk will discuss custom tooling to generate waterfalls in Godot, based on how water would fall down digital terrain, and how to use other open source software for art such as Blender, Krita, Gimp to polish different parts of the scenery.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/354/index.html b/schedule/presentation/354/index.html new file mode 100644 index 0000000..d9227de --- /dev/null +++ b/schedule/presentation/354/index.html @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Building AI applications with Open-source database - PostgreSQL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Gauri +

    + Gauri
    + + + +

    +

    Gauri Kasar works as a PM at Microsoft in the Azure Database for PostgreSQL team. Before joining Microsoft, Gauri worked as a Software Engineer with Oracle and Quantiphi. Her career spans building scalable backend systems, launching customer-facing features, and working closely with cross-functional teams to deliver impactful solutions. She is passionate about AI, open-source technologies, and helping developers get the most out of cloud platforms.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Curious about how to build AI applications with the tools you already know and love? This beginner-friendly session will show you how PostgreSQL can be the backbone of your AI workloads. We’ll break down key concepts like vector embeddings, vector search, and Retrieval-Augmented Generation (RAG) in a simple, easy-to-understand way. Then, we’ll dive into how PostgreSQL’s native features and extensions make it easy to store, search, and scale AI data — no special infrastructure needed. +Best of all, you'll see everything come to life through a hands-on, step-by-step demo where we’ll build a complete, Generative AI application powered entirely by PostgreSQL.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/355/index.html b/schedule/presentation/355/index.html new file mode 100644 index 0000000..88889c3 --- /dev/null +++ b/schedule/presentation/355/index.html @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Up Against the WAL: The Write-Ahead Log in PostgreSQL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+ +
+ +
+

Abstract

+ +

The Write-Ahead Log in PostgreSQL underlies a huge number of features: crash recovery, binary replication, logical replication, and backups. This talk is a dive into the internals of the WAL, including its format, how it is written to storage, how it is used, and what to do when you get one of the many terrifying errors about WAL issues.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/356/index.html b/schedule/presentation/356/index.html new file mode 100644 index 0000000..7a5564f --- /dev/null +++ b/schedule/presentation/356/index.html @@ -0,0 +1,301 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Agile/Scrum for Open Source Community Projects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Tess Gadwa +

    + Tess Gadwa
    + + @https://mastodon.social/@thematizer + + + @Thematizer
    + + + https://tessgadwa.com + +

    +

    Tess is a passionate advocate of free software and bridging the gap between the arts and technology. She has lectured in Asia, North America, and Europe about the practical and ethical implications of open source, usability, and the connection between creativity and code.

    +

    In January 2011, Tess launched Yes Exactly, a managed hosting company serving early stage startups and community organizations. As CEO, she led the push to release Zappen, an AR app licensed under the LGPL 3.0. This augmented reality app contained the first fully functional open source implementation of mobile visual search. She sold her company in 2017 and went on to create Lotus FM, a consulting firm specializing in applications of data visualization for music discovery, philanthropy, and financial services. In 2023, she chose to license her proprietary Lotus Petal Architecture framework under a Creative Commons license, making it freely available for non-commercial and educational purposes.

    +

    Serious bouts of Repetitive Strain Injury and fibroids transformed Tess into an unexpected activist for disability rights and women's health. She is currently completing a yearlong engagement evaluating the feasibility and market potential of a blockchain patient health experience platform. Preliminary findings and whitepaper may be viewed at https://healthexperiencerepository.net.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

When Agile/Scrum is adapted effectively for FOSS, it holds significant advantages over the "benevolent dictator" model -- both in inclusivity and in building morale and participation.

+

The talk assumes:

+
    +
  • Primarily online contributors
  • +
  • A mix of paid and volunteer team members
  • +
  • Contributors at a range of skill levels
  • +
  • Contributors in non-coding roles (documentation, design, and user research) as well as development roles
  • +
+

It would build on lessons learned from Giving Map (givingmap.org) a grant-funded applied data visualization initiative that ran from 2020-21. However, these best practices can be applicable to a broad range of projects.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/357/index.html b/schedule/presentation/357/index.html new file mode 100644 index 0000000..1d2402d --- /dev/null +++ b/schedule/presentation/357/index.html @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Recipe for Discovery: Building the UC Open Source Repository Browser From Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Juanita Gomez +

    + Juanita Gomez
    + + @juanitagomezr@fosstodon.org + + + @juanitagomezr
    + + + https://github.com/juanis2112 + +

    +

    Juanita Gomez is a Ph.D. candidate in Computer Science at UC Santa Cruz, where her research focuses on improving the security of scientific open source software in collaboration with the Open Source Program Office (OSPO) at UCSC. She is a passionate programmer, mathematician, and open-source advocate, former developer of Spyder IDE at Quansight and current community leader for the Scientific Python project, a community effort to better coordinate and support scientific Python libraries.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

The University of California’s network of Open Source Program Offices (OSPOs) launched last year, bringing together six campuses (UC Santa Cruz, Berkeley, Davis, Los Angeles, Santa Barbara, and San Diego) to support open source research, promote sustainability, and establish best practices within academic environments. A key challenge in this effort is identifying and connecting open source projects across the system. Despite UC’s significant contributions to open source, there is no centralized way to track these efforts, making it difficult for researchers to find relevant projects, for institutions to assess impact, and for the broader community to engage with UC’s open source work. To address this, the UC OSPO Network is developing the UC Open Source Repository Browser (UC ORB), a discovery tool designed to map and classify UC’s open source projects. This talk will explore the process of building the UC ORB, from leveraging the GitHub API for data collection to integrating automated discovery with targeted outreach to the academic community. We will discuss the challenges of repository identification, compare similar approaches, and share lessons learned throughout the process.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/358/index.html b/schedule/presentation/358/index.html new file mode 100644 index 0000000..2a3c7f3 --- /dev/null +++ b/schedule/presentation/358/index.html @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Starting an Open Mentorship Handbook! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Pono Takamori +

    + Pono Takamori
    + + + +

    +

    Daniel Pono Takamori is the Community Organizer at Software Freedom Conservancy. He's been involved in FOSS for almost 20 years and worked for non-profit FOSS organizations for over a decade. While not at his computer he likes to play go, cook vegetables and ride his bike.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Technology communities committed to transparency and openness (like free and open source software, or FOSS, communities) adopt sets of practices to facilitate their collaboration. In order to work together developing software, practicing open science and facilitating open data, collaborators must build robust communities to publicly discuss and improve their projects. Healthy communities that continue productively into the future must find ways to engage and nurture new contributors in order to maintain and grow their communities. Some communities struggle to attract new contrinbutors in the first place, while other communities attract many new contributors, but struggle to coach those contributors on how to become leaders, reviewers, and maintainers of their community's work.

+

Open mentorship programs provide a safe space for interns to learn how to work in an open, public manner with open communities, and how to create and maintain public works. Unfortunately, documentation on how to be a mentor in an open mentorship program is often non-existent, out of date, or scattered across many different resources. The Outreachy team is launching an Open Mentorship Handbook, to gather best practices in mentorship and to provide a collaborative way to share the knowledge that we've amassed in this area.

+

Come learn about this initiative and participate in a collaborative session about the Handbook and Open mentorship!

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/359/index.html b/schedule/presentation/359/index.html new file mode 100644 index 0000000..22bfa10 --- /dev/null +++ b/schedule/presentation/359/index.html @@ -0,0 +1,345 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Panel: Ongoing Things in the Kernel Community + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Darrick J. Wong +

    + Darrick J. Wong
    + + + + https://djwong.org/ + +

    +

    Darrick was the Linux maintainer of the XFS filesystem from 2016 to 2023, and wrote the (recently released) online fsck tool for it. He is now experimenting with improving the fuse I/O model so that filesystem metadata parsing can occur in userspace while most of the I/O hot path remains in the kernel.

    +

    +
  • + +
  • + + Ben Dooks +

    + Ben Dooks
    + + + @bjdooks
    + + + http://www.fluff.org/ben/ + +

    +

    Long time open source contributor to the Linux kernel, qemu and other projects for both work and personal fun. Experience in various hardware and board bringup on arm32, arm64, riscv64 and electronic design.

    +

    +
  • + +
  • + + Luis Chamberlain +

    + Luis Chamberlain
    + + @mcgrof + + + +

    +

    Luis is a Principal Engineer at Samsung focusing the development and adoption of future Samsung NVMe storage & memory solutions with a focus on artificial intelligence. Luis has been working on the Linux kernel for over 20 years, and his fields of interest has changed over time, from Wireless, Bluetooth, Ethernet, to virtualization and lately with storage and memory technologies. He has also helped spearhead different new automation open source projects such as the Linux kernel backports project and as of late the kdevops project.

    +

    +
  • + +
  • + + Neal Gompa +

    + Neal Gompa
    + + @neal@social.gompa.me + + + @Det_Conan_Kudo
    + + + https://neal.gompa.dev/ + +

    +

    Neal Gompa is a developer for–and contributor to–Fedora, CentOS, and openSUSE. Neal focuses primarily on the base Linux system components, such as package and software management, and desktop Linux. He believes in “upstream first,” which has led him all over the open source world. In addition to open source work as a consultant through Velocity Limitless, he is also a co-host on the Sudo Show podcast where he talks about "the business of open source."

    +

    +
  • + +
+
+ +
+

Abstract

+ +

    +
  • Kernel integration with mainline
  • +
  • Upstreaming stuff from AsahiLinux
  • +
  • Containerizing filesystems
  • +
  • Awfulness of vendor kernels
  • +
  • Adding Rust
  • +
+

There will also be room for audience questions.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/360/index.html b/schedule/presentation/360/index.html new file mode 100644 index 0000000..0d9aa59 --- /dev/null +++ b/schedule/presentation/360/index.html @@ -0,0 +1,297 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Intro to Unconferences + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Aaron Wolf +

    + Aaron Wolf
    + + @wolftune@social.coop + + + + https://wolftune.com + +

    +

    Aaron is a community music teacher and a co-founder of Snowdrift.coop (a fundraising platform aiming to coordinate community economic support for FLO public goods). His volunteer work in many free/libre/open technology areas has focused on healthy communities, public outreach, governance, and issues of politics and economics. He lives in Oregon City with his wife, dog, and two kids.

    +

    +
  • + +
  • + + Wm Salt Hale +

    + Wm Salt Hale
    + + @salt@social.coop + + + @altsalt
    + + + https://sal.td + +

    +

    Salt is a Seattle local who has been involved with the Free Software movement since 1996. Currently, he works at IEEE SA Open while volunteering as Impresario of SeaGL and Community Director of Snowdrift.coop. Salt attended five years of graduate studies at the University of Washington where he focused on the intersection between communication, computer science, and law. Salt tries to be very approachable and will always be found wearing a kilt.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

An unconference fits a middle-ground between planned talks and casual hallway chat. In an unconference, participants collaboratively set up a schedule for topical conversations. Anyone can propose a topic. A schedule-board organizes which topics will happen when and where. Everyone can join (or just listen in on) whichever conversations they like. +Never been to one? We'll give a brief overview of the rooms and times so you can build your schedule.

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/361/index.html b/schedule/presentation/361/index.html new file mode 100644 index 0000000..c34c872 --- /dev/null +++ b/schedule/presentation/361/index.html @@ -0,0 +1,365 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Panel: Licenses, corporations, community, and collaboration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Josh Triplett +

    + Josh Triplett
    + + @josh@joshtriplett.org + + + @josh_triplett
    + + + https://joshtriplett.org/ + +

    +

    Josh Triplett is a Rust developer on the language, library, and Cargo teams. Josh cares about building welcoming, inclusive communities that lift people up, building solutions to systemic problems, and writing low-level systems code in high-level Rust. Josh founded buildit.dev to help people build software faster and more easily. Josh has previously presented at RustConf, Kernel Summit, linux.conf.au, Linux Plumbers Conference, Embedded Linux Conference, LinuxCon, PyCon, FOSDEM, Open Source Bridge, and the USENIX Annual Technical Conference.

    +

    +
  • + +
  • + + Eric Schultz +

    + Eric Schultz
    + + @https://social.treehouse.systems/@wwahammy + + + + https://wwahammy.com + +

    +

    Eric Schultz is a Digital Autonomy activist and Project Leader for the Houdini Project who is passionate about the promise and reality of free and open source software for user empowerment, especially those from marginalized groups. Currently, he's a Senior Software Engineer at Software for Good GBC. Previously, he worked as Chief Technology Officer at CommitChange until becoming CommitChange Technical Lead upon the project’s acquisition. Before starting at CommitChange, in addition to software engineering, Eric served as Community Manager for multiple open source foundations, consulted with organizations on building open source software projects and advised the FCC on technical and practical issues around open source router technology. Eric lives in Appleton, Wisconsin, where outside of work he enjoys watching the Green Bay Packers and Milwaukee Bucks and researching family history.

    +

    +
  • + +
  • + + Kate Downing +

    + Kate Downing
    + + + + https://katedowninglaw.com/ + +

    +

    Kate Downing is a solo practitioner specializing in open source licensing and compliance. She works with start-ups, Fortune 500 companies, and companies of all sizes in between to help them choose open source licensing strategies, choose and configure open source compliance tools, establish company-wide policies and workflows, and otherwise create simple, effective processes for OSS compliance, contributions, and open-sourcing of future projects. She has also written extensively on machine learning and artificial intelligence technologies and counsels many clients in this domain. Before starting her own practice in 2017, Kate led a team of 12 open source attorneys at VMware, and built an open source compliance process from scratch as ServiceNow's first product counsel. Kate is the co-chair of the Practicing Law Institute's annual OSS program. Kate is a board member for the PolyForm Project and a member of the Blue Oak Council.

    +

    +
  • + +
  • + + Marc Jones +

    + Marc Jones
    + + + +

    +
    +

    +
  • + +
  • + + McCoy Smith +

    + McCoy Smith
    + + @mccoysmith@mastodon.social + + + @mccoysmith
    + + + https://www.lexpan.law + +

    +

    McCoy Smith is an intellectual property attorney at Lex Pan Law LLC in Portland, Oregon. He is registered to practice in Oregon, Washington, California & New York as well as with the US Patent and Trademark Office and the Canadian Intellectual Property Office. He is a frequent writer and presenter on open source legal and compliance topics, and authored two chapters in the Oxford University Press publication “ Open Source Law, Policy and Practice.”

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Confirm or deny: Free and open source software licenses +should provide a framework for collaboration between any and all +individuals and entities interested in working on and using the covered +code, including hobbyists, freelancers, corporations, and nonprofit +organizations. If not true, what should we do instead? If true, how is +our current set of licenses performing in this area, especially +considering wrinkles like SaaS and patents? Furthermore, we've seen some +modifications published as "additional terms" and as new licenses -- how +have these efforts played out and do we expect to see more of them? +We'll hear from panelists with expertise in diverse related areas, and +invite questions from the audience.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/362/index.html b/schedule/presentation/362/index.html new file mode 100644 index 0000000..014c2a6 --- /dev/null +++ b/schedule/presentation/362/index.html @@ -0,0 +1,304 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Assessing and Managing threats to the Nonprofit Infrastructure of FOSS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Allen Gunn +

    + Allen Gunn
    + + @aspirationtech@mastodon.social + + + @aspirationtech
    + + + https://aspirationtech.org/ + +

    +

    Allen Gunn (gunner) is Executive Director of Aspiration (www.aspirationtech.org) in San Francisco, USA, and works to help NGOs, activists, foundations and technologists forge effective and sustainable digital strategies in support of social, racial and climate justice. Gunner has worked in numerous technology-focused environments from NGO to Silicon Valley start-up to college faculty, serving in senior management, engineering, teaching and volunteer roles. He is an experienced strategist, mentor and facilitator with a passion for designing collaborative open learning processes. And once upon a time he was a roadie in a San Francisco rock-and-roll band.

    +

    +
  • + +
  • + + Pono Takamori +

    + Pono Takamori
    + + + +

    +

    Daniel Pono Takamori is the Community Organizer at Software Freedom Conservancy. He's been involved in FOSS for almost 20 years and worked for non-profit FOSS organizations for over a decade. While not at his computer he likes to play go, cook vegetables and ride his bike.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

Free and Open Source Software has long relied on a robust network of nonprofit organizations set up to support its development and advocacy. In recent years, this infrastructure has been tested as funding has declined and the uncertainties related to running these organizations have increased, resulting in closures or reductions in staff at many orgs. In this keynote, Pono Takamori will host a conversation with Allen Gunn of Aspiration about the current challenges facing fiscal sponsorship organizations, how the decline in funding for these organizations will impact FOSS generally and how to assess a variety of threats in the US and globally..

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/363/index.html b/schedule/presentation/363/index.html new file mode 100644 index 0000000..6e84dad --- /dev/null +++ b/schedule/presentation/363/index.html @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: An Adventure in Data Modeling + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Mark Wong +

    + Mark Wong
    + + @markwkm + + + +

    +

    Mark Wong is currently employed by EDB and is a PostgreSQL Major Contributor. His background is in database systems solutions and performance. He has contributed to various aspects of the community such as a benchmarking kits, Google Summer of Code mentor, PGConf.US Organizer, Portland PostgreSQL Users Group Co-Organizer, PostgreSQL Fundraising Group Member, and Treasurer and President of PgUS.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

This is a tale about one company's experience with a database schema design refactor to use the Entity-Attribute-Value (EAV) data model on its members. I will describe the original data model and why there was a need to move to a new data model, which the EAV was chosen for. This decision was made without realizing that the EAV data model is considered an anti-pattern for relational data modeling. There was some stumbling along the way but the company recovered and succeeded in implementing the EAV data model with some on-the-fly data transformation. The moral of the story really is to not use the EAV data model, but changing the data models is not always trivial. Hopefully this story can still help make the EAV data model bearable for the short term.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/364/index.html b/schedule/presentation/364/index.html new file mode 100644 index 0000000..66d3678 --- /dev/null +++ b/schedule/presentation/364/index.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: More Scalability Through Open Source Hygiene + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Ria Farrell Schalnat +

    + Ria Farrell Schalnat
    + + + + https://www.hpe.com/us/en/open-source.html + +

    +

    I am delighted to work with the Open Program Office of Hewlett Packard Enterprise (https://www.hpe.com/us/en/open-source.html)! This role is the culmination of my prior lives as a computer programmer, lawyer and adjunct professor specializing in intellectual property subjects including open source.

    +

    Previously, I spent over three years at Amazon Web Services including working with their OSPO. I served as General Counsel and Director of Intellectual Property for a mid-size software and data center company (Vora Ventures). I provided counsel, advice and representation to numerous clients and specialized in patent portfolio management and prosecution, intellectual property due diligence for mergers and acquisitions, and software licensing for two regional law firms (Frost Brown Todd & Dinsmore). My technology practice built on my undergraduate degree in Computer Science and work experience as a computer programmer and ranged across billing, data management, customer relationship management, and speech technology applications. I spend additional time working on community initiatives for the Cybersecurity and Infrastructure Security Agency under the Department of Homeland Security (CISA), the Eclipse Foundation, the Linux Foundation including the Community Health & Analytics in Open Source Software (CHAOSS) project, SPDX Legal team, and the Open Source Initiative (Clearly Defined project).

    +

    I am admitted to practice law in Ohio, the U.S. Patent & Trademark Office, and in-house in Washington. While in private practice, I served for two years as President of CincyIP, a local bar association dedicated to intellectual property education. I served as adjunct professor at the University of Cincinnati School of Law and University of Dayton School of Law on subjects including Patent Litigation, Cyberspace Law and Open Source Licensing.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

As more attention is paid to SBOMs through Executive Orders in the United States and legislation like the European Union's Cyber Resilience Act, being able to ingest, identify, evaluate and approve open source packages will be critical to scaling compliance operations as well as empowering developers by giving them an early heads up on the choices they are making in their solutions. SPDX identifiers provide a quick identification mechanism for the license utilized by a component. ClearlyDefined provides important provenance data including component source locations, licensing, attributions and more. GUAC provides tooling to enhance SBOMs with security and vulnerability data. CHAOSS provides health metrics associated with open source components. All of these projects allow the development of policies and empower developers to align their choices with personal or company preferences. This session will touch on all these projects and then walk through the process to assign an SPDX-ID to a license. When you leave, you'll know how to engage with the SPDX-Legal committee and how to respond to issues in their repo to get IDs assigned to licenses. Help US to help YOU to scale your open source compliance!

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/365/index.html b/schedule/presentation/365/index.html new file mode 100644 index 0000000..443fab9 --- /dev/null +++ b/schedule/presentation/365/index.html @@ -0,0 +1,336 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Q&A on SFC's lawsuit against Vizio + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Bradley M. Kuhn +

    + Bradley M. Kuhn
    + + @bkuhn@floss.social + + + +

    +

    Bradley M. Kuhn is the Policy Fellow at Software Freedom Conservancy (SFC). Kuhn began his work software freedom movement in 1992, as an early adopter of Linux systems & contributor to various FOSS projects, including Perl. Kuhn was FSF’s Executive Director from 2001–2005, began as SFC’s primary volunteer from 2006–2010, and became SFC's first staff person in 2011. Kuhn's work focuses on enforcement of the GPL agreements, FOSS licensing policy, and infrastructural solutions for FOSS.

    +

    +
  • + +
  • + + Denver Gingerich +

    + Denver Gingerich
    + + + + https://ossguy.com/ + +

    +

    Denver is a software right-to-repair and standards activist who is currently Director of Compliance at Software Freedom Conservancy, where he enforces software right-to-repair licenses such as the GPL, and is also a director of the worker co-operative that runs JMP.chat, a FOSS phone number (texting/calling) service. Denver writes free software in his spare time: his patches have been accepted into Wine, Linux, and wdiff. Denver received his BMath in Computer Science from the University of Waterloo. He gives presentations about digital civil rights and how to ensure FOSS remains sustainable as a community and financially, having spoken at conferences such as FOSSY, SCALE, the Canadian Repair Convention, FOSDEM, SFSCON, CopyleftConf, LibrePlanet, LinuxCon North America, CopyCamp Toronto, FOSSLC's Summercamp, and the Open Video Conference.

    +

    +
  • + +
  • + + Karen Sandler +

    + Karen Sandler
    + + @karen@floss.social + + + @o0karen0o
    + + +

    +

    Karen M. Sandler is an attorney and the executive director of Software Freedom Conservancy, a 501c3 nonprofit organization focused on ethical technology. As a patient deeply concerned with the technology in her own body, Karen is known as a cyborg lawyer for her advocacy for free software as a life-or-death issue, particularly in relation to the software on medical devices. She co-organizes Outreachy, the award-winning outreach program for people who face under-representation, systemic bias, or discrimination in tech. She is an adjunct Lecturer-In-Law of Columbia Law School and a visiting scholar at University of California Santa Cruz.

    +

    Prior to joining Software Freedom Conservancy, Karen was the executive director of the GNOME Foundation. Before that, she was the general counsel of the Software Freedom Law Center. She began her career as a lawyer at Clifford Chance and Gibson, Dunn & Crutcher LLP.

    +

    Karen received her law degree from Columbia Law School where she was a James Kent Scholar and co-founder of the Columbia Science and Technology Law Review. She also holds a bachelor of science in engineering from The Cooper Union for the Advancement of Science and Art.

    +

    Sandler has won awards for her work on behalf of software freedom, including the O’Reilly Open Source Award in 2011. She received an honorary doctorate from KU Leuven in 2023.

    +

    +
  • + +
  • + + Rick Sanders +

    + Rick Sanders
    + + + +

    +

    Rick is the General Counsel of Software Freedom Conservancy. He has been practicing law since 2000, mostly in the field of intellectual-property litigation. He started his legal careers in Silicon Valley and now resides in Nashville, Tennessee. From 2012 to 2015, he taught copyright law at Vanderbilt University Law School.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

There's a reason that some of the most popular shows on television for generations have been courtroom dramas. Court cases are dramatic by their nature!

+

Come ask us anything at all about the Software Freedom Conservancy's lawsuit against Vizio. The trial is only 6 weeks away, so hear about everything and get yourself ready to go down to Los Angeles and attend the trial.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/366/index.html b/schedule/presentation/366/index.html new file mode 100644 index 0000000..32c36b8 --- /dev/null +++ b/schedule/presentation/366/index.html @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: I Didn't Know Postgres Could Do That! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+ +
+ +
+

Abstract

+ +

PostgreSQL is often thought of as "The Database for DBAs", but what more +and more developers are finding out is that what makes Postgres "The +Worlds Most Advanced Open Source Database" is its wide array of +features, many of which are really geared towards users who want to +build applications on top of Postgres.

+

In this talk, we'll look at some of the features in Postgres you may not +have seen in other database systems, and talk about how you can make use +of those features in your applications. Queries, indexing, data types, +and more will all be up for discussion as we show you examples of just +what Postgres can do.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/367/index.html b/schedule/presentation/367/index.html new file mode 100644 index 0000000..fce87c8 --- /dev/null +++ b/schedule/presentation/367/index.html @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: FOSS in A/V: How Open Signal uses FOSS to further their mission in a closed source industry + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Chris Polanco +

    + Chris Polanco
    + + + +

    +

    Chris is the Production Manager at Open Signal the Organization that helps FOSSY get online every year. While his background is in tradition film making his early start at Open Signal volunteering at 14 allowed him to get familiar with broadcast basics and techniques he later adapter to his film career. Combined with a passion for right to repair he really early on started to combine film and broadcast techniques with as much FOSS software he could get his hands on to recreate advanced industry practices at smaller self hosted scales. The unique combination of experience came in handy during the pandemic as he helped many small non-profits transition online while equipment shortages were common. He's now spending his time at Open Signal pushing a FOSS first philosophy in Video Production a usually heavily proprietary and secretive industry.

    +

    +
  • + +
  • + + Allison Randal +

    + Allison Randal
    + + + +

    +
    +

    +
  • + +
+
+ +
+

Abstract

+ +

Open Signal is a media arts center in Portland, Oregon, with a mission +to nurture the change-making power of community media in service of a +just and equitable world. In this conversation with Chris Polanco, their +Production Services Production Manager, we'll talk about how and why +Open Signal chooses open source as much as they can in a world of SaaS +and proprietary products. They do this not just while partnering with +us to do audio/video for FOSSY, but across their work with local youth +and other media makers. We'll talk about some of the hardware and +software they use, how those choices are informed by their mission, +and what sort of future they are working toward.

+ + + +

Videos

+ + + + +

Available sources:

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/schedule/presentation/368/index.html b/schedule/presentation/368/index.html new file mode 100644 index 0000000..5d14122 --- /dev/null +++ b/schedule/presentation/368/index.html @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Presentation: Lightning Talks! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ + + +
+
+

Presented by

+
    + +
  • + + Pono Takamori +

    + Pono Takamori
    + + + +

    +

    Daniel Pono Takamori is the Community Organizer at Software Freedom Conservancy. He's been involved in FOSS for almost 20 years and worked for non-profit FOSS organizations for over a decade. While not at his computer he likes to play go, cook vegetables and ride his bike.

    +

    +
  • + +
+
+ +
+

Abstract

+ +

    +
  1. Vagrant Cascadian: An Impatient Application of Reproducible Builds
  2. +
  3. Josh Lee: The OSS Hero's Journey
  4. +
  5. Julia Zimmerman: Quantifying Sky Signals: Simulating Visibility Correlations in Radio Interferometry
  6. +
  7. Zhi Qu: BLuE CRAB: RSSI Detection Pattern Analysis for Flagging System Development
  8. +
  9. Andrew Washburn: Using Quantum Computers to Detect Continuous Gravitational Waves
  10. +
  11. Audrey Evergreen: Avoiding Desk Neck While Coding
  12. +
  13. Neal Gompa: X.Org Foundation and SFC
  14. +
  15. Mark Davis: H.U.G.E. Announcement
  16. +
  17. Alya Abbott: Choosing Software that Won't Screw You
  18. +
  19. Emily Soward: What and Why we Need AI Preparedness
  20. +
  21. Brendan Conoboy: Command Line Control
  22. +
  23. Eric Schultz: Glasgow Embedded Code of Conduct
  24. +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/create/index.html b/speaker/create/index.html new file mode 100644 index 0000000..ae18b10 --- /dev/null +++ b/speaker/create/index.html @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Log in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+
+ Log in to an existing account +
Please note that accounts from 2024 are not transferred for privacy reasons.
+ + + + + + + + +
+ + + + + +
+ + + + + +
+ +
+ + + + +
+ + + + + +
+ + + + + +
+ +
+ + + + +
+ +
+
+ + + + + + +
+
+ +
+ + + + + + + + Forgot your password? +
+ + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/409/index.html b/speaker/profile/409/index.html new file mode 100644 index 0000000..60b9c7c --- /dev/null +++ b/speaker/profile/409/index.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Nathan Willis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Nathan Willis is a type designer and consultant who arguably spends too much of his time thinking about personal-data exports, linkrot, and the use of conjunctions in software documentation. He currently owns no pets, and is using predictive next to complete this sentence to reach the recommended word-count; and I don't know what to do so I can find out if you can get a chance to chat with me about it on the way home till after 6pm pm but I will be there in a few minutes until the last time I get home I think that I can find out if you can get a chance to chat with me about it on the way home.

+ +

Presentations

+ + +
+
+ + Nathan Willis +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/410/index.html b/speaker/profile/410/index.html new file mode 100644 index 0000000..5f4763a --- /dev/null +++ b/speaker/profile/410/index.html @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Romeo S + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Romeo is a GNU/Linux sysadmin with nearly a decade of experience. As a college dropout, he has taught himself the ins and outs of GNU/Linux and of countless software projects from scratch with no tour guide or teacher. A consistent habit of "being the edge case that you want to see in the world" has forced him to develop a knack for solving problems that developers and maintainers typically don't see coming. Primarily specializing in HPC-related infrastructure management, he lives in a world of "except for on this cluster" and "except for in this context." This environment of asterisks has forced adaptability, which has translated into a lot of experience in diving into the weeds. He has spoken at several conferences in the PNW and nationwide, seeking to educate as well as to entertain. Originally a Portland native, he now lives in central Washington while working remotely for a company in Seattle.

+ +

Presentations

+ + +
+
+ + Romeo S +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/411/index.html b/speaker/profile/411/index.html new file mode 100644 index 0000000..e677d41 --- /dev/null +++ b/speaker/profile/411/index.html @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Karen Sandler + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Karen M. Sandler is an attorney and the executive director of Software Freedom Conservancy, a 501c3 nonprofit organization focused on ethical technology. As a patient deeply concerned with the technology in her own body, Karen is known as a cyborg lawyer for her advocacy for free software as a life-or-death issue, particularly in relation to the software on medical devices. She co-organizes Outreachy, the award-winning outreach program for people who face under-representation, systemic bias, or discrimination in tech. She is an adjunct Lecturer-In-Law of Columbia Law School and a visiting scholar at University of California Santa Cruz.

+

Prior to joining Software Freedom Conservancy, Karen was the executive director of the GNOME Foundation. Before that, she was the general counsel of the Software Freedom Law Center. She began her career as a lawyer at Clifford Chance and Gibson, Dunn & Crutcher LLP.

+

Karen received her law degree from Columbia Law School where she was a James Kent Scholar and co-founder of the Columbia Science and Technology Law Review. She also holds a bachelor of science in engineering from The Cooper Union for the Advancement of Science and Art.

+

Sandler has won awards for her work on behalf of software freedom, including the O’Reilly Open Source Award in 2011. She received an honorary doctorate from KU Leuven in 2023.

+ +

Presentations

+ + +
+
+ + Karen Sandler +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/412/index.html b/speaker/profile/412/index.html new file mode 100644 index 0000000..cc95cf2 --- /dev/null +++ b/speaker/profile/412/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Bryan T Ollendyke + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Educator and Full time Open source front-end developer at Penn State. Bryan's life is open source web contribution. He is the lead of the HAX community. HAX The Web is an effort to "hack" the way the world works with the web by making web authoring ubiquitous for all users, regardless of skill and ability. Treat the web like a file format and make high quality, accessible, fast, usable tools for anyone to self publish.

+ +

Presentations

+ + +
+
+ + Bryan T Ollendyke +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/413/index.html b/speaker/profile/413/index.html new file mode 100644 index 0000000..4c98938 --- /dev/null +++ b/speaker/profile/413/index.html @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Rich Bowen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Rich Bowen has been involved in open source since before we started calling it that. He's a member of the Apache Software Foundation, where +he currently serves as a board member and Vice Chair. Rich is an Open Source Strategist at AWS.

+ +

Presentations

+ + +
+
+ + Rich Bowen +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/414/index.html b/speaker/profile/414/index.html new file mode 100644 index 0000000..59a9128 --- /dev/null +++ b/speaker/profile/414/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Tom Lechner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Tom Lechner has been using open source software to produce his artwork since the early 2000s. He created the desktop publishing program Laidout to quickly lay out his comic books, and is currently using various open source software to work on video game projects, including VR with the Godot Engine. Tom is based in the Portland, Oregon area.

+ +

Presentations

+ + +
+
+ + Tom Lechner +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/416/index.html b/speaker/profile/416/index.html new file mode 100644 index 0000000..a8a709d --- /dev/null +++ b/speaker/profile/416/index.html @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Patrick Masson + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Patrick joined Apereo as Executive Director in 2023, serving previously as Interim General Manager of the Foundation. Before Apereo, Patrick served as General Manager for the Open Source Initiative after working within higher education IT for over twenty years, including roles as CIO within the State University of New York and CTO at the University of Massachusetts' Office of the President. He was the Director of Technology at the SUNY Learning Network and the UCLA Media Lab.

+

Patrick is an adjunct instructor with SUNY Albany's College of Computing and Information and speaks frequently on topics related to open source software, open education, and educational technology. Patrick is the co-founder of EDUCAUSE's "Openness" Constituency Group and served on his local school board from 2014-2018.

+ +

Presentations

+ + +
+
+ + Patrick Masson +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/418/index.html b/speaker/profile/418/index.html new file mode 100644 index 0000000..42963d0 --- /dev/null +++ b/speaker/profile/418/index.html @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Mark Wong + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Mark Wong is currently employed by EDB and is a PostgreSQL Major Contributor. His background is in database systems solutions and performance. He has contributed to various aspects of the community such as a benchmarking kits, Google Summer of Code mentor, PGConf.US Organizer, Portland PostgreSQL Users Group Co-Organizer, PostgreSQL Fundraising Group Member, and Treasurer and President of PgUS.

+ +

Presentations

+ + +
+
+ + Mark Wong +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/421/index.html b/speaker/profile/421/index.html new file mode 100644 index 0000000..e84b505 --- /dev/null +++ b/speaker/profile/421/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Tyler Menezes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Tyler Menezes is the CEO of CodeDay, where he has helped more than 70,000 students use technology and creativity to make meaningful changes to their world. +Born in Canada but raised in the Pacific Northwest, he briefly attended the University of Washington before dropping out to start a Y Combinator and venture-backed social video startup in 2011. This, combined with stints working in machine learning at Microsoft Research and as a programmer at several Seattle startups, led to his work finding data-driven solutions to build a more talented, creative, and innovative technology workforce since 2014.

+

Tyler's work in education has led to his recognition as one of Forbes Magazine's "30 Under 30" in 2019, Forbes "Under 30 Innovators You Need to Know", Tech&Learning Magazine's "Most Inspiring in EdTech", and others. He has authored many peer-reviewed publications on CS education, served as Principal Investigator on National Science Foundation awards for STEM education, and has spoken about technical mentorship at leading software engineering and education conferences around the world.

+ +

Presentations

+ + +
+
+ + Tyler Menezes +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/422/index.html b/speaker/profile/422/index.html new file mode 100644 index 0000000..3a88b1d --- /dev/null +++ b/speaker/profile/422/index.html @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Darrick J. Wong + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Darrick was the Linux maintainer of the XFS filesystem from 2016 to 2023, and wrote the (recently released) online fsck tool for it. He is now experimenting with improving the fuse I/O model so that filesystem metadata parsing can occur in userspace while most of the I/O hot path remains in the kernel.

+ +

Presentations

+ + +
+
+ + Darrick J. Wong +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/424/index.html b/speaker/profile/424/index.html new file mode 100644 index 0000000..31b0594 --- /dev/null +++ b/speaker/profile/424/index.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Root + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Root has been a long time advocate in the privacy and security space, and enjoys teaching others how to stay safe and secure while online and to avoid common pitfalls. Root is a beginner developer and enjoys breaking things while learning what makes it tick ;) this has lead to a wide range of experience across many different subjects. Root is also part of the team that runs Soprani.ca, Cheogram.com and JMP.chat and is heavily focused on their acceptance and success, in both the freedom-ware communities and beyond.

+ +

Presentations

+ + +
+
+ + Root +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/427/index.html b/speaker/profile/427/index.html new file mode 100644 index 0000000..c203c3c --- /dev/null +++ b/speaker/profile/427/index.html @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Stacey Haysler + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

By day, Stacey is the CFO and COO of PGX, Inc., a Postgres-only consultancy in San Francisco, California. She is also the President of the U.S. PostgreSQL Association (PgUS), a nonprofit dedicated to the advancement of PostgreSQL through education and advocacy. Stacey is an organizer of the San Francisco Bay Area PostgreSQL Users Group. Stacey is also the creator of the original PostgreSQL Community Code of Conduct, and was the first Chair of the Community CoC Committee for three years. Stacey is a Django Software Foundation Member, as well as a former Board Member of the DSF. She founded and served on the Board of the Django Events Foundation North America, and was a primary organizer of DjangoConUS 2015 – 2018. Stacey is a Contributing Member of Software in the Public Interest. By night, she sleeps, since that's a lot to do every day!

+ +

Presentations

+ + +
+
+ + Stacey Haysler +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/428/index.html b/speaker/profile/428/index.html new file mode 100644 index 0000000..79b8f89 --- /dev/null +++ b/speaker/profile/428/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Christophe Pettus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Christophe is the CEO of PGX Inc., a boutique PostgreSQL consultancy based in Alameda, California. He has been working with PostgreSQL since version 7, and databases for even longer.

+ +

Presentations

+ + +
+
+ + Christophe Pettus +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/429/index.html b/speaker/profile/429/index.html new file mode 100644 index 0000000..382606b --- /dev/null +++ b/speaker/profile/429/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Nate Boot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Nate is a life-long tech enthusiast, only recently finding himself in the world of developer advocacy at AWS. He currently works exclusively with the open source OpenSearch project. He loves show-and-tell, and really enjoys learning about new stuff and then sharing it with anyone who will listen. He has a particular love for retro technology and old video games. His most formative years were spent in BBS teleconferences in the pacific northwest.

+ +

Presentations

+ + +
+
+ + Nate Boot +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/432/index.html b/speaker/profile/432/index.html new file mode 100644 index 0000000..1fab778 --- /dev/null +++ b/speaker/profile/432/index.html @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Neal Gompa + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Neal Gompa is a developer for–and contributor to–Fedora, CentOS, and openSUSE. Neal focuses primarily on the base Linux system components, such as package and software management, and desktop Linux. He believes in “upstream first,” which has led him all over the open source world. In addition to open source work as a consultant through Velocity Limitless, he is also a co-host on the Sudo Show podcast where he talks about "the business of open source."

+ +

Presentations

+ + +
+
+ + Neal Gompa +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/433/index.html b/speaker/profile/433/index.html new file mode 100644 index 0000000..ca0027d --- /dev/null +++ b/speaker/profile/433/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Diana Belle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Diana is a distributed systems dweeb with opinions about timestamps and gravity waves. She codes tooling, apps, and video games, as well as writes essays, fiction, and poetry. She resides in the Pacific Northwest with her partners.

+ +

Presentations

+ + +
+
+ + Diana Belle +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/435/index.html b/speaker/profile/435/index.html new file mode 100644 index 0000000..738797a --- /dev/null +++ b/speaker/profile/435/index.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Matt Gaughan + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

I am a PhD student at Northwestern. My research focuses on how contributors organize to build FOSS projects; specifically, how projects make decisions in response to their environments. I have a background in software engineering and am looking to learn more about how individuals and communities can develop sustainable relationships to computers.

+ +

Presentations

+ + +
+
+ + Matt Gaughan +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/436/index.html b/speaker/profile/436/index.html new file mode 100644 index 0000000..b9214cc --- /dev/null +++ b/speaker/profile/436/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Dr. Kaylea Champion + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Dr. Kaylea Champion studies how people cooperate to build public goods like GNU/Linux and Wikipedia, including what gets built and maintained -- and what doesn't. She has a background in system administration and tech support. She received her PhD in Communication from the University of Washington in 2024. A Linux user since 1994, she enjoys tromping through the woods, smashing goblins, and cooking for a crowd.

+ +

Presentations

+ + +
+
+ + Dr. Kaylea Champion +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/437/index.html b/speaker/profile/437/index.html new file mode 100644 index 0000000..2ce1bf1 --- /dev/null +++ b/speaker/profile/437/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Robin Brown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Robin Brown is a software engineer, WebAssembly expert, compiler nerd, esoteric programming language enthusiast, and fan of indie rock, emo, and folk punk.

+ +

Presentations

+ + +
+
+ + Robin Brown +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/438/index.html b/speaker/profile/438/index.html new file mode 100644 index 0000000..b2fe312 --- /dev/null +++ b/speaker/profile/438/index.html @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Mike Jang + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Mike is a Principal Technical Writer for NGINX (part of F5) He creates clear and engaging documentation for developers and sysadmins. He's created authoritative content in Linux, security, and Identity Management. He's also a Red Hat Certified Engineer (RHCE v5) and an enthusiastic speaker at industry events.

+

This year, Mike led the release of the NGINX documentation repository as open source, using the BSD license.

+

He built a docs-as-code documentation practice from scratch at Cobalt.io, where he also developed a voice and tone style guide for user experiences, taught non-writers to create better UI text, and set up a paid open source documentation contribution program. At GitLab, he guided the documentation efforts for the Manage Stage and developer content. At ForgeRock, he gained seven years of experience writing about Identity Management.

+

Mike's mission is to share my passion for new software and to help users achieve their goals with the rigor of a technical writer.

+ +

Presentations

+ + +
+
+ + Mike Jang +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/441/index.html b/speaker/profile/441/index.html new file mode 100644 index 0000000..498e9b7 --- /dev/null +++ b/speaker/profile/441/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Dr. Dawn Foster + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Dr. Dawn Foster works as the Director of Data Science for CHAOSS where she is also a board member / maintainer. She is co-chair of CNCF TAG Contributor Strategy and an OpenUK board member. She has 20+ years of experience at companies like VMware and Intel with expertise in community, strategy, governance, metrics, and more. She has spoken at over 100 industry events and has a BS in computer science, an MBA, and a PhD. In her spare time she enjoys reading science fiction, running, and traveling.

+ +

Presentations

+ + +
+
+ + Dr. Dawn Foster +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/442/index.html b/speaker/profile/442/index.html new file mode 100644 index 0000000..8ad388a --- /dev/null +++ b/speaker/profile/442/index.html @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Dave McAllister + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Currently providing open source technical evangelism for NGINX, Dave works with DevOps, developers and architects to understand the advantages of modern architectures and orchestration to solve large-scale distributed systems challenges, using open source and its innovation. Dave has been a champion for open systems and open source from the early days of Linux to today's world of OpenTelemetry and observability.

+

Dave was named as one of the top ten pioneers in open source by Computer Business Review, having cut his teeth on Linux and compilers before the phrase "open source" was coined. Well-versed in trivia, he won a Golden Penguin in 2002. When he's not talking, you can find him hiking with his trusty camera, trying to keep up with his wife.

+ +

Presentations

+ + +
+
+ + Dave McAllister +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/447/index.html b/speaker/profile/447/index.html new file mode 100644 index 0000000..047f1c9 --- /dev/null +++ b/speaker/profile/447/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Stephen Paul Weber + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Stephen is a long-time software freedom enthusiast, semi-retired from industry to focus on promoting freedomware solutions to problems faced by everyday people. Stephen currently helps run the Soprani.ca project and the related JMP.chat freedomware-based telephony provider.

+ +

Presentations

+ + +
+
+ + Stephen Paul Weber +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/448/index.html b/speaker/profile/448/index.html new file mode 100644 index 0000000..e61c749 --- /dev/null +++ b/speaker/profile/448/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Igor Steinmacher + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Dr. Igor Steinmacher is an Associate Professor in the School of Informatics, Computing, and Cyber Systems at Northern Arizona University. He received his Ph.D. in Computer Science from the University of São Paulo (2015) and was a Visiting Scholar at the University of California, Irvine (2013). His research focuses on supporting newcomers to open source and sustaining open source communities over time. He investigates socio-technical challenges in onboarding, mentoring, and community retention, and explores how AI-driven tools can promote inclusion and long-term project sustainability. His work bridges software engineering, HCI, and computing education, an he has authored over 100 peer-reviewed publications.

+ +

Presentations

+ + +
+
+ + Igor Steinmacher +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/450/index.html b/speaker/profile/450/index.html new file mode 100644 index 0000000..4c68d01 --- /dev/null +++ b/speaker/profile/450/index.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Ben Dooks + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Long time open source contributor to the Linux kernel, qemu and other projects for both work and personal fun. Experience in various hardware and board bringup on arm32, arm64, riscv64 and electronic design.

+ +

Presentations

+ + +
+
+ + Ben Dooks +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/452/index.html b/speaker/profile/452/index.html new file mode 100644 index 0000000..92eb3ee --- /dev/null +++ b/speaker/profile/452/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Cathy Richards + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Cathy Richards (she/her) is a technologist and a Civic Science Fellow/Data Inclusion Specialist at Open Environmental Data Project. Focused on harnessing technology for environmental and social justice, she brings a strong commitment to ethical tech practices, data-driven solutions, and resilience in the face of emerging global challenges. Previously, Cathy worked at The Engine Room as the Associate for Digital Resilience and Emerging Technology, where she focused on integrating cutting-edge tools to support vulnerable communities. Cathy was also a 2023-2024 Green Web Foundation Fellow, investigating the use of GIS for environmental justice and addressing its ethical and security risks. In addition, Cathy has also taught Metrics & Data Visualization at SVA and contributed to various organizations such as Keystone Accountability and Helen Keller International, working on issues from climate entrepreneurship that tackled youth unemployment to immigrant rights and international health. She holds a Bachelor’s degree in International Relations from Boston University and an MPA from the Monterey Institute of International Studies. In her spare time, you’ll find her playing capoeira, solving puzzles, tracing her family history, hoarding books, or saying hello to every dog she meets.

+ +

Presentations

+ + +
+
+ + Cathy Richards +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/454/index.html b/speaker/profile/454/index.html new file mode 100644 index 0000000..c479595 --- /dev/null +++ b/speaker/profile/454/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Laura Langdon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Laura Langdon is an Open Source Community Manager for the Open Source Program Office (OSPO) network of the University of California. With a focus on the humans in tech communities, Laura is passionate about documentation, diversity and inclusion across all axes, and social responsibility. Working diligently to connect people within the UC open source community to one another and to the greater world of open source, her responsibilities include planning meetups, helping to connect aspiring contributors with projects and vice versa, and creating educational materials about OSS workflows.

+

Laura has previous experience as a developer advocate at Suborbital Software Systems (acquired by F5), and previously as a math lecturer at CSU East Bay. This diverse background in both academia and industry provides her with unique insights into making technical concepts accessible and fostering inclusive community growth. Her approach combines analytical thinking from her mathematics background with a deep understanding of developer experience and community dynamics.

+

In her free time, Laura enjoys recreational research and optimizing all the things.

+ +

Presentations

+ + +
+
+ + Laura Langdon +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/455/index.html b/speaker/profile/455/index.html new file mode 100644 index 0000000..6ed8246 --- /dev/null +++ b/speaker/profile/455/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Aaron Wolf + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Aaron is a community music teacher and a co-founder of Snowdrift.coop (a fundraising platform aiming to coordinate community economic support for FLO public goods). His volunteer work in many free/libre/open technology areas has focused on healthy communities, public outreach, governance, and issues of politics and economics. He lives in Oregon City with his wife, dog, and two kids.

+ +

Presentations

+ + +
+
+ + Aaron Wolf +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/456/index.html b/speaker/profile/456/index.html new file mode 100644 index 0000000..5562eba --- /dev/null +++ b/speaker/profile/456/index.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Virginia Scarlett + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Virginia's early career consisted of original research in plant biology related to biofuels, and she received her PhD in plant biology from the University of California (UC) Berkeley in 2022. Towards the end of graduate school, her interest in open science led her to shift her focus from biological research to research support. From 2022-2024, she was the Open Data Specialist at the Howard Hughes Medical Institute's Janelia research campus, where she advised researchers on data management, and was the primary author of a strategic report on the institute's data management strategies. In February 2024, she became the Open Source Programs Specialist at the UC Santa Barbara Library. In this role, she is conducting discovery work for the UC OSPO Network Project, an initiative funded by the Alfred P. Sloan foundation to expand open source support services at the University of California.

+ +

Presentations

+ + +
+
+ + Virginia Scarlett +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/458/index.html b/speaker/profile/458/index.html new file mode 100644 index 0000000..2e9ff42 --- /dev/null +++ b/speaker/profile/458/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Jimmy Angelakos + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Jimmy Angelakos is a Systems and Database Architect and recognized PostgreSQL expert who has worked with, and contributed to, Open-Source tools for 25+ years. He is passionate about participating in the community, a Contributor to the PostgreSQL project, and an active member of PostgreSQL Europe and US. Jimmy is a regular speaker at conferences and events, sharing his insights with the community. Author of PostgreSQL Mistakes and How to Avoid Them, co-author of PostgreSQL 16 Administration Cookbook.

+

Mastodon: https://fosstodon.org/@vyruss +Bluesky: https://bsky.app/profile/vyruss.org

+ +

Presentations

+ + +
+
+ + Jimmy Angelakos +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/460/index.html b/speaker/profile/460/index.html new file mode 100644 index 0000000..c6056e5 --- /dev/null +++ b/speaker/profile/460/index.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Gauri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Gauri Kasar works as a PM at Microsoft in the Azure Database for PostgreSQL team. Before joining Microsoft, Gauri worked as a Software Engineer with Oracle and Quantiphi. Her career spans building scalable backend systems, launching customer-facing features, and working closely with cross-functional teams to deliver impactful solutions. She is passionate about AI, open-source technologies, and helping developers get the most out of cloud platforms.

+ +

Presentations

+ + +
+
+ + Gauri +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/462/index.html b/speaker/profile/462/index.html new file mode 100644 index 0000000..a11c9e9 --- /dev/null +++ b/speaker/profile/462/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Kellyn Gorman + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Kellyn Gorman is a database and AI specialist with over 25 years of experience in relational systems. She's authored numerous books and white papers and is well-respected for her contributions under her online handle, "DBAKevlar." She's an award-winning optimization and security specialist having previously worked for Oracle and Microsoft, along with a long history as a mentor and advocate in the tech industry.

+ +

Presentations

+ + +
+
+ + Kellyn Gorman +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/463/index.html b/speaker/profile/463/index.html new file mode 100644 index 0000000..d2830b1 --- /dev/null +++ b/speaker/profile/463/index.html @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Edward Ly + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Dr. Edward Ly is a Portland, Oregon native who now works as a software engineer at Nextcloud as part of a team that develops ethical AI solutions and supports the greater Nextcloud and free software community. Previously, he obtained his Ph.D. in Computer Science and Engineering from the University of Aizu, where he conducted research on machine learning in digital audio signal processing applications and published his work as free software. He has also successfully given public talks at various academic research conferences (AES, EvoStar) and open source events (FOSSY, Nextcloud Community Conference), all while being openly autistic.

+

In his spare time, Edward enjoys playing video games, as well as occasionally producing electronic dance music and making DJ mixes (all with free software!).

+ +

Presentations

+ + +
+
+ + Edward Ly +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/465/index.html b/speaker/profile/465/index.html new file mode 100644 index 0000000..2613ab2 --- /dev/null +++ b/speaker/profile/465/index.html @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Shawn W Dunn + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Shawn is the Lead Developer on the Kalpa Desktop https://kalpadesktop.org, current openSUSE Board Member, and a long time openSUSE contributor, as a Moderator, Packager, and Maintainer.

+

Shawn also currently contributes to the Fedora project as a packager and maintainer, and is a past contributor to Fuduntu, Solus, Crunchbang, and many other FOSS projects.

+ +

Presentations

+ + +
+
+ + Shawn W Dunn +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/467/index.html b/speaker/profile/467/index.html new file mode 100644 index 0000000..20ae9bd --- /dev/null +++ b/speaker/profile/467/index.html @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Milo Oien-Rochat + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Milo is fighting for open source and sustainability from inside the machine. He has open sourced two 3M projects: gitpyup and plotme. 3M open source code can be found at https://github.com/3mcloud He contributes back to the projects he uses. For example he added a missing feature in ezdxf and fixed a bug in pyaedt. He is planting seeds within 3M to support open source financially.

+

At home, Milo is a Linux and self-hosting enthusiast. He runs NixOS and shares his flake with desktop and server configurations on GitHub under an MIT licence.

+

Away from screens, Milo cooks creatively, sings in a choir and walks in the woods.

+

Social media is real bad so Milo can be found on GitHub where he donates to Bazzite, KDE and GrapheneOS.

+ +

Presentations

+ + +
+
+ + Milo Oien-Rochat +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/468/index.html b/speaker/profile/468/index.html new file mode 100644 index 0000000..4265db6 --- /dev/null +++ b/speaker/profile/468/index.html @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Gideon Mayhak + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Gideon is a longtime user and supporter of free open source software. With over 20 years of experience supporting and training users across both proprietary and open systems, he has a love for working with people to figure things out. Gideon currently works on the support team for JMP.

+ +

Presentations

+ + +
+
+ + Gideon Mayhak +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/473/index.html b/speaker/profile/473/index.html new file mode 100644 index 0000000..86d3e54 --- /dev/null +++ b/speaker/profile/473/index.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Davide Cavalca + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Davide Cavalca is a Production Engineer at Meta on the Linux team. Davide has worked in the systems space for more than 15 years, always with a strong focus towards open source and automation. Davide serves on the CentOS Board of Directors, co-chairs the CentOS Hyperscale SIG and actively participates in a number of other SIGs to drive the project forward. Davide is also involved in Fedora, where he sits on the EPEL Steering Committee, and has helped drive the development of several major distribution features. Davide also sits on the Asahi Linux Governance Board and is actively involved in the project, where he helps develop Fedora Asahi Remix within the Asahi SIG in Fedora.

+ +

Presentations

+ + +
+
+ + Davide Cavalca +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/476/index.html b/speaker/profile/476/index.html new file mode 100644 index 0000000..7892eab --- /dev/null +++ b/speaker/profile/476/index.html @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Timmy James Barnett + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Timmy James Barnett is passionate about the philosophy of FLO (Free/Libre/Open) software. He is happy to be using GNU/Linux and FLO software he wrote for his performances with GNU/Linux Loves All and !mindparade. He loves to tell others about his great experiences with FLO software. Timmy's music is inspired by FLO technologies including GNU/Linux, Matthew Autry's skip-fretting, and Kite guitar. These technologies have connected him with older notes that have been covered up by modern standard tuning. Rather than being limited to just one tuning, Timmy's music is inspired by both the harmonic series and various edos beyond just 12edo (known as standard tuning). He finds a unique sound from the intersection between ancient tuning theory, modern music technology, and a FLO philosophy.

+ +

Presentations

+ + +
+
+ + Timmy James Barnett +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/480/index.html b/speaker/profile/480/index.html new file mode 100644 index 0000000..7411039 --- /dev/null +++ b/speaker/profile/480/index.html @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Michael Downey + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Michael Downey is an international civil servant, working on free & open source software programs for the world's largest international development agency. He has been involved in FOSS for several decades, as a user of, advocate for, and contributor to many free software projects. He helped lead OpenMRS, for which he accepted the FSF Award for Projects of Social Benefit in 2013, and has served on multiple project and nonprofit boards. Michael holds two undergraduate engineering degrees and his doctoral research focused on cross-cultural computer supported cooperative work.

+ +

Presentations

+ + +
+
+ + Michael Downey +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/482/index.html b/speaker/profile/482/index.html new file mode 100644 index 0000000..c467558 --- /dev/null +++ b/speaker/profile/482/index.html @@ -0,0 +1,296 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Pono Takamori + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Daniel Pono Takamori is the Community Organizer at Software Freedom Conservancy. He's been involved in FOSS for almost 20 years and worked for non-profit FOSS organizations for over a decade. While not at his computer he likes to play go, cook vegetables and ride his bike.

+ +

Presentations

+ + +
+
+ + Pono Takamori +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/483/index.html b/speaker/profile/483/index.html new file mode 100644 index 0000000..9858f6c --- /dev/null +++ b/speaker/profile/483/index.html @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Stephanie Lieggi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Stephanie Lieggi is the Executive Director of the Center for Research in Open Source Software (CROSS) at University of California, Santa Cruz. She supports academic-based open source projects and aims to create a sustainable contributor base through the establishment of hands-on mentorship programs, including the Open Source Research Experience (OSRE) Programs. Since 2022 her role has also helped lead the UCSC newly formed Open Source Program Office (OSPO), supported by a grant from the Alfred P Sloan Foundation. Most recently, Stephanie led the effort to build a system-wide network of OSPOs at the University of California, securing financial support for building the network from the Sloan Foundation in Spring 2024. Stephanie co-chairs the CHAOSS University Working Group and is the co-PI on UCSC’s first US National Science Foundation's Pathways to Enable Open Source Ecosystem (POSE) grant, which has enabled exploration into successful models for building sustainable open source projects at universities.

+

Prior to starting at CROSS, Stephanie was a senior researcher and adjunct professor at the Center for Nonproliferation Studies, part of the Middlebury Institute of International Studies at Monterey, where she researched the intersection of national security and global trade.

+ +

Presentations

+ + +
+
+ + Stephanie Lieggi +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/484/index.html b/speaker/profile/484/index.html new file mode 100644 index 0000000..21e82d7 --- /dev/null +++ b/speaker/profile/484/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Dr. Justin Ribeiro, PhD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Justin is a longtime builder and innovator with over three decades of experience driving change across industries like telecommunications and digital platforms. He's contributed to open-source projects like Chromium and Visual Studio Code, and worked with standards groups like the W3C and NFC Forum. A former Google Developer Expert, Justin has built a career at the intersection of technical expertise and open collaboration. Today, as a Doctor of Management Design and Innovation Fellow at Case Western Reserve University, Justin researches how diverse interactions between developers and stakeholders fuels creativity into innovative outcomes in open source software development. A passionate speaker, mentor, teacher, and open-source advocate, Justin is committed to building more inclusive, innovative communities for the future of software.

+ +

Presentations

+ + +
+
+ + Dr. Justin Ribeiro, PhD +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/485/index.html b/speaker/profile/485/index.html new file mode 100644 index 0000000..40772e5 --- /dev/null +++ b/speaker/profile/485/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Basil Bourque + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

A graybeard developer, custom crafting database-backed apps for enterprise departments over the decades. And shipped a couple of iOS mobile apps. And built a few web apps for micro startups. And wrote way too many Stack Overflow posts.

+ +

Presentations

+ + +
+
+ + Basil Bourque +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/486/index.html b/speaker/profile/486/index.html new file mode 100644 index 0000000..fed2e05 --- /dev/null +++ b/speaker/profile/486/index.html @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Rick Turoczy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Rick Turoczy has been working in, on, and around the Portland, Oregon, startup community for 30 years. He has been recognized as one of the “OG”s of startup ecosystem building by the Kauffman Foundation, has shared insights in the book The Startup Community Way, and has been humbled by any number of opportunities to speak on stages from SXSW to Kobe to Muscat, including an opportunity to share his views on community building on the TEDxPortland stage (https://www.youtube.com/watch?v=Cj98mr_wUA0).

+

As founder and editor of Silicon Florist (https://siliconflorist.com/), he has blogged about Portland startups for nearly 20 years — even though numerous people have begged him to stop. That side project led Rick to start PIE (the Portland Incubator Experiment) (https://piepdx.com/), an ongoing experiment exploring the potential for mutually beneficial collaborations between the Portland startup community and more well-established entities like corporations, government organizations, and educational institutions.

+ +

Presentations

+ + +
+
+ + Rick Turoczy +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/488/index.html b/speaker/profile/488/index.html new file mode 100644 index 0000000..c23e1d6 --- /dev/null +++ b/speaker/profile/488/index.html @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Luis Chamberlain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Luis is a Principal Engineer at Samsung focusing the development and adoption of future Samsung NVMe storage & memory solutions with a focus on artificial intelligence. Luis has been working on the Linux kernel for over 20 years, and his fields of interest has changed over time, from Wireless, Bluetooth, Ethernet, to virtualization and lately with storage and memory technologies. He has also helped spearhead different new automation open source projects such as the Linux kernel backports project and as of late the kdevops project.

+ +

Presentations

+ + +
+
+ + Luis Chamberlain +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/490/index.html b/speaker/profile/490/index.html new file mode 100644 index 0000000..6d12349 --- /dev/null +++ b/speaker/profile/490/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Joshua Lee + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Josh is a seasoned software developer with over a decade of experience, specializing in a broad range of topics including operations, observability, agile methodologies, and accessibility. His passion for technology is matched by his enthusiasm for sharing knowledge through public speaking. Currently, Josh serves as a Developer Advocate for Altinity, where he creates educational content on ClickHouse and OpenTelemetry. Additionally, he is an active contributor to the OpenTelemetry project, helping to advance the field of observability in software development.

+ +

Presentations

+ + +
+
+ + Joshua Lee +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/491/index.html b/speaker/profile/491/index.html new file mode 100644 index 0000000..b23317a --- /dev/null +++ b/speaker/profile/491/index.html @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Cami Kaos + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Cami Kaos has spent more than a decade wrangling open source communities, moderating mayhem, and gently coaxing chaos into collaboration. She’s led WordPress community efforts, championed DEIB strategies, and survived more Slack threads than is medically advisable. A frequent speaker and mentor, Cami combines strategic know-how with humor, heart, and just enough existential dread to keep things interesting. When not navigating the emotional rollercoaster of community management, she lives and plays in the great city of Portland, Oregon.

+ +

Presentations

+ + +
+
+ + Cami Kaos +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/492/index.html b/speaker/profile/492/index.html new file mode 100644 index 0000000..c72ba1d --- /dev/null +++ b/speaker/profile/492/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Toby Betts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Toby Betts has been breaking and, when possible, fixing computers since childhood. He has worked as a system administrator, a service engineer, a site reliability engineer, and a free and open source software consultant for mid- to large-sized businesses for over 25 years. His main interests are system security, free cryptography, and fun file systems.

+ +

Presentations

+ + +
+
+ + Toby Betts +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/494/index.html b/speaker/profile/494/index.html new file mode 100644 index 0000000..6e9f31f --- /dev/null +++ b/speaker/profile/494/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Joshua Wilson + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Joshua Wilson is the Founding Principal of Flywheel Strategies, Principal at B.Cognition Labs, and Chair of Apereo Foundation. Previously he served as VP and COO of Longsight Inc., and Associate Director of the MISO Survey. He provides strategy, change management, and alignment leadership, and is known for his exceptional mentoring skills.

+ +

Presentations

+ + +
+
+ + Joshua Wilson +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/495/index.html b/speaker/profile/495/index.html new file mode 100644 index 0000000..8def0e8 --- /dev/null +++ b/speaker/profile/495/index.html @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Michel Lind + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Michel Lind (né Salim) is a Fedora contributor in various capacity (proven packager, packager sponsor, serving in leadership committees) since almost the beginning; CentOS Proposed Updates SIG co-chair and Hyperscale SIG contributor. He is alao a Debian Maintainer, and has contributed to openSUSE, Fink and MacPorts in a previous life.

+

In his day job, Michel is a Production Engineer on the Linux Userspace team at Meta, which is responsible for the CentOS Stream deployment on the production fleet.

+ +

Presentations

+ + +
+
+ + Michel Lind +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/498/index.html b/speaker/profile/498/index.html new file mode 100644 index 0000000..3e269ea --- /dev/null +++ b/speaker/profile/498/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Matthew Garrett + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Matthew is a long-term free software advocate, Linux developer, and low-level system poker. He is especially interested in identifying ways to use technology to protect users without restricting their freedoms, and is a passionate advocate in users having the right to modify systems they own.

+ +

Presentations

+ + +
+
+ + Matthew Garrett +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/499/index.html b/speaker/profile/499/index.html new file mode 100644 index 0000000..761c7e3 --- /dev/null +++ b/speaker/profile/499/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Daniel Steger + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Daniel Steger is a technical community manager with a passion for open infrastructure, scientific transparency, and inclusive research practices. He currently leads user engagement and product feedback initiatives at the Center for Open Science (COS), where he supports over 750,000 researchers worldwide on the Open Science Framework (OSF). Daniel also spearheads COS’s open source community, cultivating contributor pathways for developers, researchers, and advocates who support the OSF’s mission through collaborative development. He coordinates documentation efforts, facilitates community events, and oversees onboarding for new contributors as the team builds toward a public launch of the community space. With a background in life sciences and science education, Daniel specializes in demystifying complex tools and building welcoming ecosystems for open collaboration. He regularly delivers live demos, webinars, and conference talks, translating user needs into action and championing transparency across all stages of research.

+ +

Presentations

+ + +
+
+ + Daniel Steger +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/502/index.html b/speaker/profile/502/index.html new file mode 100644 index 0000000..1073963 --- /dev/null +++ b/speaker/profile/502/index.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Phillip + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Phillip is a developer for MBOA who, these days, mostly writes Ruby and works on Jabber projects. When not staring at code, he learns languages, plays chess, and pickles carrots.

+ +

Presentations

+ + +
+
+ + Phillip +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/505/index.html b/speaker/profile/505/index.html new file mode 100644 index 0000000..10b105b --- /dev/null +++ b/speaker/profile/505/index.html @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Ben Ford + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Founder, Community Builder, and Developer Advocate; Ben gets to build neat things -and- talk to people! \o/

+

Ben is a software engineer and community leader with extensive knowledge and expertise in the Puppet ecosystem. He's honored to call many of you friend and learn from you every day. He's been organizing Linux Users Groups, run clubs, and roller derby teams for most of his adult life and even a bit before that. Before coming to Puppet, he taught Anthropology grad students how to code in Java and then used that experience to introduce Puppet to many of you.

+

Ben has been obsessed with collective benefit for decades and is motivated by enabling the success of others. He's been dreaming of a world in which his skills don't just feed the capitalist maw. He is a long-distance runner but isn't interested in boasting about race times; he'd rather hear how your race went for you.

+

He's currently building a VC-free company at https://overlookinfratech.com. Find him online at https://hachyderm.io/@binford2k

+ +

Presentations

+ + +
+
+ + Ben Ford +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/506/index.html b/speaker/profile/506/index.html new file mode 100644 index 0000000..653139f --- /dev/null +++ b/speaker/profile/506/index.html @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Bradley M. Kuhn + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Bradley M. Kuhn is the Policy Fellow at Software Freedom Conservancy (SFC). Kuhn began his work software freedom movement in 1992, as an early adopter of Linux systems & contributor to various FOSS projects, including Perl. Kuhn was FSF’s Executive Director from 2001–2005, began as SFC’s primary volunteer from 2006–2010, and became SFC's first staff person in 2011. Kuhn's work focuses on enforcement of the GPL agreements, FOSS licensing policy, and infrastructural solutions for FOSS.

+ +

Presentations

+ + +
+
+ + Bradley M. Kuhn +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/507/index.html b/speaker/profile/507/index.html new file mode 100644 index 0000000..9c5bc80 --- /dev/null +++ b/speaker/profile/507/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Anita Sarma + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Dr. Anita Sarma is a professor and Associate Head of Research in the School of Electrical Engineering and Computer Science. She received her Ph.D. in Computer Science from the University of California, Irvine and was a postdoctoral fellow at Carnegie Mellon University. Her research focuses on human factors in software development and how to design inclusive technology to help software developers. Her passion is in fostering DEI in Open Source. Her work crosscuts areas of SE, AI for SE, HCI, open source, and CSCW. She has co-authored more than 100 conference and journal articles, and has received numerous awards. She received the OSU Breaking Barriers Research award (2021) for her work in removing gender biases from software. She is a co-director of the GenderMag project. She is a recipient of the NSF CAREER award (2013) and Google Inclusion Research Award (2022).

+ +

Presentations

+ + +
+
+ + Anita Sarma +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/508/index.html b/speaker/profile/508/index.html new file mode 100644 index 0000000..525a0e7 --- /dev/null +++ b/speaker/profile/508/index.html @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Zixuan Steve Feng + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

My name is Zixuan (Steve) Feng, and I am a Ph.D. candidate in Computer Science at Oregon State University, advised by Dr. Anita Sarma. My research focuses on software engineering. I collect data from OSS and analyze it using mixed research methods (e.g., statistical analysis, grounded theory, LLMs) to develop or validate theories about software engineering processes and outcomes, aiming to answer questions such as: How can we empower collaborative OSS teams and enhance sustainability?

+ +

Presentations

+ + +
+
+ + Zixuan Steve Feng +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/509/index.html b/speaker/profile/509/index.html new file mode 100644 index 0000000..ab3bcca --- /dev/null +++ b/speaker/profile/509/index.html @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Denver Gingerich + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Denver is a software right-to-repair and standards activist who is currently Director of Compliance at Software Freedom Conservancy, where he enforces software right-to-repair licenses such as the GPL, and is also a director of the worker co-operative that runs JMP.chat, a FOSS phone number (texting/calling) service. Denver writes free software in his spare time: his patches have been accepted into Wine, Linux, and wdiff. Denver received his BMath in Computer Science from the University of Waterloo. He gives presentations about digital civil rights and how to ensure FOSS remains sustainable as a community and financially, having spoken at conferences such as FOSSY, SCALE, the Canadian Repair Convention, FOSDEM, SFSCON, CopyleftConf, LibrePlanet, LinuxCon North America, CopyCamp Toronto, FOSSLC's Summercamp, and the Open Video Conference.

+ +

Presentations

+ + +
+
+ + Denver Gingerich +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/511/index.html b/speaker/profile/511/index.html new file mode 100644 index 0000000..d02735b --- /dev/null +++ b/speaker/profile/511/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Vagrant Cascadian + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Vagrant strives to make Reproducible Builds a best practices reality for everyone. Vagrant discovered free software late last millenia and has been contributing to free software since the beginning of this millenia. A long-time Debian Developer and contributor to Guix, tinkering with ARM and RISC-V systems. At Portland's Free Geek, Vagrant dove into life as a free software developer, rebuilding electronic waste with FOSS, modifying or developing new software as needed. That led to exciting work helping coordinate LTSP development shared between several different operating systems. That sense of open collaboration has been a life-long habit. Vagrant contrasts spending too much time on computers with bicycle commuting, aikido and a DIY solar hobby.

+ +

Presentations

+ + +
+
+ + Vagrant Cascadian +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/512/index.html b/speaker/profile/512/index.html new file mode 100644 index 0000000..3b74d49 --- /dev/null +++ b/speaker/profile/512/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Marvin W. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Marvin is a free software hacker and open protocol enthusiast. He has been contributing to free software for more than 15 years, focusing on free Android and federated instant messaging. Today, he's project leader at microG, a core developer of the XMPP client Dino, a member of the technical council of the XMPP Standards Foundation and a contributor to the MIMI working group at the IETF.

+ +

Presentations

+ + +
+
+ + Marvin W. +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/513/index.html b/speaker/profile/513/index.html new file mode 100644 index 0000000..0654e07 --- /dev/null +++ b/speaker/profile/513/index.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Chris Polanco + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Chris is the Production Manager at Open Signal the Organization that helps FOSSY get online every year. While his background is in tradition film making his early start at Open Signal volunteering at 14 allowed him to get familiar with broadcast basics and techniques he later adapter to his film career. Combined with a passion for right to repair he really early on started to combine film and broadcast techniques with as much FOSS software he could get his hands on to recreate advanced industry practices at smaller self hosted scales. The unique combination of experience came in handy during the pandemic as he helped many small non-profits transition online while equipment shortages were common. He's now spending his time at Open Signal pushing a FOSS first philosophy in Video Production a usually heavily proprietary and secretive industry.

+ +

Presentations

+ + +
+
+ + Chris Polanco +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/517/index.html b/speaker/profile/517/index.html new file mode 100644 index 0000000..811ecdd --- /dev/null +++ b/speaker/profile/517/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Samantha Shireman + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Samantha Shireman develops technology that helps people break through the digital walls that divide them. Within Harvard’s Applied Social Media Lab, she serves as the product manager for Frankly (frankly.org), an open-source video platform that enables people to engage in deliberation, assemblies, and other forms of constructive discourse and problem-solving.

+

Previously, as Director of Product at AllSides.com, she helped build many products intended to help people understand diverse perspectives and enable healthy communication across ideological divides. +  +She earned her degree in cognitive science from UC Berkeley, where she spent a lot of time thinking about thinking. She first earned her tech chops in middle school when, out of necessity, she taught herself HTML and CSS to create web pages for her Neopets.

+

When not working to strengthen democracy, Samantha enjoys puzzles, good food, cocktails, and the occasional rabbit hole into psychology research. She and her spouse live in El Cerrito, CA in an apartment building they and a few friends purchased together to end-run SF bay area housing costs. They live with their cat GABA, appropriately named after a neurotransmitter.

+ +

Presentations

+ + +
+
+ + Samantha Shireman +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/520/index.html b/speaker/profile/520/index.html new file mode 100644 index 0000000..f74d921 --- /dev/null +++ b/speaker/profile/520/index.html @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Tess Gadwa + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Tess is a passionate advocate of free software and bridging the gap between the arts and technology. She has lectured in Asia, North America, and Europe about the practical and ethical implications of open source, usability, and the connection between creativity and code.

+

In January 2011, Tess launched Yes Exactly, a managed hosting company serving early stage startups and community organizations. As CEO, she led the push to release Zappen, an AR app licensed under the LGPL 3.0. This augmented reality app contained the first fully functional open source implementation of mobile visual search. She sold her company in 2017 and went on to create Lotus FM, a consulting firm specializing in applications of data visualization for music discovery, philanthropy, and financial services. In 2023, she chose to license her proprietary Lotus Petal Architecture framework under a Creative Commons license, making it freely available for non-commercial and educational purposes.

+

Serious bouts of Repetitive Strain Injury and fibroids transformed Tess into an unexpected activist for disability rights and women's health. She is currently completing a yearlong engagement evaluating the feasibility and market potential of a blockchain patient health experience platform. Preliminary findings and whitepaper may be viewed at https://healthexperiencerepository.net.

+ +

Presentations

+ + +
+
+ + Tess Gadwa +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/522/index.html b/speaker/profile/522/index.html new file mode 100644 index 0000000..d182843 --- /dev/null +++ b/speaker/profile/522/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Juanita Gomez + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Juanita Gomez is a Ph.D. candidate in Computer Science at UC Santa Cruz, where her research focuses on improving the security of scientific open source software in collaboration with the Open Source Program Office (OSPO) at UCSC. She is a passionate programmer, mathematician, and open-source advocate, former developer of Spyder IDE at Quansight and current community leader for the Scientific Python project, a community effort to better coordinate and support scientific Python libraries.

+ +

Presentations

+ + +
+
+ + Juanita Gomez +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/523/index.html b/speaker/profile/523/index.html new file mode 100644 index 0000000..ab85e5c --- /dev/null +++ b/speaker/profile/523/index.html @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Chris Lamb + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Chris has been an official Debian Developer since 2008 and is a core team member of the Reproducible Builds project. He is a former 'DPL' of the Debian project as well as a member of Board of Directors for the Open Source Initiative (OSI). A recent immigrant to the United States, Chris is the author of dozens of small free-software projects and a contributor to 100s of others, but in his spare time he is an avid classical musician, calligrapher and is slowly working towards a sommelier certification.

+ +

Presentations

+ + +
+
+ + Chris Lamb +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/524/index.html b/speaker/profile/524/index.html new file mode 100644 index 0000000..5d8561c --- /dev/null +++ b/speaker/profile/524/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Eric Schultz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Eric Schultz is a Digital Autonomy activist and Project Leader for the Houdini Project who is passionate about the promise and reality of free and open source software for user empowerment, especially those from marginalized groups. Currently, he's a Senior Software Engineer at Software for Good GBC. Previously, he worked as Chief Technology Officer at CommitChange until becoming CommitChange Technical Lead upon the project’s acquisition. Before starting at CommitChange, in addition to software engineering, Eric served as Community Manager for multiple open source foundations, consulted with organizations on building open source software projects and advised the FCC on technical and practical issues around open source router technology. Eric lives in Appleton, Wisconsin, where outside of work he enjoys watching the Green Bay Packers and Milwaukee Bucks and researching family history.

+ +

Presentations

+ + +
+
+ + Eric Schultz +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/525/index.html b/speaker/profile/525/index.html new file mode 100644 index 0000000..e5720dc --- /dev/null +++ b/speaker/profile/525/index.html @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Kate Downing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Kate Downing is a solo practitioner specializing in open source licensing and compliance. She works with start-ups, Fortune 500 companies, and companies of all sizes in between to help them choose open source licensing strategies, choose and configure open source compliance tools, establish company-wide policies and workflows, and otherwise create simple, effective processes for OSS compliance, contributions, and open-sourcing of future projects. She has also written extensively on machine learning and artificial intelligence technologies and counsels many clients in this domain. Before starting her own practice in 2017, Kate led a team of 12 open source attorneys at VMware, and built an open source compliance process from scratch as ServiceNow's first product counsel. Kate is the co-chair of the Practicing Law Institute's annual OSS program. Kate is a board member for the PolyForm Project and a member of the Blue Oak Council.

+ +

Presentations

+ + +
+
+ + Kate Downing +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/526/index.html b/speaker/profile/526/index.html new file mode 100644 index 0000000..0d66b8c --- /dev/null +++ b/speaker/profile/526/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - McCoy Smith + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

McCoy Smith is an intellectual property attorney at Lex Pan Law LLC in Portland, Oregon. He is registered to practice in Oregon, Washington, California & New York as well as with the US Patent and Trademark Office and the Canadian Intellectual Property Office. He is a frequent writer and presenter on open source legal and compliance topics, and authored two chapters in the Oxford University Press publication “ Open Source Law, Policy and Practice.”

+ +

Presentations

+ + +
+
+ + McCoy Smith +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/527/index.html b/speaker/profile/527/index.html new file mode 100644 index 0000000..e449955 --- /dev/null +++ b/speaker/profile/527/index.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Rick Sanders + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Rick is the General Counsel of Software Freedom Conservancy. He has been practicing law since 2000, mostly in the field of intellectual-property litigation. He started his legal careers in Silicon Valley and now resides in Nashville, Tennessee. From 2012 to 2015, he taught copyright law at Vanderbilt University Law School.

+ +

Presentations

+ + +
+
+ + Rick Sanders +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/528/index.html b/speaker/profile/528/index.html new file mode 100644 index 0000000..5e47b72 --- /dev/null +++ b/speaker/profile/528/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Allen Gunn + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Allen Gunn (gunner) is Executive Director of Aspiration (www.aspirationtech.org) in San Francisco, USA, and works to help NGOs, activists, foundations and technologists forge effective and sustainable digital strategies in support of social, racial and climate justice. Gunner has worked in numerous technology-focused environments from NGO to Silicon Valley start-up to college faculty, serving in senior management, engineering, teaching and volunteer roles. He is an experienced strategist, mentor and facilitator with a passion for designing collaborative open learning processes. And once upon a time he was a roadie in a San Francisco rock-and-roll band.

+ +

Presentations

+ + +
+
+ + Allen Gunn +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/529/index.html b/speaker/profile/529/index.html new file mode 100644 index 0000000..c722615 --- /dev/null +++ b/speaker/profile/529/index.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Marc Jones + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +
+ +

Presentations

+ + +
+
+ + Marc Jones +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/532/index.html b/speaker/profile/532/index.html new file mode 100644 index 0000000..3433d4b --- /dev/null +++ b/speaker/profile/532/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Ria Farrell Schalnat + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

I am delighted to work with the Open Program Office of Hewlett Packard Enterprise (https://www.hpe.com/us/en/open-source.html)! This role is the culmination of my prior lives as a computer programmer, lawyer and adjunct professor specializing in intellectual property subjects including open source.

+

Previously, I spent over three years at Amazon Web Services including working with their OSPO. I served as General Counsel and Director of Intellectual Property for a mid-size software and data center company (Vora Ventures). I provided counsel, advice and representation to numerous clients and specialized in patent portfolio management and prosecution, intellectual property due diligence for mergers and acquisitions, and software licensing for two regional law firms (Frost Brown Todd & Dinsmore). My technology practice built on my undergraduate degree in Computer Science and work experience as a computer programmer and ranged across billing, data management, customer relationship management, and speech technology applications. I spend additional time working on community initiatives for the Cybersecurity and Infrastructure Security Agency under the Department of Homeland Security (CISA), the Eclipse Foundation, the Linux Foundation including the Community Health & Analytics in Open Source Software (CHAOSS) project, SPDX Legal team, and the Open Source Initiative (Clearly Defined project).

+

I am admitted to practice law in Ohio, the U.S. Patent & Trademark Office, and in-house in Washington. While in private practice, I served for two years as President of CincyIP, a local bar association dedicated to intellectual property education. I served as adjunct professor at the University of Cincinnati School of Law and University of Dayton School of Law on subjects including Patent Litigation, Cyberspace Law and Open Source Licensing.

+ +

Presentations

+ + +
+
+ + Ria Farrell Schalnat +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/534/index.html b/speaker/profile/534/index.html new file mode 100644 index 0000000..312691e --- /dev/null +++ b/speaker/profile/534/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Josh Triplett + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Josh Triplett is a Rust developer on the language, library, and Cargo teams. Josh cares about building welcoming, inclusive communities that lift people up, building solutions to systemic problems, and writing low-level systems code in high-level Rust. Josh founded buildit.dev to help people build software faster and more easily. Josh has previously presented at RustConf, Kernel Summit, linux.conf.au, Linux Plumbers Conference, Embedded Linux Conference, LinuxCon, PyCon, FOSDEM, Open Source Bridge, and the USENIX Annual Technical Conference.

+ +

Presentations

+ + +
+
+ + Josh Triplett +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/537/index.html b/speaker/profile/537/index.html new file mode 100644 index 0000000..21296ac --- /dev/null +++ b/speaker/profile/537/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Wm Salt Hale + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +

Salt is a Seattle local who has been involved with the Free Software movement since 1996. Currently, he works at IEEE SA Open while volunteering as Impresario of SeaGL and Community Director of Snowdrift.coop. Salt attended five years of graduate studies at the University of Washington where he focused on the intersection between communication, computer science, and law. Salt tries to be very approachable and will always be found wearing a kilt.

+ +

Presentations

+ + +
+
+ + Wm Salt Hale +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/538/index.html b/speaker/profile/538/index.html new file mode 100644 index 0000000..4b39535 --- /dev/null +++ b/speaker/profile/538/index.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Robert Treat + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +
+ +

Presentations

+ + +
+
+ + Robert Treat +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/speaker/profile/539/index.html b/speaker/profile/539/index.html new file mode 100644 index 0000000..d42a207 --- /dev/null +++ b/speaker/profile/539/index.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Speaker - Allison Randal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+ + +

Biography

+ +
+ +

Presentations

+ + +
+
+ + Allison Randal +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/sponsorship/index.html b/sponsorship/index.html new file mode 100644 index 0000000..bb97a33 --- /dev/null +++ b/sponsorship/index.html @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Sponsorship + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+

Sponsorship

+ +

If you are interested in sponsoring our conference, please check out our sponsorship prospectus. We are looking for sponsors at a variety of levels, and if you have any other ideas of something you'd like to sponsor, please ask!.

+ +

Giant Sequoia

+logo of JMP chat +
+
+
+

+
+
+ +

Redwood

+logo of Google +
+logo of Bloomberg + +
+
+

Douglas Fir

+logo of Codethink + +
+
+ +

Coffee Break

+logo of Altus Metrum +
+
+ +

Other Sponsors

+logo of Versity +
+
+ +

Benefactors

+logo of AlliterativeAdvising +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/static/build/bootstrap/js/bootstrap.bundle.min.js b/static/build/bootstrap/js/bootstrap.bundle.min.js new file mode 100644 index 0000000..4320368 --- /dev/null +++ b/static/build/bootstrap/js/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e((t=t||self).bootstrap={},t.jQuery)}(this,function(t,p){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)p(this._element).one(q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n=i.clientWidth&&n>=i.clientHeight}),h=0l[t]&&!i.escapeWithReference&&(n=Math.min(h[e],l[t]-("right"===t?h.width:h.height))),Kt({},e,n)}};return c.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";h=Qt({},h,u[e](t))}),t.offsets.popper=h,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!fe(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",h=l?"Top":"Left",u=h.toLowerCase(),f=l?"left":"top",d=l?"bottom":"right",p=Zt(i)[c];a[d]-ps[d]&&(t.offsets.popper[u]+=a[u]+p-s[d]),t.offsets.popper=Vt(t.offsets.popper);var m=a[u]+a[c]/2-p/2,g=Nt(t.instance.popper),_=parseFloat(g["margin"+h],10),v=parseFloat(g["border"+h+"Width"],10),y=m-t.offsets.popper[u]-_-v;return y=Math.max(Math.min(s[c]-p,y),0),t.arrowElement=i,t.offsets.arrow=(Kt(n={},u,Math.round(y)),Kt(n,f,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(p,m){if(oe(p.instance.modifiers,"inner"))return p;if(p.flipped&&p.placement===p.originalPlacement)return p;var g=Gt(p.instance.popper,p.instance.reference,m.padding,m.boundariesElement,p.positionFixed),_=p.placement.split("-")[0],v=te(_),y=p.placement.split("-")[1]||"",E=[];switch(m.behavior){case ge:E=[_,v];break;case _e:E=me(_);break;case ve:E=me(_,!0);break;default:E=m.behavior}return E.forEach(function(t,e){if(_!==t||E.length===e+1)return p;_=p.placement.split("-")[0],v=te(_);var n,i=p.offsets.popper,o=p.offsets.reference,r=Math.floor,s="left"===_&&r(i.right)>r(o.left)||"right"===_&&r(i.left)r(o.top)||"bottom"===_&&r(i.top)r(g.right),c=r(i.top)r(g.bottom),u="left"===_&&a||"right"===_&&l||"top"===_&&c||"bottom"===_&&h,f=-1!==["top","bottom"].indexOf(_),d=!!m.flipVariations&&(f&&"start"===y&&a||f&&"end"===y&&l||!f&&"start"===y&&c||!f&&"end"===y&&h);(s||u||d)&&(p.flipped=!0,(s||u)&&(_=E[e+1]),d&&(y="end"===(n=y)?"start":"start"===n?"end":n),p.placement=_+(y?"-"+y:""),p.offsets.popper=Qt({},p.offsets.popper,ee(p.instance.popper,p.offsets.reference,p.placement)),p=ie(p.instance.modifiers,p,"flip"))}),p},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),t.placement=te(e),t.offsets.popper=Vt(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!fe(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=ne(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottomn.right||e.top>n.bottom||e.rightdocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:vn},Ln="show",xn="out",Pn={HIDE:"hide"+Tn,HIDDEN:"hidden"+Tn,SHOW:"show"+Tn,SHOWN:"shown"+Tn,INSERTED:"inserted"+Tn,CLICK:"click"+Tn,FOCUSIN:"focusin"+Tn,FOCUSOUT:"focusout"+Tn,MOUSEENTER:"mouseenter"+Tn,MOUSELEAVE:"mouseleave"+Tn},Hn="fade",jn="show",Rn=".tooltip-inner",Fn=".arrow",Mn="hover",Wn="focus",Un="click",Bn="manual",qn=function(){function i(t,e){if("undefined"==typeof be)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=p(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(p(this.getTipElement()).hasClass(jn))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),p.removeData(this.element,this.constructor.DATA_KEY),p(this.element).off(this.constructor.EVENT_KEY),p(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&p(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===p(this.element).css("display"))throw new Error("Please use show on visible elements");var t=p.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){p(this.element).trigger(t);var n=m.findShadowRoot(this.element),i=p.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=m.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&p(o).addClass(Hn);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();p(o).data(this.constructor.DATA_KEY,this),p.contains(this.element.ownerDocument.documentElement,this.tip)||p(o).appendTo(l),p(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new be(this.element,o,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Fn},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),p(o).addClass(jn),"ontouchstart"in document.documentElement&&p(document.body).children().on("mouseover",null,p.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,p(e.element).trigger(e.constructor.Event.SHOWN),t===xn&&e._leave(null,e)};if(p(this.tip).hasClass(Hn)){var h=m.getTransitionDurationFromElement(this.tip);p(this.tip).one(m.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=p.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==Ln&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),p(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(p(this.element).trigger(i),!i.isDefaultPrevented()){if(p(n).removeClass(jn),"ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),this._activeTrigger[Un]=!1,this._activeTrigger[Wn]=!1,this._activeTrigger[Mn]=!1,p(this.tip).hasClass(Hn)){var r=m.getTransitionDurationFromElement(n);p(n).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){p(this.getTipElement()).addClass(Dn+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(p(t.querySelectorAll(Rn)),this.getTitle()),p(t).removeClass(Hn+" "+jn)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=bn(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?p(e).parent().is(t)||t.empty().append(e):t.text(p(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:m.isElement(this.config.container)?p(this.config.container):p(document).find(this.config.container)},t._getAttachment=function(t){return Nn[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)p(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Bn){var e=t===Mn?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Mn?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;p(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),p(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||p(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Wn:Mn]=!0),p(e.getTipElement()).hasClass(jn)||e._hoverState===Ln?e._hoverState=Ln:(clearTimeout(e._timeout),e._hoverState=Ln,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Ln&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||p(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Wn:Mn]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=xn,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===xn&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=p(this.element).data();return Object.keys(e).forEach(function(t){-1!==An.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),m.typeCheckConfig(wn,t,this.constructor.DefaultType),t.sanitize&&(t.template=bn(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=p(this.getTipElement()),e=t.attr("class").match(In);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(p(t).removeClass(Hn),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=p(this).data(Cn),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),p(this).data(Cn,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return kn}},{key:"NAME",get:function(){return wn}},{key:"DATA_KEY",get:function(){return Cn}},{key:"Event",get:function(){return Pn}},{key:"EVENT_KEY",get:function(){return Tn}},{key:"DefaultType",get:function(){return On}}]),i}();p.fn[wn]=qn._jQueryInterface,p.fn[wn].Constructor=qn,p.fn[wn].noConflict=function(){return p.fn[wn]=Sn,qn._jQueryInterface};var Kn="popover",Qn="bs.popover",Vn="."+Qn,Yn=p.fn[Kn],zn="bs-popover",Xn=new RegExp("(^|\\s)"+zn+"\\S+","g"),Gn=l({},qn.Default,{placement:"right",trigger:"click",content:"",template:''}),$n=l({},qn.DefaultType,{content:"(string|element|function)"}),Jn="fade",Zn="show",ti=".popover-header",ei=".popover-body",ni={HIDE:"hide"+Vn,HIDDEN:"hidden"+Vn,SHOW:"show"+Vn,SHOWN:"shown"+Vn,INSERTED:"inserted"+Vn,CLICK:"click"+Vn,FOCUSIN:"focusin"+Vn,FOCUSOUT:"focusout"+Vn,MOUSEENTER:"mouseenter"+Vn,MOUSELEAVE:"mouseleave"+Vn},ii=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){p(this.getTipElement()).addClass(zn+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},o.setContent=function(){var t=p(this.getTipElement());this.setElementContent(t.find(ti),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(ei),e),t.removeClass(Jn+" "+Zn)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=p(this.getTipElement()),e=t.attr("class").match(Xn);null!==e&&0=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||tBluesky butterfly logo \ No newline at end of file diff --git a/static/build/img/conservancy_logo.svg b/static/build/img/conservancy_logo.svg new file mode 100644 index 0000000..5b85e5b --- /dev/null +++ b/static/build/img/conservancy_logo.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/build/img/conservancy_logo_tall_mono.svg b/static/build/img/conservancy_logo_tall_mono.svg new file mode 100644 index 0000000..bedc351 --- /dev/null +++ b/static/build/img/conservancy_logo_tall_mono.svg @@ -0,0 +1,136 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/build/img/favicon.ico b/static/build/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2665834c2ad9080552fa43961b857d9c77834f1e GIT binary patch literal 2702 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

}MS|9w=!qgb#Bu)s5N=>qb$$rq#z0FtiF1!d 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 Q$8a2Le|Yn**yYdv*_Tc!eE= 0) { + classes.splice(existingIndex, 1); + } + + element.className = classes.join(' '); + } + } +} + +function hasClass(element, className) { + if (element instanceof SVGElement) { + return new RegExp('(\\s|^)' + className + '(\\s|$)').test(element.getAttribute('class')); + } else { + if (element.classList) { + return element.classList.contains(className); + } else { + return element.className.indexOf(className) !== -1; + } + } +} + +function toggleClass(element, className) { + if (element.classList) { + element.classList.toggle(className); + } else { + var classes = element.className.split(' '); + var existingIndex = classes.indexOf(className); + + if (existingIndex >= 0) { + classes.splice(existingIndex, 1); + } else { + classes.push(className); + } + + element.className = classes.join(' '); + } +} + +function addEventListener(el, eventName, handler) { + if (el.addEventListener) { + el.addEventListener(eventName, handler); + } else { + el.attachEvent('on' + eventName, function () { + handler.call(el); + }); + } +} + +function getUrl(path) { + if (!window.location.origin) { + window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port : ''); + } + + if (path.indexOf('./') === 0) { + path = path.slice(1); // Remove the . + var existingPath = window.location.pathname || ''; + return window.location.origin + existingPath + path; + } else if (path) { + return window.location.origin + path; + } else { + return window.location.origin + window.location.pathname; + } +} + +function documentReady(fn) { + if (document.readyState != 'loading') { + fn(); + } else if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', fn); + } else { + document.attachEvent('onreadystatechange', function () { + if (document.readyState != 'loading') fn(); + }); + } +} + +},{}]},{},[1]); diff --git a/static/build/js/jquery.formset.js b/static/build/js/jquery.formset.js new file mode 100644 index 0000000..5e8d8b5 --- /dev/null +++ b/static/build/js/jquery.formset.js @@ -0,0 +1,210 @@ +/** +* Django formset helper +*/ +(function($) { + "use strict"; + + var pluginName = 'formset'; + + /** + * Wraps up a formset, allowing adding, and removing forms + */ + var Formset = function(el, options) { + var _this = this; + + //Defaults: + this.opts = $.extend({}, Formset.defaults, options); + + this.$formset = $(el); + this.$emptyForm = this.$formset.find(this.opts.emptyForm); + this.$body = this.$formset.find(this.opts.body); + this.$add = this.$formset.find(this.opts.add); + + this.formsetPrefix = $(el).data('formset-prefix'); + + // Bind to the `Add form` button + this.addForm = $.proxy(this, 'addForm'); + this.$add.click(this.addForm); + + // Bind receiver to `formAdded` and `formDeleted` events + this.$formset.on('formAdded formDeleted', this.opts.form, $.proxy(this, 'checkMaxForms')); + + // Set up the existing forms + this.$forms().each(function(i, form) { + var $form = $(form); + _this.bindForm($(this), i); + }); + + // Store a reference to this in the formset element + this.$formset.data(pluginName, this); + + var extras = ['animateForms']; + $.each(extras, function(i, extra) { + if ((extra in _this.opts) && (_this.opts[extra])) { + _this[extra](); + } + }); + }; + + Formset.defaults = { + form: '[data-formset-form]', + emptyForm: 'script[type=form-template][data-formset-empty-form]', + body: '[data-formset-body]', + add: '[data-formset-add]', + deleteButton: '[data-formset-delete-button]', + hasMaxFormsClass: 'has-max-forms', + animateForms: false + }; + + Formset.prototype.addForm = function() { + // Don't proceed if the number of maximum forms has been reached + if (this.hasMaxForms()) { + throw new Error("MAX_NUM_FORMS reached"); + } + + var newIndex = this.totalFormCount(); + this.$managementForm('TOTAL_FORMS').val(newIndex + 1); + + var newFormHtml = this.$emptyForm.html() + .replace(new RegExp('__prefix__', 'g'), newIndex) + .replace(new RegExp('<\\\\/script>', 'g'), ''); + + var $newFormFragment = $($.parseHTML(newFormHtml, this.$body.document, true)); + this.$body.append($newFormFragment); + + var $newForm = $newFormFragment.filter(this.opts.form); + this.bindForm($newForm, newIndex); + + return $newForm; + }; + + /** + * Attach any events needed to a new form + */ + Formset.prototype.bindForm = function($form, index) { + var prefix = this.formsetPrefix + '-' + index; + $form.data(pluginName + '__formPrefix', prefix); + + var $delete = $form.find('[name=' + prefix + '-DELETE]'); + + var onChangeDelete = function() { + if ($delete.is(':checked')) { + $form.attr('data-formset-form-deleted', ''); + // Remove required property and pattern attribute to allow submit, back it up to data field + $form.find(':required').data(pluginName + '-required-field', true).prop('required', false); + $form.find('input[pattern]').each(function() { + var pattern = $(this).attr('pattern'); + $(this).data(pluginName + '-field-pattern', pattern).removeAttr('pattern'); + }); + $form.trigger('formDeleted'); + } else { + $form.removeAttr('data-formset-form-deleted'); + // Restore required property and pattern attributes from data field + $form.find('*').filter(function() { + return $(this).data(pluginName + '-required-field') === true; + }).prop('required', true); + $form.find('input').each(function() { + var pattern = $(this).data(pluginName + '-field-pattern'); + if (pattern) { + $(this).attr('pattern', pattern); + } + }); + $form.trigger('formAdded'); + } + } + + // Trigger `formAdded` / `formDeleted` events when delete checkbox value changes + $delete.change(onChangeDelete); + + // This will trigger `formAdded` for newly created forms. + // It will also trigger `formAdded` or `formDeleted` for all forms when + // the Formset is first created. + // setTimeout so the caller can register events before the events are + // triggered, during initialisation. + window.setTimeout(onChangeDelete); + + // Delete the form if the delete button is pressed + var $deleteButton = $form.find(this.opts.deleteButton); + $deleteButton.bind('click', function() { + $delete.attr('checked', true).change(); + }); + }; + + Formset.prototype.$forms = function() { + return this.$body.find(this.opts.form); + }; + Formset.prototype.$managementForm = function(name) { + return this.$formset.find('[name=' + this.formsetPrefix + '-' + name + ']'); + }; + + Formset.prototype.totalFormCount = function() { + return this.$forms().length; + }; + + Formset.prototype.deletedFormCount = function() { + return this.$forms().filter('[data-formset-form-deleted]').length; + }; + + Formset.prototype.activeFormCount = function() { + return this.totalFormCount() - this.deletedFormCount(); + }; + + Formset.prototype.hasMaxForms = function() { + var maxForms = parseInt(this.$managementForm('MAX_NUM_FORMS').val(), 10) || 1000; + return this.activeFormCount() >= maxForms; + }; + + Formset.prototype.checkMaxForms = function() { + if (this.hasMaxForms()) { + this.$formset.addClass(this.opts.hasMaxFormsClass); + this.$add.attr('disabled', 'disabled'); + } else { + this.$formset.removeClass(this.opts.hasMaxFormsClass); + this.$add.removeAttr('disabled'); + } + }; + + Formset.prototype.animateForms = function() { + this.$formset.on('formAdded', this.opts.form, function() { + var $form = $(this); + $form.slideUp(0); + $form.slideDown(); + }).on('formDeleted', this.opts.form, function() { + var $form = $(this); + $form.slideUp(); + }); + this.$forms().filter('[data-formset-form-deleted]').slideUp(0); + }; + + Formset.getOrCreate = function(el, options) { + var rev = $(el).data(pluginName); + if (!rev) { + rev = new Formset(el, options); + } + + return rev; + }; + + $.fn[pluginName] = function() { + var options, fn, args; + // Create a new Formset for each element + if (arguments.length === 0 || (arguments.length === 1 && $.type(arguments[0]) != 'string')) { + options = arguments[0]; + return this.each(function() { + return Formset.getOrCreate(this, options); + }); + } + + // Call a function on each Formset in the selector + fn = arguments[0]; + args = $.makeArray(arguments).slice(1); + + if (fn in Formset) { + // Call the Formset class method if it exists + args.unshift(this); + return Formset[fn].apply(Formset, args); + } else { + throw new Error("Unknown function call " + fn + " for $.fn.formset"); + } + }; +})(jQuery); diff --git a/static/build/js/luxon.min.js b/static/build/js/luxon.min.js new file mode 100644 index 0000000..59df19e --- /dev/null +++ b/static/build/js/luxon.min.js @@ -0,0 +1 @@ +var luxon=function(e){"use strict";function r(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[t++]}};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n=function(e){function t(){return e.apply(this,arguments)||this}return a(t,e),t}(t(Error)),l=function(t){function e(e){return t.call(this,"Invalid DateTime: "+e.toMessage())||this}return a(e,t),e}(n),d=function(t){function e(e){return t.call(this,"Invalid Interval: "+e.toMessage())||this}return a(e,t),e}(n),f=function(t){function e(e){return t.call(this,"Invalid Duration: "+e.toMessage())||this}return a(e,t),e}(n),L=function(e){function t(){return e.apply(this,arguments)||this}return a(t,e),t}(n),h=function(t){function e(e){return t.call(this,"Invalid unit "+e)||this}return a(e,t),e}(n),m=function(e){function t(){return e.apply(this,arguments)||this}return a(t,e),t}(n),y=function(e){function t(){return e.call(this,"Zone is an abstract class")||this}return a(t,e),t}(n),v="numeric",g="short",p="long",w={year:v,month:v,day:v},k={year:v,month:g,day:v},b={year:v,month:g,day:v,weekday:g},O={year:v,month:p,day:v},S={year:v,month:p,day:v,weekday:p},T={hour:v,minute:v},M={hour:v,minute:v,second:v},N={hour:v,minute:v,second:v,timeZoneName:g},D={hour:v,minute:v,second:v,timeZoneName:p},E={hour:v,minute:v,hour12:!1},x={hour:v,minute:v,second:v,hour12:!1},C={hour:v,minute:v,second:v,hour12:!1,timeZoneName:g},F={hour:v,minute:v,second:v,hour12:!1,timeZoneName:p},Z={year:v,month:v,day:v,hour:v,minute:v},j={year:v,month:v,day:v,hour:v,minute:v,second:v},A={year:v,month:g,day:v,hour:v,minute:v},z={year:v,month:g,day:v,hour:v,minute:v,second:v},_={year:v,month:g,day:v,weekday:g,hour:v,minute:v},q={year:v,month:p,day:v,hour:v,minute:v,timeZoneName:g},H={year:v,month:p,day:v,hour:v,minute:v,second:v,timeZoneName:g},U={year:v,month:p,day:v,weekday:p,hour:v,minute:v,timeZoneName:p},R={year:v,month:p,day:v,weekday:p,hour:v,minute:v,second:v,timeZoneName:p};function W(e){return void 0===e}function P(e){return"number"==typeof e}function J(e){return"number"==typeof e&&e%1==0}function I(){try{return"undefined"!=typeof Intl&&Intl.DateTimeFormat}catch(e){return!1}}function Y(){return!W(Intl.DateTimeFormat.prototype.formatToParts)}function G(){try{return"undefined"!=typeof Intl&&!!Intl.RelativeTimeFormat}catch(e){return!1}}function $(e,r,i){if(0!==e.length)return e.reduce(function(e,t){var n=[r(t),t];return e&&i(e[0],n[0])===e[0]?e:n},null)[1]}function B(n,e){return e.reduce(function(e,t){return e[t]=n[t],e},{})}function Q(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function K(e,t,n){return J(e)&&t<=e&&e<=n}function X(e,t){return void 0===t&&(t=2),e.toString().lengthtn.indexOf(c)&&an(this.matrix,u,h,a,c)}else P(u[c])&&(o[c]=u[c])}for(var m in o)0!==o[m]&&(a[r]+=m===r?o[m]:o[m]/this.matrix[r][m]);return rn(this,{values:a},!0).normalize()},e.negate=function(){if(!this.isValid)return this;for(var e={},t=0,n=Object.keys(this.values);te},e.isBefore=function(e){return!!this.isValid&&this.e<=e},e.contains=function(e){return!!this.isValid&&(this.s<=e&&this.e>e)},e.set=function(e){var t=void 0===e?{}:e,n=t.start,r=t.end;return this.isValid?f.fromDateTimes(n||this.s,r||this.e):this},e.splitAt=function(){var t=this;if(!this.isValid)return[];for(var e=arguments.length,n=new Array(e),r=0;r+this.e?this.e:s;a.push(f.fromDateTimes(o,c)),o=c,u+=1}return a},e.splitBy=function(e){var t=un(e);if(!this.isValid||!t.isValid||0===t.as("milliseconds"))return[];for(var n,r,i=this.s,a=[];i+this.e?this.e:n,a.push(f.fromDateTimes(i,r)),i=r;return a},e.divideEqually=function(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]},e.overlaps=function(e){return this.e>e.s&&this.s=e.e)},e.equals=function(e){return!(!this.isValid||!e.isValid)&&(this.s.equals(e.s)&&this.e.equals(e.e))},e.intersection=function(e){if(!this.isValid)return this;var t=this.s>e.s?this.s:e.s,n=this.ee.e?this.e:e.e;return f.fromDateTimes(t,n)},f.merge=function(e){var t=e.sort(function(e,t){return e.s-t.s}).reduce(function(e,t){var n=e[0],r=e[1];return r?r.overlaps(t)||r.abutsStart(t)?[n,r.union(t)]:[n.concat([r]),t]:[n,t]},[[],null]),n=t[0],r=t[1];return r&&n.push(r),n},f.xor=function(e){for(var t,n,r=null,i=0,a=[],o=e.map(function(e){return[{time:e.s,type:"s"},{time:e.e,type:"e"}]}),u=V((t=Array.prototype).concat.apply(t,o).sort(function(e,t){return e.time-t.time}));!(n=u()).done;){var s=n.value;r=1===(i+="s"===s.type?1:-1)?s.time:(r&&+r!=+s.time&&a.push(f.fromDateTimes(r,s.time)),null)}return f.merge(a)},e.difference=function(){for(var t=this,e=arguments.length,n=new Array(e),r=0;rue(n)?(t=n+1,u=1):t=n,Object.assign({weekYear:t,weekNumber:u,weekday:o},me(e))}function zn(e){var t,n=e.weekYear,r=e.weekNumber,i=e.weekday,a=Fn(n,1,4),o=ie(n),u=7*r+i-a-3;u<1?u+=ie(t=n-1):othis.valueOf(),u=dn(o?this:e,o?e:this,a,i);return o?u.negate():u},e.diffNow=function(e,t){return void 0===e&&(e="milliseconds"),void 0===t&&(t={}),this.diff(I.local(),e,t)},e.until=function(e){return this.isValid?cn.fromDateTimes(this,e):this},e.hasSame=function(e,t){if(!this.isValid)return!1;if("millisecond"===t)return this.valueOf()===e.valueOf();var n=e.valueOf();return this.startOf(t)<=n&&n<=this.endOf(t)},e.equals=function(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)},e.toRelative=function(e){if(void 0===e&&(e={}),!this.isValid)return null;var t=e.base||I.fromObject({zone:this.zone}),n=e.padding?thisthis.set({month:1}).offset||this.offset>this.set({month:5}).offset)}},{key:"isInLeapYear",get:function(){return re(this.year)}},{key:"daysInMonth",get:function(){return ae(this.year,this.month)}},{key:"daysInYear",get:function(){return this.isValid?ie(this.year):NaN}},{key:"weeksInWeekYear",get:function(){return this.isValid?ue(this.weekYear):NaN}}],[{key:"DATE_SHORT",get:function(){return w}},{key:"DATE_MED",get:function(){return k}},{key:"DATE_MED_WITH_WEEKDAY",get:function(){return b}},{key:"DATE_FULL",get:function(){return O}},{key:"DATE_HUGE",get:function(){return S}},{key:"TIME_SIMPLE",get:function(){return T}},{key:"TIME_WITH_SECONDS",get:function(){return M}},{key:"TIME_WITH_SHORT_OFFSET",get:function(){return N}},{key:"TIME_WITH_LONG_OFFSET",get:function(){return D}},{key:"TIME_24_SIMPLE",get:function(){return E}},{key:"TIME_24_WITH_SECONDS",get:function(){return x}},{key:"TIME_24_WITH_SHORT_OFFSET",get:function(){return C}},{key:"TIME_24_WITH_LONG_OFFSET",get:function(){return F}},{key:"DATETIME_SHORT",get:function(){return Z}},{key:"DATETIME_SHORT_WITH_SECONDS",get:function(){return j}},{key:"DATETIME_MED",get:function(){return A}},{key:"DATETIME_MED_WITH_SECONDS",get:function(){return z}},{key:"DATETIME_MED_WITH_WEEKDAY",get:function(){return _}},{key:"DATETIME_FULL",get:function(){return q}},{key:"DATETIME_FULL_WITH_SECONDS",get:function(){return H}},{key:"DATETIME_HUGE",get:function(){return U}},{key:"DATETIME_HUGE_WITH_SECONDS",get:function(){return R}}]),I}();function lr(e){if(cr.isDateTime(e))return e;if(e&&e.valueOf&&P(e.valueOf()))return cr.fromJSDate(e);if(e&&"object"==typeof e)return cr.fromObject(e);throw new m("Unknown datetime argument: "+e+", of type "+typeof e)}return e.DateTime=cr,e.Duration=on,e.FixedOffsetZone=Re,e.IANAZone=He,e.Info=ln,e.Interval=cn,e.InvalidZone=We,e.LocalZone=je,e.Settings=Ke,e.Zone=Fe,e}({}); \ No newline at end of file diff --git a/static/build/js/schedule.js b/static/build/js/schedule.js new file mode 100644 index 0000000..4468dc4 --- /dev/null +++ b/static/build/js/schedule.js @@ -0,0 +1,206 @@ +$(function() { + var SLOT_REFRESH_INTERVAL = 60 * 1000; + var haveScrolledToCurrentSlot = false; + + /* Schedule display localisation */ + var showCurrentTab = function() { + var fragment = window.location.hash.toLowerCase().substring(1); + + var dayTabs = $('#schedule-tabs .schedule-day'); + if (dayTabs.length === 0) return; + + if (fragment) { + var fragmentId = "#schedule_day_" + fragment + "-tab"; + $(fragmentId).tab('show'); + } else { + // Show tab based on current time. + var now = luxon.DateTime.local(); + for (var i = 0; i < dayTabs.length; ++i) { + var dayTab = $(dayTabs[i]); + var tabDate = dayTab.data('date'); + + var scheduleDate = luxon.DateTime.fromISO(tabDate, { zone: CONF_TZ }); + var startOfDay = scheduleDate.startOf('day'); + var endOfDay = scheduleDate.endOf('day'); + if (now >= startOfDay && now < endOfDay) { + tabShown = true; + dayTab.tab('show'); + break; + } + } + } + } + + var updateScheduleGrid = function() { + var rowHeaders = $('.calendar-row th.time'); + for (var i = 0; i < rowHeaders.length; ++i) { + var rowHeader = $(rowHeaders[i]); + var rowTime = rowHeader.data('time'); + var scheduleDate = luxon.DateTime.fromISO(rowTime, { zone: CONF_TZ }); + var localDate = scheduleDate.toLocal(); + + // If the schedule date is already in the user's TZ, skip it. + if (scheduleDate.offset === localDate.offset) break; + + var confFormatted = scheduleDate.toLocaleString({ + weekday: scheduleDate.weekday === localDate.weekday ? undefined : 'short', + hour: 'numeric', + minute: 'numeric', + timeZoneName: 'short', + }); + var localFormatted = localDate.toLocaleString({ + weekday: scheduleDate.weekday === localDate.weekday ? undefined : 'short', + hour: 'numeric', + minute: 'numeric', + timeZoneName: 'short', + }); + var timeText = rowHeader.find('p').text(); + rowHeader.find('p').html(confFormatted + '
(' + localFormatted + ')'); + } + } + + var updatePresentationTimes = function() { + var presentationTimes = $('span.presentation-time'); + for (var i = 0; i < presentationTimes.length; ++i) { + var presentationTime = $(presentationTimes[i]); + var startTime = presentationTime.data('starttime'); + var endTime = presentationTime.data('endtime'); + var confStartTime = luxon.DateTime.fromISO(startTime, { zone: CONF_TZ }); + var confEndTime = luxon.DateTime.fromISO(endTime, { zone: CONF_TZ }); + + var localStartTime = confStartTime.toLocal(); + var localEndTime = confEndTime.toLocal(); + + // If the conf date is already in the user's TZ, skip it. + if (confStartTime.offset === localStartTime.offset) break; + + var confStartTimeFormatted = confStartTime.toLocaleString({ + weekday: 'short', + month: 'short', + day: '2-digit', + hour: 'numeric', + minute: 'numeric', + }); + var confEndTimeFormatted = confEndTime.toLocaleString({ + hour: 'numeric', + minute: 'numeric', + timeZoneName: 'short', + }); + var localStartTimeFormatted = localStartTime.toLocaleString({ + weekday: confStartTime.weekday === localStartTime.weekday ? undefined : 'short', + month: confStartTime.weekday === localStartTime.weekday ? undefined : 'short', + day: confStartTime.weekday === localStartTime.weekday ? undefined : '2-digit', + hour: 'numeric', + minute: 'numeric', + }); + var localEndTimeFormatted = localEndTime.toLocaleString({ + weekday: localStartTime.weekday === localEndTime.weekday ? undefined : 'short', + month: localStartTime.weekday === localEndTime.weekday ? undefined : 'short', + day: localStartTime.weekday === localEndTime.weekday ? undefined : '2-digit', + hour: 'numeric', + minute: 'numeric', + timeZoneName: 'short', + }); + + presentationTime.html(confStartTimeFormatted + ' - ' + confEndTimeFormatted + ' (' + localStartTimeFormatted + ' - ' + localEndTimeFormatted + ')'); + } + } + + var highlightCurrentSlots = function() { + var now = luxon.DateTime.local(); + + var slots = $('td.slot'); + for (var i = 0; i < slots.length; ++i) { + var slot = $(slots[i]); + var startTime = slot.data('starttime'); + var endTime = slot.data('endtime'); + var confStartTime = luxon.DateTime.fromISO(startTime, { zone: CONF_TZ }); + var confEndTime = luxon.DateTime.fromISO(endTime, { zone: CONF_TZ }); + + if (confStartTime <= now && confEndTime > now) { + slot.addClass("slot-active"); + + if (!haveScrolledToCurrentSlot) { + haveScrolledToCurrentSlot = true; + slot[0].scrollIntoView(); + } + } else { + slot.removeClass("slot-active"); + } + } + } + + var updateClock = function() { + var clock = $('div.conf-clock'); + if (clock.length === 0) { + var template = document.createElement('template'); + template.innerHTML = '

'; + var clockDiv = template.content.firstChild; + document.body.appendChild(clockDiv); + clock = $(clockDiv); + } + + var now = luxon.DateTime.local(); + var confFormatted = now.setZone(CONF_TZ).toLocaleString({ + weekday: 'short', + day: '2-digit', + hour: '2-digit', + minute: '2-digit', + timeZoneName: 'short', + hour12: false, + }); + clock.html('Conf Time:
' + confFormatted + ''); + } + + var embeddedView = function() { + var urlParams = new URLSearchParams(window.location.search); + if (urlParams.has('embed')) { + $('header').remove(); + $('footer').remove(); + + $('a').each(function() { + var anchor = $(this); + var path = anchor.attr('href'); + if (path.startsWith('/')) { + var separator = path.indexOf('?') === -1 ? '?' : '&'; + anchor.attr('href', path + separator + 'embed') + } else if (path.startsWith('http')) { + anchor.attr('target', '_blank'); + } + }); + return true; + } + return false; + } + + /* Schedule Editing */ + $("a.edit-slot").click(function(e) { + $("#slotEditModal").load($(this).data("action"), function() { + $("#slotEditModal").modal("show"); + }); + e.preventDefault(); + }); + + $("form#schedule-builder :submit").click(function(e) { + var name = this.name; + if(name == 'delete') { + if (!confirm("Are you sure you want to delete the schedule?")) + { + e.preventDefault(); + return; + } + } + }); + + /* Update schedule display */ + var embedded = embeddedView(); + showCurrentTab(); + updateScheduleGrid(); + updatePresentationTimes(); + highlightCurrentSlots(); + var slotRefresh = setInterval(highlightCurrentSlots, SLOT_REFRESH_INTERVAL); + if (!embedded) { + updateClock(); + var clockRefresh = setInterval(updateClock, 5000); + } +}); diff --git a/static/build/scss/app.css b/static/build/scss/app.css new file mode 100644 index 0000000..6313f5a --- /dev/null +++ b/static/build/scss/app.css @@ -0,0 +1,6 @@ +@import url("https://fonts.googleapis.com/css?family=Montserrat:300|Source+Sans+Pro:400,700&display=swap&subset=latin-ext");/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */:root{--blue: #007bff;--indigo: #6610f2;--purple: #6f42c1;--pink: #e83e8c;--red: #dc3545;--orange: #fd7e14;--yellow: #ffc107;--green: #28a745;--teal: #20c997;--cyan: #17a2b8;--white: #fff;--gray: #6c757d;--gray-dark: #343a40;--primary: #137752;--secondary: #6c757d;--success: #28a745;--info: #17a2b8;--warning: #ffc107;--danger: #dc3545;--light: #f8f9fa;--dark: #343a40;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#137752;text-decoration:none;background-color:transparent}a:hover{color:#083525;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):hover,a:not([href]):not([tabindex]):focus{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{padding:0;border-style:none}input[type="radio"],input[type="checkbox"]{box-sizing:border-box;padding:0}input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px;-webkit-appearance:none}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:2.5rem}h2,.h2{font-size:2rem}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,0.1)}small,.small{font-size:80%;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.col-xl,.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-lg,.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-md,.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-sm,.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col,.col-auto,.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;max-width:58.33333%}.col-8{flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered th,.table-bordered td{border:1px solid #dee2e6}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,0.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,0.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:#bdd9cf}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#84b8a5}.table-hover .table-primary:hover{background-color:#add0c3}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#add0c3}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#d6d8db}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>th,.table-success>td{background-color:#c3e6cb}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>th,.table-info>td{background-color:#bee5eb}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>th,.table-warning>td{background-color:#ffeeba}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>th,.table-danger>td{background-color:#f5c6cb}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>th,.table-light>td{background-color:#fdfdfe}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>th,.table-dark>td{background-color:#c6c8ca}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,0.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,0.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,0.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark th,.table-dark td,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,0.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,0.075)}@media (max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#2cdd9c;outline:0;box-shadow:0 0 0 .2rem rgba(19,119,82,0.25)}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*="col-"]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,0.9);border-radius:.25rem}.was-validated .form-control:valid,.form-control.is-valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip{display:block}.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip,.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip{display:block}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#28a745}.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip{display:block}.was-validated .custom-control-input:valid~.custom-control-label,.custom-control-input.is-valid~.custom-control-label{color:#28a745}.was-validated .custom-control-input:valid~.custom-control-label::before,.custom-control-input.is-valid~.custom-control-label::before{border-color:#28a745}.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip,.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip{display:block}.was-validated .custom-control-input:valid:checked~.custom-control-label::before,.custom-control-input.is-valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.was-validated .custom-control-input:valid:focus~.custom-control-label::before,.custom-control-input.is-valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.was-validated .custom-file-input:valid~.custom-file-label,.custom-file-input.is-valid~.custom-file-label{border-color:#28a745}.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip,.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip{display:block}.was-validated .custom-file-input:valid:focus~.custom-file-label,.custom-file-input.is-valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,0.9);border-radius:.25rem}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip,.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip{display:block}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#dc3545}.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip{display:block}.was-validated .custom-control-input:invalid~.custom-control-label,.custom-control-input.is-invalid~.custom-control-label{color:#dc3545}.was-validated .custom-control-input:invalid~.custom-control-label::before,.custom-control-input.is-invalid~.custom-control-label::before{border-color:#dc3545}.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip,.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip{display:block}.was-validated .custom-control-input:invalid:checked~.custom-control-label::before,.custom-control-input.is-invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.was-validated .custom-control-input:invalid:focus~.custom-control-label::before,.custom-control-input.is-invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.was-validated .custom-file-input:invalid~.custom-file-label,.custom-file-input.is-invalid~.custom-file-label{border-color:#dc3545}.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip,.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip{display:block}.was-validated .custom-file-input:invalid:focus~.custom-file-label,.custom-file-input.is-invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:0 0 0 .2rem rgba(19,119,82,0.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#137752;border-color:#137752}.btn-primary:hover{color:#fff;background-color:#0e563b;border-color:#0c4b34}.btn-primary:focus,.btn-primary.focus{box-shadow:0 0 0 .2rem rgba(54,139,108,0.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#137752;border-color:#137752}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary.active:not(:disabled):not(.disabled),.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0c4b34;border-color:#0a402c}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary.active:not(:disabled):not(.disabled):focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(54,139,108,0.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary:focus,.btn-secondary.focus{box-shadow:0 0 0 .2rem rgba(130,138,145,0.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary.active:not(:disabled):not(.disabled),.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary.active:not(:disabled):not(.disabled):focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,0.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success:focus,.btn-success.focus{box-shadow:0 0 0 .2rem rgba(72,180,97,0.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled):active,.btn-success.active:not(:disabled):not(.disabled),.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success.active:not(:disabled):not(.disabled):focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,0.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info:focus,.btn-info.focus{box-shadow:0 0 0 .2rem rgba(58,176,195,0.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled):active,.btn-info.active:not(:disabled):not(.disabled),.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info.active:not(:disabled):not(.disabled):focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,0.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning:focus,.btn-warning.focus{box-shadow:0 0 0 .2rem rgba(222,170,12,0.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning.active:not(:disabled):not(.disabled),.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning.active:not(:disabled):not(.disabled):focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,0.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger:focus,.btn-danger.focus{box-shadow:0 0 0 .2rem rgba(225,83,97,0.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger.active:not(:disabled):not(.disabled),.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger.active:not(:disabled):not(.disabled):focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,0.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light:focus,.btn-light.focus{box-shadow:0 0 0 .2rem rgba(216,217,219,0.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled):active,.btn-light.active:not(:disabled):not(.disabled),.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light.active:not(:disabled):not(.disabled):focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,0.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark:focus,.btn-dark.focus{box-shadow:0 0 0 .2rem rgba(82,88,93,0.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark.active:not(:disabled):not(.disabled),.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark.active:not(:disabled):not(.disabled):focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,0.5)}.btn-outline-primary{color:#137752;border-color:#137752}.btn-outline-primary:hover{color:#fff;background-color:#137752;border-color:#137752}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(19,119,82,0.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#137752;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary.active:not(:disabled):not(.disabled),.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#137752;border-color:#137752}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary.active:not(:disabled):not(.disabled):focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(19,119,82,0.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary.active:not(:disabled):not(.disabled),.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary.active:not(:disabled):not(.disabled):focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success.active:not(:disabled):not(.disabled),.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success.active:not(:disabled):not(.disabled):focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info.active:not(:disabled):not(.disabled),.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info.active:not(:disabled):not(.disabled):focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning.active:not(:disabled):not(.disabled),.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning.active:not(:disabled):not(.disabled):focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger.active:not(:disabled):not(.disabled),.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger.active:not(:disabled):not(.disabled):focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light.active:not(:disabled):not(.disabled),.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light.active:not(:disabled):not(.disabled):focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark.active:not(:disabled):not(.disabled),.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark.active:not(:disabled):not(.disabled):focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-link{font-weight:400;color:#137752;text-decoration:none}.btn-link:hover{color:#083525;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline;box-shadow:none}.btn-link:disabled,.btn-link.disabled{color:#6c757d;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input.btn-block[type="submit"],input.btn-block[type="reset"],input.btn-block[type="button"]{width:100%}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^="top"],.dropdown-menu[x-placement^="right"],.dropdown-menu[x-placement^="bottom"],.dropdown-menu[x-placement^="left"]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#137752}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type="radio"],.btn-group-toggle>.btn input[type="checkbox"],.btn-group-toggle>.btn-group>.btn input[type="radio"],.btn-group-toggle>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:last-child),.input-group>.custom-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type="radio"],.input-group-text input[type="checkbox"]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#137752;background-color:#137752}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(19,119,82,0.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#2cdd9c}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#58e4b0;border-color:#58e4b0}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50% / 50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#137752;background-color:#137752}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(19,119,82,0.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(19,119,82,0.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(19,119,82,0.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(19,119,82,0.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;appearance:none}.custom-select:focus{border-color:#2cdd9c;outline:0;box-shadow:0 0 0 .2rem rgba(19,119,82,0.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#2cdd9c;box-shadow:0 0 0 .2rem rgba(19,119,82,0.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;appearance:none}.custom-range:focus{outline:none}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(19,119,82,0.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(19,119,82,0.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(19,119,82,0.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#137752;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#58e4b0}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#137752;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#58e4b0}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#137752;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#58e4b0}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#137752}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,0.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,0.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,0.5)}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,0.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,0.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,0.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,0.5);border-color:rgba(0,0,0,0.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0,0,0,0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,0.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,0.9)}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,0.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:rgba(255,255,255,0.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,0.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,0.5);border-color:rgba(255,255,255,0.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,0.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,0.03);border-bottom:1px solid rgba(0,0,0,0.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,0.03);border-top:1px solid rgba(0,0,0,0.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:flex;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width: 576px){.card-deck{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:flex;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width: 576px){.card-group{flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width: 576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#137752;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#083525;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(19,119,82,0.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#137752;border-color:#137752}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#137752}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#0c4b34}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(19,119,82,0.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:hover,a.badge-secondary:focus{color:#fff;background-color:#545b62}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:hover,a.badge-success:focus{color:#fff;background-color:#1e7e34}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#117a8b}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:hover,a.badge-warning:focus{color:#212529;background-color:#d39e00}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#bd2130}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:hover,a.badge-light:focus{color:#212529;background-color:#dae0e5}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#1d2124}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#0a3e2b;background-color:#d0e4dc;border-color:#bdd9cf}.alert-primary hr{border-top-color:#add0c3}.alert-primary .alert-link{color:#03120d}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#137752;transition:width 0.6s ease}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,0.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#137752;border-color:#137752}.list-group-horizontal{flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#0a3e2b;background-color:#bdd9cf}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#0a3e2b;background-color:#add0c3}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#0a3e2b;border-color:#0a3e2b}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:transparent;border:0;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border:1px solid rgba(0,0,0,0.1);box-shadow:0 0.25rem 0.75rem rgba(0,0,0,0.1);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,0.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^="top"]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^="top"] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^="top"] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^="right"]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^="right"] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^="right"] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^="bottom"]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^="bottom"] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^="bottom"] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^="left"]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^="left"] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^="left"] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^="top"]{margin-bottom:.5rem}.bs-popover-top>.arrow,.bs-popover-auto[x-placement^="top"]>.arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-top>.arrow::before,.bs-popover-auto[x-placement^="top"]>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,0.25)}.bs-popover-top>.arrow::after,.bs-popover-auto[x-placement^="top"]>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^="right"]{margin-left:.5rem}.bs-popover-right>.arrow,.bs-popover-auto[x-placement^="right"]>.arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-right>.arrow::before,.bs-popover-auto[x-placement^="right"]>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,0.25)}.bs-popover-right>.arrow::after,.bs-popover-auto[x-placement^="right"]>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^="bottom"]{margin-top:.5rem}.bs-popover-bottom>.arrow,.bs-popover-auto[x-placement^="bottom"]>.arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-bottom>.arrow::before,.bs-popover-auto[x-placement^="bottom"]>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,0.25)}.bs-popover-bottom>.arrow::after,.bs-popover-auto[x-placement^="bottom"]>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-left,.bs-popover-auto[x-placement^="left"]{margin-right:.5rem}.bs-popover-left>.arrow,.bs-popover-auto[x-placement^="left"]>.arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-left>.arrow::before,.bs-popover-auto[x-placement^="left"]>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,0.25)}.bs-popover-left>.arrow::after,.bs-popover-auto[x-placement^="left"]>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity 0.15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50% / 100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#137752 !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#0c4b34 !important}.bg-secondary{background-color:#6c757d !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#545b62 !important}.bg-success{background-color:#28a745 !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#1e7e34 !important}.bg-info{background-color:#17a2b8 !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#117a8b !important}.bg-warning{background-color:#ffc107 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#d39e00 !important}.bg-danger{background-color:#dc3545 !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#bd2130 !important}.bg-light{background-color:#f8f9fa !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#dae0e5 !important}.bg-dark{background-color:#343a40 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#1d2124 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:transparent !important}.border{border:1px solid #dee2e6 !important}.border-top{border-top:1px solid #dee2e6 !important}.border-right{border-right:1px solid #dee2e6 !important}.border-bottom{border-bottom:1px solid #dee2e6 !important}.border-left{border-left:1px solid #dee2e6 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#137752 !important}.border-secondary{border-color:#6c757d !important}.border-success{border-color:#28a745 !important}.border-info{border-color:#17a2b8 !important}.border-warning{border-color:#ffc107 !important}.border-danger{border-color:#dc3545 !important}.border-light{border-color:#f8f9fa !important}.border-dark{border-color:#343a40 !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:.2rem !important}.rounded{border-radius:.25rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-right{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-left{border-top-left-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-lg{border-radius:.3rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media (min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media (min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media (min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media (min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media (min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media (min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media (min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media (min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-.25rem !important}.mt-n1,.my-n1{margin-top:-.25rem !important}.mr-n1,.mx-n1{margin-right:-.25rem !important}.mb-n1,.my-n1{margin-bottom:-.25rem !important}.ml-n1,.mx-n1{margin-left:-.25rem !important}.m-n2{margin:-.5rem !important}.mt-n2,.my-n2{margin-top:-.5rem !important}.mr-n2,.mx-n2{margin-right:-.5rem !important}.mb-n2,.my-n2{margin-bottom:-.5rem !important}.ml-n2,.mx-n2{margin-left:-.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media (min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem !important}.m-sm-n2{margin:-.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media (min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem !important}.m-md-n2{margin:-.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media (min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem !important}.m-lg-n2{margin:-.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media (min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem !important}.m-xl-n2{margin:-.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#137752 !important}a.text-primary:hover,a.text-primary:focus{color:#083525 !important}.text-secondary{color:#6c757d !important}a.text-secondary:hover,a.text-secondary:focus{color:#494f54 !important}.text-success{color:#28a745 !important}a.text-success:hover,a.text-success:focus{color:#19692c !important}.text-info{color:#17a2b8 !important}a.text-info:hover,a.text-info:focus{color:#0f6674 !important}.text-warning{color:#ffc107 !important}a.text-warning:hover,a.text-warning:focus{color:#ba8b00 !important}.text-danger{color:#dc3545 !important}a.text-danger:hover,a.text-danger:focus{color:#a71d2a !important}.text-light{color:#f8f9fa !important}a.text-light:hover,a.text-light:focus{color:#cbd3da !important}.text-dark{color:#343a40 !important}a.text-dark:hover,a.text-dark:focus{color:#121416 !important}.text-body{color:#212529 !important}.text-muted{color:#6c757d !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;overflow-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #dee2e6 !important}.table-dark{color:inherit}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}body{font-family:'Source Sans Pro', sans-serif}h1,.h1,h2,.h2,h3,.h3{font-weight:300}.bg-dawn-sea{background-color:#00b1c5}.bg-blaze{background-color:#faa61a}.bg-dusk-sea{background-color:#007190}.bg-noon-sea{background-color:#008da2}.banner-subscribe{color:#fff}.page-title{font-size:3rem;line-height:5rem}.navbar-brand{margin-top:0rem;margin-bottom:0rem}.navbar-nav .nav-link{font-size:1.2rem;color:white !important}.footer{border-top:1px solid #137752}.footer-logo{height:70px}.footer-image{height:50px}.rego-content{border:1px solid #000;background-color:#fff}.presentation-details{border-top:1px solid #008da2}.presentation-abstract{border-left:1px solid #008da2}.mobile-slot{border-bottom:1px solid #008da2}.slot-active{background-color:#EECC96}.conf-clock{position:fixed;bottom:0;left:0;background-color:white;padding:10px;z-index:10}.conf-clock .time{font-size:2em}.calendar th.time{white-space:nowrap}.messagelist{margin-bottom:0}.asteriskField:before{content:' '}label.label-required:after{content:' *'}.monospace-text{font-family:Hack, monospace;white-space:pre-wrap}@media print{.fade:not(.show){opacity:100 !important}.timetable-day:not(:first-child){break-before:page}}.bi-bluesky::before{content:"";background-color:currentColor;-webkit-mask:url("../img/bluesky.svg") no-repeat 50% 50%;mask:url("../img/bluesky.svg") no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;height:16px;width:16px} diff --git a/streaming/index.html b/streaming/index.html new file mode 100644 index 0000000..dfb6276 --- /dev/null +++ b/streaming/index.html @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Log in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+
+ Log in to an existing account +
Please note that accounts from 2024 are not transferred for privacy reasons.
+ + + + + + + + +
+ + + + + +
+ + + + + +
+ +
+ + + + +
+ + + + + +
+ + + + + +
+ +
+ + + + +
+ +
+
+ + + + + + +
+
+ +
+ + + + + + + + Forgot your password? +
+ + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/travel/index.html b/travel/index.html new file mode 100644 index 0000000..491abf6 --- /dev/null +++ b/travel/index.html @@ -0,0 +1,263 @@ + + + + + + + + + + + + + + + + + + FOSSY 2025 | Travel and Lodging + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Archived: This is an archive from the 2025 conference. See fossy.us for the latest event.
+ + + + + + +
+ + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+
+

Travel and Lodging

+ +

August is a fantastic time to visit the Pacific Northwest. Portland in August is a gorgeous city with plenty of greenery and a lack of humidity that will keep you comfortable. There is plenty of lodging around the city and we're hoping to contract with a conference hotel so stay tuned!

+ +

Join us at Portland State University's Smith Memorial Student Union Third Floor, 1825 SW Broadway, Portland, OR 97201(enter on the Broadway side) this summer for a warm, community and free software filled gathering.

+ + + +

Here are some options for lodging in the area

+ + +

The Hotel Zags
+Hotel Zags is only a few short blocks from the Smith Memorial Building and is offering a rate of $109 for a King room. This rate is only available until July 12th. Click this for the discount rate: Fossy Conference Booking Link, and if you are arriving early or staying a few extra days, you can reach out to the Group Sales Manager at srhawn.powell@thehotelzags.com +Note: there is a $40/night parking fee at Hotel Zags.

+
+

University Place Hotel
+Owned and operated by Portland State University, University Place Hotel has a rate of only $113 plus tax (16%) with continental breakfast included in the rate. Parking is $3 per hour and $13 overnight. However, this rate is only good until June 30, after which the prices will be at the best available rate. To reserve a room at University Place, call 503-221-0140 and request the "Fossy" block. +
+

Northwest Portland Hostel
+Northwest Portland Hostel is just a short drive or public transit ride from Portland State University. We offer both dorm-style and private rooms across six buildings — a mix of modern and historic — all at affordable prices. Family-owned for over 26 years, the hostel provides an authentic Portland experience with an onsite café, free weekly events like walking tours and live music, and a location in one of Portland’s most charming neighborhoods. Use promo code SFC10 when booking directly to receive 10% off your stay, or check out the group accommodations link if you have 10 or more and want to reserve together.

+
+

The Hoxton
+Just a 1 mile walk or a short trip on the MAX Yellow or Green line, the Hoxton is offering FOSSY attendees 20% off the room rate and waiving the destination fee. They're also extending this offer from July 22 – August 6, 2024, in case you're in town early or want to stay a few extra days. +Use the code FOSSY to take advantage of this discount.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +