License and Pricing
Wt may be used using either an Open Source or a Commercial License.
If you wish to use the library using the GNU General Public License (GPL), you may build a web application with Wt and deploy it, but per the terms of the GPL, you are obliged to make the source code available to anyone who you give the application to install the application on its own server. This also applies to redistribution of the Wt library, in original or modified form.
The Commercial License has no such limitations: you may redistribute applications developed with Wt without needing to redistribute the source code. The license is a royalty-free, perpetual license for one developer to use the API of Wt (respectively Wt::Dbo) for application development, using the latest version of Wt or any version released during one year.
|Dbo||Wt + Dbo|
|HTTP + WebSockets server||+|
|XHTML Rendering Module||+|
|Oracle driver||Contact us|
|GNU General Public License||free||free|
|4.0.0-rc1||July 4, 2017||Wt 4.0.0 RC1|
|3.3.8-rc1||July 4, 2017||Wt 3.3.8 RC1|
|3.3.7||March 31, 2017||Wt 3.3.7|
|3.3.6||July 13, 2016||Wt 3.3.6|
If you are looking to use Wt using MSVC on Windows platforms, then you can save yourself some hassle to build Wt with its optional dependencies from source, and download one of the binary builds instead which allow you to quickly experiment with the examples that ship with Wt.
Similarly, if you are on Ubuntu, you can install a reasonably recent version of Wt from official packages. The wiki contains more details on installing Wt on Ubuntu, including instructions on how to build Wt from source or getting packages for the most recent Wt releases.
$ sudo apt-get install witty witty-dev witty-doc witty-dbg witty-examples
The last package (witty-examples) installs the examples in /usr/lib/Wt/examples. You can run each of them like this:
The Wt installer: winstIf you are curious about Wt and would like to try it out but your OS or distribution does not provide an up-to-date package, then this may be just what you need. This package will download and build Wt and its dependencies in a UNIX(-like) environment, and provides also a script to run the examples.
This requires CMake and GNU make and will try to download software using wget.
Download the package (winst-0.4.tar.gz) or get the latest git version:
$ git clone git://github.com/kdeforche/winst.git
System requirementsFor building and installing the latest version of Wt, you need at least the following two packages:
- CMake cross-platform make configure
CMake >= 2.6 is preferred (although by the act of a miracle, 2.4 still works).
The indispensable boost C++
library: boost-1.41 or later. Older boost versions (as old as 1.36)
may also be used, but some functionality will be missing
(JSON parsing and a better SQL query parsing for Wt::Dbo).
The following boost libraries (which are not headers only) are needed: boost_date_time, boost_regex, boost_program_options, boost_signals, boost_random, boost_system, and optionally (but highly recommended) boost_thread.
- OpenSSL: if available, then the HTTPS protocol will be supported by the web client (Http::Client) and web server (wthttp connector)
- libharu: if available, a WPdfImage paint device will be included, which provides rendering support for PDF documents. For more complete support for TrueType fonts and Unicode, you'll want the latest git version and probably also libpango (see further) for accurate font/glyph selection.
- GraphicsMagick: if available, a WRasterImage paint device will be included, which outputs to raster images like PNG or GIF.
- pango (LGPL): if available, text rendering for WPdfImage and WRasterImage will be assisted by this library for TrueType font selection, taking into consideration both the font face and unicode coverage.
- PostgreSQL, MySQL/MariaDB, and Firebird: if available, connectors for these databases for the ORM library ( Wt::Dbo) will be built (alongside the Sqlite3 connector which is distributed with Wt).
The other requirements depend on the connector support you would like. The connector is what makes your Wt application communicate with the browser:
For FastCGI (Unix only):
- Apache 1 or 2, or another web server which supports the FastCGI protocol.
- FastCGI development kit : fcgi-2.4.0
When using apache:
Alternatively you may use mod_fcgid: mod_fcgid-2.3.5.
For the built-in http deamon, wthttpd:
- Optionally, libz (for compression-over-HTTP) and openssl (for HTTPS support).
For ISAPI (Win32 only):
- The ISAPI connector only works for deploying Wt applications withing a Microsoft IIS server.
If you want to keep track of the latest changes, or participate in Wt development, you may want to work from the github repository.
Alternatively checkout the repository using:
$ git clone git://github.com/kdeforche/wt.git