Auf der Schulter von Giganten - Marten DB

Open Source Bibliotheken sind oft die “Unsung Heroes” guter Software. Sie bieten oft exzellente Funktionalität obwohl ihre Entwicklung nicht immer gut finanziert wird. Wir wollen dazu beitragen die Situation zu verbessern.

Die Vorteile der Verwendung von Open Source Libraries sind riesig. Wir bekommen gut getestete, funktionierende und in vielen Projekten eingesetzte Libraries, die wir nach unseren eigenen Kriterien aussuchen und in den richtigen Projekten einsetzen können. Das beschleunigt unsere Entwicklung und wir können uns auf die kundenspezifische Funktionen und Infrastruktur, für die es keinen Bibliotheken gibt, konzentrieren.

Die Vorteile von Open-Source-Projekten ergeben sich in der Zusammenarbeit beider Seiten:

  • wir haben Zugriff auf den Sourcecode der Bibliothek
  • können mit dem Sourcecode Fehler im eigenen Code oder der Library finden
  • Kontakt zu den Entwicklern suchen und
  • zu Fehlerbehebungen beitragen und Feedback geben

Dabei wird gerne übersehen wie viel Arbeit das Kernteam oder -entwickler:in in ein solches Projekt steckt. Es ist wichtig und auch im Eigeninteresse jeder Organisation, die Open Source Libraries verwendet, diese Arbeit zu unterstützen.

Daher haben wir uns entschlossen, das Open Source Projekt mit einer Spende zu unterstützen, das uns 2023 am meisten geholfen hat.

Auswahl des Projektes

Wir haben unser Open Source Projekt des Jahres 2023 in zwei Schritten bestimmt

  • Nominierung von Kandidaten
  • Wahl des Open-Source-Projektes 2023

Jeder von uns konnte Projekte vorschlagen, die diese Kriterien erfüllten:

  • Wir haben es 2023 eingesetzt
  • Es bietet eine Möglichkeit für Sponsorship über GitHub oder Open Collective
  • Wir haben es noch nicht über einen anderen Weg unterstützt

Anschließend haben wir abgestimmt.

Marten DB - das zyrrio Open-Source-Projekt 2023

Gewinner unserer Abstimmung war Marten, eine .NET Bibliothek, die es ermöglicht, eine PostgreSQL Datenbank als Dokumentendatenbank und/oder Event Store zu verwenden.

Marten DB - Projektlogo

Marten vereint für uns alles, was wir uns von einem Datastore erwarten. Es erlaubt den robusten und zuverlässigen Umgang mit Daten auf Basis der meist verwendeten Datenbank im Cloudbereich - PostgreSQL. Es macht es einfach, Datenmodelle zu erstellen, weiterzubearbeiten und in Applikationen einzusetzen. Gleichzeitig ermöglicht es, die Daten einfach über C# abzufragen und zu manipulieren.

Und während diese Eigenschaften viele Bibliotheken für den Datenzugriff bieten, macht uns Marten noch etwas schneller, indem es darüber hinaus Funktionen bietet, die oft benötigt, aber nicht direkt in solchen Bibliotheken zu finden sind. Hervorheben möchte ich dabei:

  • Multi-Tenancy, also die Unterstützung von mehreren getrennten Organisation in einer Applikation
  • Volltextindizes, also die Möglichkeiten in langen Texten mit einzelnen Wörtern (oder ähnlichen Wörtern) zu suchen
  • Kalkulation von Daten mit NodaTime

Weitere Informationen findet ihr auf https://martendb.io

Weitere Kandidaten

Folgende Kandidaten wurden nominiert:

codeceptJS - E2E Testing Library - https://codecept.io/

daisyUI - UI Library auf Basis von Tailwind cssm die fertige Komponenten zu Verfügung stellt - https://daisyui.com/

hugo - Website-Generator, mit dem wir unsere Webseiten und unser Blog gestalten - https://gohugo.io/

mailkit - Integration von Emailfunktionalitäten in Applikationen - http://www.mimekit.net/

Wie funktioniert Sponsorship in Github?

Der Prozess um die korrekte Rechnung von Github zu bekommen ist nicht der einfachste, daher noch die Schritte, wie man zu einer brauchbaren Quittung kommt.

  1. Gehe in die Settings, wenn du als Organisation spenden möchtest, dann in die Settings deiner Organisation
  2. Navigiere zu “Billing and Plans” und dann “Payment information”
  3. Dort kannst du unter “Additional Details” die Details angeben, wie sie auf deiner Rechnung stehen sollen.

Github Rechnungsinformationen hinterlegen (Payment information)

  1. Zum Projekt navigieren und Sponsor klicken, dann den Anweisungen folgen

Ich wünschte wirklich Github würde den “Payment information” link überarbeiten. Ich musste 10 Minuten in der Doku suchen, wo ich die Rechnungsinformationen hinterlegen kann.