<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/feed.xml" rel="self" type="application/atom+xml" /><link href="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/" rel="alternate" type="text/html" /><updated>2026-04-27T01:58:07+00:00</updated><id>https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/feed.xml</id><title type="html">Benjamin DeWeese</title><subtitle>CSCI-UA 480 Student, Spring 2026</subtitle><entry><title type="html">Week 14 - My group work</title><link href="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week14/" rel="alternate" type="text/html" title="Week 14 - My group work" /><published>2026-04-26T00:00:00+00:00</published><updated>2026-04-26T00:00:00+00:00</updated><id>https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week14</id><content type="html" xml:base="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week14/"><![CDATA[<p>Individually, I think was able to make some good contributions throughout the past few weeks.<!--more--> As a user of Keycloak, I could see enhancements within the software that non-users would have no idea about, because their experience is limited to picking up work on the issues page. So the majority of my time was spent on features for custom themes. Rendering for descriptions in the drop down menus, automatic translation for default descriptions, fixing a bug where custom themes would have their descriptions overridden by their base themes, modifying Keycloak’s API to render custom theme descriptions, enabling multiple custom themes to be rendered in the drop down menu and handled by the software, as well as rendering custom theme names with special characters instead of the normalized path names are all pieces I have worked on. And I’m happy with that. These contributions have shown me that I can make an impact on the experiences many people have, and I can continue to do so in the future.</p>

