<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ibrahim Olawoyin</title>
    <description>The latest articles on DEV Community by Ibrahim Olawoyin (@ibrahim-jam).</description>
    <link>https://dev.to/ibrahim-jam</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3842124%2Fd8b4f6d1-0b80-4ca2-b494-543348afc261.jpg</url>
      <title>DEV Community: Ibrahim Olawoyin</title>
      <link>https://dev.to/ibrahim-jam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ibrahim-jam"/>
    <language>en</language>
    <item>
      <title>Making AI "Boring": An Engineering Audit of RamaLama on Fedora Linux</title>
      <dc:creator>Ibrahim Olawoyin</dc:creator>
      <pubDate>Wed, 01 Apr 2026 18:49:50 +0000</pubDate>
      <link>https://dev.to/ibrahim-jam/making-ai-boring-with-ramalama-my-hands-on-exploration-1i17</link>
      <guid>https://dev.to/ibrahim-jam/making-ai-boring-with-ramalama-my-hands-on-exploration-1i17</guid>
      <description>&lt;h2&gt;
  
  
  The Thesis of Boring AI
&lt;/h2&gt;

&lt;p&gt;When I first encountered the RamaLama project, its mission statement gave me pause: "Making working with AI boring (in a good way)." In an industry characterized by unpredictable latency and non-deterministic "hallucinations," predictability is the ultimate premium.&lt;/p&gt;

&lt;p&gt;However, as a Fedora contributor, my exploration revealed that "Boring AI" is not a default state; it is a goal achieved through rigorous infrastructure abstraction and data verification. Below is my technical audit of RamaLama (v0.18.0) evaluated on Fedora 43 (WSL2), documenting why the tool excels at infrastructure while highlighting the critical need for RAG (Retrieval-Augmented Generation) to fix output reliability.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Transport Evaluation: The Latency Gap
&lt;/h2&gt;

&lt;p&gt;RamaLama's core strength is its unified interface for multiple model transports. However, my benchmarks showed that not all transports are created equal when working in distributed environments.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Transport&lt;/th&gt;
&lt;th&gt;Test Model&lt;/th&gt;
&lt;th&gt;Download Speed&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ollama&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;TinyLlama (608.16 MB)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;6.21 MB/s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Success&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;HuggingFace&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;TinyLlama GGUF (460.74 MB)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;7.41 MB/s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Success&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ModelScope&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Qwen1.5 (Simultaneous)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;200-600 KB/s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Cancelled&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;OCI (Quay.io)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;RamaLama Image&lt;/td&gt;
&lt;td&gt;Varied&lt;/td&gt;
&lt;td&gt;Success (Incomplete)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  The "ModelScope" Bottleneck:
&lt;/h3&gt;

&lt;p&gt;My exploration of the &lt;strong&gt;ModelScope&lt;/strong&gt; transport proved impractical for global contributors with bandwidth constraints. Unlike Ollama or HuggingFace, the ModelScope transport initiated 11 simultaneous downloads for various quantization variants, exceeding &lt;strong&gt;5 GB&lt;/strong&gt; of total bandwidth and significantly lower throughput. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engineering Decision:&lt;/strong&gt; For Fedora documentation workflows, &lt;strong&gt;Ollama&lt;/strong&gt; and &lt;strong&gt;HuggingFace&lt;/strong&gt; remain the primary reliable transports for rapid model deployment.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Hardware Diagnostics: The KV Cache Wall
&lt;/h2&gt;

&lt;p&gt;A common novice critique of AI tools is "the model didn't run." A curious engineer asks "exactly where did the memory allocation fail?"&lt;/p&gt;

&lt;p&gt;In my testing, models larger than 1B parameters (specifically &lt;strong&gt;DeepSeek R1 8B&lt;/strong&gt; and &lt;strong&gt;Granite 3.1 2B&lt;/strong&gt;) failed to initialize. By auditing the &lt;code&gt;llama.cpp&lt;/code&gt; and &lt;code&gt;crun&lt;/code&gt; logs, I identified the precise failure point:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;DeepSeek R1 8B Requirement:&lt;/strong&gt; CPU KV buffer size = &lt;strong&gt;18,432 MB (18 GB)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;System Constraint:&lt;/strong&gt; Available Memory = &lt;strong&gt;7,184 MB&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Result:&lt;/strong&gt; A 180-second health check timeout.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Lesson:&lt;/strong&gt; "Boring AI" requires absolute hardware awareness. RamaLama's abstractions cannot bypass physical RAM limitations, but its transparent logging allowed me to diagnose the memory shortfall within seconds rather than guessing at the cause of the timeout.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Truth vs. Hallucination: The Ground Truth
&lt;/h2&gt;

&lt;p&gt;To measure output quality, I measured model responses against the official &lt;strong&gt;Fedora Project Documentation&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Test Case: The Four Foundations of Fedora
&lt;/h3&gt;

&lt;p&gt;I prompted two different 1B parameter models with the same question: &lt;em&gt;"What are the Four Foundations of the Fedora Project?"&lt;/em&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Response (Foundations)&lt;/th&gt;
&lt;th&gt;Ground Truth (Actual)&lt;/th&gt;
&lt;th&gt;Accuracy&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ollama: TinyLlama&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Core, Desktop, Server, Project&lt;/td&gt;
&lt;td&gt;Friends, Features, First, Freedom&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;HF: TinyLlama&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Forking, Simplicity, Community, Open-Source&lt;/td&gt;
&lt;td&gt;Friends, Features, First, Freedom&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  The "Hallucination" Trap:
&lt;/h3&gt;

&lt;p&gt;Both models produced beautifully structured, authoritative-sounding lists that were fundamentally incorrect. They "hallucinated" project structures and philosophical values that sounded plausible but lacked any factual basis in Fedora history.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. The Synthesis: Why Infrastructure is the First "Boring" Step
&lt;/h2&gt;

&lt;p&gt;This brings us back to the original question: Does RamaLama make AI boring?&lt;/p&gt;

&lt;p&gt;The answer is &lt;strong&gt;Yes for Infrastructure, No for Intelligence.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Boring Infrastructure (The Success):&lt;/strong&gt; RamaLama successfully abstracts container runtimes (Podman), model sourcing, and execution. The command &lt;code&gt;ramalama run ollama://tinyllama&lt;/code&gt; is a masterpiece of reproducibility.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Exciting Intelligence (The Gap):&lt;/strong&gt; The output remains unpredictable. Without a secondary layer like &lt;strong&gt;RAG (Retrieval-Augmented Generation)&lt;/strong&gt;, these models cannot be used for technical documentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Review
&lt;/h2&gt;

&lt;p&gt;As a junior engineer in the Fedora community, this exploration taught me that the "Boring AI" stack looks like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;RamaLama:&lt;/strong&gt; Makes the &lt;strong&gt;Environment&lt;/strong&gt; predictable (Podman-backed reliability).&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Docling:&lt;/strong&gt; Makes the &lt;strong&gt;Data&lt;/strong&gt; structured (Precision extraction).&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;RAG Pipeline:&lt;/strong&gt; Makes the &lt;strong&gt;Output&lt;/strong&gt; accurate (Grounding the model in facts).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The journey to boring AI is just beginning, and with tools like RamaLama handles the "heavy lifting" of infrastructure, we can finally focus on the harder problem of factual accuracy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Explore the Technical Trace
&lt;/h2&gt;

