<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Graceful Exits &#187; law</title>
	<atom:link href="http://www.jpstacey.info/blog/category/law/www.jpstacey.info/blog/category/law/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jpstacey.info/blog</link>
	<description>Garbage collection, in a very real sense</description>
	<pubDate>Thu, 14 Aug 2008 09:05:55 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>The Mashup Song</title>
		<link>http://www.jpstacey.info/blog/2008/07/09/the-mashup-song/</link>
		<comments>http://www.jpstacey.info/blog/2008/07/09/the-mashup-song/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 11:45:26 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[hacking]]></category>

		<category><![CDATA[law]]></category>

		<category><![CDATA[network]]></category>

		<category><![CDATA[non-programming]]></category>

		<category><![CDATA[quickies]]></category>

		<category><![CDATA[bonny]]></category>

		<category><![CDATA[filk]]></category>

		<category><![CDATA[legal]]></category>

		<category><![CDATA[mashup]]></category>

		<category><![CDATA[song]]></category>

		<guid isPermaLink="false">http://www.jpstacey.info/blog/?p=181</guid>
		<description><![CDATA[I am Richard Stallman for the Web 2.0 Generation. Fear me. I mean, pity me.]]></description>
			<content:encoded><![CDATA[<p>Inspired by the title of <a href="http://yro.slashdot.org/yro/08/07/08/1245204.shtml" >the relevant Slashdot article</a>, to the tune of <cite>My Bonny</cite>:</p>
<blockquote><p>
Your mashup is probably legal.<br />
Your mashup is probably sound.<br />
Your mashup is probably legal,<br />
So pass all that data around!</p>
<p>Stuff here<br />
Stuff there<br />
And something mashed up in between (be-tween!)<br />
Stuff here<br />
Stuff there<br />
And something mashed up in between</p>
<p>Your mashup is probably legal;<br />
You could monetize it as well!<br />
But though I contend it&#8217;s all legal,<br />
Remember I-A-N-A-L!</p>
<p>[<i>Repeat chorus</i>]
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2008/07/09/the-mashup-song/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Drupal, licensing and the GPL</title>
		<link>http://www.jpstacey.info/blog/2008/06/30/drupal-licensing-and-the-gpl/</link>
		<comments>http://www.jpstacey.info/blog/2008/06/30/drupal-licensing-and-the-gpl/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 14:15:11 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[culture]]></category>

		<category><![CDATA[law]]></category>

		<category><![CDATA[standards]]></category>

		<category><![CDATA[subtleties]]></category>

		<category><![CDATA[drupal]]></category>

		<category><![CDATA[foss]]></category>

		<category><![CDATA[gpl]]></category>

		<category><![CDATA[legal]]></category>

		<category><![CDATA[licence]]></category>

		<category><![CDATA[license]]></category>

		<category><![CDATA[practice]]></category>

		<category><![CDATA[sflc]]></category>

		<category><![CDATA[software]]></category>

		<category><![CDATA[theory]]></category>

		<guid isPermaLink="false">http://www.jpstacey.info/blog/?p=175</guid>
		<description><![CDATA[If you're about to start programming under the GPL, and you want to read just one article about it, then: don't read this; read the Drupal licensing FAQ instead.]]></description>
			<content:encoded><![CDATA[<p>Lurking in a dry, legalistic and apparently quite specific page on the Drupal website, is the commendable result of a lot of hard work, both from the the <a href="http://www.softwarefreedom.org/" >Software Freedom</a> Law Center and from the Drupal community.</p>
<p>Drupal.org have produced a <a href="http://drupal.org/licensing/faq">Licensing FAQ</a> to explain some of the subtler aspects of licensing under the GPL. The questions themselves are Drupal-oriented, but the FAQ itself has been prepared by the SFLC, an independent body, so the answers are broader than that.</p>
<p>I&#8217;ve noticed from the slightly confused sidelines that Drupalers have been niggling away at these issues for ages. Their heated exchanges and occasional quarrels are the fuel that has kept this wagon moving, and they&#8217;ve finally rolled it into town with a GPL-in-practice primer that&#8217;s worth reading, whatever you&#8217;re working on, and especially if you&#8217;re integrating with web services or third-party libraries. Well done to all involved.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2008/06/30/drupal-licensing-and-the-gpl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>If random is secure, pseudorandom is pseudosecure</title>
		<link>http://www.jpstacey.info/blog/2007/09/15/if-random-is-secure-pseudorandom-is-pseudosecure/</link>
		<comments>http://www.jpstacey.info/blog/2007/09/15/if-random-is-secure-pseudorandom-is-pseudosecure/#comments</comments>
		<pubDate>Sat, 15 Sep 2007 13:16:56 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[business]]></category>

		<category><![CDATA[hacking]]></category>

		<category><![CDATA[law]]></category>

		<category><![CDATA[subtleties]]></category>

		<category><![CDATA[automated]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[fraud]]></category>

		<category><![CDATA[keylogger]]></category>

		<category><![CDATA[login]]></category>

		<category><![CDATA[online banking]]></category>

		<category><![CDATA[password]]></category>

		<category><![CDATA[secret]]></category>

		<category><![CDATA[security]]></category>

		<category><![CDATA[theft]]></category>

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2007/09/15/if-random-is-secure-pseudorandom-is-pseudosecure/</guid>
		<description><![CDATA[Do you bank online? How are you asked for your secret code? Three randomly placed digits of it, hmm? The reason for the randomness is that any malicious keylogging software can&#8217;t see your screen, just your keyboard: so even if it logged every time you banked online, the fraudster it reported back to could never [...]]]></description>
			<content:encoded><![CDATA[<p>Do you bank online? How are you asked for your secret code? Three randomly placed digits of it, hmm? The reason for the randomness is that any malicious keylogging software can&#8217;t see your screen, just your keyboard: so even if it logged every time you banked online, the fraudster it reported back to could never guess the <em>order</em> of the numbers in your secret code and hence the code would be useless.</p>
<p>A few banks now ask you for the <em>same</em> three digits, if you guess wrongly. Their idea is that to do otherwise, and just ask for a different three random digits, would make the site look like a phishing site, which is debatable. But by asking repeatedly for the same digits, the banks immediately provide keyloggers with a method of cracking into your account. Every time you get your login wrong once, keylogging software can <em>attempt an automated login to your account</em> in between your two attempts, making a note of the HTML which gives them the position of your numbers. It can then wait for you to get the code right, and it immediately has three of your numbers and their positions. </p>
<p>After around four or five iterations of incorrect-login/keylogger-login/correct-login, the software has pretty much your entire code and can siphon everything out of your accounts. The iterations may be picked up by stochastic anti-fraud technologies at the bank; they might not, of course.</p>
<p>More detail is available in a <a href="http://dx.doi.org/10.1016/j.cose.2007.05.003">paper recently published</a> in <cite>Computers &#38; Security</cite> (<a href="http://users.cs.cf.ac.uk/Antonia.J.Jones/Papers/HSBC/HSBCRevision.pdf">preprint</a>). From the URL of the preprint, the customers of one particular bank might want check it out.</p>
<p>(Hat tip to my father-in-law.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2007/09/15/if-random-is-secure-pseudorandom-is-pseudosecure/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Software was created free and is everywhere in ipchains</title>
		<link>http://www.jpstacey.info/blog/2006/08/15/software-was-created-free-and-is-everywhere-in-ipchains/</link>
		<comments>http://www.jpstacey.info/blog/2006/08/15/software-was-created-free-and-is-everywhere-in-ipchains/#comments</comments>
		<pubDate>Tue, 15 Aug 2006 20:46:02 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[hacking]]></category>

		<category><![CDATA[law]]></category>

		<category><![CDATA[subtleties]]></category>

		<category><![CDATA[distributed]]></category>

		<category><![CDATA[freedom]]></category>

		<category><![CDATA[o&#8217;reilly]]></category>

		<category><![CDATA[obsolete]]></category>

		<category><![CDATA[open-source]]></category>

		<category><![CDATA[proprietary]]></category>

		<category><![CDATA[stallman]]></category>

		<category><![CDATA[web 2.0]]></category>

		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2006/08/15/software-was-created-free-and-is-everywhere-in-ipchains/</guid>
		<description><![CDATA[Don&#8217;t get me wrong: I think that Stallman has contributed massively to the open-source movement. But Tim O&#8217;Reilly is right: he simply doesn&#8217;t get the problem that closed web services present. I think talking about open access to the data is missing the point too. Often I&#8217;ve no wish to access the raw data, and [...]]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t get me wrong: I think that Stallman has contributed massively to the open-source movement. But <a target="_top" title="the march of proprietary web services" href="http://radar.oreilly.com/archives/2006/08/open_source_licenses_are_obsol.html">Tim O&#8217;Reilly is right</a>: he simply doesn&#8217;t get the problem that closed web services present. I think talking about open access to the data is missing the point too. Often I&#8217;ve no wish to access the raw data, and couldn&#8217;t understand if I did access it. Sometimes the data is just a session cookie, and it&#8217;s the work, the tool use, that I want to access.</p>
<p>When I interact with a typical web service, my computer moves through a certain set of steps in response to a piece of proprietary software. As an example, consider me proceeding through the checkout at Amazon: there is a set of steps that my browser must perform in order for me to access this service. There&#8217;s some subtle, ephemeral, proprietary &#8220;workflow&#8221; which Amazon instructs my browser, over time, to follow.</p>
<p>It doesn&#8217;t consist so much of a set of zeroes and ones on my hard drive, but as a sum total of the configuration of my computer, the content of a set of HTML and scripting files that are sent to me, my input and that all-important server-side black box.</p>
<p>However briefly, there is a proprietary component  to my experience with the tool (this &#8220;workflow&#8221; that&#8217;s distributed across client, network and server). I can&#8217;t access this component, yet it dictates in part what my computer does for its duration. I can&#8217;t copy this component without Amazon&#8217;s say so (if I open a browser on another machine then that machine is in a similar thrall to the workflow). I can&#8217;t modify this workflow, and approve the contents of my basket before submitting my credit-card details, unless Amazon specifically permits that. I can&#8217;t modify it to accept payments from a new credit-card company, even if I knew how.</p>
<p>If Amazon introduced a bug in their proprietary software, which dynamically generated Javascript (however open-source the resultant file) that took down my browser (and maybe even my computer depending on my OS), whenever I tried to buy a copy of &#8220;Free as in Freedom&#8221;, then how is that not restricting me? What if Amazon were the only stockists of Stallman&#8217;s books&#x2014;I appreciate that might be stretching the bounds of credibility somewhat!&#x2014;how can I get a copy if my only buying mechanism is disabled by a component I can&#8217;t change? How is this not restricting my freedom?</p>
<p>O&#8217;Reilly quotes Stallman as saying in a rebuttal to the very existence of the problem posed by proprietary web services:</p>
<blockquote><p>&#8220;If the program is running on somebody else&#8217;s computer, the issue doesn&#8217;t arise. Am I allowed to copy the program that Amazon has on it&#8217;s computer? Well, I can&#8217;t, I don&#8217;t have that program at all, so it doesn&#8217;t put me in a morally compromised position.&#8221;</p>
</blockquote>
<p>Yet some of the program <em>is</em> running, somehow, insidiously via a contextual combination of technologies, in a virtual machine, on my computer. There <em>is</em> a copy of a facet of it on my machine, and I can&#8217;t touch that copy. Here is software which is dictating what my machine does in response to my input. The quintessence of this software is proprietary and closed. Whether the cable separating it from my CPU is ethernet or IDE might once have been a good rule of thumb, but it is surely no longer the point these days.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2006/08/15/software-was-created-free-and-is-everywhere-in-ipchains/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Crouching Harold, hidden formats</title>
		<link>http://www.jpstacey.info/blog/2006/07/19/crouching-harold-hidden-formats/</link>
		<comments>http://www.jpstacey.info/blog/2006/07/19/crouching-harold-hidden-formats/#comments</comments>
		<pubDate>Wed, 19 Jul 2006 17:27:58 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[formats]]></category>

		<category><![CDATA[law]]></category>

		<category><![CDATA[standards]]></category>

		<category><![CDATA[accessibility]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[microformats]]></category>

		<category><![CDATA[validation]]></category>

		<category><![CDATA[well-formed]]></category>

		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2006/07/19/crouching-harold-hidden-formats/</guid>
		<description><![CDATA[Elliotte Rusty Harold roundly disses microformats,  comparing the practice of utilising them to homeopathy, of all &#8220;disciplines.&#8221; A bit of cheeky banter, so it&#8217;s probably churlish to point out that the comparison itself turns out to be unsound within his own argument: whereas homeopathy might arguably be no solution to any problem, Elliotte&#8217;s beef [...]]]></description>
			<content:encoded><![CDATA[<p>Elliotte Rusty Harold roundly <a title="Must Ignore vs. Microformats, by Elliotte Rusty Harold" href="http://cafe.elharo.com/xml/must-ignore-vs-microformats/">disses microformats</a>,  comparing the practice of utilising them to homeopathy, of all &#8220;disciplines.&#8221; A bit of cheeky banter, so it&#8217;s probably churlish to point out that the comparison itself turns out to be unsound within his own argument: whereas homeopathy might arguably be no solution to any problem, Elliotte&#8217;s beef with <a title="discussion and definition of useful microformats" href="http://microformats.org/">microformats </a>seems to be that they solve a problemâ€”expressing non-XHTML structure within XHTMLâ€”for which he believes there are more efficient solutions.</p>
<p>Not being immediately aware of any such alternative (microformats having evolved from a number of web practitioners&#8217; frustrated wishes to add extra semantics to their XHTML), I was a bit surprised to read:</p>
<blockquote><p>The only reason I can imagine you might choose a microformat over a macroformat is because macroformats are invalid XHTML, but so what? <strong>XML doesnâ€™t have to be valid!</strong> Thatâ€™s a deliberate design decision in XML. Some say invalidity is the real revolution in XML. Itâ€™s what XML brings to the table that SGML never had.</p>
</blockquote>
<p>Well. This is true, in a sense, but not really pertinent to the actual problem that microformats are intended to solve. SGML didn&#8217;t &#8220;have&#8221; to be valid, if we&#8217;re talking pragmata (you say prag-may-ta). Millions of webpages out there had the most godawful pseudo-HTML on them, and browsers muddled along reasonably well. But that wasn&#8217;t enough. Our data didn&#8217;t soar. Our browsers didn&#8217;t leap, nor did they bound.</p>
<p>There were a number of motivations behind establishing DTDs for HTML, let alone for XHTML, and one important one was being able to hand a webpage to someone who wants or needs to be able to maintain it in good HTML, and give them an editor that could enforce the standards, either by beeping at them (<a title="Sean McGrath's Blog" href="http://seanmcgrath.blogspot.com/">Sean McGrath</a> might turn in his blog at that one) or by quietly fudging good HTML in the background without telling them. If you start putting arbitrary tags in, you break the silent checks that mean non-technical people can actually write webpages.</p>
<p>Many of the clients I work with have government or charitable funding, and a proviso of this funding is that their pages be accessible to web users with special needs, and to be strongly future-proofed in the light of past mistakes. In part for the reasons above, but generally because it&#8217;s safest to enforce as strongly as possible without affecting the primary goal of the medium, accessibility standards and funding bodies&#8217; definitions of &#8220;future-proofing&#8221; tend to require pages to be valid XHTML1.0 . It&#8217;s fine for someone technical to say to themselves &#8220;this is valid XHTML1.0, except for the bit I&#8217;m putting in now&#8221;, but there&#8217;s no guarantee that the next person to touch that page will understand or care. Or the next person. Or the next person. Didn&#8217;t we&#8230; didn&#8217;t we tackle the problem of markup rot once already?</p>
<p>Adding your own tags to XHTML is something that Elliotte Rusty Harold can do with aplomb, and probably ought to because he knows what he&#8217;s doing. And if he&#8217;s got the spare time to maintain every site on the web on their owners&#8217; behalf, to ensure we don&#8217;t return to the tag soup of HTML that one couldn&#8217;t even begin to validate, then he&#8217;s welcome to give it a go. In the mean time you might want to campaign for an exception to current UK disability law, or at any rate almost every organisation&#8217;s interpretation of it, in the case of sites maintained by Elliotte Rusty Haroldâ€”I&#8217;ll even sign the petition if there&#8217;s one passed roundâ€”but I can&#8217;t see it gaining much traction.</p>
<p>There&#8217;s a pragmatic solution to the validation problem, though. We could reprogram our XHTML validation engines to ignore specific blocks of markup based on particular criteria, say a reserved attribute on particular elements that means the content is checked for well-formednessâ€”CDATA elements won&#8217;t do, because they can contain absolutely anything, and you lose the power of XMLâ€”but ignored by DTD and schema validation. Might I suggest &lt;div class=&#8221;xhtml-ignore&#8221;/&gt;&#8230;? It&#8217;s funny, but that particular method rings a bell.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2006/07/19/crouching-harold-hidden-formats/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
