UPDATE – See CORRECTION – EA’s Free/Libre Software.
Do you know that EA releases various of its foundational technologies as part of its LGPL compliance obligations? EA should be talking about this much more, because these technologies are great! They have had years and years of love poured into them, and have been used to ship numerous AAA titles across mutliple hardware platforms.
And you can use them too. You just didn’t know.
They are currently being released as ZIP files to http://gpl.ea.com. It would be way better if there was just an EA public Github account. Maybe some day?
EAWebKit is the conduit through which most of the technologies get released. EAWebKit is the public WebKit technology, re-vectored on top of EA base technology. It builds as a self-contained DLL, to isolate the LGPL-ness.
If you download one of the ZIPs, and go into the EAWebKitSupportPackages folder, you will find the “goodies”. They have been stripped of all of their source build system files and documentation, but all the source code and headers are there, along with generated Visual Studio SLN/VCPROJX files.
- coreallocator – memory allocator interface
- DirtySDK – sockets library
- EAAssert – assertion handling
- EABase – base types and #defines
- EAIO – I/O library
- EASTL – game-friendly STL implementation (described in public by Paul Pedriana in 2007)
- EAText – Text-rendering library (sitting on top of FreeType)
- EAWebkit – Fork of the Webkit project, ported on top of EA base technology
- PPMalloc – Superb memory management tech from Paul Pedriana
- UTFXml – XML library
You will also see the following non-EA packages which EAWebkit also depends on. These versions may just be vanilla releases or may have EA-specific additional edits. I’ve not checked:
- cairo – 2D graphics library, see http://cairographics.org/
- FreeType – Font-rendering library, see http://www.freetype.org/
- libjpeg – library for reading and writing JPEG image files, see http://libjpeg.sourceforge.net/
- libpng – library for reading and writing PNG image files, see http://www.libpng.org/pub/png/libpng.html
- pixman – low-level library for pixel manipulation, see http://www.pixman.org/
- SQLite – self-contained SQL database library, see http://www.sqlite.org/
- zlib – compression library, see http://www.zlib.net/
If you download EAWebKit-22.214.171.124.0, that version contains SLNs for Win32 and Win64, in addition to PS4 and XBOX One.
Have fun, and keep your eyes peeled for new EA Open Source releases. I don’t believe they are being announced in any way, which is a real shame.
EA should be boasting about these releases, not keeping them quiet, because they are fantastic.