Von der langen Folge zum kurzen Snack: Wie wir den Coffee Talk neu denken und Euch auf Instagram und TikTok abholen. Ihr kennt es: Der Coffee Talk ist unser monatliches Format, bei dem wir tief in die Welt von Linux, Open Source und Technik eintauchen. Wir sprechen über Distributionen, Tools, Datenschutz und alles, was uns als Community bewegt. Normalerweise […]
Mit Ubuntu 26.04 LTS wird Authd erstmals offiziell über die Paketquellen verfügbar. Der Daemon erlaubt die Authentifizierung mit Cloud-Providern wie Microsoft.
Nachdem Vorwerk die Cloud-Plattform für Neato vorzeitig abgeschaltet hat, fordern tausende Nutzer in einer Petition den Erhalt ihrer smarten Saugroboter.
Our March newsletter brings you the energy of 22 I Love Free
Software Day celebrations across Europe, the Norwegian release of Ada &
Zangemann, updates on the Cyber Resilience Act and Router Freedom, and
two fresh Software Freedom Podcast episodes.
Spring is just around the corner, and we are feeling re-energised,
not only thanks to the sunshine, but also because of the inspiring days
we spent celebrating I Love Free Software Day across Europe. This year,
22 gatherings took place in 12 European countries!
I Love Free Software Day 2026
Every year on 14 February and in the days around it, we come
together, online and in person, to express our appreciation to
everyone who is part of the Free Software communities. Whether through local
meet-ups, talks, workshops, postcards, blog posts, social media
messages, or simple words of gratitude, the message is clear: Free
Software exists and thrives because of the people who build, maintain,
document, translate, test, and support it.
For the 2026 celebration, and under the motto "Maintainers Matter",
our communities organised 22 events across 12 different European
countries, reaching more than 300 people offline. And many more people
celebrated it online. Hundreds of individuals and organisations joined
the celebration on the Fediverse, sharing appreciation posts and
gratitude messages. For the first time, the celebration also reached the
front page of Hacker News, thanks to a "Thank You" blog post by Matthias
Kirschner, the President of the FSFE, who
shared his appreciation for Arch Linux and the extensive
ArchWiki.
That was not the only podcast episode published in recent
weeks. Remember FOSDEM? Our 46th episode, recorded there, is now out! In
it, Lucas Lasota and Bonnie Mehring discuss interoperability
compliance under the EU's Digital Markets Act (DMA) and mobile
phones. The episode dives deeper into compliance changes in the
Android Open Source Project (AOSP).
During FOSDEM 2026, we also held a Q&A session on the Cyber
Resilience Act, together with a representative of the German market
surveillance authority and the European Commission, as there are still
uncertainties and recurring questions. There, we talked about the role
of the steward as people are still unsure whether and under what
circumstances they should or might want to become a steward. One part of
the question is relatively easy to answer: no one has to become a
steward.
Besides the option of becoming a steward, there is also the option of
attestation (Art. 25 CRA). In order to facilitate the due diligence
obligation, voluntary security attestation programmes could be
established. As uncertainty around attestation remains, we launched
a survey to gather input from the community. The survey closed at
the end of February, and we are currently evaluating the results. We
will share the findings with decision-makers and relevant stakeholders,
incorporating them into the ongoing process. As always, our focus is on
ensuring that Free Software contributors and small projects are
protected and supported.
Together with other civil society organisations, the FSFE signed an open
letter addressed to Sundar Pichai, CEO of Google, regarding Google's
announced policy requiring all Android app developers to register
centrally with Google to be allowed to distribute applications outside the Google Play
Store. Google's plan would mean that all personal data of Free Software
app developers on Android would end up with Google, even apps
distributed outside the Play Store, by forcing developers to register
and hand over ID. It raises barriers for small and volunteer projects,
like F-Droid, and increases the risk of surveillance, censorship, and
arbitrary bans against privacy‑protecting and critical apps. The letter asks Google to rescind the mandatory developer registration
for all third-party distribution, engage in transparent dialogue with
civil society, Free Software communities, and regulators on improving
security without sacrificing openness, and commit to platform
neutrality so that Google's role as Android steward does not conflict
with its commercial interests.
To help us, you can read and share the open letter: https://keepandroidopen.org/open-letter/.
If you are part of an organisation, join the signatories from across
civil society, Free Software communities, and industry.
Please help so that Google also understands it is not in its interest
to jeopardise its own success in mobile by making Android unfriendly to
developers who care about software freedom
From Ada's workshop
All these efforts, from policy and surveys to community celebrations
and our podcast, share a common goal: empowering people to understand,
use, share, and improve technology. This is exactly why stories like
Ada & Zangemann matter so much. When Petter
discovered the book, he immediately felt that Norwegian-speaking readers
should have access to its inspiring message. Now, Ada og Zangemann – En fortelling om programvare, rullebrett og bringebæris has been published and was presented during the
Norwegian I Love Free Software Day celebrations.
Meanwhile, our community continues to organise events for children to
learn about Free Software with the help of Ada. At the beginning of
February, at the Kids Village Open Source event in Brussels, an
Ada & Zangemann reading session in French took
place alongside a small Ada-themed game.
Last but not least, if you are in Germany and coming to Chemnitzer
Linux-Tage 2026, come by to say "Hi!" We will be there with a booth
full of info material and merchandise as well as giving some talks!
Your support helps us move our work forward.
We may be
behind the wheel, but you are the ones keeping us moving forward. We
would like to thank our community and all the volunteers, supporters,
and donors who make our work possible, with a special mention to our
translators who make it possible for you to read this newsletter in
your mother tongue.You can also support us, contribute to our work, and join our community. Are you using social
media? If so, do not forget to follow us there! You can also follow the
FSFE news in your RSS Reader.
Das deutsche Start-up Polarise, dass auch das Münchner Rechenzentrum genaut hat und betreibt, das jetzt die Telekom für ihre KI-Cloud nutzt, plant ein weiteres, doppelt so großes Rechenzentrum in…
Ein neues Konsortium europäischer Hersteller unter Führung des deutschen Unternehmens Volla Systeme GmbH will die Abhängigkeit von Googles Sicherheitsdiensten verringern. Die Initiative trägt den Namen UnifiedAttestation und soll eine offene, transparente und überprüfbare Lösung für die Sicherheitsprüfung mobiler Betriebssysteme schaffen. Die Volla Systeme GmbH hat das Projekt angestoßen und mehrere Anbieter aus Europa und Asien […]
OpenAi übernimmt das Start-up des KI-Sicherheitsspezialisten Promptfoo, das darauf spezialisiert ist, Schwachstellen in KI-Systemen während der Entwicklung zu identifizieren und zu beheben.
Für den Tübinger Linuxtag Tübix am 4. Juli suchen die Veranstalter noch nach Vorträgen. Der Call for Papers läuft noch bis 4. Mai. Die Anmeldung für das Jugendprogramm ist ebenfalls eröffnet.
Google Play Integrity bedeutet für alternative Betriebssysteme auf Android-Basis oft ein Ausschlusskriterium. Dem will ein neues, von der Volla Systeme GmbH initiiertes Industriekonsortium abhelfen.
Rund um Proton entsteht gerade viel Unruhe und viele Stimmen werfen dem Anbieter vor, Nutzerdaten an das FBI weitergereicht zu haben. Die Diskussion wirkt hitzig und oft unvollständig, daher lohnt sich ein genauer Blick auf die Fakten. Proton weist die Vorwürfe zurück und erklärt in einem Transparenzbericht, keine Daten an ausländische Behörden oder Dienste zu […]
Die freie KDE-Bildverwaltung digiKam ist nach mehrmonatiger Entwicklungszeit in der neuen Hauptversion 9.0.0 erschienen. Unter anderem wurde damit die Migration auf Qt 6 abgeschlossen.
Ein chinesischer KI-Agent sollte eigentlich trainiert werden. Stattdessen schürfte er heimlich Kryptowährung und baute Tunnelverbindungen ins Internet auf.
Rund um die Integration von KI-Tools in Xcode hat sich Apple bisher nicht mit Ruhm bekleckert (siehe auch meinen Blog-Artikel zu Xcode 26.1 und 26.2). Aber mit Version 26.3 ist Xcode endlich doch im KI-Zeitalter angekommen. Der Schlüssel zum Erfolg: die Einhaltung offener Standards.
KI funktioniert in Xcode 26.3, weil Apple mit mcpbridge einen MCP-Server mit ca. 20 Tools für Xcode implementiert hat. Damit können Sprachmodelle direkt mit Xcode kommunizieren, Code ändern, auf aktuelle Apple-spezifische Dokumentation zugreifen, Apps ausprobieren und Fehler beheben.
KI-unterstützte App-Entwicklung in Xcode
Konfiguration
Der Konfigurationsdialog Intelligence sieht simpel aus, stiftet in Wirklichkeit aber Verwirrung. Auf den ersten Blick könnte man meinen, es gäbe zwei vordefinierte KI-Provider: OpenAI mit ChatGPT und Codex auf der einen Seite, Anthropic mit Claude auf der anderen Seite. Es sind aber VIER!
ChatGPT: simple KI-Unterstützung, in begrenztem Ausmaß kostenlos
OpenAI Codex: Agentic Coding mit Codex
Claude: simple KI-Unterstützung
Claude Agent: Agentic Coding mit Claude (vergleichbar mit der CLI Claude Code)
Ich gehe im Folgenden davon aus, dass Sie ein ChatGPT- oder Claude-Abo haben und dieses für Xcode nutzen möchten. Dazu installieren Sie zuerst das entsprechende Zusatzprogramm OpenAI Codex bzw. Claude Agent (Button Get). Ärgerlicherweise scheint die KI-Integration auch ohne diese Zusatzinstallation zu funktionieren — aber dann landen Sie bei den eingeschränkten Varianten ChatGPT oder Claude, die nur mittelmäßig funktionieren, keine Skill-Unterstützung aufweisen usw.
Für Agentic Coding müssen die Zusatzkomponenten »Codex« bzw. »Claude Agent« installiert werden!
Im nächsten Schritt müssen Sie die Verbindung zum jeweiligen KI-Konto herstellen. Die Authentifizierung erfolgt in einem Webbrowser-Fenster. Die konfigurierten KI-Tools bekommen automatisch Zugang zu den MCP-Diensten von Xcode.
KI-Konfiguration in Xcode
Es besteht auch die Möglichkeit, andere externe sowie lokale KI-Provider zu nutzen. Am interessantesten wäre sicherlich Google Gemini, aber ich habe aus Zeitgründen von Tests abgesehen. (Freie, lokale Modelle sind nach meinen Erfahrungen mit anderen IDEs eher ungeeignet. Sie sind für Agentic Coding nicht leistungsfähig genug. Außerdem basieren sie meist auf relativ altem Trainingsmaterial, was bei Swift/SwiftUI besonders ungünstig ist.)
Die Option Allow external agents to use Xcode tools ist nur dann relevant, wenn Sie ein externes (nicht in Xcode eingebettetes) KI-Tool verwenden, z.B. Claude Code oder Codex. Diese externen Tools können dann den in Xcode integrierten MCP-Server nutzen und z.B. Apps ausführen, davon Screenshots erstellen und auf diese Weise UI-Fehler erkennen/beheben.
In der KI-Seitenleiste wählen Sie den gewünschten, zuvor konfigurierten KI-Dienst aus. Alle Agentic Coding Funktionen gibt es aber nur mit Codex oder Claude Agent!
Auswahl zwischen den vorweg konfigurierten Diensten in der KI-Seitenleiste. Agentic Coding setzt »Codex« oder »Claude Agent« voraus!
Erster Versuch (ChatGPT)
Als ersten Versuch habe ich mit dem Modell ChatGPT (ohne OpenAI-Konto) eine minimale Variante des Break-Out-Spiels als iOS-App entwickelt (siehe die erste Abbildung dieses Artikels).
Prompt: create a simple break out game as an iOS app
Zwei Minuten später war die App fertig. 170 Zeilen Code, alle in ContentView.swift. Xcode zeigte allerdings einen Build-Error an und wies auch gleich auf die Ursache hin: Es fehlte import Combine, worum ich mich selbst kümmerte. Danach war die App prinzipiell verwendbar.
Einerseits ist das Ergebnis beeindruckend, andererseits ist die Code-Qualität aber nicht großartig: Xcode bemängelte zwei onChange-Aufrufe, deren Syntax veraltet ist. Aber auch davon losgelöst ist der Code nicht effizient. Die Spielelemente sind alle in SwiftUI abgebildet (kein SpriteKit). Das ist die einfachste Lösung, aber die Implementierung ist langsam. Das Spiel wird stotternd langsam, sobald das Paddel mit der Maus verschoben wird.
Ich habe mit ein paar Folge-Prompts versucht, das Spiel zu verbessern:
Prompt: the onChange() modifiers are deprecated; please fix
Prompt: ok. it works, but it is extremely slow if I move the paddle. (As long as there is no user input, speed is OK)
Das KI-Tool ersetzte zuerst onChange durch task (OK) und baute dann @GestureState ein, um die Geschwindigkeit zu verbessern (ohne Erfolg).
Zweiter Versuch (Claude Agent)
Für den zweiten Versuch habe ich zuerst den Claude Agent heruntergeladen und mit meinem Claude-Konto verknüpft. Gleicher Prompt, also:
Prompt: create a simple break out game as an iOS app
Der erste Unterschied zum vorigen Beispiel besteht darin, dass der Claude Agent über das Problem zuerst nachdenkt und eine To-do-Liste erstellt. Diese arbeitete er dann Punkt für Punkt ab.
Der Code fällt mit ca. 350 Zeilen deutlich umfangreicher aus. Er ist in den beiden neuen Dateien BreakOutGame.swift und BreakOutGameView.swift deutlich besser organisiert. Der Code trennt zwischen Datenmodell und View. (Auf eine vollständige Realisierung des MVVM-Musters hat der Claude Agent aber verzichtet.) Der Code funktioniert auf Anhieb und ist frei von offensichtlich veralteten Funktionen. Auch die Performance ist deutlich besser.
Noch ein Break-Out-Spiel, diesmal generiert vom Claude Agent
Xcode kritisiert allerdings zwei Main-actor-Isolation-Probleme (Warnungen, keine Errors).
Prompt: there are two main actor isolation warnings; fix them
Claude gelingt es auf Anhieb, die Probleme zu beheben (Respekt!).
Eine weitere Analyse des Codes ergibt: Der Code ist OK, aber nicht ausgezeichnet. Der SwiftUI-Pro-Skill (mehr dazu in einem zweiten Blog-Artikel) kritisiert z.B. die Verwendung eines Timers für den GameLoop und schlägt stattdessen TimeLineView(.animation) vor.
Beispiel 3: Vorhandenen Code bearbeiten/erweitern (Claude Agent)
Im dritten Beispiel habe ich das einigermaßen komplexe Cart-Projekt aus meinem Swift-Buch geladen (siehe Kapitel 25). In ca. 2000 Zeilen Code, die über ein Dutzend Dateien verteilt sind, realisiert die App die Verwaltung einer Einkaufsliste, die mittels eines Backends (REST-API) über mehrere Familienmitglieder synchronisiert wird.
Mein erster Prompt sah so aus:
Prompt: /init
Dieses Claude-Code-typische Kommando analysiert die Code-Basis und erstellt die Datei CLAUDE.md mit einer Zusammenfassung über die Organisation des Codes. Damit tut sich der Claude Agent bei weiteren Aufrufen leichter, sich im Code zu orientieren, und muss diesen Schritt nicht wiederholen. Die Datei landet direkt im Projektverzeichnis und ist deswegen im Projektnavigator (der eine Ebene tiefer ansetzt) unsichtbar.
Der Claude Agent lädt diese Datei bei zukünftigen Sessions automatisch. In der Regel ist es zweckmäßig, die Datei durchzulesen und bei Bedarf eigene Erweiterungen durchzuführen. Ich habe bei diesem Test aber darauf verzichtet.
Als Nächstes habe ich in den Projekteinstellungen Default Actor Isolation = MainActor eingestellt (siehe auch den Blog-Artikel Swift 6.2 und Xcode 26.1).
Prompt: This app now uses Default Actor Isolation = MainActor. Remove no longer necessary main actor attributes.
Es gibt nur eine Stelle im Code. Claude Agent findet sie und entfernt das nun überflüssige Attribut.
In der Praxis haben sich die Synchronisationseinstellungen der App als zu groß herausgestellt. Die App speichert Änderungen alle 40 Sekunden. Wenn lokal nichts geändert wird, werden Remote-Änderungen sogar nur alle 10 Minuten durchgeführt. Der folgende Prompt führt direkt zum Ziel, obwohl ich Claude keinerlei Informationen gebe, wo sich die relevanten Einstellungen befinden.
Prompt: change the sync settings; I want to write changes after 20 seconds, read remote changes every 30 seconds
Die UI der App ist in einer TabView über drei Tabs verteilt. Ich möchte, dass die App auch bei jedem Tab-Wechsel eine Synchronisation durchführt. Wiederum findet der Claude Agent sofort die richtige Stelle im Code und baut dort einen asynchronen Aufruf der Sync-Methode ein.
Prompt: I also want to sync on every tab change.
Claude Agent führt mühelos Änderungen in dem einigermaßen komplexen Projekt durch
Prompt: I want the app to also sync when it is disabled (switch to another app). There is already code for this, but it does not work reliable.
Claude Agent verbessert den Code entsprechend.
Prompt: update the version to 1.0.2
Prompt: ok. can you also update it in the target settings?
Hier kommt Claude an seine Grenzen. Er findet zwar eine Zeichenkette im Code, die er von 1.0.1 auf 1.0.2 ändert. Aber die Xcode-Einstellungen Target / Identity / Bundle Identifier kann es nicht ändern und bittet darum, diesen Schritt selbst zu erledigen.
Meine relativ einfachen Prompts verschleiern, wie weit Agentic Coding geht. Paul Hudson geht in seinem YouTube-Video aufs Ganze und beginnt mit einem Prompt, um eine Schach-Spiel-App zu programmieren. Eine viertel Stunde später ist die App soweit fertig, dass ein erstes Spiel möglich ist. Derartige Mammut-Prompts sind aber selten zweckmäßig. Gehen Sie Schritt für Schritt vor (wobei ein Schritt durchaus die Implementierung eines neuen Features sein kann), testen Sie die App, führen Sie einen Commit durch!
Xcode vs. Claude Code
Apple hat sich mit der Integration von KI-Tools in Xcode viel Zeit gelassen. Außerhalb des Apple-Universums hat sich mehr bewegt. Der aus meiner Sicht gerade spannendste Weg zur Programmierung von Swift-Apps ist heute das Command Line Interface (CLI) Claude Code.
Die Vorgehensweise sieht so aus: Sie erzeugen/laden mit Xcode Ihr Projekt. Gleichzeitig öffnen Sie ein Terminal, wechseln in das Projektverzeichnis und starten dort Claude Code. Durch Prompts weisen Sie Claude Code an, welche Funktionen es entwickeln soll. Xcode bleibt offen, Sie verwenden die IDE aber nicht (oder nur in Ausnahmefällen) zum Programmieren, sondern dazu, den von Claude Code produzierten Code zu lesen und die resultierende App zu testen bzw. auszuprobieren.
Diese Vorgehensweise ist ungewohnt, aber effizient. Manche Entwickler sind der Ansicht, der größte Vorteil moderner KI-Tools bestünde darin, dass Xcode nicht oder zumindest nur noch am Rande benötigt wird.
Im Vergleich zu den integrierten KI-Tools in Xcode bietet Claude Code diverse Zusatzfunktionen. Enorm hilfreich ist die Möglichkeit, Skills und MCP-Server zu nutzen. Das für mich wichtigste Feature ist aber der Planungsmodus (Ein-/Ausschalten mit Shift+Tab): Er gibt Ihnen die Möglichkeit, ein neues Feature in Ruhe zu planen, ohne den Code dabei anzurühren. Erst wenn Sie mit dem von Claude Code präsentiertem Plan vollständig zufrieden sind, beginnen Sie mit der Realisierung.
Erfreulicherweise unterstützt Xcode ab Version 26.3 auch externe KI-Tools und stellt diesen via MCP dieselben Funktionen wie internen KI-Tools zur Verfügung. Dazu müssen Sie in den Xcode-Einstellungen Intelligence / Allow external agents to use Xcode tools aktivieren. Die Kommandos, um den Xcode-Server in Claude Code bzw. in Codex einmalig einzurichten, sehen so aus (Dokumentation von Apple):
Damit der Aufruf von mcpbridge funktioniert, muss in den Xcode-Einstellungen unter Locations die richtige Xcode-Version eingestellt sein. Bei mir war der Eintrag ursprünglich leer (keine Ahnung warum), der MCP-Aufruf scheiterte deswegen.
Achten Sie auf die richtige Einstellung der Option »Command Line Tools«!
Wenn Claude Code oder ein anderes externes KI-Tool MCP-Funktionen nutzen will, müssen Sie das vorher bewilligen.
Bestätigung des MCP-Verbindungsaufbaus
Sind alle Voraussetzungen erfüllt, schreiben Sie die Prompts in Claude Code und verwenden Xcode nur noch, um den Code anzusehen bzw. Ihre App zu testen.
Claude Code im Terminal unten hat eine Todo-App programmiert. Claude Code nutzt MCP, um Xcode-Funktionen aufzurufen.
Sonstiges
Auch Xcode 26.3 verwendet Swift 5 per Default. Wenn Sie Swift 6 wünschen, müssen Sie die Build Settings ändern.
Der in Xcode 26 eliminierte Attribute Inspector ist nicht zurückgekommen. Das gilt auch für diverse andere UI-Elemente (z.B. die Refactor-Kommandos Extract Subview oder Embed in Xxx), die es früher in Xcode gab und die mit Version 26 verschwunden sind.
Die aktuelle Swift-Version lautet — unverändert seit September 2025 — 6.2. (Genau genommen sind wir bei 6.2.4, aber es gibt seit einem halben Jahr keine nennenswerten Neuerungen.)
https://www.youtube.com/live/sc6pvW6vQzA (zweistündiges Video von Paul Hudson, zwar mit einigem Leerlauf, aber dennoch empfehlenswert; behandelt auch Claude Code)
Eigene Hardware bedeutet Selbstbestimmung - und die wird durch hohe Kosten zum Luxus. Den Verursachern der Knappheit kommt das gerade recht. (Digitale Souveränität, Server)
Vor einem Jahr stellte Google sein KI-Modell SpeciesNet, das nahezu 2500 Arten zuverlässig auf Fotos aus Kamerafallen identifiziert, der Open-Source-Community zur Verfügung.
Die Nutzung von Banking- und Bezahl-Apps auf Android-Smartphones mit Custom-ROMs ist ein Problem: Das will ein europäisches Industriekonsortium nun ändern.