Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gendl
gendl
Commits
ed4779f6
Commit
ed4779f6
authored
May 13, 2012
by
Dave Cooper
Browse files
cleaned up published directories; added Solarized and color-theme
parent
e2d18797
Changes
120
Expand all
Hide whitespace changes
Inline
Side-by-side
build/source/app.lisp
View file @
ed4779f6
...
...
@@ -58,7 +58,8 @@ temporary directory, returned by <tt>(glisp:temporary-folder)</tt>."
(
pre-load-form
(
the
load-core-gdl-form
))
(
post-load-form
nil
)
(
post-load-form
'
(
progn
(
setf
(
symbol-value
(
read-from-string
"asdf:*central-registry*"
))
nil
)))
(
init-file-names
nil
)
...
...
@@ -122,7 +123,6 @@ temporary directory, returned by <tt>(glisp:temporary-folder)</tt>."
(
setq
glisp:*gdl-home*
(
glisp:current-directory
))
(
setq
glisp:*genworks-source-home*
(
merge-pathnames
"src/"
glisp:*gdl-home*
))
(
setq
ql:*quicklisp-home*
(
merge-pathnames
"quicklisp/"
glisp:*gdl-home*
))
(
asdf:initialize-output-translations
)
(
gdl:start-gdl
:edition
:trial
)
(
glisp:set-gs-path
(
merge-pathnames
"gpl/gs/gs8.63/bin/gswin32c.exe"
glisp:*gdl-home*
))))
...
...
@@ -146,12 +146,7 @@ temporary directory, returned by <tt>(glisp:temporary-folder)</tt>."
:destination-directory
destination-directory
:modules
(
list
#-
64bit
:agraph
#-
64bit
:ide
)
:restart-init-function
'
(
lambda
()
(
setq
glisp:*gdl-home*
(
glisp:current-directory
))
(
setq
glisp:*genworks-source-home*
(
merge-pathnames
"src/"
glisp:*gdl-home*
))
(
setq
ql:*quicklisp-home*
(
merge-pathnames
"quicklisp/"
glisp:*gdl-home*
))
(
asdf:initialize-output-translations
)
(
gdl:start-gdl
:edition
:trial
)
(
glisp:set-gs-path
(
merge-pathnames
"gpl/gs/gs8.63/bin/gswin32c.exe"
glisp:*gdl-home*
))))
(
gdl:start-gdl
:edition
:trial
)))
destination-directory
))
...
...
build/source/distro.lisp
View file @
ed4779f6
...
...
@@ -79,71 +79,78 @@
:computed-slots
((
source
(
first
(
the
pair
)))
(
target
(
rest
(
the
pair
)))
(
target-parent
(
merge-pathnames
"../"
(
the
target
)))
(
os
(
lastcar
(
butlast
(
pathname-directory
(
the
target-parent
))))))
(
os
(
lastcar
(
butlast
(
pathname-directory
(
the
target-parent
)))))
(
distributed?
(
probe-file
(
merge-pathnames
"distributed.txt"
(
the
source
)))))
:functions
((
make!
()
(
when
(
and
(
probe-file
(
the
target
))
(
the
overwrite?
))
(
glisp:delete-directory-and-files
(
the
target-parent
)
:quiet
t
))
(
unless
(
probe-file
(
the
target-parent
))
(
glisp:copy-directory
(
the
source
)
(
the
target
))
;;
;; Documentation:
;;
(
ensure-directories-exist
(
merge-pathnames
"documentation/"
(
the
target-parent
)))
(
glisp:copy-file
(
merge-pathnames
"documentation/gdl-documentation.pdf"
glisp:*genworks-source-home*
)
(
merge-pathnames
"documentation/gdl-documentation.pdf"
(
the
target-parent
)))
;;
;; GDL source code:
;;
(
glisp:copy-directory
glisp:*genworks-source-home*
(
merge-pathnames
"src/"
(
the
target-parent
)))
(
glisp:delete-directory-and-files
(
merge-pathnames
"src/.git/"
(
the
target-parent
))
:quiet
t
)
(
delete-file
(
merge-pathnames
"src/.gitignore"
(
the
target-parent
)))
;;
;; Quicklisp:
;;
#+
nil
(
glisp:copy-directory
(
merge-pathnames
"../../common/quicklisp/"
glisp:*genworks-source-home*
)
(
merge-pathnames
"quicklisp/"
(
the
target-parent
)))
;;
;; eli:
;;
(
ensure-directories-exist
(
merge-pathnames
"emacs/"
(
the
target-parent
)))
(
glisp:copy-directory
(
translate-logical-pathname
"sys:eli;"
)
(
merge-pathnames
"emacs/eli/"
(
the
target-parent
)))
(
glisp:copy-file
(
merge-pathnames
"dist/emacs/gdl.el"
glisp:*genworks-source-home*
)
(
merge-pathnames
"emacs/gdl.el"
(
the
target-parent
)))
;;
;; Startup batch file or script:
;;
(
if
(
string-equal
(
the
os
)
"windows"
)
(
glisp:copy-file
(
merge-pathnames
"dist/run-gdl.bat"
glisp:*genworks-source-home*
)
(
merge-pathnames
"run-gdl.bat"
(
the
target-parent
)))
(
glisp:copy-file
(
merge-pathnames
"dist/run-gdl"
glisp:*genworks-source-home*
)
(
merge-pathnames
"run-gdl"
(
the
target-parent
))))
;;
;; smlib shared library
;;
(
if
(
the
distributed?
)
(
format
t
"~% ~a is Already Distributed (fill in time & date here from contents of distributed.txt)~%~%"
(
the
source
))
(
progn
(
when
(
and
(
probe-file
(
the
target
))
(
the
overwrite?
))
(
glisp:delete-directory-and-files
(
the
target-parent
)
:quiet
t
))
(
unless
(
probe-file
(
the
target-parent
))
(
glisp:copy-directory
(
the
source
)
(
the
target
))
;;
;; Documentation:
;;
(
ensure-directories-exist
(
merge-pathnames
"documentation/"
(
the
target-parent
)))
(
glisp:copy-file
(
merge-pathnames
"documentation/gdl-documentation.pdf"
glisp:*genworks-source-home*
)
(
merge-pathnames
"documentation/gdl-documentation.pdf"
(
the
target-parent
)))
;;
;; GDL source code:
;;
(
glisp:copy-directory
glisp:*genworks-source-home*
(
merge-pathnames
"src/"
(
the
target-parent
)))
(
glisp:delete-directory-and-files
(
merge-pathnames
"src/.git/"
(
the
target-parent
))
:quiet
t
)
(
delete-file
(
merge-pathnames
"src/.gitignore"
(
the
target-parent
)))
;;
;; Quicklisp:
;;
#+
nil
(
glisp:copy-directory
(
merge-pathnames
"../../common/quicklisp/"
glisp:*genworks-source-home*
)
(
merge-pathnames
"quicklisp/"
(
the
target-parent
)))
;;
;; eli:
;;
(
ensure-directories-exist
(
merge-pathnames
"emacs/"
(
the
target-parent
)))
(
glisp:copy-directory
(
translate-logical-pathname
"sys:eli;"
)
(
merge-pathnames
"emacs/eli/"
(
the
target-parent
)))
(
glisp:copy-file
(
merge-pathnames
"dist/emacs/gdl.el"
glisp:*genworks-source-home*
)
(
merge-pathnames
"emacs/gdl.el"
(
the
target-parent
)))
;;
;; Startup batch file or script:
;;
(
if
(
string-equal
(
the
os
)
"windows"
)
(
glisp:copy-file
(
merge-pathnames
"dist/run-gdl.bat"
glisp:*genworks-source-home*
)
(
merge-pathnames
"run-gdl.bat"
(
the
target-parent
)))
(
glisp:copy-file
(
merge-pathnames
"dist/run-gdl"
glisp:*genworks-source-home*
)
(
merge-pathnames
"run-gdl"
(
the
target-parent
))))
;;
;; smlib shared library
;;
(
let
((
smlib-version
"8.51"
))
(
ensure-directories-exist
(
merge-pathnames
(
format
nil
"SMLib~a/"
smlib-version
)
(
the
target-parent
)))
(
let
((
smlib-name
(
if
(
find-package
:smlib
)
(
funcall
(
read-from-string
"glisp:smlib-name"
))
(
error
"smlib-name not known (smlib module probably not loaded)."
))))
(
glisp:copy-file
(
merge-pathnames
(
format
nil
"../../common/SMLib~a/~a"
smlib-version
smlib-name
)
glisp:*genworks-source-home*
)
(
merge-pathnames
(
format
nil
"SMLib~a/~a"
smlib-version
smlib-name
)
(
the
target-parent
)))))
;;
;; gpl on windows
;;
#+
nil
(
when
(
string-equal
(
the
os
)
"windows"
)
(
glisp:copy-directory
(
merge-pathnames
"../../common/gpl/"
glisp:*genworks-source-home*
)
(
merge-pathnames
"gpl/"
(
the
target-parent
))))))))
(
let
((
smlib-version
"8.51"
))
(
ensure-directories-exist
(
merge-pathnames
(
format
nil
"SMLib~a/"
smlib-version
)
(
the
target-parent
)))
(
let
((
smlib-name
(
if
(
find-package
:smlib
)
(
funcall
(
read-from-string
"glisp:smlib-name"
))
(
error
"smlib-name not known (smlib module probably not loaded)."
))))
(
glisp:copy-file
(
merge-pathnames
(
format
nil
"../../common/SMLib~a/~a"
smlib-version
smlib-name
)
glisp:*genworks-source-home*
)
(
merge-pathnames
(
format
nil
"SMLib~a/~a"
smlib-version
smlib-name
)
(
the
target-parent
)))))
;;
;; gpl on windows
;;
#+
nil
(
when
(
string-equal
(
the
os
)
"windows"
)
(
glisp:copy-directory
(
merge-pathnames
"../../common/gpl/"
glisp:*genworks-source-home*
)
(
merge-pathnames
"gpl/"
(
the
target-parent
))))))))
))
(
defun
distro
(
&rest
args
)
...
...
demos/depends-on.isc
View file @
ed4779f6
(:gdl-gwl-graphics
:gdl-surf
)
(:gdl-gwl-graphics)
demos/gdl-demos.asd
View file @
ed4779f6
(
asdf:defsystem
#:gdl-demos
:description
"Auto-generated asdf defsys from Genworks GDL cl-lite."
:author
"Genworks and Dave Cooper unless otherwise indicated"
:license
"AGPL unless otherwise indicated"
:serial
t
:version
"2012050600"
:depends-on
(
:gdl-gwl-graphics
:gdl-surf
)
:components
((
:file
"robot/source/package"
)
(
:file
"robot/source/assembly"
)
(
:file
"newsite/source/package"
)
(
:file
"newsite/source/locales"
)
(
:file
"newsite/source/Services"
)
(
:file
"newsite/source/assembly"
)
(
:file
"newsite/source/configurator-engine"
)
(
:file
"newsite/source/configurator"
)
(
:file
"newsite/source/contact-us"
)
(
:file
"newsite/source/demos"
)
(
:file
"newsite/source/documentation"
)
(
:file
"newsite/source/explanations"
)
(
:file
"newsite/source/index"
)
(
:file
"newsite/source/language"
)
(
:file
"newsite/source/licensing"
)
(
:file
"newsite/source/mixins"
)
(
:file
"newsite/source/news"
)
(
:file
"newsite/source/people"
)
(
:file
"newsite/source/product-descriptions"
)
(
:file
"newsite/source/product-licensing"
)
(
:file
"newsite/source/products"
)
(
:file
"newsite/source/publish"
)
(
:file
"newsite/source/survey"
)
(
:file
"twenty-four/source/infpre"
)
(
:file
"twenty-four/source/assembly"
)
(
:file
"twenty-four/source/cards-by-number"
)
(
:file
"twenty-four/source/find"
)
(
:file
"bus/source/package"
)
(
:file
"bus/source/assembly"
)
(
:file
"bus/source/body"
)
(
:file
"bus/source/chassis"
)
(
:file
"bus/source/interior"
)
(
:file
"bus/source/rule-ackermann"
)
(
:file
"bus/source/axle"
)
(
:file
"bus/source/fleet"
)
(
:file
"bus/source/frame-rail"
)
(
:file
"bus/source/frame"
)
(
:file
"bus/source/html-writer-assembly"
)
(
:file
"bus/source/html-writer-body"
)
(
:file
"bus/source/html-writer-chassis"
)
(
:file
"bus/source/html-writer-interior"
)
(
:file
"bus/source/html-writer-rule-ackermann"
)
(
:file
"bus/source/inter-seat-clearance-check"
)
(
:file
"bus/source/inter-seat-spacing"
)
(
:file
"bus/source/knuckle"
)
(
:file
"bus/source/parameters"
)
(
:file
"bus/source/publish"
)
(
:file
"bus/source/rear-axle"
)
(
:file
"bus/source/seat"
)
(
:file
"bus/source/seating-section"
)
(
:file
"bus/source/seating-side"
)
(
:file
"bus/source/wheel"
)
(
:file
"glassbox/source/assembly"
)
(
:file
"glassbox/source/eco-tree"
)
(
:file
"ledger/source/package"
)
(
:file
"ledger/source/assembly"
)
(
:file
"ledger/source/html"
)
(
:file
"site/source/package"
)
(
:file
"site/source/assembly"
)
(
:file
"site/source/contact"
)
(
:file
"site/source/demos"
)
(
:file
"site/source/glossary"
)
(
:file
"site/source/index"
)
(
:file
"site/source/landing"
)
(
:file
"site/source/licensing"
)
(
:file
"site/source/maintenance"
)
(
:file
"site/source/make"
)
(
:file
"site/source/mixins"
)
(
:file
"site/source/new"
)
(
:file
"site/source/opportunities"
)
(
:file
"site/source/options"
)
(
:file
"site/source/people"
)
(
:file
"site/source/pricing"
)
(
:file
"site/source/products"
)
(
:file
"site/source/publish"
)
(
:file
"site/source/security"
)
(
:file
"wire-world/source/package"
)
(
:file
"wire-world/source/assembly"
)))
\ No newline at end of file
(
asdf:defsystem
#:gdl-demos
:description
"Auto-generated asdf defsys from Genworks GDL cl-lite."
:author
"Genworks and Dave Cooper unless otherwise indicated"
:license
"AGPL unless otherwise indicated"
:serial
t
:version
"2012051300"
:depends-on
(
:gdl-gwl-graphics
)
:components
((
:file
"robot/source/package"
)
(
:file
"robot/source/assembly"
)
(
:file
"newsite/source/package"
)
(
:file
"newsite/source/locales"
)
(
:file
"newsite/source/Services"
)
(
:file
"newsite/source/assembly"
)
(
:file
"newsite/source/configurator-engine"
)
(
:file
"newsite/source/configurator"
)
(
:file
"newsite/source/contact-us"
)
(
:file
"newsite/source/demos"
)
(
:file
"newsite/source/documentation"
)
(
:file
"newsite/source/downloads"
)
(
:file
"newsite/source/explanations"
)
(
:file
"newsite/source/index"
)
(
:file
"newsite/source/language"
)
(
:file
"newsite/source/licensing"
)
(
:file
"newsite/source/mixins"
)
(
:file
"newsite/source/news"
)
(
:file
"newsite/source/people"
)
(
:file
"newsite/source/product-descriptions"
)
(
:file
"newsite/source/product-licensing"
)
(
:file
"newsite/source/products"
)
(
:file
"newsite/source/publish"
)
(
:file
"twenty-four/source/infpre"
)
(
:file
"twenty-four/source/assembly"
)
(
:file
"twenty-four/source/cards-by-number"
)
(
:file
"twenty-four/source/find"
)
(
:file
"bus/source/package"
)
(
:file
"bus/source/assembly"
)
(
:file
"bus/source/body"
)
(
:file
"bus/source/chassis"
)
(
:file
"bus/source/interior"
)
(
:file
"bus/source/rule-ackermann"
)
(
:file
"bus/source/axle"
)
(
:file
"bus/source/fleet"
)
(
:file
"bus/source/frame-rail"
)
(
:file
"bus/source/frame"
)
(
:file
"bus/source/html-writer-assembly"
)
(
:file
"bus/source/html-writer-body"
)
(
:file
"bus/source/html-writer-chassis"
)
(
:file
"bus/source/html-writer-interior"
)
(
:file
"bus/source/html-writer-rule-ackermann"
)
(
:file
"bus/source/inter-seat-clearance-check"
)
(
:file
"bus/source/inter-seat-spacing"
)
(
:file
"bus/source/knuckle"
)
(
:file
"bus/source/parameters"
)
(
:file
"bus/source/publish"
)
(
:file
"bus/source/rear-axle"
)
(
:file
"bus/source/seat"
)
(
:file
"bus/source/seating-section"
)
(
:file
"bus/source/seating-side"
)
(
:file
"bus/source/wheel"
)
(
:file
"glassbox/source/assembly"
)
(
:file
"glassbox/source/eco-tree"
)
(
:file
"ledger/source/package"
)
(
:file
"ledger/source/assembly"
)
(
:file
"ledger/source/html"
)
(
:file
"site/source/package"
)
(
:file
"site/source/assembly"
)
(
:file
"site/source/contact"
)
(
:file
"site/source/demos"
)
(
:file
"site/source/glossary"
)
(
:file
"site/source/index"
)
(
:file
"site/source/landing"
)
(
:file
"site/source/licensing"
)
(
:file
"site/source/maintenance"
)
(
:file
"site/source/make"
)
(
:file
"site/source/mixins"
)
(
:file
"site/source/new"
)
(
:file
"site/source/opportunities"
)
(
:file
"site/source/options"
)
(
:file
"site/source/people"
)
(
:file
"site/source/pricing"
)
(
:file
"site/source/products"
)
(
:file
"site/source/publish"
)
(
:file
"site/source/security"
)
(
:file
"wire-world/source/package"
)
(
:file
"wire-world/source/assembly"
)))
\ No newline at end of file
demos/gdlinit.cl
View file @
ed4779f6
...
...
@@ -3,30 +3,29 @@
(
net.aserve:shutdown
)
(
net.aserve:start
:port
80
:listeners
50
)
(
publish-gwl-app
"/"
"genworks.com:assembly"
)
(
publish-gwl-app
"/newsite"
"www.genworks.com:assembly"
)
(
dolist
(
host
(
list
"cl-foundation.com"
"cl-foundation.org"
"www.cl-foundation.com"
"www.cl-foundation.org"
))
(
net.aserve:publish-directory
:prefix
"/aclu_files/"
:host
host
:destination
(
format
nil
"~a"
(
probe-file
"../static-old/aclu_files/"
)))
(
net.aserve:publish-file
:path
"/"
:host
host
:file
(
format
nil
"~a"
(
probe-file
"../static-old/aclu.html"
))))
"www.cl-foundation.com"
"www.cl-foundation.org"
))
(
net.aserve:publish-directory
:prefix
"/aclu_files/"
:host
host
:destination
(
format
nil
"~a"
(
merge-pathnames
"static-old/aclu_files/"
glisp:*gdl-home*
)))
(
net.aserve:publish-file
:path
"/"
:host
host
:file
(
format
nil
"~a"
(
merge-pathnames
"static-old/aclu.html"
glisp:*gdl-home*
))))
(
net.aserve:publish-directory
:prefix
"/downloads/"
:destination
"../downloads/"
)
:destination
(
format
nil
"~a"
(
merge-pathnames
"downloads/"
glisp:*gdl-home*
))
)
(
excl.osi:setgid
1002
)
(
excl.osi:setuid
1002
)
...
...
demos/make.lisp
deleted
100644 → 0
View file @
e2d18797
(
in-package
:gdl-user
)
(
eval-when
(
:compile-toplevel
:load-toplevel
:execute
)
(
ql:quickload
:gdl-build
))
(
define-object
site-app
(
gdl-build:app
)
:computed-slots
((
application-name
"gdl-demos"
)
(
application-class
:runtime
)
(
modules
:smtp
:ftp
)
(
post-load-form
'
(
progn
(
ql:quickload
:gdl-demos
)
(
ql:quickload
:gdl-downloads
)
(
setf
(
symbol-value
(
read-from-string
"asdf:*central-registry*"
))
nil
)
;;
;; FLAG -- clear other asdf and quicklisp parameters here
;;
))
(
restart-init-function
'
(
lambda
()
(
setq
glisp:*gdl-home*
(
glisp:current-directory
))
(
gdl:start-gdl
:edition
:runtime
)
(
setf
(
symbol-value
(
read-from-string
"www.genworks.com::*smtp-server*"
))
"localhost"
)
(
glisp:set-gs-path
)
(
net.aserve:publish-directory
:prefix
"/static/"
:destination
(
format
nil
"~a"
(
merge-pathnames
"static/"
glisp:*gdl-home*
)))
(
net.aserve:publish-directory
:prefix
"/site-static/"
:destination
(
format
nil
"~a"
(
merge-pathnames
"site-static/"
glisp:*gdl-home*
)))
(
net.aserve:publish-directory
:prefix
"/newsite-static/"
:destination
(
format
nil
"~a"
(
merge-pathnames
"newsite-static/"
glisp:*gdl-home*
)))
(
dolist
(
init-file
(
list
"gdlinit.cl"
".gdlinit.cl"
))
(
dolist
(
directory
(
list
glisp:*gdl-home*
(
user-homedir-pathname
)))
(
when
(
probe-file
(
merge-pathnames
init-file
directory
))
(
load
(
merge-pathnames
init-file
directory
)))))))
(
demo-days
nil
)))
(
defun
site-app
()
(
require
:smtp
)
(
require
:ftp
)
(
ql:quickload
:gdl-demos
)
(
ql:quickload
:gdl-downloads
)
(
let
((
self
(
make-object
'site-app
)))
(
when
(
probe-file
(
the
destination-directory
))
(
glisp:delete-directory-and-files
(
the
destination-directory
)))
(
the
make!
)
(
ensure-directories-exist
(
merge-pathnames
"SMLib8.51/"
(
the
destination-directory
)))
(
glisp:copy-file
(
merge-pathnames
"SMLib8.51/smlib.so"
glisp:*gdl-home*
)
(
merge-pathnames
"SMLib8.51/smlib.so"
(
the
destination-directory
)))
(
glisp:copy-file
(
merge-pathnames
"demos/gdlinit.cl"
glisp:*genworks-source-home*
)
(
merge-pathnames
"gdlinit.cl"
(
the
destination-directory
)))
(
glisp:copy-directory
(
merge-pathnames
"gdl/gwl/static/"
glisp:*genworks-source-home*
)
(
merge-pathnames
"static/"
(
the
destination-directory
)))
(
glisp:copy-directory
(
merge-pathnames
"demos/site/static/"
glisp:*genworks-source-home*
)
(
merge-pathnames
"site-static/"
(
the
destination-directory
)))
(
glisp:copy-directory
(
merge-pathnames
"demos/newsite/static/"
glisp:*genworks-source-home*
)
(
merge-pathnames
"newsite-static/"
(
the
destination-directory
)))
(
excl.osi:command-output
(
format
nil
"rsync -zav ~a dcooper8@genworks.com:~~/kitchen/~a/"
(
the
destination-directory
)
(
lastcar
(
pathname-directory
(
the
destination-directory
)))))
(
excl.osi:command-output
"ssh dcooper8@genworks.com killall -9 gdl-demos"
)))
demos/newsite/source/configurator.lisp
View file @
ed4779f6
...
...
@@ -247,7 +247,7 @@
(
money-saving-tip
(
when
(
eql
(
the
selected-cl-engine
)
:
none
)
(
when
(
eql
(
the
selected-cl-engine
)
:
sbcl
)
(
with-cl-who-string
()
(
str
(
locale-string
:select
))
" "
...
...
demos/newsite/source/explanations.lisp
View file @
ed4779f6
...
...
@@ -4,195 +4,125 @@
:computed-slots
((
inner-html
(
with-cl-who-string
()
(
:h2
"Licensing Levels Explained"
)
"Genworks Gendl is so-called "
((
:a
:href
"http://en.wikipedia.org/wiki/Multi-licensing"
)
"\"dual-licensed\""
)
" software, available under an open-source license ("
((
:a
:href
"http://www.gnu.org/licenses/agpl-3.0.txt"
)
"AGPL"
)
") and alternatively under various proprietary
licenses (described below) some of which allow you
to distribute your application and derivative code
and keep it as closed-source, proprietary (Trade
Secret) software."
((
:div
:class
"profile"
)
((
:div
:class
:people
)
(
:h2
(
str
(
locale-string
:licensing-explained
)))
(
str
(
locale-string
:genworks-gendl-is-so-called
))
" "
((
:a
:href
"http://en.wikipedia.org/wiki/Multi-licensing"
)
"\""
(
str
(
locale-string
:dual-licensed
))
"\""
)
" "
(
str
(
locale-string
:software-available-under-an-open-source-license
))
" ("
((
:a
:href
"http://www.gnu.org/licenses/agpl-3.0.txt"
)
"AGPL"
)
") "
(
str
(
locale-string
:and-alternatively
))))
((
:a
:name
"agpl-license"
))
((
:a
:href
"#Top"
)
(
:h3
"O
pen
S
ource
"
))
((
:a
:href
"#Top"
)
(
:h3
(
str
(
locale-string
:o
pen
-s
ource
))
))
((
:div
:class
"profile"
)
((
:div
:class
"people"
)
(
:p
"The Open Source (\"free software\") license allows
your application to enjoy complete freedom. This
license follows the philosophy of \"share and share
alike.\" By choosing this license (or by using Gendl
and distributing a compiled application without
making any choice of license), you agree to
distribute your application source code under the "
((
:a
:href
"http://www.gnu.org/licenses/agpl-3.0.txt"
)
"AGPL"
)
" or a compatible license."
)
(
:p
"There are no restrictions against Commercial Use
with the Open Source license; the main requirement
is that you offer to share your application code at
no cost, just as the Gendl code has been shared with
you."
)
(
:p
"Gendl application or utility code developed with an
Open Source-licensed installation must always remain
as Free Software; the Proprietary licenses in
general do not allow for code originally developed
on an Open Source seat to be converted into a
closed-source proprietary application after the
fact, using a proprietary Gendl license."
)
(
:p
"There is an opportunity to overcome this limitation,
however: If you have Gendl application or utility
code which was developed using an Open Source
installation, and you wish to include or build upon
this code in a proprietary/closed-source application,
you may:"
)
(
:ol
(
:li
"Contribute the code to the Gendl project
under our standard "
((
:a
:href
"/newsite-static/documents/contributor.pdf"
)
"Contributor's Agreement"
)
", sharing with Genworks the copyright to any
original work. After suitable review, Genworks may
choose to include the code either in the mainline
Gendl codebase, or in a \"contrib\" directory;"
)
(
:li
"Purchase an appropriate proprietary Gendl license;"
)
(
:li
"Freely include the contributed code in your
distributed closed-source applications."
))))
(
:p
(
str
(
locale-string
:open-source-allows-freedom
))
" "
((
:a
:href
"http://www.gnu.org/licenses/agpl-3.0.txt"
)
"AGPL"
)
" "
(
str
(
locale-string
:or-a-compatible-license
)))
(
:p
(
str
(
locale-string
:no-restrictions
)))
(
:p
(
str
(
locale-string
:code-must-remain-free
)))
(
:p
(
str
(
locale-string
:opportunity-to-overcome-limitation
))
(
:ol
(
:li
(
str
(
locale-string
:contribute-to-gendl
))
((
:a
:href
"/newsite-static/documents/contributor.pdf"
)
(
str
(
locale-string
:contributors-agreement
)))
", "
(
str
(
locale-string
:sharing
))
";"
)
(
:li
(
str
(
locale-string
:purchase-appropriate-license
))
";"
)
(
:li
(
str
(
locale-string
:freely-include
)))))))
((
:a
:name
"trial-license"
))
((
:a
:href
"#Top"
)(
:h3
"E
valuation
"
))
((
:a
:href
"#Top"
)(
:h3
(
str
(
locale-string
:e
valuation
))
))
((
:div
:class
"profile"
)
((
:div
:class
"people"
)
"The "
((
:a
:href
"/newsite-static/documents/eval.txt"
)
"Evaluation license"
)
" provides a fully-functional,
time-limited Common Lisp engine configured to load
Gendl from its source code on startup. By using the
Evaluation license, you agree to both the \"share and
share alike\" terms of the "
(
str
(
locale-string
:the
))
" "
((
:a
:href
"/newsite-static/documents/eval.txt"
)
(
str
(
locale-string
:evaluation-license
)))
" "
(
str
(
locale-string
:provides-fully-functional
))
" "
((
:a
:href
"http://www.gnu.org/licenses/agpl-3.0.txt"
)
"AGPL Open Source license"
)
", as well as the \"No Commercial Use\" and other terms of the"
((
:a
:href
"/newsite-static/documents/eval.txt"
)
"Evaluation license"
)
". The Evaluation license may be renewed a
reasonable number of times while a purchase or Open
Source decision is being made. After a successful
Trial period with the Evaluation license, a request
may be made to add the SMLib geometry kernel to an
extended Evaluation period."
))
(
str
(
locale-string
:agpl-open-source-license
)))
", "
(
str
(
locale-string
:as-well-as-the-no-commercial-and-other
))
" "
((
:a
:href
"/newsite-static/documents/eval.txt"
)
(
str
(
locale-string
:evaluation-license
)))
". "
(
str
(
locale-string
:evaluation-may-be-renewed
))))
((
:a
:name
"student-license"
))
((
:a
:href
"#Top"
)(
:h3
"S
tudent
"
))
((
:a
:href
"#Top"
)(
:h3
(
str
(
locale-string
:s
tudent
))
))
((
:div
:class
"profile"
)
((
:div
:class
"people"
)
"The "
((
:a
:href
"/newsite-static/documents/student.txt"
)
"Student license"
)
" is valid for one year from
date of initiation (renewable each year at current
prices), and is intended for undergraduate
Students as a learning tool and to peform
coursework. Student-level licensing is not
authorized for use on University-sanctioned or
government/industry sponsored research
projects. The software package designed for the
Student level License provides a fully-functional
Common Lisp engine configured to load Gendl from
its source code on startup. By using the Student
license, you agree to both the \"share and share