From 5fe7fd192113c80cc1d1fe30ea660405936ff486 Mon Sep 17 00:00:00 2001 From: Fabian Lupa Date: Sun, 29 Sep 2024 11:44:21 +0200 Subject: [PATCH] Migration Open Source Kapitel Arbeitsstand (#17) --- docs/open-source/abapgit-as-enabler.md | 39 +++++++++++ .../contributing-to-open-source.md | 22 ++++++ docs/open-source/developing-open-source.md | 29 ++++++++ docs/open-source/index.md | 21 +++++- docs/open-source/open-source-projects.md | 27 +++++++ docs/open-source/using-open-source.md | 70 +++++++++++++++++++ 6 files changed, 205 insertions(+), 3 deletions(-) create mode 100644 docs/open-source/abapgit-as-enabler.md create mode 100644 docs/open-source/contributing-to-open-source.md create mode 100644 docs/open-source/developing-open-source.md create mode 100644 docs/open-source/open-source-projects.md create mode 100644 docs/open-source/using-open-source.md diff --git a/docs/open-source/abapgit-as-enabler.md b/docs/open-source/abapgit-as-enabler.md new file mode 100644 index 0000000..b75b606 --- /dev/null +++ b/docs/open-source/abapgit-as-enabler.md @@ -0,0 +1,39 @@ +--- +layout: page +title: abapGit als Enabler von Open Source +permalink: /open-source/abapgit-as-enabler/ +parent: Open Source +prev_page_link: /open-source/developing-open-source/ +prev_page_title: Entwicklung von Open Source +next_page_link: /open-source/open-source-projects/ +next_page_title: Vorstellung ausgewählter Projekte +nav_order: 4 +--- + +{: .no_toc} +# abapGit als Enabler von Open Source + +1. TOC +{:toc} + +## Übersicht + +- Übersichtsgrafik + +## Verfügbarkeit und Versionen von abapGit + +## Voraussetzungen + +- OP/Private Cloud: 702, Netzwerkverbindung oder Offline-Repos +- BTP/Public Cloud: Schon da, eingeschränkt, nur Online-Repos +- Jemand muss sich kümmern + +## Konfiguration und Einrichtung + +- Insbesondere Exits + +## Risiken + +- Berechtigungen +- Möglichkeit der massenhaften Extraktion der gesamten propritären Codebase und Mitnehmen zur Konkurrenz +- Möglichkeit am Transportwesen vorbei massenhaft Software zu installieren diff --git a/docs/open-source/contributing-to-open-source.md b/docs/open-source/contributing-to-open-source.md new file mode 100644 index 0000000..8c51764 --- /dev/null +++ b/docs/open-source/contributing-to-open-source.md @@ -0,0 +1,22 @@ +--- +layout: page +title: Beteiligung an Open Source +permalink: /open-source/contributing-to-open-source/ +parent: Open Source +prev_page_link: /open-source/using-open-source/ +prev_page_title: Einsatz von Open Source +next_page_link: /open-source/developing-open-source/ +next_page_title: Entwicklung von Open Source +nav_order: 2 +--- + +{: .no_toc} +# Beteiligung an Open Source + +1. TOC +{:toc} + +## Beteiligung an Open Source + +- Als Alternative zum Fork, Beteiligung im Upstream Projekt, automatisierte Tests +- Einfache Beteiligung -> Doku, Issues gut formuliert, kleinere Themen -> geringe Einstiegshürde diff --git a/docs/open-source/developing-open-source.md b/docs/open-source/developing-open-source.md new file mode 100644 index 0000000..e1fe2c3 --- /dev/null +++ b/docs/open-source/developing-open-source.md @@ -0,0 +1,29 @@ +--- +layout: page +title: Entwicklung von Open Source +permalink: /open-source/developing-open-source/ +parent: Open Source +prev_page_link: /open-source/contributing-to-open-source/ +prev_page_title: Beteiligung an Open Source +next_page_link: /open-source/abapgit-as-enabler/ +next_page_title: abapGit als Enabler von Open Source +nav_order: 3 +--- + +{: .no_toc} +# Entwicklung von Open Source + +1. TOC +{:toc} + +## Mehrwert aus Unternehmenssicht + +- Verweis auch auf Versionsverwaltungskapitel + +## Anpassung des Entwicklungsprozesses zur Berücksichtigung externer Entwickler + +- Namensräume, Tools und Prozesse, um mit fehlendem Originalsystem umzugehen, Unterstützung verschiedener Releases, Unit Tests, .... +- Open Source Namespaces +- Minimierung von Abhängigkeiten zum SAP-Standard +- Auswirkungen auf die Paketstruktur +- "Inner Source" -> oder Versionsverwaltungskapitel diff --git a/docs/open-source/index.md b/docs/open-source/index.md index f4fcfc8..cdfe569 100644 --- a/docs/open-source/index.md +++ b/docs/open-source/index.md @@ -2,7 +2,9 @@ layout: page title: Open Source permalink: /open-source/ -next_page_title: Open Source +next_page_link: /open-source/using-open-source/ +next_page_title: Einsatz von Open Source +has_children: true nav_order: 5 --- @@ -12,6 +14,19 @@ nav_order: 5 1. TOC {:toc} -## Erster Punkt +## Einleitung -Hier beginnt das Kapitel \ No newline at end of file +Open Source ist immer noch ein Thema, bei dem ein ABAP-Entwickler leicht anecken kann und gegebenenfalls für den Einsatz argumentieren muss. Während in anderen Programmiersprachen der Einsatz von Open-Source-Bestandteilen in eigenen Entwicklungsprojekten gelebte Praxis ist, stößt man in der ABAP-Entwicklung noch immer auf einige Widerstände. Möchte man sogar Teile seiner proprietären Software der Community als Open-Source-Projekt bereitstellen, wird es noch schwieriger. Die Argumente dagegen können auch fundiert sein. ABAP hat es durch einige seiner Alleinstellungsmerkmale schwerer an dieser Stelle Fuß zu fassen. In diesem Kapitel sollen daher die möglichen Betrachtungswinkel erläutert und die Chancen und Risiken ausgearbeitet werden. + +Was ist überhaupt Open Source? Entgegen der Meinung einiger ist SAP ERP und SAP S/4HANA nicht "open source", nur weil ich als ABAP-Entwickler den Standard-Quellcode der SAP lesen kann. Open-Source-Software (OSS) ist Software, welche unter einer Open-Source-Lizenz bereitgestellt wird. Diese ermöglicht je nach Lizenzbedingungen zum Beispiel eine kostenfreie Nutzung oder Modifikation und Weiterverbreitung des bereitgestellten Codings. Außerdem ist der Quellcode einsehbar. Binäre Builds sind damit reproduzierbar und auditierbar, ohne Coding durchlaufen zu müssen. Dies steht im ABAP-Kontext im Gegensatz zu Transportdateien oder SPAM-Packages, bei denen erst nach dem Import klar wird, was eigentlich enthalten war. + +> Open Source im SAP Entwicklerumfeld? Passt das zusammen? + +> Ja, Open Source im SAP Entwicklungsumfeld und noch besser im SAP Umfeld ist kein Widerspruch. SAP nutzt auch Open Source, stellt Open Source Produkte zur Verfügung (z.B. SapMachine) und unterstützt die Open Source Community (siehe auch SAP Open Source Landing-Page). + +> In diesem Kapitel wollen wir Tipps für die Nutzung von Open Source in der SAP Entwicklung geben und auch Empfehlungen wie man sich dem Thema SAP und Open Source annähern kann, falls man Open Source bisher noch nicht nutzt. Zum Abschluss möchten wir einige Open Source Projekte vorstellen, welche wir aus dem ABAP Development Arbeitskreis für sinnvoll erachten und die bei der ABAP Entwicklung „das Leben leichter“ machen. + +## Motivation aus Unternehmenssicht + +- ....Warum sollte ich mich als Unternehmen / Entscheidungsträger überhaupt hiermit auf hoher Flugebene auseinandersetzen, hat bisher auch ohne geklappt? +- ...Ausbaustufen / Use Cases: von Nutzung OSS in Entwicklungstooling ohne Deployment auf Produktivsystem, Nutzung im Produktivsystem, Contribution zu OSS, bis hin zu Bereitstellung von eigenen Komponenten als Open Source diff --git a/docs/open-source/open-source-projects.md b/docs/open-source/open-source-projects.md new file mode 100644 index 0000000..10c044b --- /dev/null +++ b/docs/open-source/open-source-projects.md @@ -0,0 +1,27 @@ +--- +layout: page +title: Vorstellung ausgewählter Projekte +permalink: /open-source/open-source-projects/ +parent: Open Source +prev_page_link: /open-source/abapgit-as-enabler/ +prev_page_title: abapGit als Enabler von Open Source +nav_order: 5 +--- + +{: .no_toc} +# Vorstellung ausgewählter Projekte + +1. TOC +{:toc} + +## Übersicht + +- Und Einleitung... Dotabap.org + +## Projekte zur Unterstützung des Entwicklungsprozesses + +- abapopenchecks, abaplint, code-pal, abapGit, abap-openapi, ... + +## Projekte als Bestandteil eigener Erweiterungen oder Produkte + +- abap2ui5, abap2xlsx ... diff --git a/docs/open-source/using-open-source.md b/docs/open-source/using-open-source.md new file mode 100644 index 0000000..fae4270 --- /dev/null +++ b/docs/open-source/using-open-source.md @@ -0,0 +1,70 @@ +--- +layout: page +title: Einsatz von Open Source +permalink: /open-source/using-open-source/ +parent: Open Source +prev_page_link: /open-source/ +prev_page_title: Open Source +next_page_link: /open-source/contributing-to-open-source/ +next_page_title: Beteiligung an Open-Source +nav_order: 1 +--- + +{: .no_toc} +# Einsatz von Open Source + +1. TOC +{:toc} + +## Chancen + +## Risiken + +## Wer stellt Open-Source-Software bereit? + +- Dotabap.org +- SAP Open Source Manifesto + +## Wer nutzt Open-Source-Software? + +- Who Uses abapGit? - abapGit Docs + +## Bewertung und Lebenszyklus einer externen Abhängigkeit + +- Verbreitung, aktive Weiterentwicklung, Anzahl Contributors +- Wer kümmert sich um Updates, wer testet diese, bewertet diese +- Worauf hätte die Software Zugriff im System, ist sie nur auf Entwicklung oder auch Produktiv, bestehen Netzwerkverbindungen +- Entscheidungsmatrix SAP aus Open Source Forum +- Due Diligence +- (Support, ...) +- Wie verbreitet ist das OpenSource Projekt/Produkt? +- "Empfiehlt" SAP das Projekt eventuell auch, oder nutzt dieses? +- Wird das OpenSource Projekt in Blogs erwähnt? Wie ist die Bewertung in diesen Blog‘s? +- Bevor man sich für Open Source oder ein bestimmtes Open Source Projekt entscheidet, sollte man folgende Dinge prüfen bzw. folgende Fragestellungen für sich beantworten: + - Unter welcher Lizenz wird das jeweilige Projekt veröffentlicht? + - Was sind die Lizenzbedingungen? Kann ich diese erfüllen? + - Open Source bedeutet nicht automatisch kostenlos, was sind die Lizenzkosten? + - Wie verbreitet ist ein Open Source Projekt? + - Kommt es vielleicht sogar von der SAP und SAP übernimmt den Support/die Wartung? + - Empfiehlt die SAP ein bestimmtes Projekt, oder nutzt es gar selbst? + - Was sagt die Community zu einem Projekt, wie ist das Feedback, wie bekannt ist es (in Diskussionsforen ...), wie ist die „Bewertung“? + - ... +- Andreas? + +## Sicherheitsaspekte + +- Horrorszenarien durchgehen + +## Verhalten bei Upgrades + +## Lizenzen + +- "Diese Lizenz ist wichtig. Sie kann auch die kommerzielle Nutzung untersagen oder eine kompatible Lizenz für alle durchgeführten Modifikationen erzwingen. Ebenfalls können Lizenzen verschiedener Open-Source-Projekte und die Lizenz der eigenen Software miteinander inkompatibel sein." + +## Support + +- Argument "Keine Software ohne Enterprise Support" durchgehen + +## Auslieferung von Open-Source-Abhängigkeiten in eigenen Produkten + +- Namensräume, Rename, Lizenzen, kein Z beim Kunden