Licenses:

All files in this directory are (to the best of our knowledge) licensed for redistribution as part of the WebKit SVN repository.  We have outlined the licenses of the various files (and where we found them on the net) below:


Public domain or Creative Commons (as implied by inclusion in OpenClipart):
http://openclipart.org/clipart//plants/bamboo_01.svg
http://openclipart.org/clipart//plants/cacuts_01.svg
http://openclipart.org/clipart//food/crawfish2_ganson.svg
http://openclipart.org/clipart//food/food_leif_lodahl_01.svg
http://openclipart.org/clipart//logos/francobollo_gnome_ezechi_02.svg
http://openclipart.org/clipart//animals/az-lizard_benji_park_01.svg

Other (freely distributable):
http://svg-whiz.com/svg/map/world-iso.svgz

LGPL or compatible (as implied by inclusion in KDE SVN)
http://websvn.kde.org/trunk/tests/ksvgtests/custom/worldcup.svg
http://websvn.kde.org/trunk/tests/ksvgtests/custom/cowboy.svg
http://websvn.kde.org/trunk/tests/ksvgtests/custom/mtsthelens.svg
http://websvn.kde.org/trunk/tests/ksvgtests/custom/france.svg

LGPL:
http://www.kde-look.org/content/show.php?content=19524

GPL:
http://www.kde-look.org/content/show.php?content=19064
http://www.kde-look.org/content/show.php?content=31481
http://www.kde-look.org/content/files/42450-under%20the%20see.svg
http://www.kde-look.org/content/files/42470-flower_from_my_garden_v2.svg
http://www.kde-look.org/content/files/44057-drops%20on%20a%20blade.svg
http://www.kde-look.org/content/files/33041-Samurai.svgz


CC Attribution-NoDerivs 2.5 (as implied by submission to the SVG Logo contest)
http://www.svglogo.com/Harvey_Rayner.svg