&lt;p&gt;For the full system logs, exact &lt;code&gt;bbox&lt;/code&gt; coordinates from my Docling experiments, and a deep dive into the &lt;code&gt;llama.cpp&lt;/code&gt; error outputs mentioned above, visit the repository:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/Olawoyin365/ramalama-exploration-outreachy-fedora" rel="noopener noreferrer"&gt;RamaLama Exploration on Fedora Linux&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>linux</category>
      <category>llm</category>
      <category>tooling</category>
    </item>
    <item>
      <title>The Libravatar Problem Nobody Warned Me About (And How I Finally Fixed It)</title>
      <dc:creator>Ibrahim Olawoyin</dc:creator>
      <pubDate>Fri, 27 Mar 2026 16:39:41 +0000</pubDate>
      <link>https://dev.to/ibrahim-jam/the-libravatar-problem-nobody-warned-me-about-and-how-i-finally-fixed-it-3k3g</link>
      <guid>https://dev.to/ibrahim-jam/the-libravatar-problem-nobody-warned-me-about-and-how-i-finally-fixed-it-3k3g</guid>
      <description>&lt;p&gt;I didn’t expect something as simple as setting a profile picture to turn into a full debugging session.&lt;/p&gt;

&lt;p&gt;But that’s exactly what happened.&lt;/p&gt;

&lt;p&gt;It started like any normal onboarding task. I had just set up my Fedora Account System account, everything was working fine, and I thought, “Let me quickly update my profile picture and move on.”&lt;/p&gt;

&lt;p&gt;Simple, right?&lt;/p&gt;

&lt;p&gt;I clicked “Change Avatar.”&lt;br&gt;
I was redirected to Libravatar.&lt;br&gt;
I logged in.&lt;br&gt;
I uploaded my picture.&lt;/p&gt;

&lt;p&gt;Done.&lt;/p&gt;

&lt;p&gt;Or at least, that’s what I thought.&lt;/p&gt;

&lt;p&gt;I went back to check my profile… and there it was, the same default avatar staring back at me like nothing had changed.&lt;/p&gt;

&lt;p&gt;At first, I assumed it was just a delay. Maybe caching. Maybe I needed to refresh.&lt;/p&gt;

&lt;p&gt;I refreshed.&lt;/p&gt;

&lt;p&gt;Nothing.&lt;/p&gt;

&lt;p&gt;I logged out and back in.&lt;/p&gt;

&lt;p&gt;Still nothing.&lt;/p&gt;

&lt;p&gt;That was the moment I realized this wasn’t just a small glitch. There was something deeper going on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Loop That Made It Worse&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While trying to figure it out, I ran into another issue, the login loop.&lt;/p&gt;

&lt;p&gt;At one point, instead of smoothly logging in, I kept getting prompted repeatedly for credentials. It felt like I was stuck between two systems that weren’t fully talking to each other.&lt;/p&gt;

&lt;p&gt;That’s when I made a small but important decision, I cancelled the prompt.&lt;/p&gt;

&lt;p&gt;And surprisingly, that worked.&lt;/p&gt;

&lt;p&gt;It redirected me to the proper Fedora login page, and I was finally able to proceed cleanly.&lt;/p&gt;

&lt;p&gt;It was my first clue that the problem wasn’t just about uploading an image… it was about how systems were connected.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding the Real Problem&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At this point, I stopped guessing and started thinking.&lt;/p&gt;

&lt;p&gt;Libravatar wasn’t just storing images. It was linking identities.&lt;/p&gt;

&lt;p&gt;And Fedora wasn’t just using usernames. It was relying on a specific identity mapping system — OpenID and email associations.&lt;/p&gt;

&lt;p&gt;That’s when it clicked.&lt;/p&gt;

&lt;p&gt;Uploading the image wasn’t enough.&lt;br&gt;
The system needed a verified identity to attach it to.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Fix That Finally Worked&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of trying to re-upload the image again, I took a different route.&lt;/p&gt;

&lt;p&gt;I added a new email address inside Libravatar.&lt;br&gt;
Then I verified it.&lt;/p&gt;

&lt;p&gt;Came back. Refreshed.&lt;/p&gt;

&lt;p&gt;And just like that; it worked.&lt;/p&gt;

&lt;p&gt;The new profile picture finally showed up.&lt;/p&gt;

&lt;p&gt;What I Learned&lt;/p&gt;

&lt;p&gt;This wasn’t just about fixing an avatar issue.&lt;/p&gt;

&lt;p&gt;It taught me something deeper about working in real systems:&lt;/p&gt;

&lt;p&gt;Things don’t always fail loudly, sometimes they fail silently&lt;br&gt;
Identity systems (OpenID, email mapping) matter more than they seem&lt;br&gt;
Debugging isn’t about trying random fixes, it’s about understanding how things connect&lt;/p&gt;

&lt;p&gt;Most importantly, I learned that the difference between being stuck and moving forward is often just one shift, from guessing to thinking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why I Decided to Document It&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After solving it, I realized something:&lt;/p&gt;

&lt;p&gt;If I ran into this, others definitely would too.&lt;/p&gt;

&lt;p&gt;So instead of keeping the solution to myself, I turned it into a guide for the community, something simple, clear, and easy to follow.&lt;/p&gt;

&lt;p&gt;Because in open source, solving a problem is good…&lt;/p&gt;

&lt;p&gt;But making it easier for the next person?&lt;/p&gt;

&lt;p&gt;That’s better.&lt;/p&gt;

&lt;p&gt;If you're interested in the documentation I prepared as a guide for resolving these issues, you can find it &lt;a href="https://discussion.fedoraproject.org/t/libravatar-guide-how-to-set-your-fedora-profile-picture-without-issues/184311" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>outreachy</category>
      <category>fedora</category>
      <category>opensource</category>
      <category>troubleshooting</category>
    </item>
    <item>
      <title>Beyond the PDF: Engineering Structural Fidelity for Fedora RAG Pipelines</title>
      <dc:creator>Ibrahim Olawoyin</dc:creator>
      <pubDate>Wed, 25 Mar 2026 15:37:51 +0000</pubDate>
      <link>https://dev.to/ibrahim-jam/how-my-first-outreachy-contribution-in-fedora-community-made-me-think-i-was-just-converting-a-pdf-cd9</link>
      <guid>https://dev.to/ibrahim-jam/how-my-first-outreachy-contribution-in-fedora-community-made-me-think-i-was-just-converting-a-pdf-cd9</guid>
      <description>&lt;h2&gt;
  
  
  The Preprocessing Mirage
&lt;/h2&gt;

&lt;p&gt;When I first approached the task of "Exploring Document Processing with Docling," I fell into a common trap: I thought I was simply converting a PDF. In most contexts, "converting" implies a change in format, something routine, almost trivial. &lt;/p&gt;

&lt;p&gt;However, as I integrated these outputs into the &lt;strong&gt;RamaLama RAG system&lt;/strong&gt; for the &lt;strong&gt;Fedora Outreachy&lt;/strong&gt; project, the reality set in. Document processing isn't just a setup step; it is the architectural foundation of retrieval accuracy. If the structural extraction is flawed, the Large Language Model (LLM) is essentially "hallucinating" on top of broken data.&lt;/p&gt;

&lt;p&gt;Below is the technical breakdown of my exploration, the benchmarks I ran, and why structural fidelity is the primary lever in a reliable AI pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The Experimental Setup
&lt;/h2&gt;

&lt;p&gt;To push the boundaries of &lt;strong&gt;Docling&lt;/strong&gt;, I selected a high-complexity test case: the &lt;strong&gt;PyTorch Conference Europe 2026 Sponsorship Prospectus&lt;/strong&gt;. This document was chosen specifically because it contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multi-column text layouts.&lt;/li&gt;
&lt;li&gt;Tables spanning multiple pages.&lt;/li&gt;
&lt;li&gt;Mixed image/text content.&lt;/li&gt;
&lt;li&gt;Diverse font weights and heading hierarchies.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Environment Specs:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tool:&lt;/strong&gt; Docling CLI (v2.81.0)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Host:&lt;/strong&gt; Windows 11 (Python 3.14)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pipeline:&lt;/strong&gt; Standard vs. VLM (Vision-Language Model)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Comparing Pipelines: Efficiency vs. Semantic Depth
&lt;/h2&gt;

