The Crypt



















The Crypt is a 3D, First Person Shooter game. In this game, you wake up in a dimly-lit crypt and have to shoot your way out. Gain as much energy and as many lives as possible along the way because, you will need them! Using the arrow keys and your mouse, you navigate the tightly guarded maze of The Crypt. The game requires a Pentium II 400 PC or higher, at least 25 MB of free hard drive space, 64 MB of RAM (128 MB or better recommended), any 8 MB 3D Graphics card (16 MB or better recommended), any DirectX 7 compatible sound card, and Windows ´95 or newer. The Crypt is now compatible with Windows Vista.

DOWNLOAD THE GAME

Mario Forever 4


















Mario Forever is a very good remake of the venerable classic game -- Super Mario. Once again you strap on your wrench and hardhat and guide the chubby plumber through many skillfully made levels. The diversity of the levels is very impressive. You will have to get through levels ranging from underwater caverns to levels filled with hot lava. Version 4 includes many updates, enhancements, and bug fixes. In new version you´ll find a level editor and new hidden map in save selector area. Mario Worker as level editor.

Graphics layers in world 1, 2, 3, 4, 5, and save room fixed. I´ve fixed Collision checking for enemies in Human Labolatory World. New hidden map in save game room The Lost Map. Collision checking for Kuppa Troopa shell have been changed a little. A space key (skip level) from stage 7-4 have been removed. Non-material blocks in stage 1-1 have been fixed.

Note: This download includes the Mario Forever toolbar. The toolbar can easily be uninstalled without affecting the game.


DOWNLOAD THE GAME

Air Assault



















While the first military application of a helicopter took place in 1942, when the German Kriegsmarine began to use Flettner FL-282s as anti-submarine warfare platforms, the helicopter truly came of age as a battlefield weapon during the Vietnam War. Unlike the Second World War, which saw many battles in or near heavily urbanized areas, with easy access, the war in Vietnam was one of often remote jungle battles. Men could slog through the dense terrain, but it was a grueling process, and with few exceptions, vehicles would simply not be able to navigate many of the engagement zones. Enter the helicopter.

Able to transport ground troops, heavy equipment, and even provide fire support to even the remotest of the hinterlands, helicopters changed the nature of ground conflict. Now, hunters from the sky did not have to be dropped from huge aircraft, scattered all over the countryside, but instead could be inserted precisely where they were needed. Likewise, if need be they could be extracted just as easily.

DOWNLOAD THE GAME

Air Assault 2



















Are you ready for crazy combat action with tons of enemies, air and water units, armored vehicles, heavy helicopters, submarines, huge destroyers, missile carriers, fast speedboats and deadly hi-tech bosses? Do you want to destroy them all with your brand new super helicopter?

If so you are in the right place, pilot. Your combat missions will take place over water, desert, high in the mountains and over densely populated areas.

While the enemies have become tougher and more deadly, you can upgrade and modify your weapons to meet the challenge.

Good luck, pilot!

This is what Air Assault 2 has to offer:


Full version game. Just download and play!
18 large levels with 3 powerful deadly bosses
Over 100 different units with unique characteristics
10 unique weapons with 3-7 level upgrade
15 different bonuses and 5 missile types
A leading-edge 3D graphics engine
120% pure ACTION!

Languages:
English

OS requirements for Air Assault:
OS: Win98/98SE/Me/2000/XP
Minimum requirements:
Processor: 800 MHz
Memory: 256 MB
Video: 64 MB
DirectX 9.0c
Recommended requirements:
Processor: 1,0 GHz
Memory: 512 MB
Video: 128 MB


C-Evo



















C-evo is a freeware empire building game for Windows.
With a time scope of several thousand years, it covers aspects of exploration and expansion, industry and agriculture, warfare and diplomacy, science and administration. C-evo follows the spirit of popular turn-based strategy games from the mid 90s, but with more emphasis on powerful AI and careful design of the rules, resulting in a true challenge.

Download the Game

Freeciv



















Freeciv? Freeciv is a Free and Open Source empire-building strategy game inspired by the history of human civilization. The game commences in prehistory and your mission is to lead your tribe from the stone age to the space age...
Download The Game
Source Code(Linux) Windows Mac OS X v 2.1.6

Lin City



















LinCity-NG is a City Simulation Game. It is a polished and improved version of the classic LinCity game. Within the scope of the GoTM project at happypenguin we have created a new iso-3D graphics engine, with a completely redone and modern GUI.

See the FAQ for more details.

DOWNLOAD THE GAME


Mini Golf 3D
























Play alone, or bring along up to 3 other golfers. Watch out for the water and the traps, and you better check the contour of the course. Decide if you can go straight away, or if you need to purposely hook to get around obstacles.

Super 3D Graphics and Animation
Find out if you have what it takes to be a champion golfer. This ultra-realistic simulated version lets you practice first and take what you've learned into Tournament play with up to 4 players. This game is fun to play yet challenging to master.

Includes:
* 1-4 players
* Choice of 9 courses
* Obstacles
* Variable swing force
* Optional music and sound effects
* Best score display

9 Challenging Courses
Whether you're a golf enthusiast or just want to pretend to be one, you'll have hours of fun honing your skills while trying to make that hole in one!

Tee off on these 9 challenging courses:
* Egypt
* Race Track
* Castle
* Under The Sea
* Jungle
* Spaceship
* Haunted House
* Pirate Ship
* South Pole

System Requirements:
* Windows 98SE or higher, XP compatible.
* 3D Video Card and DirectX 5 or higher required.
* Sound Card recommended.

DOWNLOAD THE GAME

Dream Match Tennis



















Dream Match Tennis is the most realistic 3D tennis game. You can play real tennis on your home computer. Control the ball and win the match. Dream Match Tennis features two game modes, three court surfaces, four characters, keyboard, joypad, player vs. player, and player vs. computer on seven difficulty levels. This demo lets you play a five-minute match. The latest version adds a Save fuction, camera-movement keys, and the ability to change the condition of the grass court..

DOWNLOAD THE GAME

BC Kings











Do you think you would have been a great war leader 10,000 years ago? Now is the time to prove it! Harvest, research and build your empire. Improve your heroes and command your army against the mutant hordes. Be part of an epic adventure, solve puzzles, and figure out some of the biggest mysteries of all time in BC Kings, the prehistoric real-time strategy game with a contemporary punch!

The BC Kings is featuring several new elements that you might have not experienced in a strategy game before. In spite of just gathering resources, training an army and defeating the enemy you will have to solve adventure and role-playing elements as well.
The campaign is built around the epic story of your brave hero Mradin, and his trusty old friend Giesnik. But not only you have to complete the main objectives, but also you can solve side-quests, whihces rewarded with Shell-coins, that can be spent on upgarding your main characters.
You will have to be victorious in complex missions in different places and on different levels. Each mission runs on multiple maps, where you have to travel between them, and take advantage of for example the hidden cavern that leads to the back of your enemy.
Beside building your empire and sending your army to battle by side of your heroes, also collecting quest items and solving puzzles lead to the final victory. Meanwhile you figure out the biggest mysteries of all time, like the purpose of the Stonehenge and the mystery of the Yeti, and much more...


Game features :

- 2 races
- 63 unique units
- 32 unique buildings
- 84 technologies to research
- 8 devastating magic spells
- Story driven campaign with side quests and adventure elements
- Random game against computer enemies
- Multi player
- 3D in-game cut-scenes


System requirements :

- Windows 98 or newer (ME, 2000, XP, Vista)
- DirectX 9
- 1Ghz processor or better
- 512MB memory
- 3D accelerated graphics hardware
- Soundcard
- 300MB HDD space

