Permalink
Browse files

website update

  • Loading branch information...
1 parent 23475df commit 7737515f880f43496f755cb85f3a8fc9ed0f450b @gka gka committed Apr 20, 2012
View
@@ -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>
+
+
View
@@ -47,7 +47,7 @@
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);
@@ -1230,7 +1230,7 @@
};
/*
- kartograph - a svg mapping library
+ kartograph - a svg mapping library
Copyright (C) 2011 Gregor Aisch
This program is free software: you can redistribute it and/or modify
@@ -1416,29 +1416,38 @@
/*
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 = [];
type = path.nodeName;
res = null;
if (type === "path") {
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";
- path_str = path_str.substring(1, path_str.length - (closed ? 1 : 0));
- _ref9 = path_str.split(sep);
- for (_i = 0, _len = _ref9.length; _i < _len; _i++) {
- contour_str = _ref9[_i];
- contour = [];
- if (contour_str !== "") {
- _ref10 = contour_str.split('L');
- for (_j = 0, _len2 = _ref10.length; _j < _len2; _j++) {
- pt_str = _ref10[_j];
- _ref11 = pt_str.split(','), x = _ref11[0], y = _ref11[1];
- contour.push([Number(x), Number(y)]);
+ contour = [];
+ for (_i = 0, _len = path_data.length; _i < _len; _i++) {
+ cmd = path_data[_i];
+ if (cmd.length === 0) continue;
+ if (cmd[0] === "M") {
+ if (contour.length > 2) {
+ contours.push(contour);
+ contour = [];
+ }
+ contour.push([cmd[1], cmd[2]]);
+ } 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);
} else if (type === "circle") {
cx = path.getAttribute("cx");
@@ -3168,7 +3177,7 @@
me = this;
layer_id = (_ref12 = opts.layer) != null ? _ref12 : me.layerIds[me.layerIds.length - 1];
if (!me.layers.hasOwnProperty(layer_id)) {
- warn('choropleth error: layer "' + layer_ihad + '" not found');
+ warn('choropleth error: layer "' + layer_id + '" not found');
return;
}
data = opts.data;
View

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -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>
@@ -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">
<Document>
<name>face.kml</name>
- <Style id="s_ylw-pushpin_hl">
+ <Style id="s_ylw-pushpin">
<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>
<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
</Icon>
@@ -14,16 +23,35 @@
<StyleMap id="m_ylw-pushpin">
<Pair>
<key>normal</key>
- <styleUrl>#s_ylw-pushpin</styleUrl>
+ <styleUrl>#s_ylw-pushpin0</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#s_ylw-pushpin_hl</styleUrl>
</Pair>
</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>
- <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>
<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
</Icon>
@@ -49,13 +77,13 @@
</Placemark>
<Placemark>
<name>eye2</name>
- <styleUrl>#m_ylw-pushpin</styleUrl>
+ <styleUrl>#m_ylw-pushpin0</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
+ 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>
</LinearRing>
</outerBoundaryIs>
@@ -83,7 +111,7 @@
<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
+ -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>
</LinearRing>
</outerBoundaryIs>
@@ -131,6 +159,48 @@
</outerBoundaryIs>
</Polygon>
</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>
</Document>
</kml>
Oops, something went wrong.

0 comments on commit 7737515

Please sign in to comment.