FreeBSD Entwicklungsprojekte
Zusätzlich zum normalen Entwicklungspfad von FreeBSD gibt es zahlreiche Entwicklergruppen, die an innovativen Funktionen arbeiten, um die Bandbreite von Applikationen unter FreeBSD in neue Richtungen zu erweitern. Folgen Sie den Links weiter unten, um mehr über diese interessanten Projekte zu erfahren.
Wenn Sie der Meinung sind, dass in dieser Auflistung ein Projekt fehlt, schicken Sie bitte dessen URL und eine kurze Beschreibung (etwa 3-10 Zeilen) an www@FreeBSD.org.
Einige dieser Projekte veröffentlichen regelmäßig eigene Statusberichte, die auf der Statusbericht-Übersichtsseite verfolgt werden können.
- Dokumentation
- Advocacy
- Applikationen
- Netzwerk
- Speicherung
- Kernel und Sicherheit
- Gerätetreiber
- Architektur
- Verschiedenes
- Google Summer of Code 2007
- Google Summer of Code 2006
- Google Summer of Code 2005
Dokumentation
- The FreeBSD Documentation Project: Das FreeBSD Documentation Project hat die Aufgabe, die Dokumentation für das FreeBSD Project (beispielsweise Das Handbuch oder die FAQ) zu schreiben und zu warten. Wenn Sie dem Documentation Project helfen wollen, abonnieren Sie bitte die Mailingliste freebsd-doc@FreeBSD.org und suchen sich einen Bereich, an dem Sie arbeiten wollen.
- FreeBSD Ressourcen für Einsteiger: Eine Liste von nützlichen Quellen für Einsteiger in FreeBSD und UNIX®.
- RELEASE/SNAP-Finder für FreeBSD FTP-Server: Ein Verzeichnis, das es ermöglicht, einen FTP-Server zu finden, der ein bestimmtes Release oder einen bestimmten Snapshot von FreeBSD enthält. Diese Datenbank wird täglich um 3 Uhr Melbourner Zeit (10 Stunden vor UTC) aktualisiert.
- Das FreeBSD Diary: Eine Sammlung von Anleitungen für UNIX-Einsteiger, deren Ziel es ist, Schritt-für-Schritt-Leitfäden für die Installation und Konfiguration verschiedener Ports zur Verfügung zu stellen.
- Das FreeBSD Entwickler-Handbuch
- Der Artikel Zur FreeBSD Ports-Sammlung beitragen
Anwendungen
- Java® unter FreeBSD: Dieses Projekt bietet Informationen darüber, wo das aktuellste JDK® für FreeBSD erhältlich ist, wie es installiert wird, sowie eine Liste von Java®-Programmen, die für Sie interessant sein könnten.
- GNOME unter FreeBSD: Informationen, wo das aktuellste GNOME für FreeBSD erhältlich ist, wie es installiert und benutzt wird, letzte Projekt-Neuigkeiten und Updates, FAQ zu FreeBSD-spezifischen GNOME-Themen, Anleitungen für die Portierung von Applikationen und vieles mehr.
- KDE unter FreeBSD: Dieses Projekt bietet Informationen zur aktuellsten KDE-Version für FreeBSD sowie Dokumentationen und Tutorien zur Installation und zum Einsatz von KDE unter FreeBSD. Projektneuigkeiten und FreeBSD-spezifische FAQ sind ebenfalls verfügbar.
- Mono unter FreeBSD: Hier können Sie Information zum Stand von Mono und C# unter FreeBSD finden.
- OpenOffice.org unter FreeBSD: Information über verschiedene OpenOffice.org-Portierungen.
- Die FreeBSD Ports-Sammlung: Die FreeBSD Ports-Sammlung bietet eine einfache Möglichkeit, zahlreiche Programmen mit minimalem Aufwand zu kompilieren und zu installieren. Eine Liste aktuell verfügbarer Ports ist vorhanden. Zusätzlich existiert eine Suchfunktion, mit der Sie feststellen können, ob eine bestimmte Anwendung in der Ports-Sammlung vorhanden ist.
- FreeBSD Ports distfiles survey: Eine Liste, die die Ports-Sammlung auf nicht vorhandene Distfiles hin überprüft und eine Zusammenfassung für jeden Port zur Verfügung stellt.
- FreshPorts: Die aktuellste Liste aller Ports und ihrer Änderungen. Fügen Sie ihre Lieblings-Ports einer Beobachtungsliste hinzu und erhalten Sie E-Mail-Benachrichtigungen über jede Änderung.
- Pointyhat: Ein Server, der die Ports-Sammlung überprüft und für jeden Port Protokolle über Fehler und den Bau der Pakete führt.
Netzwerke
- Netperf: Netzwerk-Stack-Optimierung für die FreeBSD-Kernel 5.X und 6.X (ein Nachfolgeprojekt für die SMPng Netzwerk-Stack-Arbeit am Locking für FreeBSD 5.3). Dieses Projekt erforscht und implementiert Optimierungs-Strategien für einen Netzwerk-Stack mit multiplen Threads.
- KAME Project: Ein freier IPv6/IPsec-Stack für BSD.
- SYSLOG-SECURE: Im August 2001 wurde ein Standard für syslog geschaffen: RFC3164. Dieser RFC beschreibt einige Erweiterungen, die die Sicherheit von syslog verbessern sollen. Das Projekt wurde 2002 begonnen, um eine RFC3164-konforme FreeBSD-Version von syslog zu schaffen und einige Sicherheitserweiterungen hinzuzufügen (zumindest syslog-sign). Sowohl libc als auch syslogd werden angepasst. Optional werden einige Werkzeuge zur Verwaltung/Überprüfung der Systemsicherheit geschaffen. Jede Hilfe ist willkommen. Schicken Sie eine E-Mail an albert@ons-huis.net für weitere Informationen.
Speicherung
- Arla: Eine freie AFS-Client-Implementierung. Das Hauptziel dieses Projekts ist die Schaffung eines voll funktionalen Clients mit allen Möglichkeiten des normalen AFS. Andere geplante und fertiggestellte Dinge sind alle normalen Verwaltungs-Werkzeuge und ein Server.
- Big Disk: Das Ziel des Large data storage in FreeBSD-Projektes ist es, FreeBSD bereit zu machen für Dateisysteme und Plattenkapazitäten im Multi-Terabyte-Bereich.
- Coda: Ein verteiltes Dateisystem. Zu dessen Leistungsmerkmalen gehören getrennter Betrieb, ein gutes Sicherheitsmodell, Server-Replikation und persistentes Caching auf der Client-Seite.
- Journaling contra Soft Updates: Asynchroner Meta-Daten-Schutz im Dateisystem.
- TCFS: Ein transparentes, verschlüsseltes Dateisystem (Transparent Cryptographic File System, tcfs), welches geeignet ist, das Problem des Datenschutzes für verteilte Dateisysteme zu lösen. Durch eine engere Integration zwischen Verschlüsselung und Dateisystem erlaubt eine völlig transparente Nutzung durch die Anwendungen des Benutzers. Dateien werden in verschlüsselter Form gespeichert und erst vor dem Lesen wieder entschlüsselt . Der Ver-/Entschlüsselungs-Prozess passiert auf der Client-Maschine, der Schlüssel wandert daher niemals über das Netzwerk.
- Tertiary Disk: Eine Speichersystem-Architektur für große Plattenspeicher-Systeme, welche die Nachteile angepasster Platten-Arrays vermeidet. Der Name stammt von zwei Zielen: Kosten pro Megabyte und Kapazität von Bandlaufwerken bei gleichzeitiger Leistung von Festplatten. Wir nutzen Standard-Komponenten aus dem Regal, um ein skalierbares, billiges Speichersystem im Terabyte-Bereich zu entwickeln. Unser Ziel ist die Schaffung eines kompletten Speichersystems mit lediglich 30-50% zusätzlichen Kosten zur nackten Hardware. Tertiary Disk nutzt über ein geswitchtes Netzwerk verbundene PCs, um eine große Anzahl von Platten aufzunehmen. Unser Prototyp besteht aus 20 200MHz-Rechnern, die insgesamt 370 8GB-Platten aufnehmen. Die PCs sind dabei mit 100 MBit-Switches verbunden.
- Vinum: Ein Logical Volume Manager (LVM), entworfen nach dem Vorbild des VERITAS volume manager™. Trotzdem ist es kein Clone von Veritas und einige Lösungsansätze sind eleganter als bei Veritas. Zudem bietet es einige Merkmale, die Veritas fehlen.
- Das PathConvert-Projekt: Ein Projekt zur Entwicklung von Werkzeugen, die eine Umwandlung von absoluten Pfadangaben in relative Pfad-Angaben ermöglichen. Es bringt Vorteile vor allem für die Nutzer von NFS und WWW.
Kernel und Sicherheit
- Lottery Scheduling Kernel: Diese Arbeit basiert auf dem lottery scheduling algorithm von Waldspurger, welcher proportionale Verwaltung von Resourcen implementiert. Die Hauptvorteile sind die strikte Kontrolle der Benutzer über die relativen Ausführungsraten ihrer Prozesse. Die Benutzer sind isoliert voneinander bezüglich der Systemlast, daher kann kein einzelner Benutzer die CPU über Gebühr in Anspruch nehmen.
- OpenBSM: Eine freie Implementierung der Basic Security Module (BSM) Audit API und des Dateiformates von Sun. OpenBSM stellt die Nutzerland-Bibliotheken, Werkzeuge und Dokumentation für die TrustedBSD Audit Implementierung zur Verfügung, welche in FreeBSD integriert werden wird.
- TrustedBSD: Stellt eine Sammlung von zuverlässigen Betriebssystem-Erweiterungen für FreeBSD zur Verfügung. Dies schließt Leistungsmerkmale wie feingranulierte Rechteverwaltung, Access Control Lists (ACL) und Mandatory Access Control (MAC) ein. Diese Merkmale werden sowohl in das FreeBSD-Basissystem integriert als auch auf andere von BSD abgeleitete Systeme portiert.
- Kernel Stress Test Suite: Der Zweck dieser Stress-Tests ist es, das System zusammenbrechen zu lassen. Der Test besteht aus vielen kleinen Testprogrammen und Skripten. Jeder Test zielt auf einen bestimmten Bereich des Kernels. Das Kernkonzept dieses Tests ist Chaos. Jeder Test wartet eine zufällige Zahl von Sekunden, bevor er eine zufällige Zahl von Aufrufen startet.
Gerätetreiber
- busdma und SMPng-Treiberumbau: busdma ist eine portable Abstraktionsschicht für die Direct Memory Access (DMA)-Hardware-Primitive, welche von vielen Hochleistungs-Gerätetreibern genutzt werden. Durch Nutzung dieser Abstraktionsschicht vermeiden Autoren von Gerätetreibern das Hinzufügen von plattformspezifischem DMA-Verwaltungscode und verbessern die Portierbarkeit von Treibern zwischen verschiedenen Hardware-Architekturen. Diese Seite dokumentiert auch die Fortschritte bei Treibern hinsichtlich ihrer SMPng-Konformität.
- Ein neues Geräte-Framework für FreeBSD
- BSD ATM: Implementierung von ATM Internetworking in 4.4BSD: Neue Computer-Applikationen in Bereichen wie Multimedia, Bildbearbeitung und verteiltes Rechnen verlangen hohe Netzwerkleistungen. ATM-basierte Netzwerklösungen stellen eine Alternative dar, um diesen Herausforderungen Genüge zu tun. Allerdings hat sich gezeigt, dass die Komplexität von ATM im Vergleich zu traditionellen Netzwerken wie Ethernet eine Barriere für deren Einsatz darstellt. In dieser Abhandlung stellen wir die BSD ATM-Implementierung vor, einem schlanken und effizienten ATM Software-Layer für BSD-basierte Betriebssysteme, der nur minimale Anpassungen am Betriebssystem selbst erfordert. BSD ATM kann sowohl für IP-basierten Netzwerk-Verkehr als auch für "nativen" ATM-Datenverkehr benutzt werden.
- Home Automation: Nutzung von FreeBSD für Geräte-Controller, Infrarot-Controller, automatisierte Telefon-Systeme und mehr.
- Das FreeBSD Token-Ring Project: Informationen, Dateien, Patche und Dokumentation zur Token Ring-Unterstützung in FreeBSD.
- Xircom CEM Ethernet Driver: Eine Mailingliste für die Weiterentwicklung des Xircom CEM Ethernet-Treibers von Scott Mitchell. Schicken Sie subscribe freebsd-xircom an majordomo@lovett.com, um der Mailingliste beizutreten.
Architektur
- Portierung von FreeBSD auf IA-64-Systeme: Dieses Projekt ist verantwortlich für die Portierung von FreeBSD auf die IA-64-Architektur. Richten Sie alle spezifischen Fragen an die Mailingliste freebsd-ia64@FreeBSD.org.
- Portierung von FreeBSD auf PowerPC®-Systeme: Enthält Informationen über den FreeBSD PPC-Port, Mailinglisten und so weiter.
- Portierung von FreeBSD auf SPARC®-Systeme: Enthält Informationen über den FreeBSD SPARC-Port einschliesslich einer FAQ, etwas frühen Boot-Code, Informationen über SPARC-Prozessoren und Motherboards und andere SPARC-Projekte.
- SysVR4-Emulation: Diese Seite beschreibt den SysVR4-Emulator für FreeBSD. Er ist gegenwärtig in der Lage, eine weitläufige Anzahl von SysV-Ausführungsdateien (entnommen aus Solaris™/x86 2.5.1 und 2.6-Systemen) laufen zu lassen (oder in manchen Fällen kriechen zu lassen). Wir haben Grund zur Annahme, dass er auch Binärdateien von SCO UnixWare und SCO OpenServer ausführen kann.
- Das OSKit: Das OSKit ist ein Framework und eine Sammlung von 31 Komponenten-Bibliotheken für Betriebssysteme nebst umfangreicher Dokumentation. Durch modulare Bereitstellung nicht nur des Löwenanteils der von einem Betriebssystem benötigten Infrastruktur, sondern auch vieler höherwertiger Komponenten, will das OSKit die Schranke für den Eintritt in Betriebssystem-F&E senken und deren Kosten verringern. Das OSKit macht es bedeutend einfacher, ein neues Betriebssystem zu schaffen, ein bestehendes Betriebssystem auf x86 (oder andere vom OSKit unterstützte Architekturen) zu portieren oder ein Betriebssystem dergestalt zu verbessern, dass mehr Geräte, Dateisystem-Formate oder Netzwerk-Protokolle unterstützt werden. Das OSKit kann auch sehr gut für die Konstruktion betriebssystembezogener Programme wie Boot-Loader oder auf einen Mikrokernel aufbauende Server eingesetzt werden.
Verschiedenes
- FreeSBIE: Eine Live-CD basierend auf FreeBSD. Sie enthält eine Vielzahl nützlicher Applikationen und kann sowohl von der CD als auch als Installationsmedium für die Installation von FreeBSD auf Ihre Festplatte eingesetzt werden.
- NanoBSD: NanoBSD ist ein Werkzeug zur Erzeugung eines möglichst reduzierten FreeBSD-Systemabbildes, welches auf eine Compact Flash-Karte (oder jedes andere Speichermedium) passt, damit es für die Nutzung in speicherarmen Geräten geeignet ist. Die FreeBSD-Dokumentation enthält einen einführenden Artikel über NanoBSD, welche nützliche Hinweise enthält, beispielsweise dazu, wie man NanoBSD erstellt und einsetzt.
- GLOBAL: Ein allgemeines Quelltext-Tag-System, welches in verschiedenen Umgebungen gleich arbeitet. Zur Zeit unterstützt es eine Befehlszeile in einer Shell, den Editor nvi, Browser, Emacs, den Editor elvis. An Programmiersprachen werden C, Yacc und Java unterstützt.
- Enteruser: Ein Ersatz für adduser.
- ACPI unter FreeBSD: Ein Projekt, um ACPI unter FreeBSD flüssig arbeiten zu lassen.
- Binary Updater: FreeBSD Update ist ein System für das automatische Bauen, Verteilen, Herunterladen und Einspielen von binären Sicherheits-Updates für FreeBSD. Dieses System erlaubt es, den Sicherheits-Branches von FreeBSD ohne aufwändiges Herunterladen des Quelltextes und erneute Kompilierung (natürlich mit Ausnahme der Maschine, welche die Updates selbst baut) zu folgen. Die Updates werden kryptografisch signiert und werden als binäre Diffs verteilt, was die benötigte Bandbreite dramatisch verringert.
- Das FreeBSD C99 & POSIX®-Konformitäts-Projekt: Dieses Projekt zielt darauf ab, alle Erfordernisse der ISO Standards ISO 9899:1999 (C99) und IEEE 1003.1-2001 (POSIX) zu implementieren.
- CVSweb: Eine WWW-Schnittstelle für CVS-Repositories, mit dessen Hilfe man eine Dateisystem-Hierarchie in einem Webbrowser durchsuchen kann, um die Revisions-Historie jeder Datei auf einfache Art und Weise zu verfolgen.
- Die FreeBSD Laptop Compatibility List: Eine umfangreiche Datenbank über Laptops und PCMCIA-Karten, die unter FreeBSD funktionieren. Die Webseite bietet außerdem ausführliche Informationen zu bekannten Hardware- und Softwareproblemen.
- Die FreeBSD Tinderbox: Die Tinderbox baut fortwährend aktive Zweige des FreeBSD-Quelltextbaumes, um Build-Probleme aufzudecken. Falls ein Tinderbox-Build fehlschlägt, wird eine E-Mail an die entsprechende Mailingliste geschickt, damit der Bau so schnell wie möglich korrigiert werden kann. Der Quelltext der Tinderbox wird im FreeBSD CVS-Repository im Verzeichnis src/tools/tools/tinderbox gewartet.
- TET-Integration: Das Test Execution Toolkit der Open Group ist ein kleines Open-Source Test Execution Framework, welches verteiltes Testen unterstützt. Dieses Projekt erforscht die Verwendung von TET und bestehenden TET-basierten standardkonformen Open-Source Test-Umgebungen (VSX-PCTS, VSC-Lite, VSTH-Lite, VSW5 und andere) unter FreeBSD.