\newglossaryentry{api}
{
    name={Application Programming Interface (API)},
    description={Ein Application Programming Interface (API), zu Deutsch
      Programmierschnittstelle, ist ein Programmteil, der von einem
      Softwaresystem anderen Programmen zur Anbindung an das System zur
      Verfügung gestellt wird},
    first={Programmierschnittstelle (API)},
    text={API}
}
\newglossaryentry{cc}
{
    name={Creative Commons (CC)},
    description={Die Creative Commons sind Lizenzen welche insbesondere für
      ``künstlerische'' Werke erstellt wurden. Also Texte, Videos und Fotos.
      Die Lizenz kann dabei sehr einfach an die Wünsche des Authors angepasst
      werden. Von sehr locker bis relativ restriktiv},
    first={Creative Commons (CC)},
    text={CC}
}
\newglossaryentry{borg}
{
    name={BorgBackup (Borg)},
    description={BorgBackup ist eine python basierte deduplizierende Backup
      Software. Welche sicher und effizient Backups erstellen kann},
    first={BorgBackup (kurz Borg)},
    text={Borg}
}
\newglossaryentry{dedup}
{
    name={Deduplikation},
    description={Blockbasierte Deduplikation vergleich Dateien auf der
      Block-Ebene und speichert anschliessend nur die zueinander
      unterschiedlichen Blöcke. Dadurch kann sehr viel Speicherplatz gespart
      werden wenn mehrere Versionen von grossen Dateien gesichert werden
      sollen},
    first={Deduplikation},
    text={Deduplikation}
}
\newglossaryentry{json}
{
    name={JavaScript Object Notation (JSON)},
    description={Die JavaScript Object Notation, kurz JSON, ist ein
      kompaktes Datenformat in einer einfach lesbaren Textform zum Zweck des
      Datenaustauschs zwischen Anwendungen.\footcite{json} Es wird vorallem in
      Webanwendungen häufig eingesetzt und wurde als Alternative zu XML entwickelt},
    first={JSON},
    text={JSON}
}
\newglossaryentry{libre}
{
    name={Freie Software},
    description={Freie Software (freiheitsgewährende Software, englisch free
      software oder auch libre software) bezeichnet Software, welche die
      Freiheit von Computernutzern in den Mittelpunkt stellt. Freie Software
      wird dadurch definiert, dass ein Nutzer mit dem Empfang der
      Software die Nutzungsrechte mitempfängt und diese ihm nicht vorenthalten
      oder beschränkt werden\footcite{libre}},
    first={freie Software},
    text={freie Software}
}
\newglossaryentry{bsd}
{
    name={Berkeley Software Distribution (BSD)},
    description={Die Berkeley Software Distribution war eine Software welche
      1977 entwickelt wurde. In abgeänderter Form existiert sie noch heute},
    first={ Berkeley Software Distribution (BSD)},
    text={BSD}
}
\newglossaryentry{gpl}
{
    name={GNU Public License (GPL)},
    description={Die GNU Public License ist eine der ältesten Lizenzen für
      freie Software. Die aktuellste Version ist GPLv3},
    first={GNU Public License (GPL)},
    text={GPL}
}
\newglossaryentry{ide}
{
    name={Integrated Development Environment (IDE)},
    description={Ein Integrated Development Environment, zu Deutsch integrierte
        Entwicklungsumgebung, ist eine Software welche Programmierer beim
        erstellen von Software helfen soll in dem es ihn bei häufig
        wiederkehrenden Aufgaben unterstützt},
    first={Integrated Development Environment (IDE)},
    text={IDE}
}
\newglossaryentry{compiler}
{
    name={Compiler},
    description={Ein Compiler ist ein Programm welches den Code einer
      Programmiersprache in ein für einen Computer nutzbares Format
      umkonvertiert},
    first={Compiler},
    text={Compiler}
}
\newglossaryentry{makefile}
{
    name={Makefile},
    description={Ein Makefile ist ein Script welches in der Regel Instruktionen
    zum Kompilieren einer Software beinhaltet. Dies vereinfacht dem Entwickler
    das erstellen einer auführbaren Software. Er muss dies somit nicht mehr
    ``von Hand'' machen},
    first={Makefile},
    text={Make}
}
\newglossaryentry{gui}
{
    name={Grafical User Interface (GUI)},
    description={Ein Graphical User Interface (GUI), zu deutsch grafische
      Benutzeroberfläche, ist der Teil einer Software mit der ein User auf
      einem Desktop System üblicherweise arbeitet. Dabei werden ihm Knöpfe,
      Eingabefelder und Bilder angezeit um es ihm einfacher zu machen das
      Programm zu bedienen als über eine rein textbasiertes Schnittstelle},
    first={Grafical User Interface (GUI)},
    text={GUI}
}
\newglossaryentry{git}
{
    name={Git},
    description={Git ist eine Kommandozeilen basierte Software zur
      Versionskontrolle. Sie wird insbesondere bei Softwareprojekten eingesetzt
    und setzt auf ein dezentrales Modell. Git ermöglicht es einem dabei die
    Änderungen innerhalb der Software zu dokumentieren und nachzuvollziehen},
    text={Git}
}
\newglossaryentry{xml}
{
    name={Extensible Markup Language (XML)},
    description={Die Extensible Markup Language (dt. Erweiterbare
      Auszeichnungssprache), abgekürzt XML, ist eine Auszeichnungssprache zur
      Darstellung hierarchisch strukturierter Daten im Format einer Textdatei, die
      sowohl von Menschen als auch von Maschinen lesbar ist\footcite{xml}\pagebreak},
    first={Extensible Markup Language (XML)},
    text={XML}
}
\newglossaryentry{html}
{
    name={Hypertext Markup Language (HTML)},
    description={Die Hypertext Markup Language... abgekürzt HTML, ist eine textbasierte
      Auszeichnungssprache zur Strukturierung elektronischer Dokumente wie Texte mit
      Hyperlinks, Bildern und anderen Inhalten. HTML-Dokumente sind die Grundlage des
      World Wide Web und werden von Webbrowsern dargestellt\footcite{html}},
    first={Hypertext Markup Language (HTML)},
    text={HTML}
}
\newglossaryentry{css}
{
    name={Cascading Style Sheets (CSS)},
    description={Cascading Style Sheets ... kurz CSS genannt, ist
      eine Stylesheet-Sprache für elektronische Dokumente und zusammen mit HTML und
      DOM eine der Kernsprachen des World Wide Webs\footcite{css}},
    first={Cascading Style Sheets (CSS)},
    text={CSS}
}
\newglossaryentry{unittest}
{
    name={Unittest},
    description={Ein Unittest wird in der Softwareentwicklung angewendet, um
      die funktionalen Einzelteile (Units) von Computerprogrammen zu testen, d. h.,
      sie auf korrekte Funktionalität zu prüfen\footcite{unittest}},
    text={Unittest}
}
\newglossaryentry{funktionstest}
{
    name={Funktionstest},
    description={Als Funktionstest (auch funktionaler Test genannt) bezeichnet
      man die Prüfung einer Funktionseinheit gegen deren funktionale
      Anforderungen\footcite{funktionstest}},
    text={Funktionstest}
}
\newglossaryentry{fuse}
{
    name={Filesystem in Userspace (FUSE)},
    description={FUSE (Filesystem in Userspace) ist ein Kernel-Modul für
      Unix-Systeme, das es ermöglicht, Dateisystem-Treiber aus dem Kernel-Mode in den
      User-Mode zu verlagern.\footcite{fuse} Die erlaubt einem etwa Geräte ohne
      Administratorrechte zu mounten},
    first={Filesystem in Userspace (FUSE)},
    text={FUSE}
}
\newglossaryentry{desktopumgebung}
{
    name={Desktopumgebung},
    description={Eine Desktop-Umgebung ... ist eine grafische Arbeits- bzw.
      Benutzerumgebung von Betriebssystemen in Form einer grafischen Shell (ein
      Eingabe-Ausgabe-System oder Mensch-Maschine-Schnittstelle), bei der die
      grafische Benutzeroberfläche die Schreibtischmetapher
      umsetzt\footcite{desktopumgebung}},
    text={Desktopumgebung}
}
\newglossaryentry{hypervisor}
{
    name={Hypervisor},
    description={Hypervisor erlauben es, eine virtuelle Umgebung
      (Hardwareressourcen, insbes. CPU, Speicher, Festplattenplatz, verfügbare
      Peripherie) zu definieren, die unabhängig von der tatsächlich vorhandenen
      Hardware als Basis für die Installation von (Gast-)Betriebssystemen
      dient\footcite{hypervisor}},
    text={Hypervisor}
}
\newglossaryentry{ssh}
{
    name={Secure Shell (SSH)},
    description={Secure Shell oder SSH bezeichnet sowohl ein Netzwerkprotokoll
      als auch entsprechende Programme, mit deren Hilfe man auf eine sichere Art und
      Weise eine verschlüsselte Netzwerkverbindung mit einem entfernten Gerät
      herstellen kann\footcite{ssh}},
    first={Secure Shell (SSH)},
    text={SSH}
}
\newglossaryentry{svg}
{
    name={Scalable Vector Graphics (SVG)},
    description={Scalable Vector Graphics ... ist die vom World Wide Web
      Consortium (W3C) empfohlene Spezifikation zur Beschreibung
      zweidimensionaler Vektorgrafiken. ... Wesentlicher Vorteil des
      SVG-Formates gegenüber anderen Grafikformaten wie JPG, PNG oder TIFF ist
      ... die Skalierbarkeit ohne Qualitätsverlust\footcite{svg}},
    first={Scalable Vector Graphics (SVG)},
    text={SVG}
}
\newglossaryentry{commit}
{
    name={Commit},
    description={Ein Commit ist bei der Software Git ein Speicherpunkt von
      Änderungen in den verwalteten Dateien. Commits in Git ermöglichen es
      einem die Änderungen in der Software nachzuvollziehen und dahin zurück zu
      springen},
    text={Commit}
}
\newglossaryentry{wasserfall}
{
    name={Wasserfallmodell},
    description={Ein Wasserfallmodell ist ein lineares (nicht iteratives)
      Vorgehensmodell, das insbesondere für die Softwareentwicklung verwendet wird
      und das in aufeinander folgenden Projektphasen organisiert ist. Dabei gehen die
      Phasenergebnisse wie bei einem Wasserfall immer als bindende Vorgaben für die
      nächsttiefere Phase ein\footcite{wasserfall}},
    text={Commit}
}