&lt;p&gt;One of the most critical decisions in a document pipeline is choosing the right engine. Docling offers a &lt;strong&gt;Standard&lt;/strong&gt; pipeline and a &lt;strong&gt;VLM&lt;/strong&gt; (Vision-Language Model) pipeline. My benchmarks revealed a staggering disparity in resource consumption.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Standard Pipeline&lt;/th&gt;
&lt;th&gt;VLM Pipeline&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Latency (7 Pages)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~10 Seconds&lt;/td&gt;
&lt;td&gt;~120 Minutes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Compute Requirement&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Low (CPU)&lt;/td&gt;
&lt;td&gt;High (GPU Recommended)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Model Overhead&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Minimal&lt;/td&gt;
&lt;td&gt;~500MB+ (Vision Models)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Semantic Fidelity&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Structure-Aware&lt;/td&gt;
&lt;td&gt;Context-Aware (Visual)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  The Judgment:
&lt;/h3&gt;

&lt;p&gt;For the &lt;strong&gt;Fedora RPM Packaging Guidelines&lt;/strong&gt;, the &lt;strong&gt;Standard Pipeline&lt;/strong&gt; is the engineering choice. Since the guidelines are text-heavy and structured with clear headers, the 10x speed advantage of the Standard pipeline outweighs the visual context parsing of the VLM engine. In a production environment, 120 minutes of preprocessing for a single document is a scalability failure.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. The Metadata Tax: Navigating Data Density
&lt;/h2&gt;

&lt;p&gt;Perhaps the most eye-opening discovery was the "Metadata Tax", the sheer volume of data required to maintain structural integrity. I compared the output file sizes of the same 7-page PDF across four formats:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Format&lt;/th&gt;
&lt;th&gt;File Size&lt;/th&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Text (.txt)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;26 KB&lt;/td&gt;
&lt;td&gt;Simple NLP / Rapid Prototyping&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;DocTags (.xml)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;22 KB&lt;/td&gt;
&lt;td&gt;Token-Efficient Structural Chunking&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Markdown (.md)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1.2 MB&lt;/td&gt;
&lt;td&gt;Semantic Chunking with Visual Context&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;JSON (.json)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;6.7 MB&lt;/td&gt;
&lt;td&gt;High-Fidelity Spatial Indexing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  The "250x" Insight:
&lt;/h3&gt;

&lt;p&gt;The jump from &lt;strong&gt;26 KB (Text)&lt;/strong&gt; to &lt;strong&gt;6.7 MB (JSON)&lt;/strong&gt; represents a &lt;strong&gt;250x increase&lt;/strong&gt; in data volume. This JSON bloat isn't "garbage data"; it includes precise bounding-box (&lt;code&gt;bbox&lt;/code&gt;) coordinates and parent-child relationship mappings (e.g., matching a list item to its specific parent list).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recommendation:&lt;/strong&gt; For high-volume Fedora docs, &lt;strong&gt;DocTags&lt;/strong&gt; is the optimal balance. It is actually &lt;em&gt;smaller&lt;/em&gt; than raw text because it replaces white-space noise with concise structural tags, making it the most token-efficient format for LLM context windows.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. The OCR Fallacy: Dealing with Digital Searchability
&lt;/h2&gt;

