Skip to content

Commit

Permalink
website update
Browse files Browse the repository at this point in the history
  • Loading branch information
gka committed Apr 20, 2012
1 parent 23475df commit 7737515
Show file tree
Hide file tree
Showing 7 changed files with 549 additions and 30 deletions.
36 changes: 36 additions & 0 deletions about/license.html
@@ -0,0 +1,36 @@
---
layout: default
title: License Issues
headline: Reading the fine print
tagline: Why on earth have you chosen the GPLv3?
headbg: /img/notiles.jpg
---

<div class="row">

<div class="span9 k-intro">
<h1>Can I use Kartograph in proprietary software?</h1>

<p>A lot of people asked. I chose the GNU Public License because I really like the idea of free software. I spent a lot of time into developing Kartograph and I'd really love to see other people using Kartograph. In fact, that's why I decided to release it open source. The GPL is not a non-commercial license. You're totally free to build your business on top of it. If you modify Kartograph in any way, you're required to publish your modified version under GPL again.</p>

<p>In the following sections I will try to break down a few use cases.</p>

<h2>Kartograph.js</h2>

<p>The major use case of Kartograph.js is to be loaded into a website to display a map and allow the user to interact with it. It does not matter what kind of website you're working on, may it be a dashboard, a web shop or whatever. You never ever need to open source your entire website. This is what the GPL refers to as distribution of non-modified versions.</p>

<p>Now let's say you found a bug in Kartograph.js and fixed in in your local version. If you now want to distribute it along with your website, the GPL requires you to publish the modified version of Kartograph.js under GPL again. Just fork it on Github, push your bugfix to your fork and everything is fine. The same is true if you added a new, awesome feature to Kartograph.js. Just share the new feature with the world and be happy to have contributed to a free software.</p>


<h2>Kartograph.py</h2>

<p>The most typical use case of Kartograph.py is to generate a nice SVG map, and you're free to do that. The resulting SVG files do <em>not</em> have to be licensed under GPL, but depending on the source geodata you have used to generate them, there might be other license issues to consider.</p>

<p>If you modify your local version of Kartograph, you're still free to generate SVG maps and use them in any website, since that's not considered as redistribution of Kartograph.py. However, if you release Kartograph.py.</p>

<p>The AGPL (under which Kartograph.py is licensed) makes sure that . So if you create a nice web service which generates SVG maps (which would be awesome) and use a modified version of Kartograph.py, then you would be required to release the modified version under GPL.</p>

</div>
</div>


43 changes: 26 additions & 17 deletions js/kartograph.js
Expand Up @@ -47,7 +47,7 @@


kartograph = root.$K = (_ref = root.kartograph) != null ? _ref : root.kartograph = {}; kartograph = root.$K = (_ref = root.kartograph) != null ? _ref : root.kartograph = {};


kartograph.version = "0.1.7"; kartograph.version = "0.1.9";


__verbose__ = false && (typeof console !== "undefined" && console !== null); __verbose__ = false && (typeof console !== "undefined" && console !== null);


Expand Down Expand Up @@ -1230,7 +1230,7 @@
}; };


