Thread: KFX Format
View Single Post
Old 11-15-2015, 04:50 PM   #235
poxalew
Junior Member
poxalew can program the VCR without an owner's manual.poxalew can program the VCR without an owner's manual.poxalew can program the VCR without an owner's manual.poxalew can program the VCR without an owner's manual.poxalew can program the VCR without an owner's manual.poxalew can program the VCR without an owner's manual.poxalew can program the VCR without an owner's manual.poxalew can program the VCR without an owner's manual.poxalew can program the VCR without an owner's manual.poxalew can program the VCR without an owner's manual.poxalew can program the VCR without an owner's manual.
 
Posts: 9
Karma: 166666
Join Date: Aug 2014
Device: Kindle PW2
Instead of speculating blindly, let's speculate in a more informed manner

WebKit is governed by the LGPL license, and Amazon does respect the letter (if not necessarily the spirit) of its license by making available the source code to the open source parts of their binaries, including WebKit. You can find the (complete, they claim) open source code used by them at http://www.amazon.com/gp/help/custom...deId=200203720 .

From there we can see that the 5.6.5 firmware for the Kindle e-Readers (specifically the PW2, but the Voyage source code dump is virtually identical) uses the following open source component versions:

Spoiler:
Code:
atk_1.30.0.tar.gz
awesome_3.4.3.tar.gz
build_linaro-gcc_4.8.3.tar.gz
busybox_1.17.1.tar.gz
cairo_1.10.0.tar.gz
cramfs_1.1.tar.gz
dosfstools_2.11.tar.gz
fuse_2.9.2.tar.gz
gdb_6.6.tar.gz
glib-2.0_2.29.18.tar.gz
glib-networking_2.31.0.tar.gz
gnutls_2.8.4.tar.gz
gtk+-2.0_2.20.1.tar.gz
hyphen_2.8.6.tar.gz
iptables_1.4.15.tar.gz
iw_3.8.tar.gz
klibc_1.5.25.tar.gz
libgcrypt_1.4.4.tar.gz
libgpg-error_1.4.tar.gz
libnih_1.0.2.tar.gz
libnl_3.2.22.tar.gz
libsoup-2.4_2.35.90.tar.gz
libstartup-notification-1.0_0.10.tar.gz
libusb_0.1.12.tar.gz
linux-3.0.35.tar.gz
module-init-tools_3.2.2.tar.gz
multitouch_7380af2c93dc83f4f09e293717d46eadf7799e89.tar.gz
ncurses_5.6.tar.gz
pango_1.26.2.tar.gz
procps_3.2.7.tar.gz
readline_5.2.tar.gz
schedutils_1.5.0.tar.gz
squashfs_4.2.tar.gz
syslog-ng_1.6.12.tar.gz
taglib_1.5.tar.gz
uboot_2009.08.tar.gz
udev_146.tar.gz
upstart_0.6.6.tar.gz
util-linux_2.12r.tar.gz
uuid_1.41.10.tar.gz
webkit-1.0_1.4.2.tar.gz
wireless_tools_29.tar.gz
x11_1.3.2.tar.gz
xau_1.0.5.tar.gz
xaw7_1.0.7.tar.gz
xcb_1.5.tar.gz
xcb-proto_1.6.tar.gz
xcb-util_0.3.6.tar.gz
xclock_1.0.4.tar.gz
xdamage_1.1.2.tar.gz
xdmcp_1.0.3.tar.gz
xev_1.0.4.tar.gz
xext_1.1.1.tar.gz
xf86-input-evdev_2.4.0.tar.gz
xf86-video-imx_2011-04-11.tar.gz
xfd_1.0.1.tar.gz
xfixes_4.0.4.tar.gz
xfont_1.4.1.tar.gz
xft_2.1.14.tar.gz
xi_1.3.tar.gz
xinerama_1.1.tar.gz
xkbcomp_1.1.1.tar.gz
xkbfile_1.0.6.tar.gz
xkeyboard-config_1.4.tar.gz
xload_1.0.2.tar.gz
xlogo_1.0.2.tar.gz
xmlsec1_1.2.16.tar.gz
xmu_1.0.5.tar.gz
xorg-macros_1.10.0.tar.gz
xpm_3.5.8.tar.gz
xrandr_1.3.0.tar.gz
xrandr-cmd_1.3.2.tar.gz
xrender_0.9.5.tar.gz
xserver_1.8.2.tar.gz
xset_1.2.1.tar.gz
xt_1.0.7.tar.gz
xtst_1.1.0.tar.gz
xv_1.0.5.tar.gz
xwd_1.0.3.tar.gz
xwininfo_1.0.5.tar.gz


Note WebKit 1.4.2, which is a 4 year old release (see https://trac.webkit.org/browser/rele...K/webkit-1.4.2 for the original code)--but sticking to old-but-known-good code is by no means unusual, and they don't seem to be too concerned about the renderer security. And, since HTML5 has so far been less of a standard and more of "whatever it is that the WhatWG comes up today" while Amazon must offer a stable platform for content generation, it makes sense to stick to a specific release for years.

This, of course, doesn't directly tell us that KFX is being rendered by WebKit--after all, it could be a legacy component for rendering MOBI7 and KF8 content. But we can infer with a strong likelihood that KFX is being rendered by WebKit. Nobody in their right mind would run a widely distributed HTML5 rendering engine written from scratch due to the staggering costs involved in writing a conformant yet stable implementation, and the market has settled on the open source rendering engines (the exception being Microsoft's renderer, which I'm fairly certain we can exclude here ). All of them are licensed under the LGPL. Therefore, if Amazon were to use one, we'd find its code in the list above. The only one is WebKit, so I'm calling WebKit...

Last edited by poxalew; 11-15-2015 at 04:52 PM. Reason: Bah, spelling is hard.
poxalew is offline   Reply With Quote