diff --git a/Documentation/SoftwareGuide/Latex/Classification.tex b/Documentation/SoftwareGuide/Latex/Classification.tex
index 90e4b41d462b8f717722d811ffcf49a5cd8bad7f..1ff8502157758e3c04540583c2c71933a8168db9 100644
--- a/Documentation/SoftwareGuide/Latex/Classification.tex
+++ b/Documentation/SoftwareGuide/Latex/Classification.tex
@@ -111,7 +111,7 @@ the later case, it creates several threads using OpenMP.
 There is a factory mechanism on top of the model class (see
 \doxygen{otb}{MachineLearningModelFactory}). Given an input file,
 the static function \code{CreateMachineLearningModel(...)} is able
-to instanciate a model of the right type.
+to instantiate a model of the right type.
 
 For unsupervised models, the target samples \textbf{still have to be set}. They
 won't be used so you can fill a ListSample with zeros.
diff --git a/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx b/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
index 173daeec99126cd7cf288890d5c6d009b3a41b71..d8e234214bff46edfd1d5604390788f735a248b2 100644
--- a/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
+++ b/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
@@ -110,7 +110,7 @@ protected:
       "By default, hidden pixels will have the assigned label 0 in the output image. "
       "It's possible to define the label mask by another value, "
       "but be careful to not take a label from another class. "
-      "This application initalize the labels from 0 to N-1, "
+      "This application initialize the labels from 0 to N-1, "
       "N is the number of class (defined by 'nc' parameter).");
   }
 
diff --git a/Modules/Applications/AppClassification/include/otbTrainNeuralNetwork.txx b/Modules/Applications/AppClassification/include/otbTrainNeuralNetwork.txx
index 2bcd26f3a7f08dbae692c8e36e75e6713e8bacc8..4081034a5f0fead34f03f3f0325f0ad6294b5582 100644
--- a/Modules/Applications/AppClassification/include/otbTrainNeuralNetwork.txx
+++ b/Modules/Applications/AppClassification/include/otbTrainNeuralNetwork.txx
@@ -48,7 +48,7 @@ LearningApplicationBase<TInputValue,TOutputValue>
     "in the network to optimize the result.");
   AddChoice("classifier.ann.t.reg", "Resilient Back-propagation algorithm");
   SetParameterDescription("classifier.ann.t.reg",
-    "Almost the same as the Back-prop algorithm exept that it does not "
+    "Almost the same as the Back-prop algorithm except that it does not "
     "take into account the magnitude of the partial derivative (coordinate "
     "of the gradient) but only its sign.");
 
diff --git a/Modules/Applications/AppSegmentation/app/otbMeanShiftSmoothing.cxx b/Modules/Applications/AppSegmentation/app/otbMeanShiftSmoothing.cxx
index dee453835a8e034816bb943bce9b55e78bdad085..8f63bf13ef99f1062726c988b7c6b18a8aa236d5 100644
--- a/Modules/Applications/AppSegmentation/app/otbMeanShiftSmoothing.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbMeanShiftSmoothing.cxx
@@ -76,12 +76,12 @@ private:
                           " will speed-up convergence, at the expense of stability of the result.\n\n"
 
                           "The application outputs the image of the final averaged spectral"
-                          " signatures (fout), and can also optionnaly output the 2D"
+                          " signatures (fout), and can also optionally output the 2D"
                           " displacement field between input pixel position and final pixel"
                           " position after convergence (foutpos).\n\n"
 
                           "Note that computing an euclidean distance between spectral signatures"
-                          " may be innacurate and that techniques such as color space transform or image"
+                          " may be inaccurate and that techniques such as color space transform or image"
                           " normalisation could be applied before using this application. Also"
                           " note that most satellite images noise model is not gaussian, since"
                           " noise variance linearly depends on radiance (the higher the"
diff --git a/Modules/Applications/AppStereo/app/otbBlockMatching.cxx b/Modules/Applications/AppStereo/app/otbBlockMatching.cxx
index eaf57ea79a2c47f194d73db7c8e2cdad7db717c2..4884c77e5b94f2d09924c309a7e74aedb4a27900 100644
--- a/Modules/Applications/AppStereo/app/otbBlockMatching.cxx
+++ b/Modules/Applications/AppStereo/app/otbBlockMatching.cxx
@@ -139,7 +139,7 @@ private:
       " and resampled each input image into epipolar geometry (with "
       "GridBasedImageResampling).\n\n"
       "The application searches locally for the displacement between a reference"
-      " image and a secondary image. The correspondance is evaluated for each "
+      " image and a secondary image. The correspondence is evaluated for each "
       "pixel, based on a pair of local neighborhood windows. The displacement "
       "evaluated can be 1D (along lines) or 2D. Parameters allows to set the "
       "minimum and maximum disparities to search (both for horizontal and "