/* /*
kartograph - a svg mapping library kartograph - a svg mapping library
Copyright (C) 2011 Gregor Aisch Copyright (C) 2011 Gregor Aisch
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
Expand Down Expand Up @@ -1416,29 +1416,38 @@
/* /*
loads a path from a SVG path string loads a path from a SVG path string
*/ */
var closed, contour, contour_str, contours, cx, cy, path_str, pt_str, r, res, sep, type, x, y, _i, _j, _len, _len2, _ref10, _ref11, _ref9; var closed, cmd, contour, contours, cx, cy, path_data, path_str, r, res, sep, type, _i, _len;
contours = []; contours = [];
type = path.nodeName; type = path.nodeName;
res = null; res = null;
if (type === "path") { if (type === "path") {
path_str = path.getAttribute('d').trim(); path_str = path.getAttribute('d').trim();
closed = path_str[path_str.length - 1] === "Z"; path_data = Raphael.parsePathString(path_str);
closed = path_data[path_data.length - 1] === "Z";
sep = closed ? "Z M" : "M"; sep = closed ? "Z M" : "M";
path_str = path_str.substring(1, path_str.length - (closed ? 1 : 0)); contour = [];
_ref9 = path_str.split(sep); for (_i = 0, _len = path_data.length; _i < _len; _i++) {
for (_i = 0, _len = _ref9.length; _i < _len; _i++) { cmd = path_data[_i];
contour_str = _ref9[_i]; if (cmd.length === 0) continue;
contour = []; if (cmd[0] === "M") {
if (contour_str !== "") { if (contour.length > 2) {
_ref10 = contour_str.split('L'); contours.push(contour);
for (_j = 0, _len2 = _ref10.length; _j < _len2; _j++) { contour = [];
pt_str = _ref10[_j]; }
_ref11 = pt_str.split(','), x = _ref11[0], y = _ref11[1]; contour.push([cmd[1], cmd[2]]);
contour.push([Number(x), Number(y)]); } else if (cmd[0] === "L") {
contour.push([cmd[1], cmd[2]]);
} else if (cmd[0] === "Z") {
if (contour.length > 2) {
contours.push(contour);
contour = [];
} }
contours.push(contour);
} }
} }
if (contour.length > 2) {
contours.push(contour);
contour = [];
}
res = new kartograph.geom.Path(type, contours, closed); res = new kartograph.geom.Path(type, contours, closed);
} else if (type === "circle") { } else if (type === "circle") {
cx = path.getAttribute("cx"); cx = path.getAttribute("cx");
Expand Down Expand Up @@ -3168,7 +3177,7 @@
me = this; me = this;
layer_id = (_ref12 = opts.layer) != null ? _ref12 : me.layerIds[me.layerIds.length - 1]; layer_id = (_ref12 = opts.layer) != null ? _ref12 : me.layerIds[me.layerIds.length - 1];
if (!me.layers.hasOwnProperty(layer_id)) { if (!me.layers.hasOwnProperty(layer_id)) {
warn('choropleth error: layer "' + layer_ihad + '" not found'); warn('choropleth error: layer "' + layer_id + '" not found');
return; return;
} }
data = opts.data; data = opts.data;
Expand Down
4 changes: 2 additions & 2 deletions js/kartograph.min.js

Large diffs are not rendered by default.

136 changes: 136 additions & 0 deletions showcase/projections/face-.kml.txt
@@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>face.kml</name>
<Style id="s_ylw-pushpin_hl">
<IconStyle>
<scale>1.3</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
</Icon>
<hotSpot x="20" y="2" xunits="pixels" yunits="pixels"/>
</IconStyle>
</Style>
<StyleMap id="m_ylw-pushpin">
<Pair>
<key>normal</key>
<styleUrl>#s_ylw-pushpin</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#s_ylw-pushpin_hl</styleUrl>
</Pair>
</StyleMap>
<Style id="s_ylw-pushpin">
<IconStyle>
<scale>1.1</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
</Icon>
<hotSpot x="20" y="2" xunits="pixels" yunits="pixels"/>
</IconStyle>
</Style>
<Folder>
<name>face</name>
<open>1</open>
<Placemark>
<name>eye1</name>
<styleUrl>#m_ylw-pushpin</styleUrl>
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-22.84108109690709,1.094741753741488,0 -19.95990671858902,-3.277529093929444,0 -15.17253712172634,-4.608586114560899,0 -11.89023066450302,-0.9987485478080077,0 -11.95983147253712,2.923211724767504,0 -12.14380312363869,8.127497869906117,0 -14.15721785383536,9.893722081644221,0 -16.16724108982766,11.13126484851838,0 -20.19855985659539,10.99713650179376,0 -23.46166501661987,7.415580109323032,0 -22.84108109690709,1.094741753741488,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>eye2</name>
<styleUrl>#m_ylw-pushpin</styleUrl>
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
19.07715081919449,8.702449871272291,0 16.08389286128222,4.538472953733577,0 16.19449557806102,-1.784826611267607,0 18.61187788424816,-4.266728717674408,0 23.45733543323506,-6.162217954237443,0 28.9739838106361,-5.199690218791002,0 30.23188345651623,0.3874339839748837,0 30.27686976676865,6.048839821320162,0 27.42646648383636,8.816308770610712,0 23.93231077246995,9.157495205473888,0 19.07715081919449,8.702449871272291,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>nose</name>
<styleUrl>#m_ylw-pushpin</styleUrl>
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-1.546647687731134,-9.238569695931114,0 -5.373940783367138,-26.8641890883665,0 -0.1783001453333244,-29.37148840132801,0 6.297801677714938,-25.21456855366846,0 1.593871248939718,-10.23620769411285,0 -1.546647687731134,-9.238569695931114,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>mouth</name>
<styleUrl>#m_ylw-pushpin</styleUrl>
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-24.03600996736765,-45.62766039876369,0 -15.99261219899054,-51.01999623546102,0 -3.097682550751394,-53.06926847276708,0 7.259201100500505,-50.58944978125696,0 19.36600901012944,-45.79021978116995,0 22.9648920337342,-39.66033878111115,0 17.63355310113724,-42.48625424887653,0 4.633418774955129,-44.2865778572567,0 -7.067411127833831,-45.06730005694861,0 -17.8215322738582,-42.48403265695245,0 -22.78702023804825,-38.11666854699747,0 -24.03600996736765,-45.62766039876369,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>ear1</name>
<styleUrl>#m_ylw-pushpin</styleUrl>
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
72.58981314041048,-0.555513833208415,0 75.50510196490143,-0.08657718980887676,0 78.77838580747519,0.005728901134004867,0 79.54513239395816,-3.701760372707271,0 78.26455865345798,-7.155424506539739,0 74.5652401501592,-9.919949246869121,0 75.2331616242158,-12.59880400932902,0 78.566075177529,-12.59786000048784,0 84.36495839229362,-10.7194189859683,0 86.58956084843703,-7.131994175601452,0 86.66512259582525,-1.540729830051405,0 86.03573608230457,2.721507027403067,0 82.5532481404921,5.57155356220048,0 75.80388850733556,3.325504868290263,0 72.8119615033322,1.759608995521281,0 72.58981314041048,-0.555513833208415,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Polygon ohne Namen</name>
<styleUrl>#m_ylw-pushpin</styleUrl>
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-63.4847569759294,-0.1179955125591082,0 -67.62235327825927,1.868992004535198,0 -72.12610491172011,1.800716365967807,0 -73.53560608661026,-1.434413288411882,0 -73.75391338466196,-4.749407336253636,0 -73.5500248569676,-9.882044005343644,0 -71.26327595960137,-12.80005976045174,0 -68.24467350674051,-15.1127317930387,0 -61.2035466079141,-14.47923491237966,0 -63.1305149513415,-10.15919031554479,0 -66.12709880179108,-8.326896385304538,0 -66.33585820478068,-4.724862228190934,0 -63.87800883266753,-4.206990011883674,0 -63.4847569759294,-0.1179955125591082,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>hair</name>
<styleUrl>#m_ylw-pushpin</styleUrl>
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-56.48648274774474,14.81744692003963,0 -50.4060983525764,19.82271763095407,0 -42.12148531085298,20.65140899341347,0 -29.69086509813802,23.74333304777413,0 -24.54045342869818,23.14875009863743,0 -22.48273677559574,27.33567055098807,0 -9.976515446070563,27.67576775055484,0 -4.977837021549233,23.96406966388886,0 2.567172590508475,28.30363734948023,0 14.54539802326389,23.10719470304556,0 21.23111406540732,26.49342186912154,0 32.91828273323413,19.03321730246731,0 40.47571966397343,25.62983000163413,0 51.47288738456796,23.00808485944966,0 62.20843210392125,32.09410525407498,0 83.89450565798491,14.91869789623331,0 94.83830891009694,10.50313612546472,0 95.91766206299562,-1.589799771919341,0 107.7692841046569,-18.27721442790113,0 122.6433007403652,-28.50983975696784,0 140.7115478274921,-31.52737928894286,0 150.1633813459576,-28.41693686591668,0 176.3008410424883,-34.64818641640628,0 194.7419653373171,-30.42185017150405,0 215.7361811939829,-21.6155273106059,0 228.2646495298676,-24.98854702274637,0 246.0835233216863,-31.01779760002771,0 259.1996577642117,-28.53129732425479,0 267.4926928245971,-17.98974361985528,0 276.6366535812497,-8.834235505009229,0 282.9547037317914,9.132178062927572,0 290.4022158766186,7.570100448796643,0 292.9106152257615,19.78491072589098,0 299.133959589841,21.15952605929459,0 299.5887163247107,17.46274448355062,0 296.3451396366905,18.94373471930419,0 -56.48648274774474,14.81744692003963,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</Folder>
</Document>
</kml>
86 changes: 78 additions & 8 deletions showcase/projections/face.kml.txt
Expand Up @@ -2,9 +2,18 @@
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document> <Document>
<name>face.kml</name> <name>face.kml</name>
<Style id="s_ylw-pushpin_hl"> <Style id="s_ylw-pushpin">
<IconStyle> <IconStyle>
<scale>1.3</scale> <scale>1.1</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
</Icon>
<hotSpot x="20" y="2" xunits="pixels" yunits="pixels"/>
</IconStyle>
</Style>
<Style id="s_ylw-pushpin0">
<IconStyle>
<scale>1.1</scale>
<Icon> <Icon>
<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href> <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
</Icon> </Icon>
Expand All @@ -14,16 +23,35 @@
<StyleMap id="m_ylw-pushpin"> <StyleMap id="m_ylw-pushpin">
<Pair> <Pair>
<key>normal</key> <key>normal</key>
<styleUrl>#s_ylw-pushpin</styleUrl> <styleUrl>#s_ylw-pushpin0</styleUrl>
</Pair> </Pair>
<Pair> <Pair>
<key>highlight</key> <key>highlight</key>
<styleUrl>#s_ylw-pushpin_hl</styleUrl> <styleUrl>#s_ylw-pushpin_hl</styleUrl>
</Pair> </Pair>
</StyleMap> </StyleMap>
<Style id="s_ylw-pushpin"> <StyleMap id="m_ylw-pushpin0">
<Pair>
<key>normal</key>
<styleUrl>#s_ylw-pushpin</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#s_ylw-pushpin_hl0</styleUrl>
</Pair>
</StyleMap>
<Style id="s_ylw-pushpin_hl">
<IconStyle> <IconStyle>
<scale>1.1</scale> <scale>1.3</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
</Icon>
<hotSpot x="20" y="2" xunits="pixels" yunits="pixels"/>
</IconStyle>
</Style>
<Style id="s_ylw-pushpin_hl0">
<IconStyle>
<scale>1.3</scale>
<Icon> <Icon>
<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href> <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
</Icon> </Icon>
Expand All @@ -49,13 +77,13 @@
</Placemark> </Placemark>
<Placemark> <Placemark>
<name>eye2</name> <name>eye2</name>
<styleUrl>#m_ylw-pushpin</styleUrl> <styleUrl>#m_ylw-pushpin0</styleUrl>
<Polygon> <Polygon>
<tessellate>1</tessellate> <tessellate>1</tessellate>
<outerBoundaryIs> <outerBoundaryIs>
<LinearRing> <LinearRing>
<coordinates> <coordinates>
19.07715081919449,8.702449871272291,0 16.08389286128222,4.538472953733577,0 16.19449557806102,-1.784826611267607,0 18.61187788424816,-4.266728717674408,0 23.45733543323506,-6.162217954237443,0 28.9739838106361,-5.199690218791002,0 30.23188345651623,0.3874339839748837,0 30.27686976676865,6.048839821320162,0 27.42646648383636,8.816308770610712,0 23.93231077246995,9.157495205473888,0 19.07715081919449,8.702449871272291,0 19.07715081919449,8.702449871272291,0 16.08389286128222,4.538472953733577,0 16.19449557806102,-1.784826611267607,0 18.61187788424816,-4.266728717674408,0 23.45733543323506,-6.162217954237443,0 28.43021428697294,-2.831303342087462,0 28.67535556151506,-0.07457895903664964,0 29.28440315236885,4.491160024115531,0 27.27550437501014,7.940126253830581,0 23.93231077246995,9.157495205473888,0 19.07715081919449,8.702449871272291,0
</coordinates> </coordinates>
</LinearRing> </LinearRing>
</outerBoundaryIs> </outerBoundaryIs>
Expand Down Expand Up @@ -83,7 +111,7 @@
<outerBoundaryIs> <outerBoundaryIs>
<LinearRing> <LinearRing>
<coordinates> <coordinates>
-24.03600996736765,-45.62766039876369,0 -15.99261219899054,-51.01999623546102,0 -3.097682550751394,-53.06926847276708,0 7.259201100500505,-50.58944978125696,0 19.36600901012944,-45.79021978116995,0 22.9648920337342,-39.66033878111115,0 17.63355310113724,-42.48625424887653,0 4.633418774955129,-44.2865778572567,0 -7.067411127833831,-45.06730005694861,0 -17.8215322738582,-42.48403265695245,0 -22.78702023804825,-38.11666854699747,0 -24.03600996736765,-45.62766039876369,0 -24.03600996736765,-45.62766039876369,0 -15.99261219899054,-51.01999623546102,0 -3.097682550751394,-53.06926847276708,0 7.259201100500505,-50.58944978125696,0 19.36600901012944,-45.79021978116995,0 22.96489203373419,-39.66033878111115,0 17.63355310113724,-42.48625424887653,0 4.633418774955129,-44.2865778572567,0 -7.067411127833831,-45.06730005694861,0 -17.8215322738582,-42.48403265695245,0 -22.78702023804825,-38.11666854699747,0 -24.03600996736765,-45.62766039876369,0
</coordinates> </coordinates>
</LinearRing> </LinearRing>
</outerBoundaryIs> </outerBoundaryIs>
Expand Down Expand Up @@ -131,6 +159,48 @@
</outerBoundaryIs> </outerBoundaryIs>
</Polygon> </Polygon>
</Placemark> </Placemark>
<Placemark>
<name>Polygon ohne Namen</name>
<styleUrl>#m_ylw-pushpin0</styleUrl>
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-25.44911576562197,45.21804907066921,0 -31.68856040358935,38.81336823499367,0 -30.75610991525256,30.43253973534878,0 -25.44911576562197,45.21804907066921,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Polygon ohne Namen</name>
<styleUrl>#m_ylw-pushpin0</styleUrl>
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-3.792008530503526,41.4491152851306,0 -3.760184264944485,49.39366567107599,0 -5.148230151294944,53.91949027260095,0 -3.792008530503526,41.4491152851306,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Polygon ohne Namen</name>
<styleUrl>#m_ylw-pushpin0</styleUrl>
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
27.05263602144212,36.95672957676281,0 24.44908304398761,42.68275777171786,0 24.16186221694727,35.59388635657184,0 27.05263602144212,36.95672957676281,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</Folder> </Folder>
</Document> </Document>
</kml> </kml>

0 comments on commit 7737515

Please sign in to comment.