diff --git a/content/development/possible-contributions.adoc b/content/development/possible-contributions.adoc
index 60503ef..0149504 100644
--- a/content/development/possible-contributions.adoc
+++ b/content/development/possible-contributions.adoc
@@ -16,7 +16,7 @@
 {name} is the Apache standard for flexible and powerful configuration. Objective is to provide flavors for
 Java SE, ME as well as to ship with powerful features for Java EE and Cloud Solutions. All functions provided
 is build on top of a small but very powerful, flexible and extendible API. This API is implemented by a core implementation,
-which then can be extended or adapted for use in different runtime scenarios, such as SE, ME, EE, Spring, OSGI
+which then can be extended or adapted for use in different runtime scenarios, such as SE, ME, EE, Spring, OSGi
 and more. Similarly additional modules may be provided that help also existing solution to be plugged into
 {name}, so you can start right away using {name} without having to rebuild/change your existing application.
 
@@ -108,7 +108,7 @@
 
 === Integration with Jigsaw
 
-Once Jigsaw is mature and in a usable (still early) stage, examples are to be created and tested, where OSGI is used as
+Once Jigsaw is mature and in a usable (still early) stage, examples are to be created and tested, where OSGi is used as
 the basic runtime platform, e.g. Apache Felix, but as well others.
 
 == Distributed/Remote Configuration Support
diff --git a/content/documentation/api.adoc b/content/documentation/api.adoc
index 0f975b3..29957a5 100644
--- a/content/documentation/api.adoc
+++ b/content/documentation/api.adoc
@@ -62,7 +62,7 @@
      +ConfigurationContextBuilder+. This builder can be obtained calling +Configuration.createConfigurationBuilder();+.
   ** Finally +ServiceContext+ and +ServiceContextManager+ provide an abstraction to the underlying runtime environment,
      allowing different component loading and lifecycle strategies to be used. This is very useful since component (service)
-     loading in Java SE, Java EE, OSGI and other runtime environments may be differ significantly. In most cases even
+     loading in Java SE, Java EE, OSGi and other runtime environments may be differ significantly. In most cases even
      extension programmers will not have to deal with these internals.
 
 
@@ -746,7 +746,7 @@
 == The ServiceContext
 
 The +ServiceContext+ allows to define how components are loaded in Tamaya. It is the glue layer, which interacts
-with the underlying runtime system such as Java SE, Java EE, OSGI, VertX etc.
+with the underlying runtime system such as Java SE, Java EE, OSGi, VertX etc.
 The +ServiceContext+ hereby defines access methods to obtain components, whereas itself it is available from the
 +ServiceContextManager+ singleton:
 
@@ -788,7 +788,7 @@
 . the _register_ methods allow to explcitly register (and optionally override) a service or services
   registered.
 . Finally the methods `getResource(s)` allow to load resources from the classpath. This is especially useful
-  when running in an OSGI context, where loading of resources from the classloaders will fail.
+  when running in an OSGi context, where loading of resources from the classloaders will fail.
 
 
 ## Examples
@@ -885,5 +885,5 @@
 * the API as defined by JSR 310 (Config JSR)
 * the Microprofile API
 * the Spring Configuration Mechanism
-* integration with the OSGI `ConfigAdmin` API.
+* integration with the OSGi `ConfigAdmin` API.
 * the Apache Camel Configuration SPI
diff --git a/content/documentation/core.adoc b/content/documentation/core.adoc
index 197a556..d67cb2b 100644
--- a/content/documentation/core.adoc
+++ b/content/documentation/core.adoc
@@ -11,7 +11,7 @@
 Tamaya Core contains the following artifacts:
 
 * A service loader implementation, configurations and further logic required to run
-  in an OSGI environment.
+  in an OSGi environment.
 * Numerous *converters*, including an +EnumConverter+, that is a converter implementation that can automatically select
   the currect enumeration values based on a configured entry.
 * A configurable `BannerManager`to print Tamaya's start logo on load.
diff --git a/content/documentation/extensions.adoc b/content/documentation/extensions.adoc
index e065308..805a798 100644
--- a/content/documentation/extensions.adoc
+++ b/content/documentation/extensions.adoc
@@ -31,7 +31,7 @@
 |+org.apache.tamaya.ext:tamaya-microprofile+  |Implemenation and Integration with the Microprofile API. |link:extensions/mod_microprofile.html[Documentation]
 |+org.apache.tamaya.ext:tamaya-mutable-config+|Provides API/SPI for writing configuration             |link:extensions/mod_mutable_config.html[Documentation]
 |+org.apache.tamaya.ext:tamaya-optional+      |Lets a Tamaya configuration to be used as an optional project extension only.  |link:extensions/mod_optional.html[Documentation]
-|+org.apache.tamaya.ext:tamaya-osgi+          |Integration with OSGI containers.                      |link:extensions/mod_osgi.html[Documentation]
+|+org.apache.tamaya.ext:tamaya-osgi+          |Integration with OSGi containers.                      |link:extensions/mod_osgi.html[Documentation]
 |+org.apache.tamaya.ext:tamaya-resolver+      |Provides placeholder and dynamic resolution functionality for configuration values.  |link:extensions/mod_resolver.html[Documentation]
 |+org.apache.tamaya.ext:tamaya-resources+     |Provides ant-style resource path resolution            |link:extensions/mod_resources.html[Documentation]
 |+org.apache.tamaya.ext:tamaya-spring+        |Integration for Spring / Spring Boot.                  |link:extensions/mod_spring.html[Documentation]
diff --git a/content/documentation/usecases.adoc b/content/documentation/usecases.adoc
index e57e121..8200a64 100644
--- a/content/documentation/usecases.adoc
+++ b/content/documentation/usecases.adoc
@@ -9,7 +9,7 @@
 * *Tamaya is useful*: Tamaya ships with a type safe, easy to use API and SPI, which can help you to decouple your
   code from configuration concerns.
 * *Tamaya is flexible*: Regardless of working
-with Vanilla Java SE or with OSGI or Jakarta EE, Tamaya can be the tool
+with Vanilla Java SE or with OSGi or Jakarta EE, Tamaya can be the tool
 of choice for your configuration concerns.
 * *Tamaya is extendible*: Tamaya comes with a lean core API. Additional features can
  be added easily by simply adding them to the project classpath as needed.
diff --git a/content/highleveldesign.adoc b/content/highleveldesign.adoc
index 54f26cc..7497267 100644
--- a/content/highleveldesign.adoc
+++ b/content/highleveldesign.adoc
@@ -20,7 +20,7 @@
   ** Several extension points for adding additional configuration property sources or adapting the internal workings
      of the overall system.
   ** A +ServiceContext / ServiceContextManager+ that controls the loading of the components in Tamaya. This allows to
-     adapt the behaviour depending on the runtime environment in use, e.g. a Java standalone application, an OSGI
+     adapt the behaviour depending on the runtime environment in use, e.g. a Java standalone application, an OSGi
      container or a Java EE application server.
 
 Tamaya *Modules* finally allow to add additional functionality to customize your configuration solution with the
@@ -30,7 +30,7 @@
 * _Dynamic placeholders_ and resolution mechanism for configuration values
 * Abstractions for reusable _configuration formats_
 * Dynamic configuration updates and change events
-* Support for OSGI/Java EE Classloading
+* Support for OSGi/Java EE Classloading
 * A configuration server/client
 * and more...
 