&lt;p&gt;I ran a comparative test with &lt;strong&gt;OCR (Optical Character Recognition)&lt;/strong&gt; enabled vs. disabled. Many developers default to enabling OCR "just in case," but my logs showed why this is a mistake for digital-first documents.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Terminal Logs:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;WARNING: RapidOCR returned empty result
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Why this happened:&lt;/strong&gt;&lt;br&gt;
Modern PDFs (like Fedora's docs) already embed searchable text layers. When I forced OCR, the &lt;code&gt;RapidOCR&lt;/code&gt; engine spent &lt;strong&gt;25 seconds&lt;/strong&gt; (up from &lt;strong&gt;8 seconds&lt;/strong&gt;) hunting for text in image layers that didn't exist. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Insight:&lt;/strong&gt; Only enable OCR when processing scanned legacy archives. For modern digital documentation, OCR is purely a source of latency and potential artifacts.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Mapping findings to the Fedora Ecosystem
&lt;/h2&gt;

&lt;p&gt;How do these benchmarks impact the &lt;strong&gt;RamaLama RAG system&lt;/strong&gt; for Fedora? I've mapped specific document features to their optimal processing strategies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Spec File Examples:&lt;/strong&gt; Markdown is the winner here. It preserves the exact indentation and syntax of code blocks, which is critical for an LLM to generate correct RPM spec files.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Versioned Headers:&lt;/strong&gt; The JSON document tree allows for "Section-Aware Filtering." A RAG engine can filter results based on whether a header belongs to "Fedora 40" vs "Fedora 41" guidelines.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;License Tables:&lt;/strong&gt; Precision table extraction ensures that complex licensing requirements are stored as structured grid data rather than a jumbled string of text.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion: From Conversion to Engineering
&lt;/h2&gt;

&lt;p&gt;Preprocessing is the "silent partner" of AI engineering. My exploration of Docling revealed that "good enough" conversion isn't enough for production RAG. It requires:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Intentional Pipeline Selection&lt;/strong&gt; (Standard vs VLM).&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Format Optimization&lt;/strong&gt; (DocTags for token efficiency).&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Error-Aware Debugging&lt;/strong&gt; (Interpreting Windows symlink limitations and OCR warnings).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In the world of Fedora guidelines and high-performance AI, precision at the beginning of the pipeline is what prevents failure at the end.&lt;/p&gt;

&lt;h2&gt;
  
  
  Explore the Benchmarks
&lt;/h2&gt;

&lt;p&gt;If you are curious about the technical footprints, the exact commands I ran, or the raw outputs of these experiments, I have documented everything in my exploration repository. &lt;/p&gt;

&lt;p&gt;Check out the full study here:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&lt;a href="https://github.com/Olawoyin365/docling-exploration-outreachy" rel="noopener noreferrer"&gt;Docling Exploration: Fedora Outreachy Contribution&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Outreachy 2026 -Comprehensive portfolio of my contributions to the Fedora Project during the Outreachy application phase</title>
      <dc:creator>Ibrahim Olawoyin</dc:creator>
      <pubDate>Wed, 25 Mar 2026 08:08:27 +0000</pubDate>
      <link>https://dev.to/ibrahim-jam/outreachy-2026-comprehensive-portfolio-of-my-contributions-to-the-fedora-project-during-the-5hb5</link>
      <guid>https://dev.to/ibrahim-jam/outreachy-2026-comprehensive-portfolio-of-my-contributions-to-the-fedora-project-during-the-5hb5</guid>
      <description>&lt;h1&gt;
  
  
  🚀 Outreachy 2026 - Fedora Contributions Portfolio
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Applicant:&lt;/strong&gt; Ibrahim Jamiu&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Project:&lt;/strong&gt; Develop a SLM/LLM using RamaLama RAG based off Fedora RPM Packaging Guidelines&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Community:&lt;/strong&gt; Fedora Project&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Application Period:&lt;/strong&gt; March 20 - April 15, 2026&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Last Updated:&lt;/strong&gt; March 25, 2026&lt;/p&gt;




&lt;h2&gt;
  
  
  📋 Portfolio Overview
&lt;/h2&gt;

&lt;p&gt;This portfolio documents my contributions to the Fedora Project during the Outreachy May 2026 application phase. I'm working on building an AI model using Retrieval Augmented Generation (RAG) to help Fedora package maintainers follow RPM packaging guidelines.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connect with me:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💬 Matrix: &lt;a href="https://matrix.to/#/@ibrahim-jam:fedora.im" rel="noopener noreferrer"&gt;@ibrahim-jam:fedora.im&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🐙 GitHub: &lt;a href="https://github.com/olawoyin365" rel="noopener noreferrer"&gt;Olawoyin365&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🌐 Fedora Account: &lt;a href="https://accounts.fedoraproject.org/user/ibrahim-jam/" rel="noopener noreferrer"&gt;ibrahim-jam&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ✅ Pre-Requisite Contributions (Completed)
&lt;/h2&gt;

&lt;p&gt;These foundational tasks demonstrate my ability to work with the Fedora community, write technical content, and communicate effectively.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Fedora Account System (FAS) Setup&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Completed:&lt;/strong&gt; March 24, 2026&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Type:&lt;/strong&gt; Account Configuration&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Status:&lt;/strong&gt; ✅ Complete&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I did:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Created and configured complete FAS profile&lt;/li&gt;
&lt;li&gt;Signed Fedora Project Contributor Agreement (FPCA)&lt;/li&gt;
&lt;li&gt;Set up Libravatar profile picture&lt;/li&gt;
&lt;li&gt;Configured Matrix, GitHub, and timezone information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Evidence:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://forge.fedoraproject.org/commops/interns/issues/116" rel="noopener noreferrer"&gt;Outreachy 2026 #116 - FAS Setup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Profile: &lt;a href="https://accounts.fedoraproject.org/user/ibrahim-jam/" rel="noopener noreferrer"&gt;https://accounts.fedoraproject.org/user/ibrahim-jam/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Skills demonstrated:&lt;/strong&gt; Following technical setup procedures, attention to detail&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;2. Personal Blog Setup&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Completed:&lt;/strong&gt; March 24, 2026&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Type:&lt;/strong&gt; Communication Platform&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Status:&lt;/strong&gt; ✅ Complete&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I did:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Established professional blog on Dev.to&lt;/li&gt;
&lt;li&gt;Configured profile with bio, social links, and branding&lt;/li&gt;
&lt;li&gt;Set up for publishing Fedora-related content&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Evidence:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://forge.fedoraproject.org/commops/interns/issues/117" rel="noopener noreferrer"&gt;Outreachy 2026 #117 - Blog Setup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Blog: &lt;a href="https://dev.to/ibrahim-jam"&gt;https://dev.to/ibrahim-jam&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Skills demonstrated:&lt;/strong&gt; Platform selection, professional presentation&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;3. Fedora Introductory Blog Post&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Completed:&lt;/strong&gt; March 24, 2026&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Type:&lt;/strong&gt; Technical Writing&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Status:&lt;/strong&gt; ✅ Complete&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I did:&lt;/strong&gt;&lt;br&gt;
Wrote a comprehensive introduction to the Fedora Project covering:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What Fedora Linux is and how it differs from other distributions&lt;/li&gt;
&lt;li&gt;The Four Foundations (Freedom, Friends, Features, First) and their practical implications&lt;/li&gt;
&lt;li&gt;The Fedora community structure and Special Interest Groups (SIGs)&lt;/li&gt;
&lt;li&gt;Diversity initiatives like Fedora Week of Diversity&lt;/li&gt;
&lt;li&gt;Practical advice for newcomers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Evidence:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://forge.fedoraproject.org/commops/interns/issues/118" rel="noopener noreferrer"&gt;Outreachy 2026 #118 - Intro Blog Post&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ibrahim-jam/discovering-fedora-my-first-days-in-an-open-source-community-that-actually-lives-its-values-4phd"&gt;Blog Post: "Discovering Fedora: My First Days in an Open Source Community"&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Skills demonstrated:&lt;/strong&gt; Technical writing, research synthesis, storytelling, hyperlinking to official resources&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Impact:&lt;/strong&gt; Provides a newcomer-friendly introduction to Fedora that future Outreachy applicants can reference&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;4. Social Media Promotion&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Completed:&lt;/strong&gt; March 24, 2026&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Type:&lt;/strong&gt; Community Outreach &amp;amp; Marketing&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Status:&lt;/strong&gt; ✅ Complete&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I did:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Created platform-specific promotional content for my Fedora intro blog post&lt;/li&gt;
&lt;li&gt;Crafted messages for Twitter/X, LinkedIn, and Facebook&lt;/li&gt;
&lt;li&gt;Used appropriate hashtags and tagged official Fedora accounts&lt;/li&gt;
&lt;li&gt;Engaged with community members who interacted with posts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Evidence:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://forge.fedoraproject.org/commops/interns/issues/119" rel="noopener noreferrer"&gt;Outreachy 2026 #119 - Social Media Promotion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Twitter/X: [&lt;a href="https://x.com/consulbarham/status/2036548843102236952?s=46" rel="noopener noreferrer"&gt;https://x.com/consulbarham/status/2036548843102236952?s=46&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;LinkedIn: [&lt;a href="https://www.linkedin.com/posts/ibrahim-olawoyin_discovering-fedora-my-first-days-in-an-open-activity-7442311882373246977-Bgwv?utm_source=social_share_send&amp;amp;utm_medium=member_desktop_web&amp;amp;rcm=ACoAADcnvbUBxAqDOAgQQQHdlGGHDnjhZdF12Hw" rel="noopener noreferrer"&gt;https://www.linkedin.com/posts/ibrahim-olawoyin_discovering-fedora-my-first-days-in-an-open-activity-7442311882373246977-Bgwv?utm_source=social_share_send&amp;amp;utm_medium=member_desktop_web&amp;amp;rcm=ACoAADcnvbUBxAqDOAgQQQHdlGGHDnjhZdF12Hw&lt;/a&gt;]&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Skills demonstrated:&lt;/strong&gt; Social media marketing, audience adaptation, community engagement&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reach:&lt;/strong&gt; [The post was actively engaged and I got DMs from interested prospective applicants to make more enquiries on how to become an outstanding applicants in future application windows]&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;5. Outreachy Onboarding Guide&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Completed:&lt;/strong&gt; March 25, 2026&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Type:&lt;/strong&gt; Technical Documentation&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Status:&lt;/strong&gt; ✅ Complete&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I did:&lt;/strong&gt;&lt;br&gt;
Wrote a comprehensive guide for future Outreachy applicants covering:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What to do in the first 24 hours after approval&lt;/li&gt;
&lt;li&gt;How to choose the right project&lt;/li&gt;
&lt;li&gt;Environment setup best practices&lt;/li&gt;
&lt;li&gt;Making your first contribution&lt;/li&gt;
&lt;li&gt;Recording contributions properly&lt;/li&gt;
&lt;li&gt;What mentors actually evaluate&lt;/li&gt;
&lt;li&gt;Common mistakes to avoid&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Evidence:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://forge.fedoraproject.org/commops/interns/issues/120" rel="noopener noreferrer"&gt;Outreachy 2026 #120 - Onboarding Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ibrahim-jam/the-first-week-panic-what-i-wish-someone-had-told-me-about-making-my-first-outreachy-contribution-k0l"&gt;Blog Post: "The First Week Panic: What I Wish Someone Had Told Me"&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Skills demonstrated:&lt;/strong&gt; Instructional writing, process documentation, empathy for newcomers&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Impact:&lt;/strong&gt; Provides actionable guidance that reduces confusion for future applicants&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Writing style:&lt;/strong&gt; Narrative approach to make technical instructions engaging and relatable&lt;/p&gt;




&lt;h2&gt;
  
  
  🔧 Project Contributions (In Progress)
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;This section will be updated as I make contributions to the RamaLama project.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Contribution #1: [Title]&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Started:&lt;/strong&gt; [Date]&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Status:&lt;/strong&gt; 🔄 In Progress / ✅ Merged&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Type:&lt;/strong&gt; Code / Documentation / Design&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I did:&lt;/strong&gt;&lt;br&gt;
[Brief description of the contribution]&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evidence:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Issue: [link]&lt;/li&gt;
&lt;li&gt;Pull Request: [link]&lt;/li&gt;
&lt;li&gt;Discussion: [link]&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Technical details:&lt;/strong&gt;&lt;br&gt;
[What technologies/approaches I used]&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learning outcomes:&lt;/strong&gt;&lt;br&gt;
[What I learned from this contribution]&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Contribution #2: [Title]&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Started:&lt;/strong&gt; [Date]&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Status:&lt;/strong&gt; 🔄 In Progress / ✅ Merged&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Type:&lt;/strong&gt; Code / Documentation / Design&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I did:&lt;/strong&gt;&lt;br&gt;
[Brief description]&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evidence:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Issue: [link]&lt;/li&gt;
&lt;li&gt;Pull Request: [link]&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Challenges &amp;amp; solutions:&lt;/strong&gt;&lt;br&gt;
[What problems I faced and how I solved them]&lt;/p&gt;




&lt;h2&gt;
  
  
  🌟 Highlighted Contribution
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;[This will be updated with my most significant contribution as the application period progresses]&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;As of March 25, 2026:&lt;/strong&gt; My highlighted contribution is the &lt;strong&gt;Outreachy Onboarding Guide&lt;/strong&gt;, which synthesizes my real-time experience as an applicant into actionable guidance for future participants. This demonstrates my ability to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Document processes clearly&lt;/li&gt;
&lt;li&gt;Think about user experience&lt;/li&gt;
&lt;li&gt;Contribute to community knowledge&lt;/li&gt;
&lt;li&gt;Write in an engaging, accessible style&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📊 Contribution Summary
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Total Contributions:&lt;/strong&gt; 5 (Pre-requisites completed)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Blog Posts:&lt;/strong&gt; 2&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Documentation:&lt;/strong&gt; 2&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Community Engagement:&lt;/strong&gt; Active in #mentoring Matrix channel&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Status:&lt;/strong&gt; All pre-requisite tasks complete, moving to project contributions&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Breakdown by Type:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;✅ Setup &amp;amp; Configuration: 2&lt;/li&gt;
&lt;li&gt;✅ Technical Writing: 2&lt;/li&gt;
&lt;li&gt;✅ Marketing/Outreach: 1&lt;/li&gt;
&lt;li&gt;🔄 Code Contributions: Coming soon&lt;/li&gt;
&lt;li&gt;🔄 Documentation Improvements: Coming soon&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 Skills Demonstrated
&lt;/h2&gt;

&lt;p&gt;Through these contributions, I've demonstrated:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical Skills:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Markdown formatting and documentation&lt;/li&gt;
&lt;li&gt;Git/GitHub workflow understanding&lt;/li&gt;
&lt;li&gt;Platform configuration (FAS, Matrix, Dev.to)&lt;/li&gt;
&lt;li&gt;Research and information synthesis&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Soft Skills:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clear technical communication&lt;/li&gt;
&lt;li&gt;Ability to follow complex instructions&lt;/li&gt;
&lt;li&gt;Proactive community engagement&lt;/li&gt;
&lt;li&gt;Storytelling and audience adaptation&lt;/li&gt;
&lt;li&gt;Time management and organization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Open Source Practices:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Working in public&lt;/li&gt;
&lt;li&gt;Documenting work transparently&lt;/li&gt;
&lt;li&gt;Contributing to community knowledge&lt;/li&gt;
&lt;li&gt;Following community guidelines and codes of conduct&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🎯 Project Goals
&lt;/h2&gt;

&lt;p&gt;As I move into the project contribution phase, my goals are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Understand the RamaLama architecture&lt;/strong&gt; - Deep dive into how RAG systems work&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Study Fedora RPM packaging guidelines&lt;/strong&gt; - Build domain knowledge&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Make meaningful code contributions&lt;/strong&gt; - Focus on quality over quantity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Document my learning journey&lt;/strong&gt; - Continue writing about what I learn&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Engage with the community&lt;/strong&gt; - Ask questions, help others, stay visible&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  📝 Work in Progress
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Current Focus (Week of March 24-30):&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Reviewing RamaLama documentation&lt;/li&gt;
&lt;li&gt;Setting up local development environment&lt;/li&gt;
&lt;li&gt;Identifying good first issues for contribution&lt;/li&gt;
&lt;li&gt;Studying existing RAG implementations&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Next Steps:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Complete development environment setup&lt;/li&gt;
&lt;li&gt;Claim first project issue&lt;/li&gt;
&lt;li&gt;Make first code contribution&lt;/li&gt;
&lt;li&gt;Continue community engagement&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📬 Contact &amp;amp; Links
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Get in touch:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Matrix: &lt;a href="https://matrix.to/#/@ibrahim-jam:fedora.im" rel="noopener noreferrer"&gt;@ibrahim-jam:fedora.im&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Email: [&lt;a href="mailto:woyin365@gmail.com"&gt;woyin365@gmail.com&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/olawoyin365" rel="noopener noreferrer"&gt;Olawoyin365&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Dev.to: &lt;a href="https://dev.to/ibrahim-jam"&gt;ibrahim-jam&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Related Resources:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://fedoraproject.org/" rel="noopener noreferrer"&gt;Fedora Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ramalama.ai/" rel="noopener noreferrer"&gt;RamaLama Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.outreachy.org/" rel="noopener noreferrer"&gt;Outreachy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ibrahim-jam/discovering-fedora-my-first-days-in-an-open-source-community-that-actually-lives-its-values-4phd"&gt;My Fedora Intro Blog Post&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ibrahim-jam/the-first-week-panic-what-i-wish-someone-had-told-me-about-making-my-first-outreachy-contribution-k0l"&gt;My Onboarding Guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔄 Portfolio Updates
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;March 25, 2026:&lt;/strong&gt; Portfolio created, all pre-requisite tasks completed&lt;br&gt;&lt;br&gt;
&lt;strong&gt;March XX, 2026:&lt;/strong&gt; Coming soon &lt;br&gt;
&lt;strong&gt;April XX, 2026:&lt;/strong&gt; [Future updates will go here]&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This portfolio is a living document and will be updated throughout the Outreachy application period. Last update: March 25, 2026&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Note to reviewers:&lt;/strong&gt; This portfolio supplements my official Outreachy application. All contributions are also recorded on the Outreachy.org platform as required.&lt;/p&gt;

</description>
      <category>outreachy</category>
      <category>fedora</category>
      <category>opensource</category>
      <category>portfolio</category>
    </item>
    <item>
      <title>The First Week Panic: What I Wish Someone Had Told Me About Making My First Outreachy Contribution</title>
      <dc:creator>Ibrahim Olawoyin</dc:creator>
      <pubDate>Wed, 25 Mar 2026 07:08:39 +0000</pubDate>
      <link>https://dev.to/ibrahim-jam/the-first-week-panic-what-i-wish-someone-had-told-me-about-making-my-first-outreachy-contribution-k0l</link>
      <guid>https://dev.to/ibrahim-jam/the-first-week-panic-what-i-wish-someone-had-told-me-about-making-my-first-outreachy-contribution-k0l</guid>
      <description>&lt;p&gt;It's 11 PM on a Friday. You refresh your email for the hundredth time, and there it is: "Your initial application for Outreachy has been approved." You do a little victory dance. You screenshot the email. You tell everyone who'll listen. Then you open the &lt;a href="https://www.outreachy.org/apply/project-selection/" rel="noopener noreferrer"&gt;Outreachy project list,&lt;/a&gt; and reality hits: &lt;em&gt;Now what?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I'm writing this exactly five days into my contribution period, while the panic is still fresh enough to remember but far enough past to laugh about. If you're reading this the night you got approved, or if you're preparing for next year's round, here's the honest truth about those first critical days.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day Zero: The Approval Email&lt;/strong&gt;&lt;br&gt;
When that email lands, you have roughly 26 days until the final application deadline (April 15, 4pm UTC for my cohort). That sounds like plenty of time. It isn't. Here's what nobody tells you: most applicants spend their first week just figuring out how to contribute. By the time they understand the process, they've lost precious days. So let's skip that learning curve. Here's what to do in the first 24 hours after approval.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First, breathe.&lt;/strong&gt; You made it past the initial application. That's huge. The reviewers saw something in your essays that resonated. You belong here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Second, resist the urge to immediately start coding.&lt;/strong&gt; I know. Your instinct is to dive into the most complex issue and prove yourself. Don't. That path leads to frustration and abandoned pull requests. Instead, spend your first evening reading. Actually reading. The &lt;a href="https://www.outreachy.org/docs/applicant/" rel="noopener noreferrer"&gt;Outreachy Applicant Guide&lt;/a&gt; is long and slightly boring, but it answers 90% of the questions you'll panic about later. Set a timer for one hour and just read it straight through.&lt;/p&gt;

&lt;p&gt;The single most important thing you'll learn: &lt;strong&gt;you need at least one accepted contribution to be eligible for selection.&lt;/strong&gt; Not started. Not submitted. &lt;em&gt;Accepted.&lt;/em&gt; That means reviewed, approved, and merged or documented.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day One: Choosing Your Project&lt;/strong&gt;&lt;br&gt;
Saturday morning. Coffee in hand. Now you face the project list.&lt;br&gt;
Here's my advice, learned from almost making the wrong choice: pick the project where the description makes you genuinely curious, not the one where you already know everything.&lt;/p&gt;

&lt;p&gt;I almost skipped the Fedora AI project because I thought "I'm not an AI expert, I'll pick something safer." Then I realized: Outreachy exists specifically to help people learn new things. The mentors know you're not an expert. They're evaluating your ability to learn, not your existing knowledge. Read through 3-5 project descriptions. For each one, ask yourself: "Would I be excited to work on this for three months?" If the answer isn't an immediate yes, keep looking.&lt;/p&gt;

&lt;p&gt;Once you've chosen, do this before touching any code:&lt;br&gt;
&lt;strong&gt;Join the communication channels.&lt;/strong&gt; Every project lists how to contact mentors. For Fedora, it was &lt;a href="https://chat.fedoraproject.org/" rel="noopener noreferrer"&gt;Matrix.&lt;/a&gt; For other projects, it might be Slack, Zulip, or IRC.&lt;br&gt;
Here's the template I used to introduce myself:&lt;br&gt;
&lt;em&gt;"Hi everyone! I'm [Name], an Outreachy applicant interested in [Project Name]. I have experience with [relevant skill] and I'm excited to learn about [project area]. I'm in [timezone]. Looking forward to contributing!"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Short. Specific. Shows you've read the project description.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why this matters:&lt;/strong&gt; Mentors are watching who shows up early and communicates clearly. In my project's chat, I noticed the mentors responded warmly to early introductions and helped those people find good first tasks faster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Days Two Through Four: The Setup Marathon&lt;/strong&gt;&lt;br&gt;
This is the part everyone underestimates. Setting up your environment isn't five minutes of &lt;strong&gt;git clone.&lt;/strong&gt; It's accounts, authentication, configurations, and inevitable "why isn't this working" troubleshooting.&lt;br&gt;
For Fedora, I needed a &lt;a href="https://accounts.fedoraproject.org/" rel="noopener noreferrer"&gt;Fedora Account System (FAS)&lt;/a&gt; profile, Matrix account, and blog. Each took 15-30 minutes. Account propagation across systems took another 30 minutes. Suddenly, half a day is gone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The trick:&lt;/strong&gt; Treat setup as your first contribution to yourself. Create a document titled "How I Set Up My Environment" and write down every step. When you inevitably need to troubleshoot later, you'll thank yourself. Plus, this document itself can become a contribution if you polish it and submit it as documentation improvement.&lt;/p&gt;

&lt;p&gt;During setup, you'll hit weird errors. I spent an hour dealing with a 401 authentication error because I didn't realize Fedora's systems needed time to sync. When you get stuck for more than two hours, ask for help in the community chat. Seriously. Mentors would rather answer setup questions than have you disappear in frustration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day Five: Your First Actual Contribution&lt;/strong&gt;&lt;br&gt;
By now you understand the project better. You've lurked in chat. You've read some existing code or documentation.&lt;br&gt;
It's time to claim a task.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start small.&lt;/strong&gt; I cannot stress this enough. Your first contribution should be something you can complete in 2-4 hours, not 2-4 days.&lt;br&gt;
Look for issues tagged &lt;strong&gt;good first issue,&lt;/strong&gt; &lt;strong&gt;newcomer-friendly,&lt;/strong&gt; or &lt;strong&gt;help wanted.&lt;/strong&gt; If none exist, email your mentor: &lt;em&gt;"Hi [Name], I'm ready to make my first contribution. Could you suggest a beginner-friendly task that would help me understand the codebase?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When you find a task, &lt;strong&gt;claim it publicly.&lt;/strong&gt; Comment on the issue: "I'd like to work on this. I'll have a draft PR by [realistic date]."&lt;br&gt;
Here's what good claiming looks like: You give yourself a deadline. You're accountable. Mentors can see you're serious.&lt;/p&gt;

&lt;p&gt;Then actually do the work. And here's the secret: &lt;strong&gt;your first contribution will probably need revisions.&lt;/strong&gt; That's not failure. That's the process. Expect feedback. Welcome it. Respond to it quickly.&lt;br&gt;
My first contribution was fixing a typo in documentation. Took 30 minutes. Got merged in 24 hours. It was tiny, but it taught me the entire workflow: fork, branch, commit, push, PR, review, merge. Now I understood the mechanics.&lt;/p&gt;

&lt;p&gt;My second contribution was writing a missing setup guide. Took three days. Went through two rounds of feedback. Taught me how to communicate with reviewers and iterate on work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Recording Step Everyone Forgets&lt;/strong&gt;&lt;br&gt;
Here's where people lose eligibility: they make contributions but forget to record them on the &lt;a href="https://www.outreachy.org/" rel="noopener noreferrer"&gt;Outreachy website.&lt;/a&gt;&lt;br&gt;
After each contribution is accepted, go to your project page on Outreachy.org. Click "Record contributions and create a final application." Add the contribution with:&lt;/p&gt;

&lt;p&gt;Date you started&lt;br&gt;
Date it was accepted&lt;br&gt;
URL to the PR, patch, or work&lt;br&gt;
Brief description&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do this immediately after each contribution.&lt;/strong&gt; Don't wait until the last week and try to remember everything you did.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Actually Matters to Mentors&lt;/strong&gt;&lt;br&gt;
After four days of watching other applicants and talking to mentors, here's what I've learned they care about:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Communication over perfection.&lt;/strong&gt; They'd rather see you ask questions and submit imperfect work than disappear for a week and submit something mysterious.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consistency over volume&lt;/strong&gt;. One person made 15 tiny contributions. Another made 2 substantial ones with good documentation. The second person got more mentor attention because their work showed depth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding over execution.&lt;/strong&gt; If you submit code you can't explain, that's a red flag. If you submit simpler code with clear comments explaining your reasoning, that's impressive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Initiative over waiting.&lt;/strong&gt; When you're blocked, do you sit quietly or do you post in chat: "I'm stuck on X, here's what I've tried, what should I try next?" The second approach shows resourcefulness.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Mindset Shift That Helped Me&lt;/strong&gt;&lt;br&gt;
I stopped thinking "I need to impress them with my skills" and started thinking "I need to show them I can learn and collaborate."&lt;br&gt;
Outreachy isn't looking for experts. They're looking for people who can:&lt;/p&gt;

&lt;p&gt;Communicate clearly when stuck&lt;br&gt;
Accept and implement feedback gracefully&lt;br&gt;
Work publicly in a community&lt;br&gt;
Learn new things quickly&lt;br&gt;
Contribute consistently&lt;/p&gt;

&lt;p&gt;You already proved you face underrepresentation in tech by getting your initial application approved. Now prove you can thrive in an open source community despite that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your Week One Checklist&lt;/strong&gt;&lt;br&gt;
By day seven, you should have:&lt;/p&gt;

&lt;p&gt;Read the applicant guide thoroughly&lt;br&gt;
Chosen your project and joined communication channels&lt;br&gt;
Introduced yourself to mentors&lt;br&gt;
Completed environment setup&lt;br&gt;
Made at least one contribution attempt (even if not merged yet)&lt;br&gt;
Started your second contribution&lt;br&gt;
Recorded everything on Outreachy.org&lt;/p&gt;

&lt;p&gt;That's it. You don't need ten contributions in week one. You need to show up, communicate, and make steady progress.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thought&lt;/strong&gt;&lt;br&gt;
It's now Wednesday, March 25th. I'm five days in. I have two contributions accepted, one in review, and a growing sense that I can actually do this.&lt;br&gt;
The panic from Friday night has transformed into focused work. Not because I suddenly became an expert, but because I stopped trying to be perfect and started trying to be consistent.&lt;/p&gt;

&lt;p&gt;If you're reading this the night you got approved, here's my advice: Close this tab. Read the applicant guide. Join your project's chat. Introduce yourself.&lt;/p&gt;

&lt;p&gt;Then get some sleep. You've got 26 days ahead of you. Start tomorrow fresh.&lt;/p&gt;

&lt;p&gt;You've got this.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>devjournal</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Discovering Fedora: My First Days in an Open Source Community That Actually Lives Its Values</title>
      <dc:creator>Ibrahim Olawoyin</dc:creator>
      <pubDate>Tue, 24 Mar 2026 20:21:05 +0000</pubDate>
      <link>https://dev.to/ibrahim-jam/discovering-fedora-my-first-days-in-an-open-source-community-that-actually-lives-its-values-4phd</link>
      <guid>https://dev.to/ibrahim-jam/discovering-fedora-my-first-days-in-an-open-source-community-that-actually-lives-its-values-4phd</guid>
      <description>&lt;p&gt;Friday, March 20th, 2026. 5:00 PM.&lt;/p&gt;

&lt;p&gt;The notification landed in my inbox: "Your initial application for Outreachy has been approved."&lt;/p&gt;

&lt;p&gt;I stared at the screen, re-reading it twice. I was moving to the contribution phase. &lt;/p&gt;

&lt;p&gt;Now came the hard part: choosing which project to work on.&lt;/p&gt;

&lt;p&gt;I scrolled through the &lt;a href="https://www.outreachy.org/apply/project-selection/" rel="noopener noreferrer"&gt;Outreachy project list&lt;/a&gt;, past dozens of opportunities. Then I saw it: &lt;strong&gt;Develop a SLM/LLM using RamaLama RAG based off Fedora RPM Packaging Guidelines&lt;/strong&gt;. Fedora. I'd heard the name before in Linux circles. But I didn't really know what it was. Not yet. Four days of research later, here I sit, writing this as a newly minted member of the &lt;a href="https://fedoraproject.org/" rel="noopener noreferrer"&gt;Fedora community&lt;/a&gt;. And honestly? I'm impressed.&lt;/p&gt;

&lt;p&gt;Let me tell you why.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Actually Is Fedora?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I first told a friend I was applying to work with Fedora, they asked: "The hat company?"&lt;/p&gt;

&lt;p&gt;No. Not the hat.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://fedoraproject.org/" rel="noopener noreferrer"&gt;Fedora&lt;/a&gt; is a free and open-source operating system based on Linux.&lt;/strong&gt; Think of it like Windows or macOS, but completely free, transparent, and community-driven. But calling Fedora "just an operating system" is like calling a library "just books." Technically true. Completely missing the point.&lt;/p&gt;

&lt;p&gt;Fedora is three things:&lt;br&gt;
&lt;strong&gt;1. Fedora Linux: The Operating System&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://fedoraproject.org/workstation/" rel="noopener noreferrer"&gt;Fedora Linux&lt;/a&gt; is what you install on your computer. It comes in different flavors depending on what you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fedora Workstation:&lt;/strong&gt; For developers and creators (this is what most people use)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fedora Server:&lt;/strong&gt; For running servers and infrastructure&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fedora IoT:&lt;/strong&gt; For Internet of Things devices&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fedora CoreOS:&lt;/strong&gt; For containerized workloads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What makes it special? Fedora gets new technology &lt;strong&gt;first.&lt;/strong&gt; When there's a breakthrough in Linux, Fedora adopts it fast. New kernel version? Fedora has it. Latest GNOME desktop? Fedora ships it. You're not just using Linux. You're on the cutting edge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The Fedora Project: How It All Comes Together&lt;/strong&gt;&lt;br&gt;
The &lt;a href="https://docs.fedoraproject.org/en-US/project/" rel="noopener noreferrer"&gt;Fedora Project&lt;/a&gt; is the global collaboration that builds Fedora Linux. It's sponsored by &lt;a href="https://www.redhat.com/" rel="noopener noreferrer"&gt;Red Hat&lt;/a&gt; (the world's leading open-source company), but run by a worldwide community of volunteers and Red Hat employees working together.&lt;/p&gt;

&lt;p&gt;Here's what I found fascinating: Fedora isn't just Red Hat's playground. It's a genuine partnership. Volunteers and employees have equal voice in decisions. The community drives innovation, and Red Hat provides resources and infrastructure.&lt;/p&gt;

&lt;p&gt;The relationship works because both sides benefit. Fedora gets corporate backing without corporate control. Red Hat gets a testing ground for innovations that later flow into &lt;a href="https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux" rel="noopener noreferrer"&gt;Red Hat Enterprise Linux (RHEL).&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. The Fedora Community: The People Behind Everything&lt;/strong&gt;&lt;br&gt;
This is where it gets interesting.&lt;br&gt;
&lt;a href="https://fedoraproject.org/wiki/Join" rel="noopener noreferrer"&gt;The Fedora community&lt;/a&gt; isn't just users. It's thousands of contributors from every continent, working on everything from code to design to documentation to event planning. When I joined the #mentoring Matrix channel this week, I was greeted within minutes. Not with "read the docs first" gatekeeping. With genuine welcome and offers to help. That's the difference between a user base and a community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Four Foundations: Why Fedora Does What It Does&lt;/strong&gt;&lt;br&gt;
During my research, I kept seeing references to "the Four Foundations." I assumed it was marketing jargon. Then I learned about &lt;a href="https://docs.fedoraproject.org/en-US/commops/" rel="noopener noreferrer"&gt;Fedora Community Outreach Steering Committee (CommOps)&lt;/a&gt; and how the Four Foundations were formally adopted to guide every decision Fedora makes. These aren't suggestions. They're non-negotiable principles:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Freedom&lt;/strong&gt;&lt;br&gt;
Fedora uses only &lt;a href="https://docs.fedoraproject.org/en-US/legal/allowed-licenses/" rel="noopener noreferrer"&gt;free and open-source software.&lt;/a&gt; No exceptions. No proprietary drivers hiding in the background. No "open core" models where the good stuff costs money. Every line of code is available for you to inspect, modify, and redistribute.&lt;/p&gt;

&lt;p&gt;Why does this matter? Because it means I can trust what's running on my computer. No telemetry I can't disable. No features locked behind paywalls. Just software that respects my freedom.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Friends&lt;/strong&gt;&lt;br&gt;
The &lt;a href="https://docs.fedoraproject.org/en-US/project/code-of-conduct/" rel="noopener noreferrer"&gt;Fedora Code of Conduct&lt;/a&gt; isn't just posted and forgotten. It's actively enforced. The community genuinely practices "be excellent to each other." I've asked what probably seem like obvious questions this week. Zero condescension. Just patient explanations and pointers to helpful resources.&lt;/p&gt;

&lt;p&gt;In tech, that's rare enough to be worth mentioning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;br&gt;
Fedora leads. Others follow.&lt;br&gt;
&lt;a href="https://fedoramagazine.org/what-is-an-init-system/" rel="noopener noreferrer"&gt;Systemd?&lt;/a&gt; Fedora pioneered it. &lt;a href="https://fedoramagazine.org/what-is-wayland/" rel="noopener noreferrer"&gt;Wayland?&lt;/a&gt; Fedora adopted it early. &lt;a href="https://flatpak.org/" rel="noopener noreferrer"&gt;Flatpak?&lt;/a&gt; Fedora helped develop it.&lt;/p&gt;

&lt;p&gt;The tradeoff: sometimes things break because you're running tomorrow's technology today. But that's the deal. You get innovation at the cost of occasional instability. For me, that's exciting. For enterprise users, that's what RHEL is for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First&lt;/strong&gt;&lt;br&gt;
Fedora doesn't wait for consensus. It experiments, iterates, and ships.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://ramalama.ai/" rel="noopener noreferrer"&gt;RamaLama project&lt;/a&gt; I'm working on is a perfect example. Instead of waiting for AI tools to mature on proprietary platforms, Fedora said: "Let's make AI accessible through containers right now."&lt;/p&gt;

&lt;p&gt;That boldness? It's baked into Fedora's DNA.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Find Interesting About Fedora&lt;/strong&gt;&lt;br&gt;
Three things grabbed my attention this week:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. The SIG Structure&lt;/strong&gt;&lt;br&gt;
Fedora organizes work through &lt;a href="https://docs.fedoraproject.org/en-US/quick-docs/joining-a-sig/" rel="noopener noreferrer"&gt;Special Interest Groups (SIGs).&lt;/a&gt; There's a SIG for almost everything: Python packaging, gaming, design, internationalization, AI/ML, security. Each SIG operates semi-independently. They set goals, make decisions, and ship work without endless bureaucracy. It's decentralized decision-making at scale. And it works.&lt;br&gt;
&lt;strong&gt;2. Fedora's Relationship with Upstream Projects&lt;/strong&gt;&lt;br&gt;
Fedora doesn't just package software. They &lt;a href="https://docs.fedoraproject.org/en-US/package-maintainers/Staying_Close_to_Upstream_Projects/" rel="noopener noreferrer"&gt;contribute back to upstream projects.&lt;/a&gt; When Fedora packagers find bugs, they fix them in the original project, not just in Fedora's version. This "upstream first" mentality means improvements benefit everyone, not just Fedora users.&lt;br&gt;
&lt;strong&gt;3. The Diversity Initiatives&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://fedoraproject.org/wiki/Fedora_Week_of_Diversity" rel="noopener noreferrer"&gt;Fedora Week of Diversity (FWD)&lt;/a&gt; isn't a token effort. It's a week-long celebration with talks, workshops, and genuine community building.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://communityblog.fedoraproject.org/tag/contributor-stories/" rel="noopener noreferrer"&gt;Contributor Stories initiative&lt;/a&gt; highlights individual contributors regularly. Not just core developers. Everyone who makes an impact. Representation matters. Fedora gets that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Still Confuses Me About Fedora&lt;/strong&gt;&lt;br&gt;
I won't pretend I understand everything.&lt;/p&gt;

&lt;p&gt;The ecosystem is vast. Fedora Workstation, Server, IoT, CoreOS, Silverblue, Kinoite... I'm still mapping out what each variant does and when you'd use one over another.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://docs.fedoraproject.org/en-US/quick-docs/dnf/" rel="noopener noreferrer"&gt;package management system (DNF)&lt;/a&gt; is powerful but has a learning curve coming from other Linux distributions. And I'm still wrapping my head around how &lt;a href="https://docs.fedoraproject.org/en-US/package-maintainers/" rel="noopener noreferrer"&gt;RPM packaging&lt;/a&gt; works. That's actually what my Outreachy project is about, so I'll be learning in public over the next few weeks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advice for Future Outreachy Applicants&lt;/strong&gt;&lt;br&gt;
If you're reading this next year, preparing to apply, here's what I wish I'd known:&lt;br&gt;
&lt;strong&gt;Start with the &lt;a href="https://fedoraproject.org/wiki/Join" rel="noopener noreferrer"&gt;Fedora join page&lt;/a&gt;&lt;/strong&gt; It's the clearest entry point.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don't wait to feel "ready."&lt;/strong&gt; I almost didn't choose this project because I thought I needed to be a Fedora expert first. The community wants newcomers. Your fresh perspective is valuable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Actually join the &lt;a href="https://chat.fedoraproject.org/" rel="noopener noreferrer"&gt;Matrix channels&lt;/a&gt;&lt;/strong&gt;. Reading documentation helps. Talking to people helps more. The #mentoring channel is specifically for people like us.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pick a project that genuinely interests you&lt;/strong&gt;. I chose the &lt;a href="https://pagure.io/fedora-interns/issues" rel="noopener noreferrer"&gt;RamaLama AI project&lt;/a&gt; because I'm fascinated by making AI accessible. That genuine interest will carry you through the challenging parts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Read the &lt;a href="https://www.outreachy.org/docs/applicant/" rel="noopener noreferrer"&gt;Applicant Guide&lt;/a&gt; thoroughly.&lt;/strong&gt; Outreachy has clear expectations. Meet them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why This Matters&lt;/strong&gt;&lt;br&gt;
I grew up without easy access to tech resources. Open source changed that. It gave me tools to learn, to build, to prove what I could do.&lt;br&gt;
Fedora takes that idea and scales it. Not just "here's free software." But "here's a community that will teach you, support you, and value your contributions from day one."&lt;br&gt;
Four days ago, I was an outsider researching project options.&lt;br&gt;
Today, I'm a contributor with a FAS account, a blog, and actual work to do.&lt;br&gt;
That transition happened because Fedora doesn't just talk about being open. They structure their entire community to turn curious newcomers into effective contributors.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's Next&lt;/strong&gt;&lt;br&gt;
I'm diving into the RamaLama project: building an AI model using Retrieval Augmented Generation to help Fedora packagers follow &lt;a href="https://docs.fedoraproject.org/en-US/packaging-guidelines/" rel="noopener noreferrer"&gt;RPM guidelines.&lt;/a&gt;&lt;br&gt;
It's ambitious. It's technical. It's exactly what I want to be doing.&lt;br&gt;
If you're curious about Fedora, start at &lt;a href="https://fedoraproject.org/" rel="noopener noreferrer"&gt;fedoraproject.org.&lt;/a&gt; If you're thinking about Outreachy, start at &lt;a href="https://www.outreachy.org/" rel="noopener noreferrer"&gt;outreachy.org.&lt;/a&gt;&lt;br&gt;
The community's waiting. And they actually mean it when they say everyone's welcome.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>community</category>
      <category>linux</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