<p>As a group, our contributions have had varied, positive impacts. We made changes that make the platform more accessible. We enhanced the software to render it more complete and polished. We performed feature implementation research for areas that haven’t yet been explored, which can act as guides for future development. A bug relating to building the tool was reported and fixed as well, improving the quality of life for developers and users who build from source. We plan to have ownership of the code we implemented in the future, taking responsibility where appropriate. We also plan to tie up any lose ends, even once the course is through.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Individually, I think was able to make some good contributions throughout the past few weeks.]]></summary></entry><entry><title type="html">Week 13 - Updates on Contributions</title><link href="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week13/" rel="alternate" type="text/html" title="Week 13 - Updates on Contributions" /><published>2026-04-19T00:00:00+00:00</published><updated>2026-04-19T00:00:00+00:00</updated><id>https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week13</id><content type="html" xml:base="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week13/"><![CDATA[<p>Things have been moving a little slower the last few days.<!--more--> But that’s okay.</p>

<h2 id="as-for-keycloak">As for Keycloak</h2>

<p>My pull request to <a href="https://github.com/keycloak/keycloak/pull/47771">enhance theme generation</a> on Keycloak is still in review. That isn’t to say it has been under review this whole time, just that it hasn’t been reviewed by the primary code owner yet. And unfortunately, that [partially] blocks development on my other issue to <a href="https://github.com/keycloak/keycloak/issues/47866">implement rendering of custom theme names</a>. This slowdown is primarily caused by the release of Keycloak 26.6.</p>

<p>So in the meantime I have worked on <a href="https://github.com/keycloak/keycloak/pull/48236">this new PR</a>, requiring users to enter the name of their realm before deleting it. Deleting a realm (and its associated data) is irreversible, and the goal for this is to mitigate accidental deletions.</p>

<h2 id="as-for-personal-contributions">As for personal contributions</h2>

<p>I decided to publish the Gradescope privacy extension my team and I made in class on Firefox Add-ons. It can be found <a href="https://addons.mozilla.org/en-US/firefox/addon/privacy-for-gradescope/">here</a>. I also decided to revert some of the features implemented in the original code as they felt unnecessary for a privacy focused tool. Additional changes were made to the CSS. The extension functions as expected when users hold student status, but bugs may appear if the user is a professor.</p>

<p>I created a <a href="https://connect.mozilla.org/t5/ideas/create-keyboard-shortcut-for-hide-tabs-and-sidebar/idi-p/122619">discussion post on Mozilla Connect</a>. I believe there should be a hotkey that allows the user to toggle visibility of the sidebar on Firefox, although as of today, it has not received any community feedback.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Things have been moving a little slower the last few days.]]></summary></entry><entry><title type="html">Week 12 - Open source in for-profit spaces</title><link href="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week12/" rel="alternate" type="text/html" title="Week 12 - Open source in for-profit spaces" /><published>2026-04-12T00:00:00+00:00</published><updated>2026-04-12T00:00:00+00:00</updated><id>https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week12</id><content type="html" xml:base="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week12/"><![CDATA[<p>Business trends are making software more expensive and moving ownership away from the customer.<!--more--> Companies are providing their software as a service, which involves recurring payments and access that is lost once a user stops paying. In parallel, the quality of open source software gone up dramatically.</p>

<p>As a result, the presence of open source software in the realm of for-profit enterprises has skyrocketed. Take, for example, <a href="https://eslint.org/">ESLint</a>. ESLint is the go to JS linting tool, and is used in combination with <a href="https://pre-commit.com/">pre-commit</a> by virtually every company, team, and/or project working with JavaScript. It is invaluable to the code maintainance of certain repositories.</p>

<p>So, do they just take the free software and move on with their days to generate exorbitant profits? Not always. Thankfully, many companies realize the value open source projects and developers provide them. So they give back. ESLint’s <a href="https://eslint.org/sponsors/">sponsors</a>, as of today, notable include Vite, SAP, Icons8, Discord, Netlify, and 1Password. Companies and organizations also give back via non-monetary contributions. If a team needs a feature implemented or a bug fixed quickly, they oftentimes have the resources to do it themselves and submit a PR for it.</p>

<p>Open source software adoption in the commercial space can be a catalyst for development of tools which can benefit everyone. One perspective, adopted by many manufacturers in the automotive industry, is to cross collaborate on certain things so that they all have the foundations to build separately and focus on differentiating themselves. <a href="https://www.automotivelinux.org/">Automotive Grade Linux</a> is a perfect example of that, with leaders like Mazda, Toyota, and Honda backing it. This [hopefully] helps to ensure that the software inside the cars we drive is safer, because if more companies rely on the same tools, you would expect them to ensure that their tools are good. Additionally, it allows car manufacturers to focus on doing what they do best, actually manufacturing cars.</p>

<p>I am hopeful for wide-spread adoption of open source software, both in commercial and non-commercial spaces, and I believe that it would bring very benificial changes.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Business trends are making software more expensive and moving ownership away from the customer.]]></summary></entry><entry><title type="html">Week 11 - Another Update</title><link href="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week11/" rel="alternate" type="text/html" title="Week 11 - Another Update" /><published>2026-04-05T00:00:00+00:00</published><updated>2026-04-05T00:00:00+00:00</updated><id>https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week11</id><content type="html" xml:base="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week11/"><![CDATA[<h2 id="thoughts-on-development-using-the-cathedral-vs-the-bazaar-model">Thoughts on development using the Cathedral vs the Bazaar Model</h2>

<p>Development within a silo, all alone, can be very detrimental to a project. Your perspective is influenced by you and if you have a customer, them.<!--more--> However, if you develop with the idea that your code is public (even if nobody else looks at it), you are pushed to consider multiple different perspectives for what users may want or need, resulting in a project with stronger foundations, more useful features, etc.</p>

<p>With the proliferation of AI tools, it is important that developers continue to use oversight. One of the greates strengths behind the Bazaar Model is that many different people are contributing their different, unique perspectives and ideas. If everyone is using the same AI tools, which are all trained on the same data, then people are no longer contributing their own ideas. However, AI tools do have their place in Open Source Software Development. They enable faster triage, code reviews, and more. They also allow for new contributors to very quickly enter a code base and make small adjustments.</p>

<p>So I don’t believe that AI tools should be dismissed by open source projects. But it is important that contributors use them carefully, ensure that the tools are not replacing the thinking and creativity that really matters.</p>

<h2 id="keycloak-progress">Keycloak Progress</h2>

<p>This past week, my <a href="https://github.com/keycloak/keycloak/pull/47458">PR to enable locale-based theme description translations</a> was merged into main. I had initially created the PR in ‘Draft’ mode, and after some back and forth with a maintainer, got the code to a state that was good, and they moved it to ‘Ready for Review’ and put it through. This PR makes Keycloak a little more accessible, because users from other countries will be able to read the theme descriptions in their own language, once translations are made.</p>

<p>I made an additional contribution by <a href="https://github.com/keycloak/keycloak/issues/47762">creating a new issue</a> highlighting how a current feature could be enhanced. Current theme generation has many hardcoded values, which prevents multiple custom themes from being loaded. Additionally (with the new description fetching logic implemented in my PR), we can now utilize locale files stored within themes to render custom descriptions. For this ticket, I plan on proposing dynamic string handling as well as creating locale files with the custom descriptions when generating theme <strong>.jar</strong> files.</p>

<p>I also <a href="https://github.com/keycloak/keycloak/pull/47759#issuecomment-4187556861">made a clarifying comment</a> on someone else’s PR, who was working on a similar part of the code base as I.</p>

<h2 id="group-reports">Group Reports</h2>

<p>Listening to the stand up reports this week, I was glad to hear that other teams were making progress. Many teams were working on smaller enhancements, such as documentation. What I believe is happening is that that many people are not users of the projects they chose, and so they are picking up tickets they see on the Issues pages that are easier to complete. Additionally, it can also be difficult to find your footing. As students, we are fresh to the projects, and it isn’t always easy to understand a codebase. So people may have trouble picking up tickets that have large impacts on functionality. I have spent almost all my time focusing on themes contributions, and I am beginning to actually understand how it works, and I believe is an advantageous for me to focus on themes further.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Thoughts on development using the Cathedral vs the Bazaar Model Development within a silo, all alone, can be very detrimental to a project. Your perspective is influenced by you and if you have a customer, them.]]></summary></entry><entry><title type="html">Week 10 - A new PR!</title><link href="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week10/" rel="alternate" type="text/html" title="Week 10 - A new PR!" /><published>2026-03-29T00:00:00+00:00</published><updated>2026-03-29T00:00:00+00:00</updated><id>https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week10</id><content type="html" xml:base="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week10/"><![CDATA[<p>This last week I took the time to read <a href="http://www.catb.org/~esr/writings/cathedral-bazaar/">The Cathedral and the Bazaar</a> by Eric S. Raymond and found some of his points quite interesting. <!--more-->I will paraphrasing my notes below:</p>

<ol>
  <li>Developers should plan to throw some of their work away. In open source (and even closed), it is inevitable. Getting stuck with code because you fall into the trap of the sunk cost fallacy can be detrimental to a project’s development and trajectory.</li>
  <li>Building as simple as possible. Similar to the principle of Occam’s Razor which states that the simplest solution is probably the answer, the simplest solution is probably the best solution for feature development.</li>
  <li>Refactoring can be incredibly benificial. “Perfect design is not when tou can no longer add more, but when you can no longer take away.” Refactoring allows you to reduce bloat and complexity, but also truly understand the project, its technical strengths and also its pitfalls.</li>
</ol>

<p>As for contributions to our group project, I began work on a draft pull request to implement translation of default themes. This is proving to be a tough issue because:</p>

<ol>
  <li>It is difficult for me to understand.</li>
  <li>The system and application is complex. Translation is done dynamically, meaning everything is imported piped in with variables, making the code difficult to follow.</li>
</ol>

<p>But the good thing is, it’s learning opportunity. <a href="https://github.com/keycloak/keycloak/pull/47458">Here is the link</a> to the PR.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[This last week I took the time to read The Cathedral and the Bazaar by Eric S. Raymond and found some of his points quite interesting.]]></summary></entry><entry><title type="html">Week 9 - Spring Break!</title><link href="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week09/" rel="alternate" type="text/html" title="Week 9 - Spring Break!" /><published>2026-03-21T00:00:00+00:00</published><updated>2026-03-21T00:00:00+00:00</updated><id>https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week09</id><content type="html" xml:base="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week09/"><![CDATA[<p>I have been noting down possible features and bugs we can work on, <a href="https://github.com/edewit/keycloak/pull/15">created a pull request</a> to modify someone else’s pull request, and <a href="https://en.wikipedia.org/w/index.php?title=Keycloak&amp;diff=prev&amp;oldid=1344816217">updated the Keycloak Wikipedia page</a> with hyperlinks.<!--more--></p>

<p>I also made a <a href="https://en.wikipedia.org/w/index.php?title=General_Dynamics&amp;diff=prev&amp;oldid=1344184760">contribution to the General Dynamics Wikipedia page</a> by correcting the title of the GDEB subsidiary.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[I have been noting down possible features and bugs we can work on, created a pull request to modify someone else’s pull request, and updated the Keycloak Wikipedia page with hyperlinks.]]></summary></entry><entry><title type="html">Week 8 - Tickets!</title><link href="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week08/" rel="alternate" type="text/html" title="Week 8 - Tickets!" /><published>2026-03-14T00:00:00+00:00</published><updated>2026-03-14T00:00:00+00:00</updated><id>https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week08</id><content type="html" xml:base="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week08/"><![CDATA[<h2 id="group-reports--standups">Group reports / standups</h2>

<p>Listening to other groups perform their standups put into perspective the speed our team is able to work at. <!--more-->Others were getting their development environments set up while we were already busy assigning work and creating issues. Relatively speaking, they were experiencing the same things we had already gone through.</p>

<h2 id="issue-issues">Issue issues</h2>

<p>However, our speed was not fully to our advantage. We had overlooked rebuilding the source code of the repository and created an issue for a feature that was already implemented. Once we realized that, the issue was closed. It is difficult to be a user and be fully up to date on the status of what still needs to change because the nightly build is far newer than the versions that the maintainers release on Docker.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Group reports / standups Listening to other groups perform their standups put into perspective the speed our team is able to work at.]]></summary></entry><entry><title type="html">Week 7 - Beginning group contributions</title><link href="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week07/" rel="alternate" type="text/html" title="Week 7 - Beginning group contributions" /><published>2026-03-08T00:00:00+00:00</published><updated>2026-03-08T00:00:00+00:00</updated><id>https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week07</id><content type="html" xml:base="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week07/"><![CDATA[<h2 id="group-work">Group work</h2>

<p>Our group began by scheduling a meeting and evaluating the projects we were interested in together. <!--more-->This involved reviewing each project and exploring the software. When we decided we were interested in a project, we attempted to install the development environment. After that, we moved on to the next project on our list.</p>

<p>In class, we looked at the projects we had selected for our final decision. It came down to Keycloak and Pandas. We decided to go with Keycloak, as working on a visually interactive tool was more appealing.</p>

<p>No obstacles have been hit yet, but when they are, we will fall back to our working agreement <a href="https://github.com/ossd-s26/wiki/wiki/Group-F-working-agreement">defined here</a>.</p>

<p>We will soon begin evaluating different tasks we can take on, and determining how we can contribute as a group or as individuals with similar goals.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Group work Our group began by scheduling a meeting and evaluating the projects we were interested in together.]]></summary></entry><entry><title type="html">Week 6 - A general update</title><link href="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week06/" rel="alternate" type="text/html" title="Week 6 - A general update" /><published>2026-03-01T00:00:00+00:00</published><updated>2026-03-01T00:00:00+00:00</updated><id>https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week06</id><content type="html" xml:base="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week06/"><![CDATA[<h2 id="finding-preferred-projects">Finding preferred projects</h2>

<p>To prepare for choosing the projects we would soon choose to contribute to for the rest of the semester, I completed new evaluations and followed different Getting Started processes.<!--more--></p>

<p>Although I had already gone through this process earlier, I completed <a href="https://github.com/ossd-s26/project-evaluation/blob/main/keycloak.md">an evaluation for Keycloak</a> - so that it’s info was available to others in the class organization. Keycloak is a project that I would like to contribute to for this class.</p>

<p>Next, in class, a group of students and I evaluated Electron. We used Gemini’s Deep Research model and compared our evaluation with its. It is good at finding URLs, but falls short in other areas such as judging friendly-ness to new contributors and those sorts of things. It’s documentation is straight forward, but I could not complete the build process. Around <strong>an hour</strong> after running the build command in my terminal, a brew error is thrown and I could not solve it. Electron is not a project I would be willing to contribute to for this class.</p>

<p>Next, I followed the evaluation and build for Jellyfin. This was easy and took around 10 minutes. Afterwards, I used the service to stream some of my music. Jellyfin is a project that I would be willing to contribute to for this class.</p>

<p>I would also be interested in contributing to GIMP.</p>

<h2 id="past-and-present-contributions">Past and present contributions</h2>

<p>So far I have made contributions to the class GitHub repository, Keycloak, and the <a href="https://github.com/ossd-s26/highlight">highlight</a> project made by Aisha Roslan, Yuxuan Qin and Ruilin Guo.</p>

<p>For the class GitHub repository, I reported an issue regarding .DS_Store being tracked. I am also working to get a typo fix merged into the reporitory. The challenges with this contribution are mostly in relation to different issue reporting and fixing practices.</p>

<p>As for Keycloak, I added a way to render descriptions of themes for the application, that way users know what they are selecting. So far, this was my most difficult contribution. I had to make different revisions to code across multiple files, making changes that were not only visual. Due to the difficulty of the changes, this was the most rewarding to complete. I plan on adding a field to the theme creation menu so that users can create descriptions for their own themes.</p>

<p>Regarding highlight, I implemented a button and logic allowing users to copy MLA citations of their highlighted text to their clip board. This was relatively straight-foward, and the team was responsive and helpful.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Finding preferred projects To prepare for choosing the projects we would soon choose to contribute to for the rest of the semester, I completed new evaluations and followed different Getting Started processes.]]></summary></entry><entry><title type="html">Week 5 - Presentations</title><link href="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week05/" rel="alternate" type="text/html" title="Week 5 - Presentations" /><published>2026-02-21T00:00:00+00:00</published><updated>2026-02-21T00:00:00+00:00</updated><id>https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week05</id><content type="html" xml:base="https://ossd-s26.github.io/deweesevs-weekly/deweesevs-weekly/week05/"><![CDATA[<h2 id="this-weeks-presentations">This week’s presentations</h2>

<p>Watching each presentation, my main thought was “would I download this”?<!--more--> Admittedly, I am more interested in extensions that can better the tools I already use than purely aesthetic ones. This aligns with trying keep my working environment unbloated and efficient. While a browser-intergrated language model could be handy, having it take up all of my RAM wouldn’t be.</p>

<p>Two projects that stood out to me were <a href="https://github.com/ossd-s26/tab-down">tab-down</a>, made by Sebastian Capellan and Angela Gao, and <a href="https://github.com/ossd-s26/highlight">highlight</a>, made by Aisha Roslan, Yuxuan Qin and Ruilin Guo.</p>

<ul>
  <li>
    <p><code class="language-plaintext highlighter-rouge">tab-down</code> is a browser-in-browser tool, allowing users to keep a tab in the corner of their screen that can be displayed when hovered over, and is visually similar to the MacOS Quick Notes feature. Except you can’t run web-apps or load sites in the notes app.</p>
  </li>
  <li>
    <p><code class="language-plaintext highlighter-rouge">highlight</code> is a neat extension that allows you to make highlights on the fly across different sites, and find all of them in a central place. I think it would be cool to add export functionality to the highlights, incase you want to cite them.</p>
  </li>
</ul>

<p>Neither project attempts to pack in unwanted features, and does what they intend to do.</p>

<h2 id="open-source-summit-reflections">Open Source Summit reflections</h2>

<p>I found the keynote with Kelsey Hightower entertaining. He emphasized the importance of the communities behind open-source projects and encouraged corporations to contribute. Even if core contributors have such great differences that they end up branching off, it is important to understand that it is the nature of open-source, and to keep co-collaborating.</p>

<p>Craig McLuckie, in the second video of the summit, spoke more about supporting open-source communities. What he considered important for corportations to do though was to adopt the projects they value and to “vote with your wallet”. It is important for OSS communities to be recognized for their work, because otherwise, who are they making the software for?</p>

<p>The final video was with Linus Torvalds and Dirk Hohndel. Their conversation highlighted that open-source development still has it’s drawbacks. When a project becomes huge, the code’s integrity can outweight many of the benifits of open-source development, such as public, cross-colloboration (in regards to Linux’s security incident response). Working on these kinds of projects can also be very time consuming, and are not always what you may want to spend your life working on.</p>

<h2 id="presentation-style-notes">Presentation style notes</h2>

<p>Oftentimes, when I present, I feel as though I am there to deliver on keep points. And I believe that may the case for my peers in class. But after watching the keynotes, I realized that a much more entertaining and captivating presentation is one that has a story or a narrative. Something to keep the audience engaged. Both Kelsey Hightower and Craig McLuckie had anecdotes in their talks, and much of Linus Torvalds and Dirk Hohndel’s Q&amp;A included reflections on the past, relating to the topics they were discussing.</p>

<p>Having a story to tell or take the audience along with you on makes for a far more engaging presentation, and this is something I want to work on. When the time comes, I hope to add a little of this to my presentation.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[This week’s presentations Watching each presentation, my main thought was “would I download this”?]]></summary></entry></feed>