Moved contributed downloadable content with unclear licensing to sourceforge.net.
diff --git a/src/main/docgen/docgen.cjson b/src/main/docgen/docgen.cjson
index fded4b1..2eea4cb 100644
--- a/src/main/docgen/docgen.cjson
+++ b/src/main/docgen/docgen.cjson
@@ -56,11 +56,10 @@
   newBugReport: "https://sourceforge.net/p/freemarker/bugs/new/"
   newStackOverflowQuestion: "http://stackoverflow.com/questions/ask?tags=freemarker"
   
-  // TODO: Rather move these downloads outside the "site" project (licensing)
-  emacsPluginDownload: "download/editor/ftl.el"
-  kwritePluginDownload: "download/editor/kwriteftl.tar.gz"
-  textPadPluginDownload: "download/editor/textpadftl.zip"
-  vimPluginDownload: "download/editor/ftl.vim"
+  emacsPluginDownload: "http://sourceforge.net/projects/freemarker/files/editor-plugins/ftl.el/download"
+  kwritePluginDownload: "http://sourceforge.net/projects/freemarker/files/editor-plugins/kwriteftl.tar.gz/download"
+  textPadPluginDownload: "http://sourceforge.net/projects/freemarker/files/editor-plugins/textpadftl.zip/download"
+  vimPluginDownload: "http://sourceforge.net/projects/freemarker/files/editor-plugins/ftl.vim/download"
 }
 
 tabs: {
diff --git a/src/main/docgen/download/editor/fm-eclipse-help.tar.gz b/src/main/docgen/download/editor/fm-eclipse-help.tar.gz
deleted file mode 100644
index 694469d..0000000
--- a/src/main/docgen/download/editor/fm-eclipse-help.tar.gz
+++ /dev/null
Binary files differ
diff --git a/src/main/docgen/download/editor/ftl.el b/src/main/docgen/download/editor/ftl.el
deleted file mode 100644
index 414217d..0000000
--- a/src/main/docgen/download/editor/ftl.el
+++ /dev/null
@@ -1,199 +0,0 @@
-;;; ftl.el --- fontify velocity template language code
-
-;; Modified from vtl mode by Brian Leonard <brian@brainslug.org>
-;; Maintainer: marvin.greenberg@acm.org
-;; Keywords: extensions
-;; Created: 2003-03-13
-;; Version 0.1
-
-;;; Commentary:
-
-;;;
-;;; Known bugs!:
-;;;
-;;; Hilighting of strings with escaped quotes will be erroneously terminated at the escaped quote.
-;;; Strings are fontified everywhere, not just in interpolations and directives
-;;; An occurrence of '>' within a string or expression in a directive or interpolation
-;;;   will incorrectly terminate highlighting.
-;;; An occurrence of '}' within a string argument to a method in an interpolation
-;;;   will incorrectly terminate highlighting for the interpolation.
-;;;
-
-;; One useful way to enable this minor mode is to put the following in your
-;; .emacs, assuming you save this in your home directory also:
-;;      (load-file "~/ftl.el")
-;;      (autoload 'turn-on-ftl-mode "ftl" nil t)
-;;      (add-hook 'html-mode-hook 'turn-on-ftl-mode t t)
-;;      (add-hook 'xml-mode-hook 'turn-on-ftl-mode t t)
-;;      (add-hook 'text-mode-hook 'turn-on-ftl-mode t t)
-;;
-;;  Also this might be useful
-;;
-;;   (setq auto-mode-alist (cons (cons "\\.ftl$" 'ftl-mode) auto-mode-alist))
-
-;;; Code:
-
-(require 'font-lock)
-(require 'cl)
-
-(defgroup ftl nil
-  "Fontifies FTL code.  see http://freemarker.org"
-  :group 'ftl
-  :group 'font-lock
-  :group 'extensions)
-
-;;;###autoload
-(defcustom ftl-mode nil
-  "*If non-nil, fontify ftl code"
-  :type 'boolean) 
-(make-variable-buffer-local 'ftl-mode) 
-
-;;;###autoload
-(defcustom ftl-minor-mode-string " FTL"
-  "*String to display in mode line when FTL Mode is enabled."
-  :type 'string
-  :group 'ftl)
-
-;;;###autoload
-(defun turn-on-ftl-mode ()
-  "Unequivocally turn on ftl-mode (see variable documentation)."
-  (interactive)
-  (font-lock-mode 1)
-  (ftl-mode 1))
-
-;; Put minor mode string on the global minor-mode-alist.
-;;;###autoload
-(cond ((fboundp 'add-minor-mode)
-       (add-minor-mode 'ftl-mode 'ftl-minor-mode-string))
-      ((assq 'ftl-mode (default-value 'minor-mode-alist)))
-      (t
-       (setq-default minor-mode-alist
-                     (append (default-value 'minor-mode-alist)
-                             '((ftl-mode ftl-minor-mode-string))))))
-
-;;;###autoload
-(defun ftl-mode (&optional prefix)
-  "Toggle FTL Mode.
-
-If called interactively with no prefix argument, toggle current condition
-of the mode.
-If called with a positive or negative prefix argument, enable or disable
-the mode, respectively."
-  (interactive "P")
-
-  (setq ftl-mode
-	(if prefix
-	    (>= (prefix-numeric-value prefix) 0)
-	  (not ftl-mode)))
-
-  (cond (ftl-mode
-	 ;; first, grab default
-	 (font-lock-mode 0)
-	 (font-lock-set-defaults)
-
-	 ;; add ftl regexps
-	 (setq font-lock-keywords
-	       (let ((new-keywords
-		      (cond ((null font-lock-keywords)
-			     ftl-keywords)
-			    (t
-			     (list* (car font-lock-keywords)
-				    (append (cdr font-lock-keywords)
-					    ftl-keywords))))))
-		 new-keywords))
-
-	 ;; and restart font-lock
-	 (font-lock-mode 1)
-	 (font-lock-fontify-buffer))
-
-	(t
-	 ;; reset to major mode's defaults
-	 (font-lock-mode 0)
-	 (font-lock-set-defaults)
-	 (font-lock-mode 1)
-	 (font-lock-fontify-buffer)))
-	 
-  (and (interactive-p)
-       (if ftl-mode
-           (message "ftl-mode is enabled")
-         (message "ftl-mode is disabled")))
-  ftl-mode)
-
-
-;
-; tried complex, now try simple
-
-(setq ftl-keywords
-  (let 
-      (
-       (directive (concat "[<][/]?#\\(assign\\|if\\|elseif\\|else\\|foreach\\|"
-                          "list\\|break\\|import\\|include\\|noparse\\|compress\\|"
-                          "escape\\|noescape\\|global\\|local\\|setting\\|"
-                          "switch\\|case\\|call\\|break\\|"
-			  "nested\\|return\\|flush\\|stop\\|macro\\|ftl\\|"
-                          "t\\|lt\\|rt\\)"
-                          "[^a-zA-Z][^>]*[>]"))
-       (directive-noargs (concat "[<][/]?#\\(assign\\|if\\|elseif\\|else\\|foreach\\|"
-                          "list\\|break\\|import\\|include\\|noparse\\|compress\\|"
-                          "escape\\|noescape\\|global\\|local\\|setting\\|"
-                          "switch\\|case\\|call\\|break\\|"
-			  "nested\\|return\\|flush\\|stop\\|macro\\|ftl\\|"
-                          "t\\|lt\\|rt\\)"
-                          "[>]"))
-       (invalid-directive "\\([<][/]?#[a-zA-Z][a-zA-Z_0-9]*\\)[^>]*\\([>]\\)")
-       (user-directive "[<][/]?@[a-zA-Z_][a-zA-Z0-9_]*[^>]*[>]")
-       (interpolation-all  "[#$][{][^}]+[}]")
-       (string  "[\"][^\"]*[\"]")
-       (sq-string  "[\'][^\']*[\']")
-       (comment "[<]#--[^>]*--[>]"))
-
-    (list
-     (list user-directive '(0 font-lock-function-name-face t))
-     (list invalid-directive '(1 font-lock-warning-face t))
-     (list invalid-directive '(2 font-lock-warning-face t))
-     (list directive '(0 font-lock-keyword-face t))
-     (list directive-noargs '(0 font-lock-keyword-face t))
-     (list interpolation-all '(0 font-lock-type-face t))
-     (list string    '(0 font-lock-string-face t))
-     (list sq-string    '(0 font-lock-string-face t))
-     (list comment   '(0 font-lock-comment-face t)))))
-
-;; This was an attempt to get more granularity, e.g. anything 
-;; name[(]args[)] would hilight as a function in interpolations or user directives
-;; Anything name would highlight as a variable name in interpolations or user directives
-;; Syntax in interpolations (.(),+- etc.) would highlight as a differnet face.
-;; But I couldn't figure out how to get "recursive" highlights (like a method as an
-;; argument to a method...) to match a regex properly...  But I have some ideas...
-;;
-;; (defvar ftl-keywords
-;;   (let 
-;;       (
-;;        (directive (concat "\\([<][/]?#\\(assign\\|if\\|elseif\\|else\\|foreach\\|"
-;;                           "list\\|break\\|import\\|noparse\\|compress\\|"
-;;                           "escape\\|noescape\\|global\\|local\\|setting\\|"
-;;                           "switch\\|case\\|default\\|break\\|"
-;; 			  "nested\\|return\\|flush\\|stop\\|macro\\ftl\\|"
-;;                           "t\\|lt\\|rt"
-;;                           ")[^>]*[>]\\)"))
-;;        (user-directive "\\([<][/]?@[a-zA-Z][a-zA-Z0-9_]*[^>]*[>]\\)")
-
-;;        (interpolation-all     "\\(\\$[{][^}]+[}]\\)")
-;;        (interpolation-names   "\\$[{]\\(?\\([:alpha:][_[:alnum:]]*\\)[(),. ]*\\)[}]")
-;;        (interpolation-methods "\\$[{]\\(?\\([:alpha:][_[:alnum:]]*\\)[(][^(}]\\)*[}]")
-;;        (interpolation-syntax  "\\$[{]\\(?[^(),.\"']*\\([.,()\"']\\)\\)*[}]")
-;;        (string  "\\(\"[^\"]*\"\\)")
-;;        (comment "\\([<]#--[^>]*--[>]\\)"))
-
-
-;;     (list
-;;      (list interpolation-all '(1 font-lock-type-face t))
-;;      (list interpolation-names '(1 font-lock-variable-name-face t))
-;;      (list interpolation-methods '(1 font-lock-function-face t))
-;;      (list interpolation-syntax '(1 font-lock-warning-face t))
-;;      (list user-directive '(0 font-lock-function-name-face t))
-;;      (list directive '(0 font-lock-keyword-face t))
-;;      (list string    '(1 font-lock-string-face t))
-;;      (list comment   '(0 font-lock-comment-face t)))))
-
-(provide 'ftl)
-
diff --git a/src/main/docgen/download/editor/ftl.vim b/src/main/docgen/download/editor/ftl.vim
deleted file mode 100644
index 342886a..0000000
--- a/src/main/docgen/download/editor/ftl.vim
+++ /dev/null
@@ -1,97 +0,0 @@
-" Vim syntax file
-" Language:    FreeMarker Template Language (FTL)
-" Maintainer:  Stephan Müller <stephan@notatoaster.org>
-" Last Change: 2008 Oct 22
-"
-" Changelog:
-" 1.0 Stephan Müller: Original version
-" 1.1 tyru:
-"   Added Feature:
-"     * Highlight html tags.
-"       * The user can disable the feature by adding its setting to .vimrc:
-"           let g:ftl_no_html = 1
-"         The feature enabled by default.
-"   Fixed Issues:
-"     * Missing boilerplates of vim syntax plugin
-"       * b:current_syntax is not defined. vim syntax plugin must define it.
-"       * if b:current_syntax is defined, do not load syntax plugin
-" 1.2 tyru:
-"     * Sorry, remove HTML highlight feature.
-"       because ":setfiletype html.ftl" is enough.
-"
-" Licensed under the MIT License (MIT):
-"
-" Copyright (c) 2008 Stephan Müller
-"
-" Permission is hereby granted, free of charge, to any person obtaining a copy
-" of this software and associated documentation files (the "Software"), to deal
-" in the Software without restriction, including without limitation the rights
-" to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-" copies of the Software, and to permit persons to whom the Software is
-" furnished to do so, subject to the following conditions:
-"
-" The above copyright notice and this permission notice shall be included in
-" all copies or substantial portions of the Software.
-" 
-" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-" SOFTWARE.
-
-" For version 5.x: Clear all syntax items
-" For version 6.x: Quit when a syntax file was already loaded
-if version < 600
-  syntax clear
-elseif exists('b:current_syntax')
-  finish
-endif
-
-syn case match
-
-" directives and interpolations
-syn region ftlStartDirective start=+<#+ end=+>+ contains=ftlKeyword, ftlDirective, ftlString, ftlComment
-syn region ftlEndDirective start=+</#+ end=+>+ contains=ftlDirective
-syn region ftlStartDirectiveAlt start=+\[#+ end=+\]+ contains=ftlKeyword, ftlDirective, ftlString, ftlComment
-syn region ftlEndDirectiveAlt start=+\[/#+ end=+\]+ contains=ftlDirective
-syn region ftlStartUserDirective start=+<@+ end=+>+ contains=ftlString, ftlComment
-syn region ftlEndUserDirective start=+</@+ end=+>+
-syn region ftlStartUserDirectiveAlt start=+\[@+ end=+\]+ contains=ftlString, ftlComment
-syn region ftlEndUserDirectiveAlt start=+\[/@+ end=+\]+
-syn region ftlInterpolation start=+${+ end=+}+
-syn region ftlInterpolation2 start=+#{+ end=+}+
-syn region ftlString contained start=+"+ end=+"+
-syn region ftlComment start=+<#--+ end=+-->+
-syn region ftlCommentAlt start=+\[#--+ end=+--\]+
-
-" keywords
-syn keyword ftlDirective contained list if else macro import include switch case break
-syn keyword ftlDirective contained assign local global nested recurse fallback visit
-syn keyword ftlDirective contained function return t rt lt nt ftl
-syn keyword ftlKeyword contained as in using
-
-" highlighting
-
-" don't use standard HiLink, it will not work with included syntax files
-if version < 508
-  command! -nargs=+ FtlHiLink hi link <args>
-else
-  command! -nargs=+ FtlHiLink hi def link <args>
-endif
-
-FtlHiLink ftlKeyword Statement
-FtlHiLink ftlDirective Statement
-FtlHiLink ftlStartDirective Function
-FtlHiLink ftlEndDirective Function
-FtlHiLink ftlStartUserDirective Function
-FtlHiLink ftlEndUserDirective Function
-FtlHiLink ftlInterpolation Constant
-FtlHiLink ftlInterpolation2 Constant
-FtlHiLink ftlString Constant
-FtlHiLink ftlComment Comment
-
-delcommand FtlHiLink
-
-let b:current_syntax = "ftl"
diff --git a/src/main/docgen/download/editor/kwriteftl.tar.gz b/src/main/docgen/download/editor/kwriteftl.tar.gz
deleted file mode 100644
index 5795a54..0000000
--- a/src/main/docgen/download/editor/kwriteftl.tar.gz
+++ /dev/null
Binary files differ
diff --git a/src/main/docgen/download/editor/textpadftl.zip b/src/main/docgen/download/editor/textpadftl.zip
deleted file mode 100644
index 5fe5783..0000000
--- a/src/main/docgen/download/editor/textpadftl.zip
+++ /dev/null
Binary files differ
diff --git a/src/main/docgen/download/library/rtf.zip b/src/main/docgen/download/library/rtf.zip
deleted file mode 100644
index 4c050cc..0000000
--- a/src/main/docgen/download/library/rtf.zip
+++ /dev/null
Binary files differ