DOWNLOAD THE GAME

Farm Frenzy



















Slip into a pair of overalls and try your hand at running a farm! From tending to the fields where your cows graze to gathering eggs for sale at the town market, Farm Frenzy is as stimulating as the real thing, only you won't have to experience the nasty smells! You will, however, be required to invest the money you earn in new equipment. Building a cheese dairy, for example, allows you to process your milk on the spot and make even more cash!

To beat a level in Farm Frenzy, you must complete a specific task, such as producing a certain number of eggs. Each new level is more challenging than the last, so you must increase the capacity of your warehouse and improve the performance of your production facilities. You can even buy a larger truck capable of delivering more goods to market! All of this makes dealing with the occasional bear easier. Featuring compelling and enjoyable gameplay, Farm Frenzy lets you give Old MacDonald a run for the money!

Farm Frenzy full game features:
* Over 45 levels to beat
* Five animals to care for
* Nine farm products to sell
* Six buildings to purchase

System requirements:
OS: Windows 98/ME/2000/XP
CPU: 750 MHz
Memory: 128 MB RAM
Video: 3D Video 32M

File Size : 15.8 Mb

DOWNLOAD THE GAME
Zip Password : www.softarchive.net

Farm Frenzy 2



















Give Old MacDonald a run for his money in this frenetic Farm Frenzy sequel. Feed hens, collect eggs, and stock your warehouse to ship your goods to market. Kick up your heels while earning enough money to upgrade your buildings. You`ll find a crop full of fun with 17 secret gags to locate, and 19 awards to win. Buy five products in the city and deliver goods for happy customers in Farm Frenzy 2, a Time Management adventure.




































Features:
Frenetic Time Management sequel
Secret gags!
Bring produce to market

Requirements:

OS: Windows XP/Vista
CPU: 1.0 GHz
RAM: 256 MB
DirectX: 8.0
Hard Drive: 41 MB

DOWNLOAD THE GAME

My Farm



















Breed and raise hens, ducks, turkeys, pigs, sheep and cows, in real time as you build your own farm! At first you only possess one hen, but this hen lays eggs that you can sell to buy seed, other livestock, windmills, tractors and more! Take care of your animals and clean your farm regularly, otherwise your livestock will leave to get fed elsewhere! My farm will plunge you into the heart of rural farm life from sunrise to sunset as you venture out to become the most famous cyber-farmer ever!

DOWNLOAD THE GAME

Green Valley Fun on the Farm v1.0



















Beetle Ju has inherited a farm and takes his family out to the country only to discover that the "farmhouse" is actually a shack badly in need of repairs. So in Green Valley, Beetle Ju gets up early every morning to turn the run-down farm into a flourishing business.

Green Valley features more than 100 levels of match-three gameplay as well as bonus levels like sheep-shearing and bird hunting. You'll be able to use the points you earn in the levels to build improvements for the farm.

System requirements:
• Windows XP/Vista
• DirectX 8.1
• 800 MHz
• 256 MB RAM

Resolution: 1024x768 Fullscreen/Windowed

Download: (Size: 44,8 MB)

DOWNLOAD THE GAME

Virtual Farm



















Choose your crops, till your ground, water your fields, harvest your produce and take your goods to market with your very own Virtual Farm!

Virtual Farm puts you in charge of turning a small farm into a booming success! Choose your crops, till your ground, water your fields, harvest your produce and take your goods to market. Once there, you get to set the price! You'll have to keep a close eye on demand, though. With tons of upgrades to earn, plenty of customers to satisfy and easy-to-handle point-and-click fun, Virtual Farm will have your entire family shoutin' YEE HAW!






















Requirements:

OS: Windows XP, Windows Vista
Memory: 128 MB
CPU: P 900

DOWNLOAD THE GAME

Portable Farm Mania


Spend a great time in the country with Anna! Help her to develop an old farm «from zero to hero» and to get an excellent mark from her graduation work. You will not only plant and sell the crops. No way! You'll have the opportunity to bake tasty pies and bread, make warm scarfs and gloves, see your animals growing and many others! Use modern technologies and your own know-hows to make a farm of a dream. Plunge yourself in fresh air and nature calm! Reach the best result in farm developing with a new colorful game – Farm Mania!


Game features:
More than 12 different buildings
Funny cute characters
Amazing graphic
You can choose what you'd like to do – to grow plants only, to take care of animals or both of them
3 persons help you
System of growing animals (you buy a new born animal and should help it to grow up)
12 mini games in new genre "Easy Hidden objects"
25 various upgrades
Casual mode (game without any time limits)
60 different levels

System requirements:
Windows 98/ME/XP/Vista
DirectX 7
600 MHz
256 MB RAM

DOWNLOAD THE GAME

Portable Air Guard

The game story takes place during World War II. In 1940, Nazi Germany decided to gain overwhelming superiority in the air to break the resisting nations once and for all. You have nothing to lose now. You decided to join the Air Force to defend your country. The result of the biggest air warfare in history rests in your hands.
DOWNLOAD THE GAME

Worms World Party
























In Worms World Party, players control each of the four worms individually as they lead them into battles across a variety of missions and a number of dedicated online locations. You can use whatever weapons come to hand to eradicate the rival worms. A wealth of weaponry--including bazookas,grenades, and a sheep launcher--are available. Adverse weather conditions canaffect the trajectories of projectile weapons, creating a game of genuineskill.Worms World Party features a new editor to create and edit your own missions. You can place them on the Internet for others to download. With20 new multiplayer missions, players can now team up with a buddy oncooperative missions. Plus, there are 45 amazing single-playermissions--from puzzle style to real-time action. The Wormopaedia gives youan extensive catalog of weapons, tips, and mythology. Additional newspecial effects round out this fun and addictive game.
Back in 1995, the original Worms was something of an underground hit. Over the years, it's gathered a cult following of devotees that has slowly grown and started to attract some casual gamers. Being released for both the Dreamcast and the PC, Worms World Party is perhaps the most approachable version of the game to date. Although veterans of the game may consider it merely an expansion pack, it's a game that stands on its own, with enough new options and features beyond new missions to warrant a full release.

For the uninitiated, Worms is a combination of action, puzzle game and turn-based strategy, whereby each side tries to wipe out the other with myriad weapons in nearly limitless combinations. Players can move their worms (and sometimes just a single worm) over hills, into mountainsides, across treacherous landscapes -- pretty much anywhere but into the water. Weather effects also play a major role in the Worms universe. The wind, for example, will affect the direction of most projectiles, though not all of them.

By weapons, we don't mean the usual knives and guns. Worms has more weapons than most other games, and plenty of them are deviously creative. In addition to the expected shotguns, bazookas and bow and arrow combinations, players will find things like Scales of Justice, an Exploding Sheep Launcher, a Stinking Skunk and the "End It All" weapon that's aptly named Armageddon. Each weapon has a specific use, and many different weapons can get the player through the same situation, leading to a lot of trial-and-error and even a lot of replayability.

The maps are quite creative as well. In addition to the expected mountainous terrains, there are many other forms to play through, including fighting onto a ship as the water level rises. To keep everything interesting and new, a new feature called the Wormpot allows players to access well over 1,000 different game styles. It works either like a slot machine, with a random dynamic picked, or players can select their own style. Features include altering weapon damage, making sticky or slippery surfaces, and even a blood mode. (Don't worry, the game will be rated "E." The violence is cartoonish at best.) Each dynamic is mixed and matched, adding even more replayability.

Newcomers to the Worms universe have not been forgotten. In addition to the Wormpot, there's now a Wormopaedia, which is an excellent guide that explains each and every weapon in the game. In addition to listing the damage for each weapon, most also contain tips from "Worm Experts" that give good and possibly unique uses for each weapon. It's a great way to figure out what's going on without having a past history with the game. There's also a Training Mode that shows how to use each weapon with various target practicing and other skills put to the test.

Online play for up to 18 people is also included, although it's recommended for no more than six at a time because of the nature of turn-based strategy. For those that prefer to go it solo, there are 45 new single-player missions, 16 new time attack missions and even a deathmatch mode that can be played both single and multiplayer. Developer Team 17 has really tried to make Worms World Party as accessible as possible.

DOWNLOAD THE GAME




Worms 3D


When you start the game you have some options like Single Player, Quick start, options, and multiplayer.This game is a turn based strategy. You will be against another person/computer with worms randomly placed. The mission is to use your available weapons to wipe out all of your opponents worms. Some weapons are guns, bombs, and others. The player can also create their own team of worms. In the single player mode, there are campaign missions, tutorials, and challenges that help the player unlock items, stages, Wormapedia pages, and worm voices.

DOWNLOAD THE GAME

Free Spell Check Source Code, Libraries, Delphi Components, ActiveX Controls

Enchant
Enchant is a wrapper around a number of spell checking libraries that enables you to use a standard API to access those spell checkers. It requires you to have the backend libraries. Supported backends include Aspell, PSpell, Ispell, MySpell, Hspell and AppleSpell (a number of which, if not all, are listed on this page). It is licensed under the GNU LGPL but with an additional note permitting any backend plugin to be loaded.
Hunspell
Hunspell is the default spell checker used in OpenOffice, a free office suite and other software. It can handle languages with complex word compounding and character encoding, such as the Hungarian language. It is licensed under the GNU GPL, the GNU LGPL and the MPL.
Pspell
PSpell, the Portable Spell Checker Interface Library, "provides a generic interface to spell checker libraries installed on the system" (quote from the Sourceforge project page). It is licensed under the GNU Library General Public License (LGPL).
GNU Aspell
GNU Aspell is an open source spell checker that can be used either as a library which you can integrate in your programs or as a standalone speller. It is able to suggest misspelled words (supposedly better than any other spell checker around, or so their site claims), check documents in UTF-8, supports multiple dictionaries simultaneously, handles personal dictionaries, etc. The code is in C++, but you can access the library via its various language bindings as well, so that it is possible to use from Perl, PHP and Ruby. Dictionaries are available for a wide variety of languages, too many to list here. It runs on POSIX systems (Unix, Linux, FreeBSD, OpenBSD, etc). If you are looking for a Windows port, see elsewhere on this page.
GNU Aspell (Win32 version)
GNU Aspell (Win32 version) is a port of the original GNU Aspell to Windows (doh!). Please see the description for Aspell elsewhere on this page for more details about Aspell in general. There are linkable libraries here that you can use with MinGW gcc (see the Free C/C++ Compilers page) and Microsoft Visual C/C++, a Delphi unit (see the Free Delphi Compilers, Free Pascal Compilers page), etc. Precompiled dictionaries for Breton, Catalan, Czech, Welsh, Danish, German, Greek, English, Esperanto, Spanish, Faroese, French, Italian, Dutch, Norwegian, Polish, Portuguese, Romanian, Rusian, Slovak, Swedish and Ukranian are also available from the site. (If your language isn't listed here, you might want to check the main Aspell page for more dictionaries.)
International Ispell
Ispell is not strictly a library, but a standalone spell checker. However, since it comes with source code, you might want to take a look at it to get ideas for implementing your own spell checker (if that's your cup of tea). It comes with British and American English dictionaries, but there are dictionaries for numerous other languages available as well. It works on Unix type systems (including Linux), with ports for MSDOS, Windows and OS/2.
Jazzy: The Java Open Source Spell Checker
If you write Java programs, you can use Jazzy to add spell checking facilities to them. At this time, it comes with an English dictionary.
A Free Spell Checker with a Dictionary Editor Program
This spell checker is designed to integrate with your MFC application (in other words, it's a Windows spell checker). It comes with a UK English dictionary as well as a dictionary editor.
LS Speller
LS Speller contains spell checker components for Delphi 5, 6 and 7 that allows you to add spell check facilities to your program. The spell checker works with ispell dictionaries as well as dictionaries that come with Microsoft Office 95 or 97.

Free Internet, Email, HTTP, Sockets / Winsock Programming Source Code

Qpopper POP3 Server
Qpopper, from Qualcomm, is a POP3 server for Unix/Linux that comes with source code. It supports TLS/SSL.
Cucipop POP3 Server
This is a POP3 server that comes with source code. I do not have any more information about it.
TurboPower Internet Professional (iPRO)
TurboPower Internet Professional is a set of VCL components (which means that you need to use Borland Delphi or Borland C++Builder to use it) that allows your program to access the Internet in numerous ways. In terms of email, it supports POP3, SMTP, and NNTP, attachments (encoding and decoding), MIME, etc. It also handles Instant Messaging (IM), multiple HTTP requests at the same time, rendering of HTML with support for PNG, JPEG, BMP, WMF, ICO (etc), non-visual HTML scanners (for writing web spiders and robots), logging, data conversion, address lookups, Remote Access Server (RAS) support, VT100 terminal emulation, Internet Control Message Protocol (ICMP) components (for ping and trace), FTP (including an FTP directory tree component), SNTP (for time clients/servers), troubleshooting protocols components (Echo, Discard, CharGen), client/server components for finger and whois, etc.
TurboPower Async Professional (FTP, VOIP, etc)
If you need to add speech to your programs, or enable it to process speech input, TurboPower's Async Professional provides you an easy access to Microsoft's Speech API (SAPI) allowing you to integrate voice/speech recognition and speech synthesis in your programs. It also handles the sending and receiving (as well as viewing and printing) of faxes (and converts BMP, DCX, PCX and TIF files automatically), alphanumeric and text (GSM/SMS) paging, high speed file transfers (including the major file transfer protocols like Zmodem and FTP), IP telephony (audio and video, Voice Over IP or VOIP), Internet communications (Winsock access), supports ISDN modems, RS-232 and RS-485 standards, and includes an XML-based modem database. And so on. Like most of the TurboPower tools, this open source toolkit may be used with Borland Delphi and Borland C++ Builder and ActiveX environments like Microsoft Visual C++ and Visual Basic. If you use Borland Kylix on Linux, you might want to try the TurboPower Async Professional CLX version.
TurboPower SysTools (with email MIME encoding/decoding)
TurboPower SysTools contain numerous utility functions and classes for Borland Delphi and Borland C++ Builder as well as programming environments that support COM objects (like Microsoft Visual Basic, Microsoft Visual C++. Among the routines included in this library are string manipulation routines, date and time math routines, high-speed sorting, high-precision maths, runtime math expression analyzer, Microsoft Excel-like finance and statistical routines, email attachment MIME encoding and decoding, reusable containers (stacks, queues, trees, deques, hash tables), CRC data integrity checking, 1 dimensional and 2 dimensional (1-D and 2-D) bar codes, money routines, logging classes, patterns, random number distributions, text data manipulation and more. SysTools is open source, released by TurboPower under the Mozilla Public License. It works on Windows systems. There is also a version of TurboPower SysTools for Kylix.
The Standard Function Library
The Standard Function Library, or SFL, contains routines for compression, encryption, encoding, data type conversion, data output formatting, process control, dates, times, calendars, symbol tables, linked lists, configuration files, error message files, string manipulation, searching, Internet socket access, MIME, CGI, SMTP, batch programming, debug tracing, directory access, environment access, etc. It is designed with portability in mind. The library is written in ANSI C and is supported on MSDOS, Windows, OS/2, Linux, AIX, SunOS, HP/UX, Solaris, NetBSD, FreeBSD, SCO OpenServer, Digital Unix, and OpenVMS. The source code is also available.
Putty: Win32 SSH / SFTP Client with Source Code
Putty is not a library, but a set of programs that implement Secure Shell access, Secure FTP (SFTP), Telnet, etc. Since it is open source, employing things like strong authentication and secure sessions, it may be a useful source of information for your own internet software.
OpenSSL
If you are writing an application (browser, email, server, etc) that requires the use of either Secure Sockets Layer (SSL versions 2 or 3), or Transport Layer Security (TLS version 1), you can obtain this free open source "commercial-grade" OpenSSL library. The library allows you to add cryptographic functionality to your programs, apparently both server programs as well as SSL supporting clients. You can use it in both commercial and non-commercial programs.
OpenSSH
This is not a library but an open source suite of programs that support Secure Shell access (SSH), namely ssh (which replaces telnet and rlogin), scp (which replaces rcp and ftp), sftp (Secure FTP, which also replaces ftp), sftp-server, sshd (server-side), etc. Since the program is open source, providing strong authentication and secure sessions, it may presumably provide the base for your implementation of SSH. It is supports a wide number of operating systems: OpenBSD, NetBSD, FreeBSD, AIX, HP-UX, IRIX, Linux, NeXT, SCO, SNI/Reliant Unix, Solaris, Digital Unix/Tru64/OSF, and Mac OS X. In SSH1 mode, the encryption algorithms supported include 3DES and Blowfish. In SSH2, 3DES, Blowfish, CAST128, Arcfour, and AES are supported.
Network Security Services
Used in Netscape and Mozilla products, NSS (Network Security Services a.k.a Netscape Security Services) allows you to develop security-enabled server applications that support SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #8, PKCS #9, PKCS #10, PKCS #11, PKCS #12, S/MIME, X 509 v3 certificates, RSA, DSA, Triple DES, DES, RC2, RC4, SHA-1, MD2, MD5, etc. The software is released under the Mozilla Public License and the GNU General Public License.
LCRZO Network Library (Netwib)
This library provides support for UDP/TCP clients and servers, sniff, spoof, packet creation, packet decoding, packet printing, address conversion, etc. Platforms supported include Linux, FreeBSD and Solaris. The library is apparently released under the GNU LGPL. It is no longer actively maintained.
Datareel Database C++ Library
This is a collection of C/C++ libraries that purportedly "simplifies complex time-consuming database, socket, multithreaded programming tasks". It supports the Windows and Unix platforms.
CYRUS SASL Library
To quote, "the Cyrus SASL library is a generic library for SASL authentication, as used in SMTP and IMAP protocols. It's used for authentication by the Cyrus IMAP server as well as the Sendmail 8.10 release." It also includes a Java SASL library. Note that the link above is to an FTP directory. Look for a file like "cyrus-sasl-1.5.20.tar.gz" (the numbers may change when newer versions are released) there.
GNU Common C++
GNU Common C++ is a C++ framework for developing portable threaded applications. It has abstractions for threads, sockets, XML parsing, serialization, config files, and so on, hiding the differences between platforms in its classes so that you can write code that is (hopefully) portable. It is released under the GNU GPL license.
OPP C++ Class Library
A C++ class library that has a number of features, including classes for retrieving files via HTTP, sending and receiving email, etc. It supports Unix systems. The C++ source code is available.
LibTCP++ TCP/IP Client/Server Class Library
A C++ TCP client/server class library that is supposed to simplify and speed development of TCP/IP client/server applications. The Linux platform is supported. The C++ source code is available.
Copying files via FTP, HTTP, Gopher using Wininet.dll (WDJ Nov 96)
With this library your Windows program can have the capability to get files from the internet using FTP, HTTP and Gopher. Note that this tool relies on Microsoft's wininet.dll which part of Internet Explorer. The actual source code is contained in one of the ZIP files in the archive downloaded (each ZIP file has a README.TXT file that explains its contents).
Inettransferlib (HTTP and FTP Library)
InetTransferLib is a free library for Access 97 for obtaining documents via HTTP and FTP.
Apache Web Server
Source code for the most widely used Apache web server is freely available. It can be compiled and used on Unix systems as well as Windows (although at the time of this writing, the Windows code is not as stable as the Unix one).

Free Programming Language Grammars for Building Compilers

ANSI-ISO Pascal Grammar
This site contains the Yacc and Lex grammar for the Pascal programming language. The parsers and lexers generated by the grammer will be in C. They will accept as input a Pascal program.
ANSI C++ Grammar
This is not exactly a grammar of ANSI C++, since it actually accepts a superset of C++ constructs. However, if you're thinking of writing your own grammar, this might serve as a starting point for your own. It is taken from the Working Paper (1996) for the Draft Proposed International Standard for Information Systems--Programming Language C++.
GNU ANSI C/C++ Grammar
There's nothing like the grammar and source code of an existing world famous compiler, the GNU C/C++ Compiler, to use as a template for your own compiler design. This compiler, and consequently its grammar, actually tries to keep up with the ANSI standards (unlike the popular compiler from a certain well-known OS manufacturer, which only pays lip service to the term "standards compliance").
VS COBOL II Grammar
According to their website, "this grammar has been recovered from IBM's VS-COBOL II Reference Summary" and is supposed to be "fully-tested".
COBOL Language Grammar
This grammar, in its current incomplete and uncorrected form, was apparently "recovered from IBM's COBOL Language Reference".
OS PL/I V2R3 Grammar
Using an automated tool, the grammar given in IBM's OS PL/I V2R3 Language Reference is available from this website. It is apparently still incomplete.
Ada 95 Grammar
This grammar of the Ada follows the Ada 95 Reference Manual. It is currently incomplete.

Free Physics Engines

NVIDIA PhysX SDK (Windows, Linux)
NVIDIA's PhysX engine is free for both commercial and non-commercial use on Windows and Linux systems. The Xbox 360 and PlayStation 3 (PS3) support as well as source code are not free. Its rigid body object physics system features realistic simulation of objects taking into account things like momentum, acceleration, velocity, position, rotational motion, friction, collisions, constraints, impulse, reference frames, etc. It has collision primitives like the sphere, box, capsule, plane, heightfield, convex shape and triangular mesh. It also has a variety of joint types, ragdoll creation and editing, and so on. Other features include advanced character control (auto-stepping, dominance groups), ray-cast and articulated vehicle dynamics (with wheel shapes and joint-based suspension), support for multi-threading, the Ageia PhysX Accelerator, volumetric fluid simulation (SPH or smooth particle hydrodynamics, implicit meshes, two-way interaction with rigid bodies, cloth or soft bodies), cloth and clothing authoring, etc.
FarSeer Physics Engine (Windows, Xbox 360)
This is a 2D physics engine for Microsoft's XNA and Silverlight platforms. It features collisions (with concave and convex polygons support, multiple collision geometries per body, line-line, line-AABB, line-Geometry collision methods, etc), joints (revolute, angle, slider, pin), force controllers (linear and angular spring, fluid drag and buoyancy, ability to build custom controllers for things like explosions, steering, etc), and so on. It is released under the Microsoft Permissive License (Ms-PL).
Open Dynamics Engine (Windows, Mac OS X, Linux, etc)
This open source C/C++ library for simulating rigid body dynamics features advanced joint types (ball and socket hinges, sliders, fixed, angular motor, etc), integrated collision detection (with collision primitives like the sphere, box, capped cylinder, plane, ray and triangular mesh) with friction support, etc, and can be used for simulating virtual creatures, vehicles and other objects in virtual reality environments. It is released under the BSD licence. The library is cross-platform can be compiled for Windows, Mac OS X, Linux and probably other systems. On Unix type systems like Linux and Mac OS X, you will need an X11 server.
Bullet (Windows, PS3, Xbox 360, Wii)
This is an open source 3D collision detection and rigid body dynamics library that is free for commercial use. It uses the COLLADA physics file format. Platforms supported include Windows, PlayStation 3, XBox 360 and Nintendo Wii. It is released under the Zlib licence.
APE - Actionscript Physics Engine (Flash)
This is a free Actionscript 3 physics engine that you can use in Flash and Flex. It features circle, rectangle and wheel particles, spring constraints, collisions, etc. The engine is released under the MIT licence.
Havok Physics and Animation (Windows)
This SDK includes libraries (in binary form only), samples and documentation for programmers creating games and other programs for Windows. The last time I checked, it's free for non-commercial games and applications. Please read their licence for details.
Newton Game Dynamics (Windows, Mac OS X, Linux)
This is an engine for real time simulation of physics environments. It supports scene management, collision detection, etc. There are versions for Windows, Mac and Linux. You are required to notify the developers of any product that uses the engine.

Free PDF Development Libraries

libHaru
libHaru is a free, open source, cross-platform C library for creating PDF files. It can handle text and images, outlines, text annotations, link annotations, embedded PNG and JPEG images, embedded Type 1 and TrueType fonts, encrypted PDF files, a variety of character sets and encodings, etc. It has been compiled and tested in Windows, Linux, FreeBSD and NetBSD with a number of compilers, but since the source is in ANSI C, it can presumably be compiled and used under other operating systems as well. You can link the library statically or dynamically into your programs. The library is licensed under the zlib/libPNG licence.
PDF Clown Project
The PDF Clown Project is a software library that you can use in your own programs to create, access (useful if you are implementing your own PDF reader) and manipulate PDF files. It supports JPEG images, standard Type 1 fonts, embedded OpenType and TrueType fonts, device colour spaces (RGB, CMYK, Gray), a variety of page formats/sizes, creation, reading and modification of bookmarks, compressed PDF files, etc. Other features include splitting of PDF files, merging of multiple files, inserting and appending of pages to a PDF document, placing existing pages as thumbnails, adding of watermarks, adding a foreground stamp, and so on. It is licensed under the GNU LGPL or the GPL at your option.
iText - Free Java PDF Library
iText is a Java-based PDF library that allows you to generate PDF files from your software. It supports the generation of dynamic documents from XML or databases, interactive features in your PDF files, bookmarks, page numbers, watermarks, automating the filling of PDF forms, adding digital signatures to PDF files, splitting, concatenating and manipulation of PDF pages, etc. This PDF library requires you to have JDK 1.4. There's apparently even a book on this software: iText in Action: Creating and Manipulating PDF. The software is licensed under the Mozilla Public License (MPL).
iTextSharp
iTextSharp is a port of the iText library (see elsewhere on this page) to C#. It is useful if you need to use a PDF library on the .NET platform. It allows you to generate PDF files on the fly.™ and HowToHaven™ are trademarks of Christopher Heng.Last Updated: 20 February 2008.

Free Delphi and Pascal Libraries and Source Code

SynEdit Multi-line Edit Control
SynEdit is a multi-line edit control that you can use in your Delphi and Borland C++ Builder programs. Features include syntax highlighting for a variety of programming languages and a macro recorder. This is a VCL control that comes with source code.
TurboPower Async Professional
If you need to add speech to your programs, or enable it to process speech input, TurboPower's Async Professional provides you an easy access to Microsoft's Speech API (SAPI) allowing you to integrate voice/speech recognition and speech synthesis in your programs. It also handles the sending and receiving (as well as viewing and printing) of faxes (and converts BMP, DCX, PCX and TIF files automatically), alphanumeric and text (GSM/SMS) paging, high speed file transfers (including the major file transfer protocols like Zmodem and FTP), IP telephony (audio and video, Voice Over IP or VOIP), Internet communications (Winsock access), supports ISDN modems, RS-232 and RS-485 standards, and includes an XML-based modem database. And so on. Like most of the TurboPower tools, this open source toolkit may be used with Borland Delphi and Borland C++ Builder and ActiveX environments like Microsoft Visual C++ and Visual Basic. If you use Borland Kylix on Linux, you might want to try the TurboPower Async Professional CLX version.
TurboPower SysTools
TurboPower SysTools contain numerous utility functions and classes for Borland Delphi and Borland C++ Builder as well as programming environments that support COM objects (like Microsoft Visual Basic, Microsoft Visual C++. Among the routines included in this library are string manipulation routines, date and time math routines, high-speed sorting, high-precision maths, runtime math expression analyzer, Microsoft Excel-like finance and statistical routines, email attachment MIME encoding and decoding, reusable containers (stacks, queues, trees, deques, hash tables), CRC data integrity checking, 1 dimensional and 2 dimensional (1-D and 2-D) bar codes, money routines, logging classes, patterns, random number distributions, text data manipulation and more. SysTools is open source, released by TurboPower under the Mozilla Public License. It works on Windows systems. There is also a version of TurboPower SysTools for Kylix.
TurboPower Orpheus
TurboPower Orpheus contains over 120 VCL components such as data entry components, data entry validators, grid for presenting and editing 2 column information, status bars, progress bars, button and tab styles, report views, countdown and elapsed timer components, etc. Orpheus is open source, and may be used with development tools that support VCL such as Borland Delphi and C++Builder.
TurboPower ShellShock
ShellShock contains native VCL components that allow your application to integrate with the Windows shell and Windows explorer. Included in this package are tree views, list views, combo boxes, enumeration of folder contents, monitoring of shell events, file operations (copy, delete, move, rename, together with Windows shell animations), drag and drop support, Windows shortcut creation and inspection, customization of common dialog boxes, minimization to the system tray, etc. You need to use a development tool that supports VCL such as Borland C++Builder and Delphi to use this toolkit. ShellShock comes with source code.
TurboPower OnGuard
If you need to create demo versions of your programs, you might want to check out TurboPower's OnGuard library. The library provides you the ability to create applications that are time-limited, feature-limited, limited to a certain number of uses, limited to a certain number of concurrent network users, etc. Written in Object Pascal, it may be used in Windows development using tools like Borland C++Builder or Delphi.
TurboPower Essentials
TurboPower Essentials has 13 open source native VCL components that provides drop-down calendars and calculators, roll-up dialog boxes, 3-D labels, tiled backgrounds, scrolling messages, menu buttons, etc. You need to use a development tool that supports VCL such as Borland C++Builder and Delphi to use this toolkit.
TurboPower Visual PlanIt
Add time, task and contact management to your applications with Visual PlanIt's synchronized data-aware VCL components. You can create mult-column Outlook style contact grids; day, week, month event views, Outlook style task lists, connect-and-go database connectivity, printing, etc. The components are compatible with Delphi and C++Builder (and presumably any other development system that supports VCL components).
Soundlib2 Sound Library
SoundLib 2 is a library for mixing and playing sound files under Borland Pascal 7 and the Free Pascal Compiler with 32 bits DPMI on a SoundBlaster or compatible. It currently supports WAV, VOC, RAW, MOD, S3M and XM files. The library does automatic sample rate conversion, sample interpolation, has 32 bit mixing routines with support for a maximum of 256 channels, and support for Dolby Pro Logic. It comes with a Borland Pascal help-file and some demo files.
Graphix
This graphics library is designed for the Free Pascal Compiler (which can be found, along with other free Pascal compilers on the Free Pascal and Delphi Compilers page) and Borland Pascal 7.0. It runs under MSDOS, Windows and Linux. It has various capabilities, including the support of various graphics modes from 320x200 to 1600x1200 (and above) using direct-RGB (15, 16, 24 and 32 bit), 8 bit graphics modes, mouse library, image handling library (BMP, GIF, ICO, JPG, PCX, PBM/PGM/PPM, PNG, TGA, etc), font library (FNT bitmapped fonts, CHR-BGI fonts, VGA-BIOS 16x8 font), graphics effects library (alphablending, masking operations, rotating, scaling), triangle-output library (for 3-D, etc), and video and animation library (AVI, FLI/FLC, GIF, Quicktime MOV).
GX2 Graphical Library
GX2 is a graphical library for Borland Pascal 7 and the Free Pascal Compiler ("soon"). It uses an object oriented interface and supports the loading and saving of BMP, GIF, PNG, JPG and PCX files. It comes with 65 fonts (vector and bitmap) and supports True Type Fonts and the conversion of Borland CHR fonts. Most of the work in image handling (e.g. conversion, opening) is done by the library automatically. Other features supported include antialiasing of fonts, lines and circles, alphablending, alphamapping, transparency (add/sub), rotation, colour dithering, fading, colour printing to Epson and HP compatible printers, etc. The library uses 32 bit DPMI code, optimized to take advantage of the MMX.
SMIX Digital Sound Effects
This library allows your program to play up to 8 simultaneous sound, mixed in real time, on any Sound Blaster (or compatible) card. Although it is free, they request "a contribution" if you use it for commercial purposes. Versions are available for Turbo Pascal (real mode), Borland C (real mode), Watcom C (DOS/4GW protected mode), and TMT Pascal protected mode. The site also provides links to third party ports for Microsoft C, Quick C, Visual C, Borland Pascal 16 bit protected mode, and Symantec C DOSX.
SBVOX
This library allows you to play VOC digitized voice files via Creative Labs' CT-VOICE driver. The Turbo Pascal source code is available.
SBDSP
To quote from their website, "SBDSP plays VOC digitized voice files directly on a Sound Blaster or compatible sound card without using Creative Labs CT-VOICE driver." The full source code, in Turbo Pascal, is available. The library is no longer supported.
PASJPEG
Compress and decompress JPEG files with this library, which is actually a port of the Independent JPEG Group's C sources into Pascal. It was written for Turbo Pascal 7.0 and Delphi 2.0 but should work with other Pascal compilers which are compatible with these two, including the Free Pascal Compiler.
Graphics Vision
This object-oriented GUI class library has an API that is compatible with Borland's Turbo Vision. You can thus recompile your existing Turbo Vision programs (which are text-based) with this library to give it a graphical interface. It has support for TrueType, vector and VGA fonts; as well as support for Turbo Vision and Windows resource files. It is free for individual use and requires Turbo Pascal 7.0 or Delphi 1.0. If you don't have these, you can always use the version designed for the Free Pascal Compiler (see elsewhere on this page).
Graphics Vision For The Free Pascal Compiler
This is a free implementation of Borland's Turbo Vision which provides an object oriented user interface. Unlike Turbo Vision, this is graphics based, and has support for TrueType, vector and VGA fonts, etc. This particular version is designed for the Free Pascal Compiler (see the Free Pascal and Delphi Compilers page). It works not only on the MSDOS platform, but also on Linux as well (using SVGALIB). If you want one for Turbo Pascal 7.0 or Delphi 1.0, see elsewhere on this page for the other version.
Lazarus
This is a set of class libraries for the Free Pascal compiler (see the Free Pascal and Delphi Compilers page) that will enable it to understand and compile Delphi syntax. Now you can actually develop Delphi programs without having to purchase the commercial product - just get Free Pascal and Lazarus and write your code. There's even an additional advantage to using this over the real Delphi - this one is portable: you can actually compile your Delphi source code for all the platforms supported by Free Pascal (Win32, Linux, OS/2, Amiga OS, etc). The libraries are distributed under the GNU LGPL, which means you can actually distribute your programs (commercial or otherwise) without needing to distribute source code, if that is what you want. Note that while the project comes with an IDE, the Rapid Application Development (RAD) portion of it is far from complete (at the time of this writing). The project is currently still under development.
Delphi Zip (Freeware Zip Component)
Available at this site are DLL's, VCL's, examples and full source code for Borland's C++ Builder and Delphi that allows you to make PKZIP compatible ZIP archives from within your application. The source code is also available.

Free Numerical Libraries, Mathematical Libraries, Statistics Libraries

MathGL
MathGL is a library for writing high-quality scientific graphics under Linux and Windows. It supports large arrays, plotting of one, two and three dimensional plots, and can export graphics to bitmap (PNG, JPEG, TIFF) and vector (EPS or SVG) files. It can be used from console programs, has functions for data handling and script MGL language for simplifying data plotting, supports several types of transparency and smoothed lighting, vector fonts and TeX-like symbol parsing, arbitrary curvilinear coordinate systems, has an OpenGL interface, etc. It is licensed under the GNU General Public License.
LAPACK - Linear Algebra PACKage
LAPACK is a package of routines written in Fortran 77 intended for "solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems" (quoted from the website). Included are matrix factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur), facilities for the reordering of the Schur factorizations and estimating condition numbers. The routines can also handle dense and banded matrices, real and complex matrices, in single and double precision.
GSL - The GNU Scientific Library
GSL is a numerical library that may be used in C and C++ programs. Functions available include complex numbers, roots of polynomials, vectors and matrices, permutations and combinations, sorting, linear algebra, BLAS support, fast fourier transforms, random numbers, histograms and statistics, Monte Carlo integration, N-Tubes, differential equations, simulated annealing, numerical differentiation, interpolation, series acceleration, Chebyshev approximations, root finding, discrete hankel transforms, least-squares fitting, minimization, IEEE floating point, physical constants, etc. It is released under the GNU General Public License. It has been ported to SunOS, Linux (x86 and Alpha), HP-UX, IRIX, NeXTSTEP, Tru64 Unix, FreeBSD, OpenBSD, NetBSD, Windows, Mac OS X, etc.
IML++ Iterative Methods Library
IML++ is a C++ template library containing iterative methods for solving symmetric and non-symmetric linear systems of equations. You can use the same routines for dense, sparse and distributed matrices.
TurboPower SysTools
TurboPower SysTools contain numerous utility functions and classes for Borland Delphi/Kylix and Borland C++ Builder as well as programming environments that support COM objects (like Microsoft Visual Basic, Microsoft Visual C++. Among the routines included in this library are string manipulation routines, date and time math routines, high-speed sorting, high-precision maths, runtime math expression analyzer, Microsoft Excel-like finance and statistical routines, email attachment MIME encoding and decoding, reusable containers (stacks, queues, trees, deques, hash tables), CRC data integrity checking, 1 dimensional and 2 dimensional (1-D and 2-D) bar codes, money routines, logging classes, patterns, random number distributions, text data manipulation and more. SysTools is open source, released by TurboPower under the Mozilla Public License. It works on Windows systems.
Mersenne Twister
This is a pseudorandom number generator written in C (with source code provided). It is purportedly fast, uses memory efficiently, and has a "far longer period and far higher order of equidistribution than any other implemented generators" (their claim). There is also a Fortran version available from the site.
Blitz++ Template Library
Blitz++ is a template library for linear algebra and uses numerous techniques to speed up matrix operations. It supports dense arrays and vectors, small vectors and matrices, provides random number generators, etc. It is released under the GNU General Public License. It requires you to have a C++ compiler that supports the ISO/ANSI C++ standard.
Sparselib++
This is a C++ class library that allows you to make "efficient sparse matrix computations across various computational platforms." Included in the library are "matrix classes encompassing several sparse storage formats (eg compressed row, compressed column and coordinate formats)" (quotes taken from their website). It is available in source code form, with documentation available in postscript format.
CEPHES Maths/Numerical C Library
Cephes is a C library that provides numerous mathematical functions including support for the complex variable types that will be in the new ANSI C standard, C99. Among the numerous functions available are: the elementary functions (log, sin, cos, exp, etc), gamma, psi, dilogarithm, Airy, Bessel, hypergeometric, Struve, complete and incomplete elliptic functions, Planck radiation, Fresnel integrals, probability integrals and their inverses (Gaussian, Poisson, F, Chi-square, binomial, Kolmogorv-Smirnov arithmetic on polynomials, rationals, etc), and so on. You can get it with precisions from single, double, long double (80, 96 or 128 bit), q-class (384-bit). Source code is available, as well as precompiled binaries for Linux, Windows and MSDOS.
GINAC C++ Framework
This C++ framework makes it easy for you to integrate symbolic and algebraic manipulations with "other areas of computer science like computation-intensive numeric applications, graphical interfaces, etc". You also get "a parser for constructing expressions from strings, inert differentiation, archival of symbolic expressions, etc." The library is released uner the GNU GPL.
FFTW C Library
This award winning library is a C library for "computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size." It is portable, fast and free.

Free Java Libraries and Source Code

OpenMap - Open Systems Mapping Technology
OpenMap is an open source JavaBeans toolkit that allows you to "build applications and applets that access data from legacy databases and applications" (quoted from their website). Note that you should read their licence agreement before you blindly use the package, since it is not one of the standard open source licences. (At the time I looked at it, I got the impression that if you make a derivative work from their toolkit, you are also giving them the permission to make a derivative work from your program. But it's best you read the licence agreement yourself.)
Sun's JavaMail API
Sun's JavaMail API provides you a set of abstract classes that helps you to build mail and messenging applications. This reference implementation is royalty free (but only provided in binary form). You need the JavaBeans Activation Framework to use this (see elsewhere on this page).
Sun's JavaBeans Activation Framework (JAF)
The JavaBeans Activation Framework, or JAF, to quote verbatim from their website, allow you to use standard services "to determine the type of an arbitrary piece of data, encapsulate access to it, discover the operations available on it, and to instantiate the appropriate bean to perform said operation(s)". This reference implementation is royalty free, and provided only in binary form.
Java SNMP Package
The Java SNMP Package implements the SNMP protocol with support for the SNMP client and agent operations in SNMP versions 1 and 2 (except the security model of version 2).
GNU Getopt (Java port)
As is obvious from the name, this is a Java port of the GNU getopt() command line parser.
QFLib
This Java library is compatible with JDK 1.1, 1.2 and above. The library supports the following: a logging system, GUI stuff, "especially a JTable extension that supports sorting and filtering with only a few lines of code", and a collection of miscellaneous utilities (command line parser, thread pool, etc).
ObjectDB for Java/JDO Free Database Edition
ObjectDB for Java/JDO is an Object Database Management System (ODBMS) written in Java. It is JDO compliant (Java Data Objects), allows your application to query the database using JDO Query (JDOQL), allows you to have up to 5,000 Java objects per database, uses a single file database, etc. The free edition may only be used for personal, non-commercial purposes.
Cyrus SASL
To quote, "the Cyrus SASL library is a generic library for SASL authentication, as used in SMTP and IMAP protocols. It's used for authentication by the Cyrus IMAP server as well as the Sendmail 8.10 release." It also includes a Java SASL library. Note that the link above is to an FTP directory. Look for a file like "cyrus-sasl-1.5.20.tar.gz" (the numbers may change when newer versions are released).
GNU Classpath
This is a free replacement for Sun's proprietary class libraries. It is still currently under development. The intention is for the released version to be fully compatibile with Java 1.1 and mostly compatible with 1.2.
Biss AWT
According to its web site, this Java framework provides approximately 150 classes for building graphical applications. Unlike java.awt which uses the native operative system's look and feel, this one has its own appearance. Source code is provided. It has support for pop-up menus, notebooks, hierachial lists, etc, without the need for a JDK 1.1 native library.

Free GUI Libraries and Source Code

MGui
MGui, or the MORELLO Graphic User Interface, is a cross-platform GUI written in ANSI C. It has the usual widgets like menus, push buttons, editable fields, lists. It comes with a code generation tool so that you can design and maintain your interface visually. Platforms supported include Windows 3.1, 95, 98, NT, X Window, DOS. The GUI may not be used for commercial purposes. Only binaries are supplied. The library does not appear to have been updated for quite a long time.
MiniGUI
If you need a lightweight cross-platform GUI for real-time embedded devices and an embedded graphics middleware, you may want to check out MiniGUI. It runs on Linux/uClinux, eCos, VxWorks, pSOS, ThreadX, Nucleus, uC/OS-II, Win32. Hardware platforms tested with it include Intel x86, ARM (ARM7, ARM9, StrongARM, xScale), PowerPC, MIPS, and M68K (DragonBall, ColdFire). You can run it with support for threads, processes or compile it to run standalone. It has support for built-in resources like bitmaps, icons, fonts. It has a multi-window and messaging mechanism, commonly used controls like labels, buttons, multi-line edit boxes, list boxes, combo boxes, progress bars, property sheets, toolbars, track bar, tree view, list view, month calendar, grid view, animation, etc, as well as support for dialog boxes and message boxes. You can also use menus, accelarator keys, the caret, timers, Windows resource files, popular image file formats (GIF, JPEG, PNG, Windows BMP, etc), multiple character sets, fonts, etc. The graphics API allows you to do raster operations such as create complex regions, draw and fill ellipses, arcs, polygons, etc. There is also special support for embedded systems such as common I/O operations, byte-order functions, touch screen calibration, etc. The library is released under the GPL. Be sure to select the GPL open source package when you download.
QT3/Windows Free Edition
QT3/Windows is a port of Trolltech's GPLed Qt/X11 sources to Win32. It is thus covered under the GNU GPL. It supports the MinGW, Cygwin, Borland and Visual C++ compilers.
Trolltech Qt/X11, Qt/Embedded and Qt/Mac Open Source Edition
Trolltech provides its Qt GUI toolkit under the GNU GPL for Unix systems. At the time I write this, they have also announced that they will be releasing Qt version 4 under GPL for Windows as well. If, however, you wish to develop using Qt 3, you can check out the QT3/Windows toolkit mentioned on on this page.
SmartWin++
SmartWin is a C++ abstraction of the Windows API. It is designed to by type safe and be as thin a layer over the Windows API as possible. It currently requires you to either have the free Microsoft Visual C++ compiler (scroll down that page for more information) or the commercial Microsoft Visual Studio C++ 7.1, since the library is designed specifically for that compiler.
Winelib and Wine
Winelib is a development toolkit that is included in Wine (the open source implementation of the Windows API, both Win32 and Win16). It allows you to compile and link your Windows source code so that it runs under systems that support Wine (like Linux, FreeBSD, etc). Although, at the time of this review, the process is not as smooth as developers would like it to be (ie, you can't just take your Windows source code and recompile with gcc -lwine), it makes porting your applications considerably easier since you don't have to rewrite your application to use a different API. Wine and Winelib is licensed under the GNU Lesser General Public License (LGPL).
ReWind - Re-Engineering Windows
ReWind is a fork of the Wine project back when it was still licensed under the MIT/X11 license. Some developers prefer using this license, especially for commercial projects, to the GNU LGPL. Like Wine, it is an open source implementation of the Windows API, thus allowing you to port your Win API applications to supported systems (like Linux) without having to rewrite it for a different API.
GtkAda Ada95 Graphical Toolkit
GtkAda is an Ada95 graphical toolkit based on Gtk+ (a graphical toolkit for X-Window and Windows). The language bindings allow you to access all the widgets in Gtk+. The toolkit is distributed under a modified GPL license that allows the creation of proprietary software. The toolkit has been tested on Linux (x86, Sparc, PowerPC), Solaris (x86 and Sparc), Tru64, SGI IRIX, HPUX, Windows NT, Windows 2000, AIX, FreeBSD, and UnixWare.
Windows++
Windows++ is a C++ application framework that has a small footprint. It works with Win32 and Windows 3.1. The framework is the one described in the book of the same name (in the Andrew Schulman Programming Series).
Fox Toolkit
Fox is a C++ graphical class library that allows you to develop portable GUI applications that run on numerous platforms. It has a number of controls, icons, images, status line help, tooltips, supports drag and drop, selection as well as OpenGL widgets for 3D graphical manipulation. Among the platforms supported are Linux, FreeBSD, SGI IRIX, HP-UX, IBM AIX, Sun Solaris, DEC/Compaq Tru64 Unix, Windows 9x/ME, and Windows NT/2000.
V: Free Portable C++ Gui Framework
V is a free multi-platform C++ GUI, supporting Windows, OS/2, Linux and other Unices (using the X Athena, Motif or Lesstif widgets). It is released under the GNU LGPL. Your application will have the look of the native operating system, but your code is supposed to be portable across the supported platforms. There is support for menus, status bars, tool bars, a drawing canvas, text entry, check and radio buttons, modal and modeless dialog boxes, platform independent printer support, timers, OpenGL, etc.
MicroWindows
MicroWindows is an Open Source project that allows you to add a graphical windowing environment to your applications that are designed for smaller devices and platforms. It does not require any operating system or graphics system support and writes directly to the display hardware. Very handy if you're developing for the portable handheld and pocket PCs (Palm, etc). They support the Win32 API as well as the Nano-X API, so you should probably be able to port your Windows programs more easily. If you are a PDA developer, you might want to check this out.
OpenMotif
This is not a clone of Motif, but the actual Motif itself. The developers have now made Motif a sort of open software with source code and binaries freely available for download. However, the licensing allows you to use it free of charge only on open source operating systems like Linux and FreeBSD. Precompiled binaries for the latter two operating systems are available.
HCL
HCL is a C++ framework for X Windows applications that is based directly on Xlib. The user interface is described in a language somewhat like that used in Windows and OS/2's resource files, and compiled using a resource compiler that is part of the package. The library and its tools are distributed under the GNU LGPL.
Viewkit
This is a C++ application framework that requires Motif. The company that develops it tells me that there has been reports that it also runs with Lesstif as well. The Linux version is free when you register at their website.
Graphics Vision For The Free Pascal Compiler
This is a free implementation of Borland's Turbo Vision which provides an object oriented user interface. Unlike Turbo Vision, this is graphics based, and has support for TrueType, vector and VGA fonts, etc. This particular version is designed for the Free Pascal Compiler (see the Free Pascal and Delphi Compilers page). It works not only on the MSDOS platform, but also on Linux as well (using SVGALIB).
Lazarus
This is a set of class libraries for the Free Pascal compiler (see the Free Pascal Compilers page) that will enable it to understand and compile Delphi syntax. Now you can actually develop Delphi programs without having to purchase the commercial product - just get Free Pascal, Lazarus and write your code. There's even an additional advantage to using this over the real Delphi - this one is portable: you can actually compile your Delphi source code for all the platforms supported by Free Pascal (Win32, Linux, OS/2, Amiga OS, etc). The libraries are distributed under the GNU LGPL, which means you can actually distribute your programs (commercial or otherwise) without needing to distribute source code, if that is what you want. Note that while the project comes with an IDE, the Rapid Application Development (RAD) portion of it is far from complete (at the time of this writing). The project is currently still under development.
Whisper
Whisper is a general purpose C++ application framework, which takes advantage of templates, multiple inheritance, STL and exceptions. It is portable to both Macintosh and Win32. It contains numerous debugging tools. If you need to write an application that is portable across Mac and Windows, it may be worth your while to check this out.
CodeWeavers Wine Preview
The CodeWeavers Wine Preview is based on an early version of Wine. It includes a Wine Configuration Wizard, a Wine Launcher the Winemaker porting tool and of course Winelib. Winelib allows you to link your Windows source code with the Wine libraries, thus providing you with an easy way of making your Win32 API applications run on Linux (instead of rewriting your GUI source code to use X).
TWIN
This is an excellent library for Windows programmers who want to port their application to Unix and Macintosh. The library provides an emulation of the Win32 API so that you can simply compile your program on the Unix-based system and link it with the library, and, voila! They even have a working winhelp that will work under Unix so you don't have to even convert your documentation! The sources are distributed under GNU LGPL. OSes supported include Linux, Solaris, AIX, HP/UX, MacOS, SunOS, SGI IRIX, SCO Unix, SCO Unixware, and Digital Unix. Processors supported include Intel x86, Sparc, Alpha and PowerPC.
OpenAmulet
This public domain C++ toolkit has built-in support for animation, UNDO, a variety of widgets (buttons, check boxes, radio buttons, menus, scroll bars, scrolling windows, text input fields), etc. It supports Win32, Linux, Solaris, Mac, among others.
FLTK (Fast Light Tool Kit)
This C++ GUI toolkit, Fast Light Tool Kit, works under X Windows, OpenGL and Windows 95/98/NT, making it very useful if you have to write a program that works on a variety of platforms. It works on OS/2 too, if you have XFree86 for OS/2 installed. The source code is released under LGPL. There is also an interface builder that generates a human-readable, editable C++ code for you. If you write C++ GUI programs for a number of platforms, and want a portable high level library that takes care of the lower level details of each platform for you, you might want to check this out.
TOAD C++ GUI Class Library
A C++ GUI frameworks for use with X Windows systems. Requires the GNU C compiler or EGCS.
Lesstif
This is a clone of Motif that run on various Unices and Unix-clones.
WxWidgets
A free multi-platform C++ GUI library with bindings for the Python language. It has ports for Windows 3.1, Windows 95/98/ME/NT/2k/XP, Macintosh, OS/2 and various Unices (Linux, FreeBSD, Solaris, AIX, HP-UX, IRIX, SCO UnixWare). The Unix ports requires either GTK, Motif or Lesstif. Old versions which use XView are also available.
VCF Visual Component Framework
VCF is a C++ application framework designed for Rapid Application Development (RAD). It has various graphics classes, including support for anti-aliased vector graphics; image loading support for various graphic formats (TIFF, TGA, PSD, PNG, SGI, MNG, RAS, PBM, PPM, etc); facilities for drawing graphics; application classes for handling resources, loading windows or forms, saving application state; Undo/Redo support; GUI controls; etc. It uses modern C++ features like exceptions, templates, STL, and name spaces. It is intended to be portable across systems, although at the time this was written, it has only released versions for Windows; the Linux and Mac OSX ports are not yet available. The framework is licensed under the BSD License.