diff --git a/Modules/Applications/AppStereo/app/otbDisparityMapToElevationMap.cxx b/Modules/Applications/AppStereo/app/otbDisparityMapToElevationMap.cxx
index 6302a912f14fdaf910a80970825a70a384ef8807..25e4b96189fc1549b2875f9e55c255a75611cd38 100644
--- a/Modules/Applications/AppStereo/app/otbDisparityMapToElevationMap.cxx
+++ b/Modules/Applications/AppStereo/app/otbDisparityMapToElevationMap.cxx
@@ -124,7 +124,7 @@ private:
 
     AddParameter(ParameterType_InputImage,"io.rgrid","Right Grid");
     SetParameterDescription("io.rgrid","Right epipolar grid (deformation grid "
-      "between rigth sensor et disparity spaces)");
+      "between right sensor et disparity spaces)");
 
     AddParameter(ParameterType_OutputImage,"io.out","Output elevation map");
     SetParameterDescription("io.out", "Output elevation map in ground "
diff --git a/Modules/Core/Common/include/otbImageRegionAdaptativeSplitter.txx b/Modules/Core/Common/include/otbImageRegionAdaptativeSplitter.txx
index 13856ec403e303b1c78d95722269879dda56ed1c..b9bb88e318d687d85b48976f43a8b11bbd3d8b23 100644
--- a/Modules/Core/Common/include/otbImageRegionAdaptativeSplitter.txx
+++ b/Modules/Core/Common/include/otbImageRegionAdaptativeSplitter.txx
@@ -25,7 +25,7 @@
 #include "otbMath.h"
 #include "otbMacro.h"
 
-// Defaut when no tile hint available
+// Default when no tile hint available
 #include "otbImageRegionSquareTileSplitter.h"
 
 namespace otb
diff --git a/Modules/Core/Common/include/otbModelComponentBase.h b/Modules/Core/Common/include/otbModelComponentBase.h
index c23c5a0062c267ec4c4fb87824a1f70246f6f7a2..1bb6180576b50fc517e10733d56c261981a0c944 100644
--- a/Modules/Core/Common/include/otbModelComponentBase.h
+++ b/Modules/Core/Common/include/otbModelComponentBase.h
@@ -126,7 +126,7 @@ public:
   /** Show the parameters in a minimal form in comparison to PrintSelf */
   virtual void ShowParameters(std::ostream& os, itk::Indent indent) const;
 
-  // TODO: Distance between distribtions with some kind of member function...
+  // TODO: Distance between distributions with some kind of member function...
 
 protected:
   ModelComponentBase();
diff --git a/Modules/Core/LabelMap/include/otbShapeAttributesLabelMapFilter.h b/Modules/Core/LabelMap/include/otbShapeAttributesLabelMapFilter.h
index c7142a057d434cc1ae0ab30ffc8ee99e10a6241e..eb2dfbc8fb48ed0c381d145721f137db4a62b3f6 100644
--- a/Modules/Core/LabelMap/include/otbShapeAttributesLabelMapFilter.h
+++ b/Modules/Core/LabelMap/include/otbShapeAttributesLabelMapFilter.h
@@ -242,14 +242,14 @@ public:
 
   /**
    * Set/Get whether the maximum Feret diameter should be computed or not. The
-   * defaut value is false, because of the high computation time required.
+   * default value is false, because of the high computation time required.
    */
   void SetComputeFeretDiameter(bool flag);
   bool GetComputeFeretDiameter() const;
   itkBooleanMacro(ComputeFeretDiameter);
 
   /**
-   * Set/Get whether the perimeter should be computed or not. The defaut value
+   * Set/Get whether the perimeter should be computed or not. The default value
    * is false, because of the high computation time required.
    */
   void SetComputePerimeter(bool flag);
diff --git a/Modules/Learning/LearningBase/include/otbMachineLearningModelTraits.h b/Modules/Learning/LearningBase/include/otbMachineLearningModelTraits.h
index e9bc4cec29b9b3b45891e0265d63009bff34b76e..e5f53f39c8810b4aeb4fe4fc94b7cfddc5bb7ee0 100644
--- a/Modules/Learning/LearningBase/include/otbMachineLearningModelTraits.h
+++ b/Modules/Learning/LearningBase/include/otbMachineLearningModelTraits.h
@@ -37,7 +37,7 @@ namespace otb
  * and ValueType.
  *
  * \tparam TInput : input sample type (can be either a scalar type or
- * a VariableLenghtVector
+ * a VariableLengthVector
  * \tparam isNumber either TrueType or FalseType for partial
  * specialization
   
@@ -71,7 +71,7 @@ template <typename TInput> using MLMSampleTraits = MLMSampleTraitsImpl< TInput,
  * and ValueType.
  *
  * \tparam TInput : input sample type (can be either a scalar type or
- * a VariableLenghtVector or a FixedArray
+ * a VariableLengthVector or a FixedArray
  * \tparam isNumber either TrueType or FalseType for partial
  * specialization
   
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/ossimCosmoSkymedModel.cpp b/Modules/ThirdParty/OssimPlugins/src/ossim/ossimCosmoSkymedModel.cpp
index 8e7671c9636dac89080c186b2beed25f47f121f3..ca120f900184cc7ba600c3881b0515a4db80a5d7 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/ossimCosmoSkymedModel.cpp
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/ossimCosmoSkymedModel.cpp
@@ -99,7 +99,7 @@ bool ossimCosmoSkymedModel::InitSensorParams(const ossimKeywordlist &kwl, const
 
 
   /**
-  * @todo : see on real products (for exemple DESCENDING and ASCENDING)
+  * @todo : see on real products (for example DESCENDING and ASCENDING)
   */
   const char* orbitDirection_str = kwl.find(prefix,"orbitDirection");
   std::string orbitDirection(orbitDirection_str) ;
diff --git a/Packaging/makeself/README.md b/Packaging/makeself/README.md
index 04b9de80bbc0a71f0d1df86bd7453f1019704c36..cf7f31260bd334ef37a8ec9e76f47be44b7d906f 100644
--- a/Packaging/makeself/README.md
+++ b/Packaging/makeself/README.md
@@ -112,7 +112,7 @@ makeself.sh [args] archive_dir file_name label startup_script [script_args]
   * _archive_dir_ is the name of the directory that contains the files to be archived
   * _file_name_ is the name of the archive to be created
   * _label_ is an arbitrary text string describing the package. It will be displayed while extracting the files.
-  * _startup_script_ is the command to be executed _from within_ the directory of extracted files. Thus, if you wish to execute a program contain in this directory, you must prefix your command with `./`. For example, `./program` will be fine. The _script_args_ are additionnal arguments for this command.
+  * _startup_script_ is the command to be executed _from within_ the directory of extracted files. Thus, if you wish to execute a program contain in this directory, you must prefix your command with `./`. For example, `./program` will be fine. The _script_args_ are additional arguments for this command.
 
 Here is an example, assuming the user has a package image stored in a **/home/joe/mysoft**, and he wants to generate a self-extracting package named
 **mysoft.sh**, which will launch the "setup" script initially stored in /home/joe/mysoft :
@@ -181,7 +181,7 @@ The latest development version can be grabbed from [GitHub][10]. Feel free to su
   * **v2.1.5:** Made the md5sum detection consistent with the header code. Check for the presence of the archive directory. Added --encrypt for symmetric encryption through gpg (Eric Windisch). Added support for the digest command on Solaris 10 for MD5 checksums. Check for available disk space before extracting to the target directory (Andreas Schweitzer). Allow extraction to run asynchronously (patch by Peter Hatch). Use file descriptors internally to avoid error messages (patch by Kay Tiong Khoo).
   * **v2.1.6:** Replaced one dot per file progress with a realtime progress percentage and a spining cursor. Added --noprogress to prevent showing the progress during the decompression. Added --target dir to allow extracting directly to a target directory. (Guy Baconniere)
   * **v2.2.0:** First major new release in years! Includes many bugfixes and user contributions. Please look at the [project page on Github][10] for all the details.
-  * **v2.3.0:** Support for archive encryption via GPG or OpenSSL. Added LZO and LZ4 compression support. Options to set the packaging date and stop the umask from being overriden. Optionally ignore check for available disk space when extracting. New option to check for root permissions before extracting.
+  * **v2.3.0:** Support for archive encryption via GPG or OpenSSL. Added LZO and LZ4 compression support. Options to set the packaging date and stop the umask from being overridden. Optionally ignore check for available disk space when extracting. New option to check for root permissions before extracting.
   * **v2.3.1:** Various compatibility updates. Added unit tests for Travis CI in the GitHub repo. New --tar-extra, --untar-extra, --gpg-extra, --gpg-asymmetric-encrypt-sign options.
 
 ## Links
diff --git a/Packaging/makeself/makeself.sh b/Packaging/makeself/makeself.sh
index a2bb226d1ece2a46139dd6e8a1866100e10b65cb..5e3990514edf9e585842fcd03f3fd8ee60d1f017 100755
--- a/Packaging/makeself/makeself.sh
+++ b/Packaging/makeself/makeself.sh
@@ -6,7 +6,7 @@
 # Utility to create self-extracting tar.gz archives.
 # The resulting archive is a file holding the tar.gz archive with
 # a small Shell script stub that uncompresses the archive to a temporary
-# directory and then executes a given script from withing that directory.
+# directory and then executes a given script from within that directory.
 #
 # Makeself home page: http://makeself.io/
 #
@@ -39,7 +39,7 @@
 # - 2.0.1 : Added --copy
 # - 2.1.0 : Allow multiple tarballs to be stored in one archive, and incremental updates.
 #           Added --nochown for archives
-#           Stopped doing redundant checksums when not necesary
+#           Stopped doing redundant checksums when not necessary
 # - 2.1.1 : Work around insane behavior from certain Linux distros with no 'uncompress' command
 #           Cleaned up the code to handle error codes from compress. Simplified the extraction code.
 # - 2.1.2 : Some bug fixes. Use head -n to avoid problems.